nitdoc: remove unused plugin "Copy to Clipboard"
[nit.git] / c_src / parser.sep.11.c
1 #include "parser.sep.0.h"
2 /* method parser#ReduceAction409#action for (self: ReduceAction409, Parser) */
3 void parser__ReduceAction409__action(val* self, val* p0) {
4 val* var_p /* var p: Parser */;
5 val* var /* : null */;
6 val* var_node_list /* var node_list: nullable Object */;
7 val* var1 /* : nullable Object */;
8 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9 val* var2 /* : nullable Object */;
10 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
11 val* var3 /* : nullable Object */;
12 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
13 val* var4 /* : nullable Object */;
14 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
15 val* var5 /* : nullable Object */;
16 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
17 val* var6 /* : nullable Object */;
18 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
19 val* var7 /* : nullable Object */;
20 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
21 val* var8 /* : nullable Object */;
22 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
23 val* var9 /* : nullable Object */;
24 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
25 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
26 short int var10 /* : Bool */;
27 int cltype;
28 int idtype;
29 val* var_pablenode4 /* var pablenode4: nullable Object */;
30 short int var11 /* : Bool */;
31 int cltype12;
32 int idtype13;
33 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
34 short int var14 /* : Bool */;
35 int cltype15;
36 int idtype16;
37 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
38 short int var17 /* : Bool */;
39 int cltype18;
40 int idtype19;
41 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
42 short int var20 /* : Bool */;
43 int cltype21;
44 int idtype22;
45 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
46 short int var23 /* : Bool */;
47 int cltype24;
48 int idtype25;
49 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
50 short int var26 /* : Bool */;
51 int cltype27;
52 int idtype28;
53 val* var29 /* : AAttrPropdef */;
54 val* var30 /* : null */;
55 val* var31 /* : null */;
56 val* var32 /* : null */;
57 val* var33 /* : null */;
58 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
59 long var34 /* : Int */;
60 long var35 /* : Int */;
61 var_p = p0;
62 var = NULL;
63 var_node_list = var;
64 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
65 var_nodearraylist9 = var1;
66 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
67 var_nodearraylist8 = var2;
68 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
69 var_nodearraylist7 = var3;
70 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
71 var_nodearraylist6 = var4;
72 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
73 var_nodearraylist5 = var5;
74 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
75 var_nodearraylist4 = var6;
76 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
77 var_nodearraylist3 = var7;
78 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
79 var_nodearraylist2 = var8;
80 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
81 var_nodearraylist1 = var9;
82 var_pdocnode2 = var_nodearraylist1;
83 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
84 cltype = type_nullable_parser_nodes__ADoc.color;
85 idtype = type_nullable_parser_nodes__ADoc.id;
86 if(var_pdocnode2 == NULL) {
87 var10 = 1;
88 } else {
89 if(cltype >= var_pdocnode2->type->table_size) {
90 var10 = 0;
91 } else {
92 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
93 }
94 }
95 if (!var10) {
96 fprintf(stderr, "Runtime error: %s", "Assert failed");
97 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18183);
98 exit(1);
99 }
100 var_pablenode4 = var_nodearraylist2;
101 /* <var_pablenode4:nullable Object> isa nullable AAble */
102 cltype12 = type_nullable_parser_nodes__AAble.color;
103 idtype13 = type_nullable_parser_nodes__AAble.id;
104 if(var_pablenode4 == NULL) {
105 var11 = 1;
106 } else {
107 if(cltype12 >= var_pablenode4->type->table_size) {
108 var11 = 0;
109 } else {
110 var11 = var_pablenode4->type->type_table[cltype12] == idtype13;
111 }
112 }
113 if (!var11) {
114 fprintf(stderr, "Runtime error: %s", "Assert failed");
115 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18185);
116 exit(1);
117 }
118 var_pvisibilitynode6 = var_nodearraylist3;
119 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
120 cltype15 = type_nullable_parser_nodes__AVisibility.color;
121 idtype16 = type_nullable_parser_nodes__AVisibility.id;
122 if(var_pvisibilitynode6 == NULL) {
123 var14 = 1;
124 } else {
125 if(cltype15 >= var_pvisibilitynode6->type->table_size) {
126 var14 = 0;
127 } else {
128 var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
129 }
130 }
131 if (!var14) {
132 fprintf(stderr, "Runtime error: %s", "Assert failed");
133 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18187);
134 exit(1);
135 }
136 var_tkwvarnode7 = var_nodearraylist4;
137 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
138 cltype18 = type_nullable_parser_nodes__TKwvar.color;
139 idtype19 = type_nullable_parser_nodes__TKwvar.id;
140 if(var_tkwvarnode7 == NULL) {
141 var17 = 1;
142 } else {
143 if(cltype18 >= var_tkwvarnode7->type->table_size) {
144 var17 = 0;
145 } else {
146 var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
147 }
148 }
149 if (!var17) {
150 fprintf(stderr, "Runtime error: %s", "Assert failed");
151 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18189);
152 exit(1);
153 }
154 var_tattridnode8 = var_nodearraylist5;
155 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
156 cltype21 = type_nullable_parser_nodes__TAttrid.color;
157 idtype22 = type_nullable_parser_nodes__TAttrid.id;
158 if(var_tattridnode8 == NULL) {
159 var20 = 1;
160 } else {
161 if(cltype21 >= var_tattridnode8->type->table_size) {
162 var20 = 0;
163 } else {
164 var20 = var_tattridnode8->type->type_table[cltype21] == idtype22;
165 }
166 }
167 if (!var20) {
168 fprintf(stderr, "Runtime error: %s", "Assert failed");
169 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18191);
170 exit(1);
171 }
172 var_ptypenode10 = var_nodearraylist6;
173 /* <var_ptypenode10:nullable Object> isa nullable AType */
174 cltype24 = type_nullable_parser_nodes__AType.color;
175 idtype25 = type_nullable_parser_nodes__AType.id;
176 if(var_ptypenode10 == NULL) {
177 var23 = 1;
178 } else {
179 if(cltype24 >= var_ptypenode10->type->table_size) {
180 var23 = 0;
181 } else {
182 var23 = var_ptypenode10->type->type_table[cltype24] == idtype25;
183 }
184 }
185 if (!var23) {
186 fprintf(stderr, "Runtime error: %s", "Assert failed");
187 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18193);
188 exit(1);
189 }
190 var_pexprnode12 = var_nodearraylist9;
191 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
192 cltype27 = type_nullable_parser_nodes__AExpr.color;
193 idtype28 = type_nullable_parser_nodes__AExpr.id;
194 if(var_pexprnode12 == NULL) {
195 var26 = 1;
196 } else {
197 if(cltype27 >= var_pexprnode12->type->table_size) {
198 var26 = 0;
199 } else {
200 var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
201 }
202 }
203 if (!var26) {
204 fprintf(stderr, "Runtime error: %s", "Assert failed");
205 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18195);
206 exit(1);
207 }
208 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
209 var30 = NULL;
210 var31 = NULL;
211 var32 = NULL;
212 var33 = NULL;
213 ((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, var_tattridnode8, var32, var_ptypenode10, var33, var_pexprnode12) /* init_aattrpropdef on <var29:AAttrPropdef>*/;
214 CHECK_NEW_parser_nodes__AAttrPropdef(var29);
215 var_ppropdefnode1 = var29;
216 var_node_list = var_ppropdefnode1;
217 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction409> */
218 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
219 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
220 RET_LABEL:;
221 }
222 /* method parser#ReduceAction409#action for (self: Object, Parser) */
223 void VIRTUAL_parser__ReduceAction409__action(val* self, val* p0) {
224 parser__ReduceAction409__action(self, p0);
225 RET_LABEL:;
226 }
227 /* method parser#ReduceAction410#action for (self: ReduceAction410, Parser) */
228 void parser__ReduceAction410__action(val* self, val* p0) {
229 val* var_p /* var p: Parser */;
230 val* var /* : null */;
231 val* var_node_list /* var node_list: nullable Object */;
232 val* var1 /* : nullable Object */;
233 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
234 val* var2 /* : nullable Object */;
235 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
236 val* var3 /* : nullable Object */;
237 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
238 val* var4 /* : nullable Object */;
239 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
240 val* var5 /* : nullable Object */;
241 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
242 val* var6 /* : nullable Object */;
243 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
244 val* var7 /* : nullable Object */;
245 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
246 val* var8 /* : nullable Object */;
247 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
248 val* var9 /* : nullable Object */;
249 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
250 val* var10 /* : nullable Object */;
251 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
252 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
253 short int var11 /* : Bool */;
254 int cltype;
255 int idtype;
256 val* var_pablenode4 /* var pablenode4: nullable Object */;
257 short int var12 /* : Bool */;
258 int cltype13;
259 int idtype14;
260 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
261 short int var15 /* : Bool */;
262 int cltype16;
263 int idtype17;
264 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
265 short int var18 /* : Bool */;
266 int cltype19;
267 int idtype20;
268 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
269 short int var21 /* : Bool */;
270 int cltype22;
271 int idtype23;
272 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
273 short int var24 /* : Bool */;
274 int cltype25;
275 int idtype26;
276 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
277 short int var27 /* : Bool */;
278 int cltype28;
279 int idtype29;
280 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
281 short int var30 /* : Bool */;
282 int cltype31;
283 int idtype32;
284 val* var33 /* : AAttrPropdef */;
285 val* var34 /* : null */;
286 val* var35 /* : null */;
287 val* var36 /* : null */;
288 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
289 long var37 /* : Int */;
290 long var38 /* : Int */;
291 var_p = p0;
292 var = NULL;
293 var_node_list = var;
294 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
295 var_nodearraylist10 = var1;
296 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
297 var_nodearraylist9 = var2;
298 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
299 var_nodearraylist8 = var3;
300 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
301 var_nodearraylist7 = var4;
302 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
303 var_nodearraylist6 = var5;
304 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
305 var_nodearraylist5 = var6;
306 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
307 var_nodearraylist4 = var7;
308 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
309 var_nodearraylist3 = var8;
310 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
311 var_nodearraylist2 = var9;
312 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
313 var_nodearraylist1 = var10;
314 var_pdocnode2 = var_nodearraylist1;
315 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
316 cltype = type_nullable_parser_nodes__ADoc.color;
317 idtype = type_nullable_parser_nodes__ADoc.id;
318 if(var_pdocnode2 == NULL) {
319 var11 = 1;
320 } else {
321 if(cltype >= var_pdocnode2->type->table_size) {
322 var11 = 0;
323 } else {
324 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
325 }
326 }
327 if (!var11) {
328 fprintf(stderr, "Runtime error: %s", "Assert failed");
329 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18229);
330 exit(1);
331 }
332 var_pablenode4 = var_nodearraylist2;
333 /* <var_pablenode4:nullable Object> isa nullable AAble */
334 cltype13 = type_nullable_parser_nodes__AAble.color;
335 idtype14 = type_nullable_parser_nodes__AAble.id;
336 if(var_pablenode4 == NULL) {
337 var12 = 1;
338 } else {
339 if(cltype13 >= var_pablenode4->type->table_size) {
340 var12 = 0;
341 } else {
342 var12 = var_pablenode4->type->type_table[cltype13] == idtype14;
343 }
344 }
345 if (!var12) {
346 fprintf(stderr, "Runtime error: %s", "Assert failed");
347 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18231);
348 exit(1);
349 }
350 var_tkwredefnode5 = var_nodearraylist3;
351 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
352 cltype16 = type_nullable_parser_nodes__TKwredef.color;
353 idtype17 = type_nullable_parser_nodes__TKwredef.id;
354 if(var_tkwredefnode5 == NULL) {
355 var15 = 1;
356 } else {
357 if(cltype16 >= var_tkwredefnode5->type->table_size) {
358 var15 = 0;
359 } else {
360 var15 = var_tkwredefnode5->type->type_table[cltype16] == idtype17;
361 }
362 }
363 if (!var15) {
364 fprintf(stderr, "Runtime error: %s", "Assert failed");
365 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18233);
366 exit(1);
367 }
368 var_pvisibilitynode6 = var_nodearraylist4;
369 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
370 cltype19 = type_nullable_parser_nodes__AVisibility.color;
371 idtype20 = type_nullable_parser_nodes__AVisibility.id;
372 if(var_pvisibilitynode6 == NULL) {
373 var18 = 1;
374 } else {
375 if(cltype19 >= var_pvisibilitynode6->type->table_size) {
376 var18 = 0;
377 } else {
378 var18 = var_pvisibilitynode6->type->type_table[cltype19] == idtype20;
379 }
380 }
381 if (!var18) {
382 fprintf(stderr, "Runtime error: %s", "Assert failed");
383 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18235);
384 exit(1);
385 }
386 var_tkwvarnode7 = var_nodearraylist5;
387 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
388 cltype22 = type_nullable_parser_nodes__TKwvar.color;
389 idtype23 = type_nullable_parser_nodes__TKwvar.id;
390 if(var_tkwvarnode7 == NULL) {
391 var21 = 1;
392 } else {
393 if(cltype22 >= var_tkwvarnode7->type->table_size) {
394 var21 = 0;
395 } else {
396 var21 = var_tkwvarnode7->type->type_table[cltype22] == idtype23;
397 }
398 }
399 if (!var21) {
400 fprintf(stderr, "Runtime error: %s", "Assert failed");
401 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18237);
402 exit(1);
403 }
404 var_tattridnode8 = var_nodearraylist6;
405 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
406 cltype25 = type_nullable_parser_nodes__TAttrid.color;
407 idtype26 = type_nullable_parser_nodes__TAttrid.id;
408 if(var_tattridnode8 == NULL) {
409 var24 = 1;
410 } else {
411 if(cltype25 >= var_tattridnode8->type->table_size) {
412 var24 = 0;
413 } else {
414 var24 = var_tattridnode8->type->type_table[cltype25] == idtype26;
415 }
416 }
417 if (!var24) {
418 fprintf(stderr, "Runtime error: %s", "Assert failed");
419 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18239);
420 exit(1);
421 }
422 var_ptypenode10 = var_nodearraylist7;
423 /* <var_ptypenode10:nullable Object> isa nullable AType */
424 cltype28 = type_nullable_parser_nodes__AType.color;
425 idtype29 = type_nullable_parser_nodes__AType.id;
426 if(var_ptypenode10 == NULL) {
427 var27 = 1;
428 } else {
429 if(cltype28 >= var_ptypenode10->type->table_size) {
430 var27 = 0;
431 } else {
432 var27 = var_ptypenode10->type->type_table[cltype28] == idtype29;
433 }
434 }
435 if (!var27) {
436 fprintf(stderr, "Runtime error: %s", "Assert failed");
437 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18241);
438 exit(1);
439 }
440 var_pexprnode12 = var_nodearraylist10;
441 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
442 cltype31 = type_nullable_parser_nodes__AExpr.color;
443 idtype32 = type_nullable_parser_nodes__AExpr.id;
444 if(var_pexprnode12 == NULL) {
445 var30 = 1;
446 } else {
447 if(cltype31 >= var_pexprnode12->type->table_size) {
448 var30 = 0;
449 } else {
450 var30 = var_pexprnode12->type->type_table[cltype31] == idtype32;
451 }
452 }
453 if (!var30) {
454 fprintf(stderr, "Runtime error: %s", "Assert failed");
455 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18243);
456 exit(1);
457 }
458 var33 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
459 var34 = NULL;
460 var35 = NULL;
461 var36 = NULL;
462 ((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, var_tattridnode8, var35, var_ptypenode10, var36, var_pexprnode12) /* init_aattrpropdef on <var33:AAttrPropdef>*/;
463 CHECK_NEW_parser_nodes__AAttrPropdef(var33);
464 var_ppropdefnode1 = var33;
465 var_node_list = var_ppropdefnode1;
466 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction410> */
467 var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on <var_p:Parser>*/;
468 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on <var_p:Parser>*/;
469 RET_LABEL:;
470 }
471 /* method parser#ReduceAction410#action for (self: Object, Parser) */
472 void VIRTUAL_parser__ReduceAction410__action(val* self, val* p0) {
473 parser__ReduceAction410__action(self, p0);
474 RET_LABEL:;
475 }
476 /* method parser#ReduceAction411#action for (self: ReduceAction411, Parser) */
477 void parser__ReduceAction411__action(val* self, val* p0) {
478 val* var_p /* var p: Parser */;
479 val* var /* : null */;
480 val* var_node_list /* var node_list: nullable Object */;
481 val* var1 /* : nullable Object */;
482 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
483 val* var2 /* : nullable Object */;
484 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
485 val* var3 /* : nullable Object */;
486 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
487 val* var4 /* : nullable Object */;
488 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
489 val* var5 /* : nullable Object */;
490 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
491 val* var6 /* : nullable Object */;
492 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
493 val* var7 /* : nullable Object */;
494 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
495 val* var8 /* : nullable Object */;
496 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
497 val* var9 /* : nullable Object */;
498 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
499 val* var10 /* : nullable Object */;
500 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
501 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
502 short int var11 /* : Bool */;
503 int cltype;
504 int idtype;
505 val* var_pablenode3 /* var pablenode3: nullable Object */;
506 short int var12 /* : Bool */;
507 int cltype13;
508 int idtype14;
509 val* var_pablenode4 /* var pablenode4: nullable Object */;
510 short int var15 /* : Bool */;
511 int cltype16;
512 int idtype17;
513 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
514 short int var18 /* : Bool */;
515 int cltype19;
516 int idtype20;
517 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
518 short int var21 /* : Bool */;
519 int cltype22;
520 int idtype23;
521 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
522 short int var24 /* : Bool */;
523 int cltype25;
524 int idtype26;
525 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
526 short int var27 /* : Bool */;
527 int cltype28;
528 int idtype29;
529 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
530 short int var30 /* : Bool */;
531 int cltype31;
532 int idtype32;
533 val* var33 /* : AAttrPropdef */;
534 val* var34 /* : null */;
535 val* var35 /* : null */;
536 val* var36 /* : null */;
537 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
538 long var37 /* : Int */;
539 long var38 /* : Int */;
540 var_p = p0;
541 var = NULL;
542 var_node_list = var;
543 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
544 var_nodearraylist10 = var1;
545 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
546 var_nodearraylist9 = var2;
547 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
548 var_nodearraylist8 = var3;
549 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
550 var_nodearraylist7 = var4;
551 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
552 var_nodearraylist6 = var5;
553 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
554 var_nodearraylist5 = var6;
555 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
556 var_nodearraylist4 = var7;
557 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
558 var_nodearraylist3 = var8;
559 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
560 var_nodearraylist2 = var9;
561 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
562 var_nodearraylist1 = var10;
563 var_pdocnode2 = var_nodearraylist1;
564 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
565 cltype = type_nullable_parser_nodes__ADoc.color;
566 idtype = type_nullable_parser_nodes__ADoc.id;
567 if(var_pdocnode2 == NULL) {
568 var11 = 1;
569 } else {
570 if(cltype >= var_pdocnode2->type->table_size) {
571 var11 = 0;
572 } else {
573 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
574 }
575 }
576 if (!var11) {
577 fprintf(stderr, "Runtime error: %s", "Assert failed");
578 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18277);
579 exit(1);
580 }
581 var_pablenode3 = var_nodearraylist2;
582 /* <var_pablenode3:nullable Object> isa nullable AAble */
583 cltype13 = type_nullable_parser_nodes__AAble.color;
584 idtype14 = type_nullable_parser_nodes__AAble.id;
585 if(var_pablenode3 == NULL) {
586 var12 = 1;
587 } else {
588 if(cltype13 >= var_pablenode3->type->table_size) {
589 var12 = 0;
590 } else {
591 var12 = var_pablenode3->type->type_table[cltype13] == idtype14;
592 }
593 }
594 if (!var12) {
595 fprintf(stderr, "Runtime error: %s", "Assert failed");
596 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18279);
597 exit(1);
598 }
599 var_pablenode4 = var_nodearraylist3;
600 /* <var_pablenode4:nullable Object> isa nullable AAble */
601 cltype16 = type_nullable_parser_nodes__AAble.color;
602 idtype17 = type_nullable_parser_nodes__AAble.id;
603 if(var_pablenode4 == NULL) {
604 var15 = 1;
605 } else {
606 if(cltype16 >= var_pablenode4->type->table_size) {
607 var15 = 0;
608 } else {
609 var15 = var_pablenode4->type->type_table[cltype16] == idtype17;
610 }
611 }
612 if (!var15) {
613 fprintf(stderr, "Runtime error: %s", "Assert failed");
614 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18281);
615 exit(1);
616 }
617 var_pvisibilitynode6 = var_nodearraylist4;
618 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
619 cltype19 = type_nullable_parser_nodes__AVisibility.color;
620 idtype20 = type_nullable_parser_nodes__AVisibility.id;
621 if(var_pvisibilitynode6 == NULL) {
622 var18 = 1;
623 } else {
624 if(cltype19 >= var_pvisibilitynode6->type->table_size) {
625 var18 = 0;
626 } else {
627 var18 = var_pvisibilitynode6->type->type_table[cltype19] == idtype20;
628 }
629 }
630 if (!var18) {
631 fprintf(stderr, "Runtime error: %s", "Assert failed");
632 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18283);
633 exit(1);
634 }
635 var_tkwvarnode7 = var_nodearraylist5;
636 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
637 cltype22 = type_nullable_parser_nodes__TKwvar.color;
638 idtype23 = type_nullable_parser_nodes__TKwvar.id;
639 if(var_tkwvarnode7 == NULL) {
640 var21 = 1;
641 } else {
642 if(cltype22 >= var_tkwvarnode7->type->table_size) {
643 var21 = 0;
644 } else {
645 var21 = var_tkwvarnode7->type->type_table[cltype22] == idtype23;
646 }
647 }
648 if (!var21) {
649 fprintf(stderr, "Runtime error: %s", "Assert failed");
650 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18285);
651 exit(1);
652 }
653 var_tattridnode8 = var_nodearraylist6;
654 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
655 cltype25 = type_nullable_parser_nodes__TAttrid.color;
656 idtype26 = type_nullable_parser_nodes__TAttrid.id;
657 if(var_tattridnode8 == NULL) {
658 var24 = 1;
659 } else {
660 if(cltype25 >= var_tattridnode8->type->table_size) {
661 var24 = 0;
662 } else {
663 var24 = var_tattridnode8->type->type_table[cltype25] == idtype26;
664 }
665 }
666 if (!var24) {
667 fprintf(stderr, "Runtime error: %s", "Assert failed");
668 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18287);
669 exit(1);
670 }
671 var_ptypenode10 = var_nodearraylist7;
672 /* <var_ptypenode10:nullable Object> isa nullable AType */
673 cltype28 = type_nullable_parser_nodes__AType.color;
674 idtype29 = type_nullable_parser_nodes__AType.id;
675 if(var_ptypenode10 == NULL) {
676 var27 = 1;
677 } else {
678 if(cltype28 >= var_ptypenode10->type->table_size) {
679 var27 = 0;
680 } else {
681 var27 = var_ptypenode10->type->type_table[cltype28] == idtype29;
682 }
683 }
684 if (!var27) {
685 fprintf(stderr, "Runtime error: %s", "Assert failed");
686 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18289);
687 exit(1);
688 }
689 var_pexprnode12 = var_nodearraylist10;
690 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
691 cltype31 = type_nullable_parser_nodes__AExpr.color;
692 idtype32 = type_nullable_parser_nodes__AExpr.id;
693 if(var_pexprnode12 == NULL) {
694 var30 = 1;
695 } else {
696 if(cltype31 >= var_pexprnode12->type->table_size) {
697 var30 = 0;
698 } else {
699 var30 = var_pexprnode12->type->type_table[cltype31] == idtype32;
700 }
701 }
702 if (!var30) {
703 fprintf(stderr, "Runtime error: %s", "Assert failed");
704 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18291);
705 exit(1);
706 }
707 var33 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
708 var34 = NULL;
709 var35 = NULL;
710 var36 = NULL;
711 ((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, var_pablenode3, var_pablenode4, var34, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var35, var_ptypenode10, var36, var_pexprnode12) /* init_aattrpropdef on <var33:AAttrPropdef>*/;
712 CHECK_NEW_parser_nodes__AAttrPropdef(var33);
713 var_ppropdefnode1 = var33;
714 var_node_list = var_ppropdefnode1;
715 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction411> */
716 var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on <var_p:Parser>*/;
717 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on <var_p:Parser>*/;
718 RET_LABEL:;
719 }
720 /* method parser#ReduceAction411#action for (self: Object, Parser) */
721 void VIRTUAL_parser__ReduceAction411__action(val* self, val* p0) {
722 parser__ReduceAction411__action(self, p0);
723 RET_LABEL:;
724 }
725 /* method parser#ReduceAction412#action for (self: ReduceAction412, Parser) */
726 void parser__ReduceAction412__action(val* self, val* p0) {
727 val* var_p /* var p: Parser */;
728 val* var /* : null */;
729 val* var_node_list /* var node_list: nullable Object */;
730 val* var1 /* : nullable Object */;
731 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
732 val* var2 /* : nullable Object */;
733 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
734 val* var3 /* : nullable Object */;
735 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
736 val* var4 /* : nullable Object */;
737 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
738 val* var5 /* : nullable Object */;
739 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
740 val* var6 /* : nullable Object */;
741 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
742 val* var7 /* : nullable Object */;
743 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
744 val* var8 /* : nullable Object */;
745 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
746 val* var9 /* : nullable Object */;
747 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
748 val* var10 /* : nullable Object */;
749 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
750 val* var11 /* : nullable Object */;
751 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
752 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
753 short int var12 /* : Bool */;
754 int cltype;
755 int idtype;
756 val* var_pablenode3 /* var pablenode3: nullable Object */;
757 short int var13 /* : Bool */;
758 int cltype14;
759 int idtype15;
760 val* var_pablenode4 /* var pablenode4: nullable Object */;
761 short int var16 /* : Bool */;
762 int cltype17;
763 int idtype18;
764 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
765 short int var19 /* : Bool */;
766 int cltype20;
767 int idtype21;
768 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
769 short int var22 /* : Bool */;
770 int cltype23;
771 int idtype24;
772 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
773 short int var25 /* : Bool */;
774 int cltype26;
775 int idtype27;
776 val* var_tattridnode8 /* var tattridnode8: nullable Object */;
777 short int var28 /* : Bool */;
778 int cltype29;
779 int idtype30;
780 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
781 short int var31 /* : Bool */;
782 int cltype32;
783 int idtype33;
784 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
785 short int var34 /* : Bool */;
786 int cltype35;
787 int idtype36;
788 val* var37 /* : AAttrPropdef */;
789 val* var38 /* : null */;
790 val* var39 /* : null */;
791 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
792 long var40 /* : Int */;
793 long var41 /* : Int */;
794 var_p = p0;
795 var = NULL;
796 var_node_list = var;
797 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
798 var_nodearraylist11 = var1;
799 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
800 var_nodearraylist10 = var2;
801 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
802 var_nodearraylist9 = var3;
803 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
804 var_nodearraylist8 = var4;
805 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
806 var_nodearraylist7 = var5;
807 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
808 var_nodearraylist6 = var6;
809 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
810 var_nodearraylist5 = var7;
811 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
812 var_nodearraylist4 = var8;
813 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
814 var_nodearraylist3 = var9;
815 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
816 var_nodearraylist2 = var10;
817 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
818 var_nodearraylist1 = var11;
819 var_pdocnode2 = var_nodearraylist1;
820 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
821 cltype = type_nullable_parser_nodes__ADoc.color;
822 idtype = type_nullable_parser_nodes__ADoc.id;
823 if(var_pdocnode2 == NULL) {
824 var12 = 1;
825 } else {
826 if(cltype >= var_pdocnode2->type->table_size) {
827 var12 = 0;
828 } else {
829 var12 = var_pdocnode2->type->type_table[cltype] == idtype;
830 }
831 }
832 if (!var12) {
833 fprintf(stderr, "Runtime error: %s", "Assert failed");
834 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18326);
835 exit(1);
836 }
837 var_pablenode3 = var_nodearraylist2;
838 /* <var_pablenode3:nullable Object> isa nullable AAble */
839 cltype14 = type_nullable_parser_nodes__AAble.color;
840 idtype15 = type_nullable_parser_nodes__AAble.id;
841 if(var_pablenode3 == NULL) {
842 var13 = 1;
843 } else {
844 if(cltype14 >= var_pablenode3->type->table_size) {
845 var13 = 0;
846 } else {
847 var13 = var_pablenode3->type->type_table[cltype14] == idtype15;
848 }
849 }
850 if (!var13) {
851 fprintf(stderr, "Runtime error: %s", "Assert failed");
852 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18328);
853 exit(1);
854 }
855 var_pablenode4 = var_nodearraylist3;
856 /* <var_pablenode4:nullable Object> isa nullable AAble */
857 cltype17 = type_nullable_parser_nodes__AAble.color;
858 idtype18 = type_nullable_parser_nodes__AAble.id;
859 if(var_pablenode4 == NULL) {
860 var16 = 1;
861 } else {
862 if(cltype17 >= var_pablenode4->type->table_size) {
863 var16 = 0;
864 } else {
865 var16 = var_pablenode4->type->type_table[cltype17] == idtype18;
866 }
867 }
868 if (!var16) {
869 fprintf(stderr, "Runtime error: %s", "Assert failed");
870 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18330);
871 exit(1);
872 }
873 var_tkwredefnode5 = var_nodearraylist4;
874 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
875 cltype20 = type_nullable_parser_nodes__TKwredef.color;
876 idtype21 = type_nullable_parser_nodes__TKwredef.id;
877 if(var_tkwredefnode5 == NULL) {
878 var19 = 1;
879 } else {
880 if(cltype20 >= var_tkwredefnode5->type->table_size) {
881 var19 = 0;
882 } else {
883 var19 = var_tkwredefnode5->type->type_table[cltype20] == idtype21;
884 }
885 }
886 if (!var19) {
887 fprintf(stderr, "Runtime error: %s", "Assert failed");
888 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18332);
889 exit(1);
890 }
891 var_pvisibilitynode6 = var_nodearraylist5;
892 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
893 cltype23 = type_nullable_parser_nodes__AVisibility.color;
894 idtype24 = type_nullable_parser_nodes__AVisibility.id;
895 if(var_pvisibilitynode6 == NULL) {
896 var22 = 1;
897 } else {
898 if(cltype23 >= var_pvisibilitynode6->type->table_size) {
899 var22 = 0;
900 } else {
901 var22 = var_pvisibilitynode6->type->type_table[cltype23] == idtype24;
902 }
903 }
904 if (!var22) {
905 fprintf(stderr, "Runtime error: %s", "Assert failed");
906 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18334);
907 exit(1);
908 }
909 var_tkwvarnode7 = var_nodearraylist6;
910 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
911 cltype26 = type_nullable_parser_nodes__TKwvar.color;
912 idtype27 = type_nullable_parser_nodes__TKwvar.id;
913 if(var_tkwvarnode7 == NULL) {
914 var25 = 1;
915 } else {
916 if(cltype26 >= var_tkwvarnode7->type->table_size) {
917 var25 = 0;
918 } else {
919 var25 = var_tkwvarnode7->type->type_table[cltype26] == idtype27;
920 }
921 }
922 if (!var25) {
923 fprintf(stderr, "Runtime error: %s", "Assert failed");
924 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18336);
925 exit(1);
926 }
927 var_tattridnode8 = var_nodearraylist7;
928 /* <var_tattridnode8:nullable Object> isa nullable TAttrid */
929 cltype29 = type_nullable_parser_nodes__TAttrid.color;
930 idtype30 = type_nullable_parser_nodes__TAttrid.id;
931 if(var_tattridnode8 == NULL) {
932 var28 = 1;
933 } else {
934 if(cltype29 >= var_tattridnode8->type->table_size) {
935 var28 = 0;
936 } else {
937 var28 = var_tattridnode8->type->type_table[cltype29] == idtype30;
938 }
939 }
940 if (!var28) {
941 fprintf(stderr, "Runtime error: %s", "Assert failed");
942 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18338);
943 exit(1);
944 }
945 var_ptypenode10 = var_nodearraylist8;
946 /* <var_ptypenode10:nullable Object> isa nullable AType */
947 cltype32 = type_nullable_parser_nodes__AType.color;
948 idtype33 = type_nullable_parser_nodes__AType.id;
949 if(var_ptypenode10 == NULL) {
950 var31 = 1;
951 } else {
952 if(cltype32 >= var_ptypenode10->type->table_size) {
953 var31 = 0;
954 } else {
955 var31 = var_ptypenode10->type->type_table[cltype32] == idtype33;
956 }
957 }
958 if (!var31) {
959 fprintf(stderr, "Runtime error: %s", "Assert failed");
960 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18340);
961 exit(1);
962 }
963 var_pexprnode12 = var_nodearraylist11;
964 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
965 cltype35 = type_nullable_parser_nodes__AExpr.color;
966 idtype36 = type_nullable_parser_nodes__AExpr.id;
967 if(var_pexprnode12 == NULL) {
968 var34 = 1;
969 } else {
970 if(cltype35 >= var_pexprnode12->type->table_size) {
971 var34 = 0;
972 } else {
973 var34 = var_pexprnode12->type->type_table[cltype35] == idtype36;
974 }
975 }
976 if (!var34) {
977 fprintf(stderr, "Runtime error: %s", "Assert failed");
978 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18342);
979 exit(1);
980 }
981 var37 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
982 var38 = NULL;
983 var39 = NULL;
984 ((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, var_pablenode3, var_pablenode4, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var_tattridnode8, var38, var_ptypenode10, var39, var_pexprnode12) /* init_aattrpropdef on <var37:AAttrPropdef>*/;
985 CHECK_NEW_parser_nodes__AAttrPropdef(var37);
986 var_ppropdefnode1 = var37;
987 var_node_list = var_ppropdefnode1;
988 var40 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction412> */
989 var41 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var40) /* go_to on <var_p:Parser>*/;
990 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var41, var_node_list) /* push on <var_p:Parser>*/;
991 RET_LABEL:;
992 }
993 /* method parser#ReduceAction412#action for (self: Object, Parser) */
994 void VIRTUAL_parser__ReduceAction412__action(val* self, val* p0) {
995 parser__ReduceAction412__action(self, p0);
996 RET_LABEL:;
997 }
998 /* method parser#ReduceAction413#action for (self: ReduceAction413, Parser) */
999 void parser__ReduceAction413__action(val* self, val* p0) {
1000 val* var_p /* var p: Parser */;
1001 val* var /* : null */;
1002 val* var_node_list /* var node_list: nullable Object */;
1003 val* var1 /* : nullable Object */;
1004 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1005 val* var2 /* : nullable Object */;
1006 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1007 val* var3 /* : nullable Object */;
1008 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1009 val* var4 /* : nullable Object */;
1010 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1011 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1012 short int var5 /* : Bool */;
1013 int cltype;
1014 int idtype;
1015 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
1016 short int var6 /* : Bool */;
1017 int cltype7;
1018 int idtype8;
1019 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
1020 short int var9 /* : Bool */;
1021 int cltype10;
1022 int idtype11;
1023 val* var_tidnode9 /* var tidnode9: nullable Object */;
1024 short int var12 /* : Bool */;
1025 int cltype13;
1026 int idtype14;
1027 val* var15 /* : AAttrPropdef */;
1028 val* var16 /* : null */;
1029 val* var17 /* : null */;
1030 val* var18 /* : null */;
1031 val* var19 /* : null */;
1032 val* var20 /* : null */;
1033 val* var21 /* : null */;
1034 val* var22 /* : null */;
1035 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
1036 long var23 /* : Int */;
1037 long var24 /* : Int */;
1038 var_p = p0;
1039 var = NULL;
1040 var_node_list = var;
1041 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1042 var_nodearraylist4 = var1;
1043 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1044 var_nodearraylist3 = var2;
1045 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1046 var_nodearraylist2 = var3;
1047 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1048 var_nodearraylist1 = var4;
1049 var_pdocnode2 = var_nodearraylist1;
1050 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1051 cltype = type_nullable_parser_nodes__ADoc.color;
1052 idtype = type_nullable_parser_nodes__ADoc.id;
1053 if(var_pdocnode2 == NULL) {
1054 var5 = 1;
1055 } else {
1056 if(cltype >= var_pdocnode2->type->table_size) {
1057 var5 = 0;
1058 } else {
1059 var5 = var_pdocnode2->type->type_table[cltype] == idtype;
1060 }
1061 }
1062 if (!var5) {
1063 fprintf(stderr, "Runtime error: %s", "Assert failed");
1064 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18370);
1065 exit(1);
1066 }
1067 var_pvisibilitynode6 = var_nodearraylist2;
1068 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
1069 cltype7 = type_nullable_parser_nodes__AVisibility.color;
1070 idtype8 = type_nullable_parser_nodes__AVisibility.id;
1071 if(var_pvisibilitynode6 == NULL) {
1072 var6 = 1;
1073 } else {
1074 if(cltype7 >= var_pvisibilitynode6->type->table_size) {
1075 var6 = 0;
1076 } else {
1077 var6 = var_pvisibilitynode6->type->type_table[cltype7] == idtype8;
1078 }
1079 }
1080 if (!var6) {
1081 fprintf(stderr, "Runtime error: %s", "Assert failed");
1082 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18372);
1083 exit(1);
1084 }
1085 var_tkwvarnode7 = var_nodearraylist3;
1086 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
1087 cltype10 = type_nullable_parser_nodes__TKwvar.color;
1088 idtype11 = type_nullable_parser_nodes__TKwvar.id;
1089 if(var_tkwvarnode7 == NULL) {
1090 var9 = 1;
1091 } else {
1092 if(cltype10 >= var_tkwvarnode7->type->table_size) {
1093 var9 = 0;
1094 } else {
1095 var9 = var_tkwvarnode7->type->type_table[cltype10] == idtype11;
1096 }
1097 }
1098 if (!var9) {
1099 fprintf(stderr, "Runtime error: %s", "Assert failed");
1100 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18374);
1101 exit(1);
1102 }
1103 var_tidnode9 = var_nodearraylist4;
1104 /* <var_tidnode9:nullable Object> isa nullable TId */
1105 cltype13 = type_nullable_parser_nodes__TId.color;
1106 idtype14 = type_nullable_parser_nodes__TId.id;
1107 if(var_tidnode9 == NULL) {
1108 var12 = 1;
1109 } else {
1110 if(cltype13 >= var_tidnode9->type->table_size) {
1111 var12 = 0;
1112 } else {
1113 var12 = var_tidnode9->type->type_table[cltype13] == idtype14;
1114 }
1115 }
1116 if (!var12) {
1117 fprintf(stderr, "Runtime error: %s", "Assert failed");
1118 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18376);
1119 exit(1);
1120 }
1121 var15 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
1122 var16 = NULL;
1123 var17 = NULL;
1124 var18 = NULL;
1125 var19 = NULL;
1126 var20 = NULL;
1127 var21 = NULL;
1128 var22 = NULL;
1129 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var15->class->vft[COLOR_parser_prod__AAttrPropdef__init_aattrpropdef]))(var15, var_pdocnode2, var16, var17, var18, var_pvisibilitynode6, var_tkwvarnode7, var19, var_tidnode9, var20, var21, var22) /* init_aattrpropdef on <var15:AAttrPropdef>*/;
1130 CHECK_NEW_parser_nodes__AAttrPropdef(var15);
1131 var_ppropdefnode1 = var15;
1132 var_node_list = var_ppropdefnode1;
1133 var23 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction413> */
1134 var24 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var23) /* go_to on <var_p:Parser>*/;
1135 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var24, var_node_list) /* push on <var_p:Parser>*/;
1136 RET_LABEL:;
1137 }
1138 /* method parser#ReduceAction413#action for (self: Object, Parser) */
1139 void VIRTUAL_parser__ReduceAction413__action(val* self, val* p0) {
1140 parser__ReduceAction413__action(self, p0);
1141 RET_LABEL:;
1142 }
1143 /* method parser#ReduceAction414#action for (self: ReduceAction414, Parser) */
1144 void parser__ReduceAction414__action(val* self, val* p0) {
1145 val* var_p /* var p: Parser */;
1146 val* var /* : null */;
1147 val* var_node_list /* var node_list: nullable Object */;
1148 val* var1 /* : nullable Object */;
1149 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1150 val* var2 /* : nullable Object */;
1151 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1152 val* var3 /* : nullable Object */;
1153 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1154 val* var4 /* : nullable Object */;
1155 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1156 val* var5 /* : nullable Object */;
1157 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1158 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1159 short int var6 /* : Bool */;
1160 int cltype;
1161 int idtype;
1162 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
1163 short int var7 /* : Bool */;
1164 int cltype8;
1165 int idtype9;
1166 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
1167 short int var10 /* : Bool */;
1168 int cltype11;
1169 int idtype12;
1170 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
1171 short int var13 /* : Bool */;
1172 int cltype14;
1173 int idtype15;
1174 val* var_tidnode9 /* var tidnode9: nullable Object */;
1175 short int var16 /* : Bool */;
1176 int cltype17;
1177 int idtype18;
1178 val* var19 /* : AAttrPropdef */;
1179 val* var20 /* : null */;
1180 val* var21 /* : null */;
1181 val* var22 /* : null */;
1182 val* var23 /* : null */;
1183 val* var24 /* : null */;
1184 val* var25 /* : null */;
1185 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
1186 long var26 /* : Int */;
1187 long var27 /* : Int */;
1188 var_p = p0;
1189 var = NULL;
1190 var_node_list = var;
1191 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1192 var_nodearraylist5 = var1;
1193 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1194 var_nodearraylist4 = var2;
1195 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1196 var_nodearraylist3 = var3;
1197 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1198 var_nodearraylist2 = var4;
1199 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1200 var_nodearraylist1 = var5;
1201 var_pdocnode2 = var_nodearraylist1;
1202 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1203 cltype = type_nullable_parser_nodes__ADoc.color;
1204 idtype = type_nullable_parser_nodes__ADoc.id;
1205 if(var_pdocnode2 == NULL) {
1206 var6 = 1;
1207 } else {
1208 if(cltype >= var_pdocnode2->type->table_size) {
1209 var6 = 0;
1210 } else {
1211 var6 = var_pdocnode2->type->type_table[cltype] == idtype;
1212 }
1213 }
1214 if (!var6) {
1215 fprintf(stderr, "Runtime error: %s", "Assert failed");
1216 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18405);
1217 exit(1);
1218 }
1219 var_tkwredefnode5 = var_nodearraylist2;
1220 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
1221 cltype8 = type_nullable_parser_nodes__TKwredef.color;
1222 idtype9 = type_nullable_parser_nodes__TKwredef.id;
1223 if(var_tkwredefnode5 == NULL) {
1224 var7 = 1;
1225 } else {
1226 if(cltype8 >= var_tkwredefnode5->type->table_size) {
1227 var7 = 0;
1228 } else {
1229 var7 = var_tkwredefnode5->type->type_table[cltype8] == idtype9;
1230 }
1231 }
1232 if (!var7) {
1233 fprintf(stderr, "Runtime error: %s", "Assert failed");
1234 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18407);
1235 exit(1);
1236 }
1237 var_pvisibilitynode6 = var_nodearraylist3;
1238 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
1239 cltype11 = type_nullable_parser_nodes__AVisibility.color;
1240 idtype12 = type_nullable_parser_nodes__AVisibility.id;
1241 if(var_pvisibilitynode6 == NULL) {
1242 var10 = 1;
1243 } else {
1244 if(cltype11 >= var_pvisibilitynode6->type->table_size) {
1245 var10 = 0;
1246 } else {
1247 var10 = var_pvisibilitynode6->type->type_table[cltype11] == idtype12;
1248 }
1249 }
1250 if (!var10) {
1251 fprintf(stderr, "Runtime error: %s", "Assert failed");
1252 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18409);
1253 exit(1);
1254 }
1255 var_tkwvarnode7 = var_nodearraylist4;
1256 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
1257 cltype14 = type_nullable_parser_nodes__TKwvar.color;
1258 idtype15 = type_nullable_parser_nodes__TKwvar.id;
1259 if(var_tkwvarnode7 == NULL) {
1260 var13 = 1;
1261 } else {
1262 if(cltype14 >= var_tkwvarnode7->type->table_size) {
1263 var13 = 0;
1264 } else {
1265 var13 = var_tkwvarnode7->type->type_table[cltype14] == idtype15;
1266 }
1267 }
1268 if (!var13) {
1269 fprintf(stderr, "Runtime error: %s", "Assert failed");
1270 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18411);
1271 exit(1);
1272 }
1273 var_tidnode9 = var_nodearraylist5;
1274 /* <var_tidnode9:nullable Object> isa nullable TId */
1275 cltype17 = type_nullable_parser_nodes__TId.color;
1276 idtype18 = type_nullable_parser_nodes__TId.id;
1277 if(var_tidnode9 == NULL) {
1278 var16 = 1;
1279 } else {
1280 if(cltype17 >= var_tidnode9->type->table_size) {
1281 var16 = 0;
1282 } else {
1283 var16 = var_tidnode9->type->type_table[cltype17] == idtype18;
1284 }
1285 }
1286 if (!var16) {
1287 fprintf(stderr, "Runtime error: %s", "Assert failed");
1288 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18413);
1289 exit(1);
1290 }
1291 var19 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
1292 var20 = NULL;
1293 var21 = NULL;
1294 var22 = NULL;
1295 var23 = NULL;
1296 var24 = NULL;
1297 var25 = NULL;
1298 ((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, var_tkwredefnode5, var_pvisibilitynode6, var_tkwvarnode7, var22, var_tidnode9, var23, var24, var25) /* init_aattrpropdef on <var19:AAttrPropdef>*/;
1299 CHECK_NEW_parser_nodes__AAttrPropdef(var19);
1300 var_ppropdefnode1 = var19;
1301 var_node_list = var_ppropdefnode1;
1302 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction414> */
1303 var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on <var_p:Parser>*/;
1304 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on <var_p:Parser>*/;
1305 RET_LABEL:;
1306 }
1307 /* method parser#ReduceAction414#action for (self: Object, Parser) */
1308 void VIRTUAL_parser__ReduceAction414__action(val* self, val* p0) {
1309 parser__ReduceAction414__action(self, p0);
1310 RET_LABEL:;
1311 }
1312 /* method parser#ReduceAction415#action for (self: ReduceAction415, Parser) */
1313 void parser__ReduceAction415__action(val* self, val* p0) {
1314 val* var_p /* var p: Parser */;
1315 val* var /* : null */;
1316 val* var_node_list /* var node_list: nullable Object */;
1317 val* var1 /* : nullable Object */;
1318 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1319 val* var2 /* : nullable Object */;
1320 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1321 val* var3 /* : nullable Object */;
1322 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1323 val* var4 /* : nullable Object */;
1324 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1325 val* var5 /* : nullable Object */;
1326 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1327 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1328 short int var6 /* : Bool */;
1329 int cltype;
1330 int idtype;
1331 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
1332 short int var7 /* : Bool */;
1333 int cltype8;
1334 int idtype9;
1335 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
1336 short int var10 /* : Bool */;
1337 int cltype11;
1338 int idtype12;
1339 val* var_tidnode9 /* var tidnode9: nullable Object */;
1340 short int var13 /* : Bool */;
1341 int cltype14;
1342 int idtype15;
1343 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
1344 short int var16 /* : Bool */;
1345 int cltype17;
1346 int idtype18;
1347 val* var19 /* : AAttrPropdef */;
1348 val* var20 /* : null */;
1349 val* var21 /* : null */;
1350 val* var22 /* : null */;
1351 val* var23 /* : null */;
1352 val* var24 /* : null */;
1353 val* var25 /* : null */;
1354 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
1355 long var26 /* : Int */;
1356 long var27 /* : Int */;
1357 var_p = p0;
1358 var = NULL;
1359 var_node_list = var;
1360 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1361 var_nodearraylist5 = var1;
1362 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1363 var_nodearraylist4 = var2;
1364 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1365 var_nodearraylist3 = var3;
1366 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1367 var_nodearraylist2 = var4;
1368 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1369 var_nodearraylist1 = var5;
1370 var_pdocnode2 = var_nodearraylist1;
1371 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1372 cltype = type_nullable_parser_nodes__ADoc.color;
1373 idtype = type_nullable_parser_nodes__ADoc.id;
1374 if(var_pdocnode2 == NULL) {
1375 var6 = 1;
1376 } else {
1377 if(cltype >= var_pdocnode2->type->table_size) {
1378 var6 = 0;
1379 } else {
1380 var6 = var_pdocnode2->type->type_table[cltype] == idtype;
1381 }
1382 }
1383 if (!var6) {
1384 fprintf(stderr, "Runtime error: %s", "Assert failed");
1385 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18442);
1386 exit(1);
1387 }
1388 var_pvisibilitynode6 = var_nodearraylist2;
1389 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
1390 cltype8 = type_nullable_parser_nodes__AVisibility.color;
1391 idtype9 = type_nullable_parser_nodes__AVisibility.id;
1392 if(var_pvisibilitynode6 == NULL) {
1393 var7 = 1;
1394 } else {
1395 if(cltype8 >= var_pvisibilitynode6->type->table_size) {
1396 var7 = 0;
1397 } else {
1398 var7 = var_pvisibilitynode6->type->type_table[cltype8] == idtype9;
1399 }
1400 }
1401 if (!var7) {
1402 fprintf(stderr, "Runtime error: %s", "Assert failed");
1403 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18444);
1404 exit(1);
1405 }
1406 var_tkwvarnode7 = var_nodearraylist3;
1407 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
1408 cltype11 = type_nullable_parser_nodes__TKwvar.color;
1409 idtype12 = type_nullable_parser_nodes__TKwvar.id;
1410 if(var_tkwvarnode7 == NULL) {
1411 var10 = 1;
1412 } else {
1413 if(cltype11 >= var_tkwvarnode7->type->table_size) {
1414 var10 = 0;
1415 } else {
1416 var10 = var_tkwvarnode7->type->type_table[cltype11] == idtype12;
1417 }
1418 }
1419 if (!var10) {
1420 fprintf(stderr, "Runtime error: %s", "Assert failed");
1421 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18446);
1422 exit(1);
1423 }
1424 var_tidnode9 = var_nodearraylist4;
1425 /* <var_tidnode9:nullable Object> isa nullable TId */
1426 cltype14 = type_nullable_parser_nodes__TId.color;
1427 idtype15 = type_nullable_parser_nodes__TId.id;
1428 if(var_tidnode9 == NULL) {
1429 var13 = 1;
1430 } else {
1431 if(cltype14 >= var_tidnode9->type->table_size) {
1432 var13 = 0;
1433 } else {
1434 var13 = var_tidnode9->type->type_table[cltype14] == idtype15;
1435 }
1436 }
1437 if (!var13) {
1438 fprintf(stderr, "Runtime error: %s", "Assert failed");
1439 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18448);
1440 exit(1);
1441 }
1442 var_ptypenode10 = var_nodearraylist5;
1443 /* <var_ptypenode10:nullable Object> isa nullable AType */
1444 cltype17 = type_nullable_parser_nodes__AType.color;
1445 idtype18 = type_nullable_parser_nodes__AType.id;
1446 if(var_ptypenode10 == NULL) {
1447 var16 = 1;
1448 } else {
1449 if(cltype17 >= var_ptypenode10->type->table_size) {
1450 var16 = 0;
1451 } else {
1452 var16 = var_ptypenode10->type->type_table[cltype17] == idtype18;
1453 }
1454 }
1455 if (!var16) {
1456 fprintf(stderr, "Runtime error: %s", "Assert failed");
1457 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18450);
1458 exit(1);
1459 }
1460 var19 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
1461 var20 = NULL;
1462 var21 = NULL;
1463 var22 = NULL;
1464 var23 = NULL;
1465 var24 = NULL;
1466 var25 = NULL;
1467 ((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, var_ptypenode10, var24, var25) /* init_aattrpropdef on <var19:AAttrPropdef>*/;
1468 CHECK_NEW_parser_nodes__AAttrPropdef(var19);
1469 var_ppropdefnode1 = var19;
1470 var_node_list = var_ppropdefnode1;
1471 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction415> */
1472 var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on <var_p:Parser>*/;
1473 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on <var_p:Parser>*/;
1474 RET_LABEL:;
1475 }
1476 /* method parser#ReduceAction415#action for (self: Object, Parser) */
1477 void VIRTUAL_parser__ReduceAction415__action(val* self, val* p0) {
1478 parser__ReduceAction415__action(self, p0);
1479 RET_LABEL:;
1480 }
1481 /* method parser#ReduceAction416#action for (self: ReduceAction416, Parser) */
1482 void parser__ReduceAction416__action(val* self, val* p0) {
1483 val* var_p /* var p: Parser */;
1484 val* var /* : null */;
1485 val* var_node_list /* var node_list: nullable Object */;
1486 val* var1 /* : nullable Object */;
1487 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1488 val* var2 /* : nullable Object */;
1489 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1490 val* var3 /* : nullable Object */;
1491 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1492 val* var4 /* : nullable Object */;
1493 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1494 val* var5 /* : nullable Object */;
1495 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1496 val* var6 /* : nullable Object */;
1497 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1498 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1499 short int var7 /* : Bool */;
1500 int cltype;
1501 int idtype;
1502 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
1503 short int var8 /* : Bool */;
1504 int cltype9;
1505 int idtype10;
1506 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
1507 short int var11 /* : Bool */;
1508 int cltype12;
1509 int idtype13;
1510 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
1511 short int var14 /* : Bool */;
1512 int cltype15;
1513 int idtype16;
1514 val* var_tidnode9 /* var tidnode9: nullable Object */;
1515 short int var17 /* : Bool */;
1516 int cltype18;
1517 int idtype19;
1518 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
1519 short int var20 /* : Bool */;
1520 int cltype21;
1521 int idtype22;
1522 val* var23 /* : AAttrPropdef */;
1523 val* var24 /* : null */;
1524 val* var25 /* : null */;
1525 val* var26 /* : null */;
1526 val* var27 /* : null */;
1527 val* var28 /* : null */;
1528 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
1529 long var29 /* : Int */;
1530 long var30 /* : Int */;
1531 var_p = p0;
1532 var = NULL;
1533 var_node_list = var;
1534 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1535 var_nodearraylist6 = var1;
1536 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1537 var_nodearraylist5 = var2;
1538 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1539 var_nodearraylist4 = var3;
1540 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1541 var_nodearraylist3 = var4;
1542 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1543 var_nodearraylist2 = var5;
1544 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1545 var_nodearraylist1 = var6;
1546 var_pdocnode2 = var_nodearraylist1;
1547 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1548 cltype = type_nullable_parser_nodes__ADoc.color;
1549 idtype = type_nullable_parser_nodes__ADoc.id;
1550 if(var_pdocnode2 == NULL) {
1551 var7 = 1;
1552 } else {
1553 if(cltype >= var_pdocnode2->type->table_size) {
1554 var7 = 0;
1555 } else {
1556 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
1557 }
1558 }
1559 if (!var7) {
1560 fprintf(stderr, "Runtime error: %s", "Assert failed");
1561 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18480);
1562 exit(1);
1563 }
1564 var_tkwredefnode5 = var_nodearraylist2;
1565 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
1566 cltype9 = type_nullable_parser_nodes__TKwredef.color;
1567 idtype10 = type_nullable_parser_nodes__TKwredef.id;
1568 if(var_tkwredefnode5 == NULL) {
1569 var8 = 1;
1570 } else {
1571 if(cltype9 >= var_tkwredefnode5->type->table_size) {
1572 var8 = 0;
1573 } else {
1574 var8 = var_tkwredefnode5->type->type_table[cltype9] == idtype10;
1575 }
1576 }
1577 if (!var8) {
1578 fprintf(stderr, "Runtime error: %s", "Assert failed");
1579 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18482);
1580 exit(1);
1581 }
1582 var_pvisibilitynode6 = var_nodearraylist3;
1583 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
1584 cltype12 = type_nullable_parser_nodes__AVisibility.color;
1585 idtype13 = type_nullable_parser_nodes__AVisibility.id;
1586 if(var_pvisibilitynode6 == NULL) {
1587 var11 = 1;
1588 } else {
1589 if(cltype12 >= var_pvisibilitynode6->type->table_size) {
1590 var11 = 0;
1591 } else {
1592 var11 = var_pvisibilitynode6->type->type_table[cltype12] == idtype13;
1593 }
1594 }
1595 if (!var11) {
1596 fprintf(stderr, "Runtime error: %s", "Assert failed");
1597 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18484);
1598 exit(1);
1599 }
1600 var_tkwvarnode7 = var_nodearraylist4;
1601 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
1602 cltype15 = type_nullable_parser_nodes__TKwvar.color;
1603 idtype16 = type_nullable_parser_nodes__TKwvar.id;
1604 if(var_tkwvarnode7 == NULL) {
1605 var14 = 1;
1606 } else {
1607 if(cltype15 >= var_tkwvarnode7->type->table_size) {
1608 var14 = 0;
1609 } else {
1610 var14 = var_tkwvarnode7->type->type_table[cltype15] == idtype16;
1611 }
1612 }
1613 if (!var14) {
1614 fprintf(stderr, "Runtime error: %s", "Assert failed");
1615 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18486);
1616 exit(1);
1617 }
1618 var_tidnode9 = var_nodearraylist5;
1619 /* <var_tidnode9:nullable Object> isa nullable TId */
1620 cltype18 = type_nullable_parser_nodes__TId.color;
1621 idtype19 = type_nullable_parser_nodes__TId.id;
1622 if(var_tidnode9 == NULL) {
1623 var17 = 1;
1624 } else {
1625 if(cltype18 >= var_tidnode9->type->table_size) {
1626 var17 = 0;
1627 } else {
1628 var17 = var_tidnode9->type->type_table[cltype18] == idtype19;
1629 }
1630 }
1631 if (!var17) {
1632 fprintf(stderr, "Runtime error: %s", "Assert failed");
1633 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18488);
1634 exit(1);
1635 }
1636 var_ptypenode10 = var_nodearraylist6;
1637 /* <var_ptypenode10:nullable Object> isa nullable AType */
1638 cltype21 = type_nullable_parser_nodes__AType.color;
1639 idtype22 = type_nullable_parser_nodes__AType.id;
1640 if(var_ptypenode10 == NULL) {
1641 var20 = 1;
1642 } else {
1643 if(cltype21 >= var_ptypenode10->type->table_size) {
1644 var20 = 0;
1645 } else {
1646 var20 = var_ptypenode10->type->type_table[cltype21] == idtype22;
1647 }
1648 }
1649 if (!var20) {
1650 fprintf(stderr, "Runtime error: %s", "Assert failed");
1651 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18490);
1652 exit(1);
1653 }
1654 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
1655 var24 = NULL;
1656 var25 = NULL;
1657 var26 = NULL;
1658 var27 = NULL;
1659 var28 = NULL;
1660 ((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, var_ptypenode10, var27, var28) /* init_aattrpropdef on <var23:AAttrPropdef>*/;
1661 CHECK_NEW_parser_nodes__AAttrPropdef(var23);
1662 var_ppropdefnode1 = var23;
1663 var_node_list = var_ppropdefnode1;
1664 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction416> */
1665 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
1666 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
1667 RET_LABEL:;
1668 }
1669 /* method parser#ReduceAction416#action for (self: Object, Parser) */
1670 void VIRTUAL_parser__ReduceAction416__action(val* self, val* p0) {
1671 parser__ReduceAction416__action(self, p0);
1672 RET_LABEL:;
1673 }
1674 /* method parser#ReduceAction417#action for (self: ReduceAction417, Parser) */
1675 void parser__ReduceAction417__action(val* self, val* p0) {
1676 val* var_p /* var p: Parser */;
1677 val* var /* : null */;
1678 val* var_node_list /* var node_list: nullable Object */;
1679 val* var1 /* : nullable Object */;
1680 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1681 val* var2 /* : nullable Object */;
1682 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1683 val* var3 /* : nullable Object */;
1684 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1685 val* var4 /* : nullable Object */;
1686 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1687 val* var5 /* : nullable Object */;
1688 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1689 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1690 short int var6 /* : Bool */;
1691 int cltype;
1692 int idtype;
1693 val* var_pablenode4 /* var pablenode4: nullable Object */;
1694 short int var7 /* : Bool */;
1695 int cltype8;
1696 int idtype9;
1697 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
1698 short int var10 /* : Bool */;
1699 int cltype11;
1700 int idtype12;
1701 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
1702 short int var13 /* : Bool */;
1703 int cltype14;
1704 int idtype15;
1705 val* var_tidnode9 /* var tidnode9: nullable Object */;
1706 short int var16 /* : Bool */;
1707 int cltype17;
1708 int idtype18;
1709 val* var19 /* : AAttrPropdef */;
1710 val* var20 /* : null */;
1711 val* var21 /* : null */;
1712 val* var22 /* : null */;
1713 val* var23 /* : null */;
1714 val* var24 /* : null */;
1715 val* var25 /* : null */;
1716 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
1717 long var26 /* : Int */;
1718 long var27 /* : Int */;
1719 var_p = p0;
1720 var = NULL;
1721 var_node_list = var;
1722 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1723 var_nodearraylist5 = var1;
1724 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1725 var_nodearraylist4 = var2;
1726 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1727 var_nodearraylist3 = var3;
1728 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1729 var_nodearraylist2 = var4;
1730 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1731 var_nodearraylist1 = var5;
1732 var_pdocnode2 = var_nodearraylist1;
1733 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1734 cltype = type_nullable_parser_nodes__ADoc.color;
1735 idtype = type_nullable_parser_nodes__ADoc.id;
1736 if(var_pdocnode2 == NULL) {
1737 var6 = 1;
1738 } else {
1739 if(cltype >= var_pdocnode2->type->table_size) {
1740 var6 = 0;
1741 } else {
1742 var6 = var_pdocnode2->type->type_table[cltype] == idtype;
1743 }
1744 }
1745 if (!var6) {
1746 fprintf(stderr, "Runtime error: %s", "Assert failed");
1747 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18519);
1748 exit(1);
1749 }
1750 var_pablenode4 = var_nodearraylist5;
1751 /* <var_pablenode4:nullable Object> isa nullable AAble */
1752 cltype8 = type_nullable_parser_nodes__AAble.color;
1753 idtype9 = type_nullable_parser_nodes__AAble.id;
1754 if(var_pablenode4 == NULL) {
1755 var7 = 1;
1756 } else {
1757 if(cltype8 >= var_pablenode4->type->table_size) {
1758 var7 = 0;
1759 } else {
1760 var7 = var_pablenode4->type->type_table[cltype8] == idtype9;
1761 }
1762 }
1763 if (!var7) {
1764 fprintf(stderr, "Runtime error: %s", "Assert failed");
1765 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18521);
1766 exit(1);
1767 }
1768 var_pvisibilitynode6 = var_nodearraylist2;
1769 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
1770 cltype11 = type_nullable_parser_nodes__AVisibility.color;
1771 idtype12 = type_nullable_parser_nodes__AVisibility.id;
1772 if(var_pvisibilitynode6 == NULL) {
1773 var10 = 1;
1774 } else {
1775 if(cltype11 >= var_pvisibilitynode6->type->table_size) {
1776 var10 = 0;
1777 } else {
1778 var10 = var_pvisibilitynode6->type->type_table[cltype11] == idtype12;
1779 }
1780 }
1781 if (!var10) {
1782 fprintf(stderr, "Runtime error: %s", "Assert failed");
1783 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18523);
1784 exit(1);
1785 }
1786 var_tkwvarnode7 = var_nodearraylist3;
1787 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
1788 cltype14 = type_nullable_parser_nodes__TKwvar.color;
1789 idtype15 = type_nullable_parser_nodes__TKwvar.id;
1790 if(var_tkwvarnode7 == NULL) {
1791 var13 = 1;
1792 } else {
1793 if(cltype14 >= var_tkwvarnode7->type->table_size) {
1794 var13 = 0;
1795 } else {
1796 var13 = var_tkwvarnode7->type->type_table[cltype14] == idtype15;
1797 }
1798 }
1799 if (!var13) {
1800 fprintf(stderr, "Runtime error: %s", "Assert failed");
1801 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18525);
1802 exit(1);
1803 }
1804 var_tidnode9 = var_nodearraylist4;
1805 /* <var_tidnode9:nullable Object> isa nullable TId */
1806 cltype17 = type_nullable_parser_nodes__TId.color;
1807 idtype18 = type_nullable_parser_nodes__TId.id;
1808 if(var_tidnode9 == NULL) {
1809 var16 = 1;
1810 } else {
1811 if(cltype17 >= var_tidnode9->type->table_size) {
1812 var16 = 0;
1813 } else {
1814 var16 = var_tidnode9->type->type_table[cltype17] == idtype18;
1815 }
1816 }
1817 if (!var16) {
1818 fprintf(stderr, "Runtime error: %s", "Assert failed");
1819 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18527);
1820 exit(1);
1821 }
1822 var19 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
1823 var20 = NULL;
1824 var21 = NULL;
1825 var22 = NULL;
1826 var23 = NULL;
1827 var24 = NULL;
1828 var25 = NULL;
1829 ((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, var_pablenode4, var21, var_pvisibilitynode6, var_tkwvarnode7, var22, var_tidnode9, var23, var24, var25) /* init_aattrpropdef on <var19:AAttrPropdef>*/;
1830 CHECK_NEW_parser_nodes__AAttrPropdef(var19);
1831 var_ppropdefnode1 = var19;
1832 var_node_list = var_ppropdefnode1;
1833 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction417> */
1834 var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on <var_p:Parser>*/;
1835 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on <var_p:Parser>*/;
1836 RET_LABEL:;
1837 }
1838 /* method parser#ReduceAction417#action for (self: Object, Parser) */
1839 void VIRTUAL_parser__ReduceAction417__action(val* self, val* p0) {
1840 parser__ReduceAction417__action(self, p0);
1841 RET_LABEL:;
1842 }
1843 /* method parser#ReduceAction418#action for (self: ReduceAction418, Parser) */
1844 void parser__ReduceAction418__action(val* self, val* p0) {
1845 val* var_p /* var p: Parser */;
1846 val* var /* : null */;
1847 val* var_node_list /* var node_list: nullable Object */;
1848 val* var1 /* : nullable Object */;
1849 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1850 val* var2 /* : nullable Object */;
1851 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1852 val* var3 /* : nullable Object */;
1853 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1854 val* var4 /* : nullable Object */;
1855 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1856 val* var5 /* : nullable Object */;
1857 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1858 val* var6 /* : nullable Object */;
1859 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1860 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1861 short int var7 /* : Bool */;
1862 int cltype;
1863 int idtype;
1864 val* var_pablenode4 /* var pablenode4: nullable Object */;
1865 short int var8 /* : Bool */;
1866 int cltype9;
1867 int idtype10;
1868 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
1869 short int var11 /* : Bool */;
1870 int cltype12;
1871 int idtype13;
1872 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
1873 short int var14 /* : Bool */;
1874 int cltype15;
1875 int idtype16;
1876 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
1877 short int var17 /* : Bool */;
1878 int cltype18;
1879 int idtype19;
1880 val* var_tidnode9 /* var tidnode9: nullable Object */;
1881 short int var20 /* : Bool */;
1882 int cltype21;
1883 int idtype22;
1884 val* var23 /* : AAttrPropdef */;
1885 val* var24 /* : null */;
1886 val* var25 /* : null */;
1887 val* var26 /* : null */;
1888 val* var27 /* : null */;
1889 val* var28 /* : null */;
1890 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
1891 long var29 /* : Int */;
1892 long var30 /* : Int */;
1893 var_p = p0;
1894 var = NULL;
1895 var_node_list = var;
1896 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1897 var_nodearraylist6 = var1;
1898 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1899 var_nodearraylist5 = var2;
1900 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1901 var_nodearraylist4 = var3;
1902 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1903 var_nodearraylist3 = var4;
1904 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1905 var_nodearraylist2 = var5;
1906 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1907 var_nodearraylist1 = var6;
1908 var_pdocnode2 = var_nodearraylist1;
1909 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1910 cltype = type_nullable_parser_nodes__ADoc.color;
1911 idtype = type_nullable_parser_nodes__ADoc.id;
1912 if(var_pdocnode2 == NULL) {
1913 var7 = 1;
1914 } else {
1915 if(cltype >= var_pdocnode2->type->table_size) {
1916 var7 = 0;
1917 } else {
1918 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
1919 }
1920 }
1921 if (!var7) {
1922 fprintf(stderr, "Runtime error: %s", "Assert failed");
1923 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18557);
1924 exit(1);
1925 }
1926 var_pablenode4 = var_nodearraylist6;
1927 /* <var_pablenode4:nullable Object> isa nullable AAble */
1928 cltype9 = type_nullable_parser_nodes__AAble.color;
1929 idtype10 = type_nullable_parser_nodes__AAble.id;
1930 if(var_pablenode4 == NULL) {
1931 var8 = 1;
1932 } else {
1933 if(cltype9 >= var_pablenode4->type->table_size) {
1934 var8 = 0;
1935 } else {
1936 var8 = var_pablenode4->type->type_table[cltype9] == idtype10;
1937 }
1938 }
1939 if (!var8) {
1940 fprintf(stderr, "Runtime error: %s", "Assert failed");
1941 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18559);
1942 exit(1);
1943 }
1944 var_tkwredefnode5 = var_nodearraylist2;
1945 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
1946 cltype12 = type_nullable_parser_nodes__TKwredef.color;
1947 idtype13 = type_nullable_parser_nodes__TKwredef.id;
1948 if(var_tkwredefnode5 == NULL) {
1949 var11 = 1;
1950 } else {
1951 if(cltype12 >= var_tkwredefnode5->type->table_size) {
1952 var11 = 0;
1953 } else {
1954 var11 = var_tkwredefnode5->type->type_table[cltype12] == idtype13;
1955 }
1956 }
1957 if (!var11) {
1958 fprintf(stderr, "Runtime error: %s", "Assert failed");
1959 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18561);
1960 exit(1);
1961 }
1962 var_pvisibilitynode6 = var_nodearraylist3;
1963 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
1964 cltype15 = type_nullable_parser_nodes__AVisibility.color;
1965 idtype16 = type_nullable_parser_nodes__AVisibility.id;
1966 if(var_pvisibilitynode6 == NULL) {
1967 var14 = 1;
1968 } else {
1969 if(cltype15 >= var_pvisibilitynode6->type->table_size) {
1970 var14 = 0;
1971 } else {
1972 var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
1973 }
1974 }
1975 if (!var14) {
1976 fprintf(stderr, "Runtime error: %s", "Assert failed");
1977 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18563);
1978 exit(1);
1979 }
1980 var_tkwvarnode7 = var_nodearraylist4;
1981 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
1982 cltype18 = type_nullable_parser_nodes__TKwvar.color;
1983 idtype19 = type_nullable_parser_nodes__TKwvar.id;
1984 if(var_tkwvarnode7 == NULL) {
1985 var17 = 1;
1986 } else {
1987 if(cltype18 >= var_tkwvarnode7->type->table_size) {
1988 var17 = 0;
1989 } else {
1990 var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
1991 }
1992 }
1993 if (!var17) {
1994 fprintf(stderr, "Runtime error: %s", "Assert failed");
1995 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18565);
1996 exit(1);
1997 }
1998 var_tidnode9 = var_nodearraylist5;
1999 /* <var_tidnode9:nullable Object> isa nullable TId */
2000 cltype21 = type_nullable_parser_nodes__TId.color;
2001 idtype22 = type_nullable_parser_nodes__TId.id;
2002 if(var_tidnode9 == NULL) {
2003 var20 = 1;
2004 } else {
2005 if(cltype21 >= var_tidnode9->type->table_size) {
2006 var20 = 0;
2007 } else {
2008 var20 = var_tidnode9->type->type_table[cltype21] == idtype22;
2009 }
2010 }
2011 if (!var20) {
2012 fprintf(stderr, "Runtime error: %s", "Assert failed");
2013 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18567);
2014 exit(1);
2015 }
2016 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
2017 var24 = NULL;
2018 var25 = NULL;
2019 var26 = NULL;
2020 var27 = NULL;
2021 var28 = NULL;
2022 ((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>*/;
2023 CHECK_NEW_parser_nodes__AAttrPropdef(var23);
2024 var_ppropdefnode1 = var23;
2025 var_node_list = var_ppropdefnode1;
2026 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction418> */
2027 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
2028 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
2029 RET_LABEL:;
2030 }
2031 /* method parser#ReduceAction418#action for (self: Object, Parser) */
2032 void VIRTUAL_parser__ReduceAction418__action(val* self, val* p0) {
2033 parser__ReduceAction418__action(self, p0);
2034 RET_LABEL:;
2035 }
2036 /* method parser#ReduceAction419#action for (self: ReduceAction419, Parser) */
2037 void parser__ReduceAction419__action(val* self, val* p0) {
2038 val* var_p /* var p: Parser */;
2039 val* var /* : null */;
2040 val* var_node_list /* var node_list: nullable Object */;
2041 val* var1 /* : nullable Object */;
2042 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2043 val* var2 /* : nullable Object */;
2044 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2045 val* var3 /* : nullable Object */;
2046 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2047 val* var4 /* : nullable Object */;
2048 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2049 val* var5 /* : nullable Object */;
2050 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2051 val* var6 /* : nullable Object */;
2052 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2053 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2054 short int var7 /* : Bool */;
2055 int cltype;
2056 int idtype;
2057 val* var_pablenode4 /* var pablenode4: nullable Object */;
2058 short int var8 /* : Bool */;
2059 int cltype9;
2060 int idtype10;
2061 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
2062 short int var11 /* : Bool */;
2063 int cltype12;
2064 int idtype13;
2065 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
2066 short int var14 /* : Bool */;
2067 int cltype15;
2068 int idtype16;
2069 val* var_tidnode9 /* var tidnode9: nullable Object */;
2070 short int var17 /* : Bool */;
2071 int cltype18;
2072 int idtype19;
2073 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
2074 short int var20 /* : Bool */;
2075 int cltype21;
2076 int idtype22;
2077 val* var23 /* : AAttrPropdef */;
2078 val* var24 /* : null */;
2079 val* var25 /* : null */;
2080 val* var26 /* : null */;
2081 val* var27 /* : null */;
2082 val* var28 /* : null */;
2083 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
2084 long var29 /* : Int */;
2085 long var30 /* : Int */;
2086 var_p = p0;
2087 var = NULL;
2088 var_node_list = var;
2089 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2090 var_nodearraylist6 = var1;
2091 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2092 var_nodearraylist5 = var2;
2093 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2094 var_nodearraylist4 = var3;
2095 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2096 var_nodearraylist3 = var4;
2097 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2098 var_nodearraylist2 = var5;
2099 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2100 var_nodearraylist1 = var6;
2101 var_pdocnode2 = var_nodearraylist1;
2102 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2103 cltype = type_nullable_parser_nodes__ADoc.color;
2104 idtype = type_nullable_parser_nodes__ADoc.id;
2105 if(var_pdocnode2 == NULL) {
2106 var7 = 1;
2107 } else {
2108 if(cltype >= var_pdocnode2->type->table_size) {
2109 var7 = 0;
2110 } else {
2111 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
2112 }
2113 }
2114 if (!var7) {
2115 fprintf(stderr, "Runtime error: %s", "Assert failed");
2116 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18597);
2117 exit(1);
2118 }
2119 var_pablenode4 = var_nodearraylist6;
2120 /* <var_pablenode4:nullable Object> isa nullable AAble */
2121 cltype9 = type_nullable_parser_nodes__AAble.color;
2122 idtype10 = type_nullable_parser_nodes__AAble.id;
2123 if(var_pablenode4 == NULL) {
2124 var8 = 1;
2125 } else {
2126 if(cltype9 >= var_pablenode4->type->table_size) {
2127 var8 = 0;
2128 } else {
2129 var8 = var_pablenode4->type->type_table[cltype9] == idtype10;
2130 }
2131 }
2132 if (!var8) {
2133 fprintf(stderr, "Runtime error: %s", "Assert failed");
2134 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18599);
2135 exit(1);
2136 }
2137 var_pvisibilitynode6 = var_nodearraylist2;
2138 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
2139 cltype12 = type_nullable_parser_nodes__AVisibility.color;
2140 idtype13 = type_nullable_parser_nodes__AVisibility.id;
2141 if(var_pvisibilitynode6 == NULL) {
2142 var11 = 1;
2143 } else {
2144 if(cltype12 >= var_pvisibilitynode6->type->table_size) {
2145 var11 = 0;
2146 } else {
2147 var11 = var_pvisibilitynode6->type->type_table[cltype12] == idtype13;
2148 }
2149 }
2150 if (!var11) {
2151 fprintf(stderr, "Runtime error: %s", "Assert failed");
2152 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18601);
2153 exit(1);
2154 }
2155 var_tkwvarnode7 = var_nodearraylist3;
2156 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
2157 cltype15 = type_nullable_parser_nodes__TKwvar.color;
2158 idtype16 = type_nullable_parser_nodes__TKwvar.id;
2159 if(var_tkwvarnode7 == NULL) {
2160 var14 = 1;
2161 } else {
2162 if(cltype15 >= var_tkwvarnode7->type->table_size) {
2163 var14 = 0;
2164 } else {
2165 var14 = var_tkwvarnode7->type->type_table[cltype15] == idtype16;
2166 }
2167 }
2168 if (!var14) {
2169 fprintf(stderr, "Runtime error: %s", "Assert failed");
2170 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18603);
2171 exit(1);
2172 }
2173 var_tidnode9 = var_nodearraylist4;
2174 /* <var_tidnode9:nullable Object> isa nullable TId */
2175 cltype18 = type_nullable_parser_nodes__TId.color;
2176 idtype19 = type_nullable_parser_nodes__TId.id;
2177 if(var_tidnode9 == NULL) {
2178 var17 = 1;
2179 } else {
2180 if(cltype18 >= var_tidnode9->type->table_size) {
2181 var17 = 0;
2182 } else {
2183 var17 = var_tidnode9->type->type_table[cltype18] == idtype19;
2184 }
2185 }
2186 if (!var17) {
2187 fprintf(stderr, "Runtime error: %s", "Assert failed");
2188 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18605);
2189 exit(1);
2190 }
2191 var_ptypenode10 = var_nodearraylist5;
2192 /* <var_ptypenode10:nullable Object> isa nullable AType */
2193 cltype21 = type_nullable_parser_nodes__AType.color;
2194 idtype22 = type_nullable_parser_nodes__AType.id;
2195 if(var_ptypenode10 == NULL) {
2196 var20 = 1;
2197 } else {
2198 if(cltype21 >= var_ptypenode10->type->table_size) {
2199 var20 = 0;
2200 } else {
2201 var20 = var_ptypenode10->type->type_table[cltype21] == idtype22;
2202 }
2203 }
2204 if (!var20) {
2205 fprintf(stderr, "Runtime error: %s", "Assert failed");
2206 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18607);
2207 exit(1);
2208 }
2209 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
2210 var24 = NULL;
2211 var25 = NULL;
2212 var26 = NULL;
2213 var27 = NULL;
2214 var28 = NULL;
2215 ((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>*/;
2216 CHECK_NEW_parser_nodes__AAttrPropdef(var23);
2217 var_ppropdefnode1 = var23;
2218 var_node_list = var_ppropdefnode1;
2219 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction419> */
2220 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
2221 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
2222 RET_LABEL:;
2223 }
2224 /* method parser#ReduceAction419#action for (self: Object, Parser) */
2225 void VIRTUAL_parser__ReduceAction419__action(val* self, val* p0) {
2226 parser__ReduceAction419__action(self, p0);
2227 RET_LABEL:;
2228 }
2229 /* method parser#ReduceAction420#action for (self: ReduceAction420, Parser) */
2230 void parser__ReduceAction420__action(val* self, val* p0) {
2231 val* var_p /* var p: Parser */;
2232 val* var /* : null */;
2233 val* var_node_list /* var node_list: nullable Object */;
2234 val* var1 /* : nullable Object */;
2235 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2236 val* var2 /* : nullable Object */;
2237 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2238 val* var3 /* : nullable Object */;
2239 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2240 val* var4 /* : nullable Object */;
2241 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2242 val* var5 /* : nullable Object */;
2243 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2244 val* var6 /* : nullable Object */;
2245 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2246 val* var7 /* : nullable Object */;
2247 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2248 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2249 short int var8 /* : Bool */;
2250 int cltype;
2251 int idtype;
2252 val* var_pablenode4 /* var pablenode4: nullable Object */;
2253 short int var9 /* : Bool */;
2254 int cltype10;
2255 int idtype11;
2256 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
2257 short int var12 /* : Bool */;
2258 int cltype13;
2259 int idtype14;
2260 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
2261 short int var15 /* : Bool */;
2262 int cltype16;
2263 int idtype17;
2264 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
2265 short int var18 /* : Bool */;
2266 int cltype19;
2267 int idtype20;
2268 val* var_tidnode9 /* var tidnode9: nullable Object */;
2269 short int var21 /* : Bool */;
2270 int cltype22;
2271 int idtype23;
2272 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
2273 short int var24 /* : Bool */;
2274 int cltype25;
2275 int idtype26;
2276 val* var27 /* : AAttrPropdef */;
2277 val* var28 /* : null */;
2278 val* var29 /* : null */;
2279 val* var30 /* : null */;
2280 val* var31 /* : null */;
2281 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
2282 long var32 /* : Int */;
2283 long var33 /* : Int */;
2284 var_p = p0;
2285 var = NULL;
2286 var_node_list = var;
2287 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2288 var_nodearraylist7 = var1;
2289 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2290 var_nodearraylist6 = var2;
2291 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2292 var_nodearraylist5 = var3;
2293 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2294 var_nodearraylist4 = var4;
2295 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2296 var_nodearraylist3 = var5;
2297 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2298 var_nodearraylist2 = var6;
2299 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2300 var_nodearraylist1 = var7;
2301 var_pdocnode2 = var_nodearraylist1;
2302 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2303 cltype = type_nullable_parser_nodes__ADoc.color;
2304 idtype = type_nullable_parser_nodes__ADoc.id;
2305 if(var_pdocnode2 == NULL) {
2306 var8 = 1;
2307 } else {
2308 if(cltype >= var_pdocnode2->type->table_size) {
2309 var8 = 0;
2310 } else {
2311 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
2312 }
2313 }
2314 if (!var8) {
2315 fprintf(stderr, "Runtime error: %s", "Assert failed");
2316 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18638);
2317 exit(1);
2318 }
2319 var_pablenode4 = var_nodearraylist7;
2320 /* <var_pablenode4:nullable Object> isa nullable AAble */
2321 cltype10 = type_nullable_parser_nodes__AAble.color;
2322 idtype11 = type_nullable_parser_nodes__AAble.id;
2323 if(var_pablenode4 == NULL) {
2324 var9 = 1;
2325 } else {
2326 if(cltype10 >= var_pablenode4->type->table_size) {
2327 var9 = 0;
2328 } else {
2329 var9 = var_pablenode4->type->type_table[cltype10] == idtype11;
2330 }
2331 }
2332 if (!var9) {
2333 fprintf(stderr, "Runtime error: %s", "Assert failed");
2334 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18640);
2335 exit(1);
2336 }
2337 var_tkwredefnode5 = var_nodearraylist2;
2338 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
2339 cltype13 = type_nullable_parser_nodes__TKwredef.color;
2340 idtype14 = type_nullable_parser_nodes__TKwredef.id;
2341 if(var_tkwredefnode5 == NULL) {
2342 var12 = 1;
2343 } else {
2344 if(cltype13 >= var_tkwredefnode5->type->table_size) {
2345 var12 = 0;
2346 } else {
2347 var12 = var_tkwredefnode5->type->type_table[cltype13] == idtype14;
2348 }
2349 }
2350 if (!var12) {
2351 fprintf(stderr, "Runtime error: %s", "Assert failed");
2352 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18642);
2353 exit(1);
2354 }
2355 var_pvisibilitynode6 = var_nodearraylist3;
2356 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
2357 cltype16 = type_nullable_parser_nodes__AVisibility.color;
2358 idtype17 = type_nullable_parser_nodes__AVisibility.id;
2359 if(var_pvisibilitynode6 == NULL) {
2360 var15 = 1;
2361 } else {
2362 if(cltype16 >= var_pvisibilitynode6->type->table_size) {
2363 var15 = 0;
2364 } else {
2365 var15 = var_pvisibilitynode6->type->type_table[cltype16] == idtype17;
2366 }
2367 }
2368 if (!var15) {
2369 fprintf(stderr, "Runtime error: %s", "Assert failed");
2370 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18644);
2371 exit(1);
2372 }
2373 var_tkwvarnode7 = var_nodearraylist4;
2374 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
2375 cltype19 = type_nullable_parser_nodes__TKwvar.color;
2376 idtype20 = type_nullable_parser_nodes__TKwvar.id;
2377 if(var_tkwvarnode7 == NULL) {
2378 var18 = 1;
2379 } else {
2380 if(cltype19 >= var_tkwvarnode7->type->table_size) {
2381 var18 = 0;
2382 } else {
2383 var18 = var_tkwvarnode7->type->type_table[cltype19] == idtype20;
2384 }
2385 }
2386 if (!var18) {
2387 fprintf(stderr, "Runtime error: %s", "Assert failed");
2388 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18646);
2389 exit(1);
2390 }
2391 var_tidnode9 = var_nodearraylist5;
2392 /* <var_tidnode9:nullable Object> isa nullable TId */
2393 cltype22 = type_nullable_parser_nodes__TId.color;
2394 idtype23 = type_nullable_parser_nodes__TId.id;
2395 if(var_tidnode9 == NULL) {
2396 var21 = 1;
2397 } else {
2398 if(cltype22 >= var_tidnode9->type->table_size) {
2399 var21 = 0;
2400 } else {
2401 var21 = var_tidnode9->type->type_table[cltype22] == idtype23;
2402 }
2403 }
2404 if (!var21) {
2405 fprintf(stderr, "Runtime error: %s", "Assert failed");
2406 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18648);
2407 exit(1);
2408 }
2409 var_ptypenode10 = var_nodearraylist6;
2410 /* <var_ptypenode10:nullable Object> isa nullable AType */
2411 cltype25 = type_nullable_parser_nodes__AType.color;
2412 idtype26 = type_nullable_parser_nodes__AType.id;
2413 if(var_ptypenode10 == NULL) {
2414 var24 = 1;
2415 } else {
2416 if(cltype25 >= var_ptypenode10->type->table_size) {
2417 var24 = 0;
2418 } else {
2419 var24 = var_ptypenode10->type->type_table[cltype25] == idtype26;
2420 }
2421 }
2422 if (!var24) {
2423 fprintf(stderr, "Runtime error: %s", "Assert failed");
2424 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18650);
2425 exit(1);
2426 }
2427 var27 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
2428 var28 = NULL;
2429 var29 = NULL;
2430 var30 = NULL;
2431 var31 = NULL;
2432 ((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>*/;
2433 CHECK_NEW_parser_nodes__AAttrPropdef(var27);
2434 var_ppropdefnode1 = var27;
2435 var_node_list = var_ppropdefnode1;
2436 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction420> */
2437 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
2438 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
2439 RET_LABEL:;
2440 }
2441 /* method parser#ReduceAction420#action for (self: Object, Parser) */
2442 void VIRTUAL_parser__ReduceAction420__action(val* self, val* p0) {
2443 parser__ReduceAction420__action(self, p0);
2444 RET_LABEL:;
2445 }
2446 /* method parser#ReduceAction421#action for (self: ReduceAction421, Parser) */
2447 void parser__ReduceAction421__action(val* self, val* p0) {
2448 val* var_p /* var p: Parser */;
2449 val* var /* : null */;
2450 val* var_node_list /* var node_list: nullable Object */;
2451 val* var1 /* : nullable Object */;
2452 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2453 val* var2 /* : nullable Object */;
2454 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2455 val* var3 /* : nullable Object */;
2456 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2457 val* var4 /* : nullable Object */;
2458 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2459 val* var5 /* : nullable Object */;
2460 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2461 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2462 short int var6 /* : Bool */;
2463 int cltype;
2464 int idtype;
2465 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
2466 short int var7 /* : Bool */;
2467 int cltype8;
2468 int idtype9;
2469 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
2470 short int var10 /* : Bool */;
2471 int cltype11;
2472 int idtype12;
2473 val* var_tidnode9 /* var tidnode9: nullable Object */;
2474 short int var13 /* : Bool */;
2475 int cltype14;
2476 int idtype15;
2477 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
2478 short int var16 /* : Bool */;
2479 int cltype17;
2480 int idtype18;
2481 val* var19 /* : AAttrPropdef */;
2482 val* var20 /* : null */;
2483 val* var21 /* : null */;
2484 val* var22 /* : null */;
2485 val* var23 /* : null */;
2486 val* var24 /* : null */;
2487 val* var25 /* : null */;
2488 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
2489 long var26 /* : Int */;
2490 long var27 /* : Int */;
2491 var_p = p0;
2492 var = NULL;
2493 var_node_list = var;
2494 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2495 var_nodearraylist5 = var1;
2496 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2497 var_nodearraylist4 = var2;
2498 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2499 var_nodearraylist3 = var3;
2500 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2501 var_nodearraylist2 = var4;
2502 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2503 var_nodearraylist1 = var5;
2504 var_pdocnode2 = var_nodearraylist1;
2505 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2506 cltype = type_nullable_parser_nodes__ADoc.color;
2507 idtype = type_nullable_parser_nodes__ADoc.id;
2508 if(var_pdocnode2 == NULL) {
2509 var6 = 1;
2510 } else {
2511 if(cltype >= var_pdocnode2->type->table_size) {
2512 var6 = 0;
2513 } else {
2514 var6 = var_pdocnode2->type->type_table[cltype] == idtype;
2515 }
2516 }
2517 if (!var6) {
2518 fprintf(stderr, "Runtime error: %s", "Assert failed");
2519 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18679);
2520 exit(1);
2521 }
2522 var_pvisibilitynode6 = var_nodearraylist2;
2523 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
2524 cltype8 = type_nullable_parser_nodes__AVisibility.color;
2525 idtype9 = type_nullable_parser_nodes__AVisibility.id;
2526 if(var_pvisibilitynode6 == NULL) {
2527 var7 = 1;
2528 } else {
2529 if(cltype8 >= var_pvisibilitynode6->type->table_size) {
2530 var7 = 0;
2531 } else {
2532 var7 = var_pvisibilitynode6->type->type_table[cltype8] == idtype9;
2533 }
2534 }
2535 if (!var7) {
2536 fprintf(stderr, "Runtime error: %s", "Assert failed");
2537 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18681);
2538 exit(1);
2539 }
2540 var_tkwvarnode7 = var_nodearraylist3;
2541 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
2542 cltype11 = type_nullable_parser_nodes__TKwvar.color;
2543 idtype12 = type_nullable_parser_nodes__TKwvar.id;
2544 if(var_tkwvarnode7 == NULL) {
2545 var10 = 1;
2546 } else {
2547 if(cltype11 >= var_tkwvarnode7->type->table_size) {
2548 var10 = 0;
2549 } else {
2550 var10 = var_tkwvarnode7->type->type_table[cltype11] == idtype12;
2551 }
2552 }
2553 if (!var10) {
2554 fprintf(stderr, "Runtime error: %s", "Assert failed");
2555 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18683);
2556 exit(1);
2557 }
2558 var_tidnode9 = var_nodearraylist4;
2559 /* <var_tidnode9:nullable Object> isa nullable TId */
2560 cltype14 = type_nullable_parser_nodes__TId.color;
2561 idtype15 = type_nullable_parser_nodes__TId.id;
2562 if(var_tidnode9 == NULL) {
2563 var13 = 1;
2564 } else {
2565 if(cltype14 >= var_tidnode9->type->table_size) {
2566 var13 = 0;
2567 } else {
2568 var13 = var_tidnode9->type->type_table[cltype14] == idtype15;
2569 }
2570 }
2571 if (!var13) {
2572 fprintf(stderr, "Runtime error: %s", "Assert failed");
2573 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18685);
2574 exit(1);
2575 }
2576 var_pannotationsnode11 = var_nodearraylist5;
2577 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
2578 cltype17 = type_nullable_parser_nodes__AAnnotations.color;
2579 idtype18 = type_nullable_parser_nodes__AAnnotations.id;
2580 if(var_pannotationsnode11 == NULL) {
2581 var16 = 1;
2582 } else {
2583 if(cltype17 >= var_pannotationsnode11->type->table_size) {
2584 var16 = 0;
2585 } else {
2586 var16 = var_pannotationsnode11->type->type_table[cltype17] == idtype18;
2587 }
2588 }
2589 if (!var16) {
2590 fprintf(stderr, "Runtime error: %s", "Assert failed");
2591 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18687);
2592 exit(1);
2593 }
2594 var19 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
2595 var20 = NULL;
2596 var21 = NULL;
2597 var22 = NULL;
2598 var23 = NULL;
2599 var24 = NULL;
2600 var25 = NULL;
2601 ((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>*/;
2602 CHECK_NEW_parser_nodes__AAttrPropdef(var19);
2603 var_ppropdefnode1 = var19;
2604 var_node_list = var_ppropdefnode1;
2605 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction421> */
2606 var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on <var_p:Parser>*/;
2607 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on <var_p:Parser>*/;
2608 RET_LABEL:;
2609 }
2610 /* method parser#ReduceAction421#action for (self: Object, Parser) */
2611 void VIRTUAL_parser__ReduceAction421__action(val* self, val* p0) {
2612 parser__ReduceAction421__action(self, p0);
2613 RET_LABEL:;
2614 }
2615 /* method parser#ReduceAction422#action for (self: ReduceAction422, Parser) */
2616 void parser__ReduceAction422__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_nodearraylist6 /* var nodearraylist6: nullable Object */;
2622 val* var2 /* : nullable Object */;
2623 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2624 val* var3 /* : nullable Object */;
2625 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2626 val* var4 /* : nullable Object */;
2627 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2628 val* var5 /* : nullable Object */;
2629 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2630 val* var6 /* : nullable Object */;
2631 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2632 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2633 short int var7 /* : Bool */;
2634 int cltype;
2635 int idtype;
2636 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
2637 short int var8 /* : Bool */;
2638 int cltype9;
2639 int idtype10;
2640 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
2641 short int var11 /* : Bool */;
2642 int cltype12;
2643 int idtype13;
2644 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
2645 short int var14 /* : Bool */;
2646 int cltype15;
2647 int idtype16;
2648 val* var_tidnode9 /* var tidnode9: nullable Object */;
2649 short int var17 /* : Bool */;
2650 int cltype18;
2651 int idtype19;
2652 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
2653 short int var20 /* : Bool */;
2654 int cltype21;
2655 int idtype22;
2656 val* var23 /* : AAttrPropdef */;
2657 val* var24 /* : null */;
2658 val* var25 /* : null */;
2659 val* var26 /* : null */;
2660 val* var27 /* : null */;
2661 val* var28 /* : null */;
2662 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
2663 long var29 /* : Int */;
2664 long var30 /* : Int */;
2665 var_p = p0;
2666 var = NULL;
2667 var_node_list = var;
2668 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2669 var_nodearraylist6 = var1;
2670 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2671 var_nodearraylist5 = var2;
2672 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2673 var_nodearraylist4 = var3;
2674 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2675 var_nodearraylist3 = var4;
2676 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2677 var_nodearraylist2 = var5;
2678 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2679 var_nodearraylist1 = var6;
2680 var_pdocnode2 = var_nodearraylist1;
2681 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2682 cltype = type_nullable_parser_nodes__ADoc.color;
2683 idtype = type_nullable_parser_nodes__ADoc.id;
2684 if(var_pdocnode2 == NULL) {
2685 var7 = 1;
2686 } else {
2687 if(cltype >= var_pdocnode2->type->table_size) {
2688 var7 = 0;
2689 } else {
2690 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
2691 }
2692 }
2693 if (!var7) {
2694 fprintf(stderr, "Runtime error: %s", "Assert failed");
2695 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18717);
2696 exit(1);
2697 }
2698 var_tkwredefnode5 = var_nodearraylist2;
2699 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
2700 cltype9 = type_nullable_parser_nodes__TKwredef.color;
2701 idtype10 = type_nullable_parser_nodes__TKwredef.id;
2702 if(var_tkwredefnode5 == NULL) {
2703 var8 = 1;
2704 } else {
2705 if(cltype9 >= var_tkwredefnode5->type->table_size) {
2706 var8 = 0;
2707 } else {
2708 var8 = var_tkwredefnode5->type->type_table[cltype9] == idtype10;
2709 }
2710 }
2711 if (!var8) {
2712 fprintf(stderr, "Runtime error: %s", "Assert failed");
2713 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18719);
2714 exit(1);
2715 }
2716 var_pvisibilitynode6 = var_nodearraylist3;
2717 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
2718 cltype12 = type_nullable_parser_nodes__AVisibility.color;
2719 idtype13 = type_nullable_parser_nodes__AVisibility.id;
2720 if(var_pvisibilitynode6 == NULL) {
2721 var11 = 1;
2722 } else {
2723 if(cltype12 >= var_pvisibilitynode6->type->table_size) {
2724 var11 = 0;
2725 } else {
2726 var11 = var_pvisibilitynode6->type->type_table[cltype12] == idtype13;
2727 }
2728 }
2729 if (!var11) {
2730 fprintf(stderr, "Runtime error: %s", "Assert failed");
2731 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18721);
2732 exit(1);
2733 }
2734 var_tkwvarnode7 = var_nodearraylist4;
2735 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
2736 cltype15 = type_nullable_parser_nodes__TKwvar.color;
2737 idtype16 = type_nullable_parser_nodes__TKwvar.id;
2738 if(var_tkwvarnode7 == NULL) {
2739 var14 = 1;
2740 } else {
2741 if(cltype15 >= var_tkwvarnode7->type->table_size) {
2742 var14 = 0;
2743 } else {
2744 var14 = var_tkwvarnode7->type->type_table[cltype15] == idtype16;
2745 }
2746 }
2747 if (!var14) {
2748 fprintf(stderr, "Runtime error: %s", "Assert failed");
2749 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18723);
2750 exit(1);
2751 }
2752 var_tidnode9 = var_nodearraylist5;
2753 /* <var_tidnode9:nullable Object> isa nullable TId */
2754 cltype18 = type_nullable_parser_nodes__TId.color;
2755 idtype19 = type_nullable_parser_nodes__TId.id;
2756 if(var_tidnode9 == NULL) {
2757 var17 = 1;
2758 } else {
2759 if(cltype18 >= var_tidnode9->type->table_size) {
2760 var17 = 0;
2761 } else {
2762 var17 = var_tidnode9->type->type_table[cltype18] == idtype19;
2763 }
2764 }
2765 if (!var17) {
2766 fprintf(stderr, "Runtime error: %s", "Assert failed");
2767 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18725);
2768 exit(1);
2769 }
2770 var_pannotationsnode11 = var_nodearraylist6;
2771 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
2772 cltype21 = type_nullable_parser_nodes__AAnnotations.color;
2773 idtype22 = type_nullable_parser_nodes__AAnnotations.id;
2774 if(var_pannotationsnode11 == NULL) {
2775 var20 = 1;
2776 } else {
2777 if(cltype21 >= var_pannotationsnode11->type->table_size) {
2778 var20 = 0;
2779 } else {
2780 var20 = var_pannotationsnode11->type->type_table[cltype21] == idtype22;
2781 }
2782 }
2783 if (!var20) {
2784 fprintf(stderr, "Runtime error: %s", "Assert failed");
2785 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18727);
2786 exit(1);
2787 }
2788 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
2789 var24 = NULL;
2790 var25 = NULL;
2791 var26 = NULL;
2792 var27 = NULL;
2793 var28 = NULL;
2794 ((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>*/;
2795 CHECK_NEW_parser_nodes__AAttrPropdef(var23);
2796 var_ppropdefnode1 = var23;
2797 var_node_list = var_ppropdefnode1;
2798 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction422> */
2799 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
2800 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
2801 RET_LABEL:;
2802 }
2803 /* method parser#ReduceAction422#action for (self: Object, Parser) */
2804 void VIRTUAL_parser__ReduceAction422__action(val* self, val* p0) {
2805 parser__ReduceAction422__action(self, p0);
2806 RET_LABEL:;
2807 }
2808 /* method parser#ReduceAction423#action for (self: ReduceAction423, Parser) */
2809 void parser__ReduceAction423__action(val* self, val* p0) {
2810 val* var_p /* var p: Parser */;
2811 val* var /* : null */;
2812 val* var_node_list /* var node_list: nullable Object */;
2813 val* var1 /* : nullable Object */;
2814 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2815 val* var2 /* : nullable Object */;
2816 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2817 val* var3 /* : nullable Object */;
2818 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2819 val* var4 /* : nullable Object */;
2820 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2821 val* var5 /* : nullable Object */;
2822 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2823 val* var6 /* : nullable Object */;
2824 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2825 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2826 short int var7 /* : Bool */;
2827 int cltype;
2828 int idtype;
2829 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
2830 short int var8 /* : Bool */;
2831 int cltype9;
2832 int idtype10;
2833 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
2834 short int var11 /* : Bool */;
2835 int cltype12;
2836 int idtype13;
2837 val* var_tidnode9 /* var tidnode9: nullable Object */;
2838 short int var14 /* : Bool */;
2839 int cltype15;
2840 int idtype16;
2841 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
2842 short int var17 /* : Bool */;
2843 int cltype18;
2844 int idtype19;
2845 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
2846 short int var20 /* : Bool */;
2847 int cltype21;
2848 int idtype22;
2849 val* var23 /* : AAttrPropdef */;
2850 val* var24 /* : null */;
2851 val* var25 /* : null */;
2852 val* var26 /* : null */;
2853 val* var27 /* : null */;
2854 val* var28 /* : null */;
2855 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
2856 long var29 /* : Int */;
2857 long var30 /* : Int */;
2858 var_p = p0;
2859 var = NULL;
2860 var_node_list = var;
2861 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2862 var_nodearraylist6 = var1;
2863 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2864 var_nodearraylist5 = var2;
2865 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2866 var_nodearraylist4 = var3;
2867 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2868 var_nodearraylist3 = var4;
2869 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2870 var_nodearraylist2 = var5;
2871 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2872 var_nodearraylist1 = var6;
2873 var_pdocnode2 = var_nodearraylist1;
2874 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2875 cltype = type_nullable_parser_nodes__ADoc.color;
2876 idtype = type_nullable_parser_nodes__ADoc.id;
2877 if(var_pdocnode2 == NULL) {
2878 var7 = 1;
2879 } else {
2880 if(cltype >= var_pdocnode2->type->table_size) {
2881 var7 = 0;
2882 } else {
2883 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
2884 }
2885 }
2886 if (!var7) {
2887 fprintf(stderr, "Runtime error: %s", "Assert failed");
2888 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18757);
2889 exit(1);
2890 }
2891 var_pvisibilitynode6 = var_nodearraylist2;
2892 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
2893 cltype9 = type_nullable_parser_nodes__AVisibility.color;
2894 idtype10 = type_nullable_parser_nodes__AVisibility.id;
2895 if(var_pvisibilitynode6 == NULL) {
2896 var8 = 1;
2897 } else {
2898 if(cltype9 >= var_pvisibilitynode6->type->table_size) {
2899 var8 = 0;
2900 } else {
2901 var8 = var_pvisibilitynode6->type->type_table[cltype9] == idtype10;
2902 }
2903 }
2904 if (!var8) {
2905 fprintf(stderr, "Runtime error: %s", "Assert failed");
2906 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18759);
2907 exit(1);
2908 }
2909 var_tkwvarnode7 = var_nodearraylist3;
2910 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
2911 cltype12 = type_nullable_parser_nodes__TKwvar.color;
2912 idtype13 = type_nullable_parser_nodes__TKwvar.id;
2913 if(var_tkwvarnode7 == NULL) {
2914 var11 = 1;
2915 } else {
2916 if(cltype12 >= var_tkwvarnode7->type->table_size) {
2917 var11 = 0;
2918 } else {
2919 var11 = var_tkwvarnode7->type->type_table[cltype12] == idtype13;
2920 }
2921 }
2922 if (!var11) {
2923 fprintf(stderr, "Runtime error: %s", "Assert failed");
2924 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18761);
2925 exit(1);
2926 }
2927 var_tidnode9 = var_nodearraylist4;
2928 /* <var_tidnode9:nullable Object> isa nullable TId */
2929 cltype15 = type_nullable_parser_nodes__TId.color;
2930 idtype16 = type_nullable_parser_nodes__TId.id;
2931 if(var_tidnode9 == NULL) {
2932 var14 = 1;
2933 } else {
2934 if(cltype15 >= var_tidnode9->type->table_size) {
2935 var14 = 0;
2936 } else {
2937 var14 = var_tidnode9->type->type_table[cltype15] == idtype16;
2938 }
2939 }
2940 if (!var14) {
2941 fprintf(stderr, "Runtime error: %s", "Assert failed");
2942 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18763);
2943 exit(1);
2944 }
2945 var_ptypenode10 = var_nodearraylist5;
2946 /* <var_ptypenode10:nullable Object> isa nullable AType */
2947 cltype18 = type_nullable_parser_nodes__AType.color;
2948 idtype19 = type_nullable_parser_nodes__AType.id;
2949 if(var_ptypenode10 == NULL) {
2950 var17 = 1;
2951 } else {
2952 if(cltype18 >= var_ptypenode10->type->table_size) {
2953 var17 = 0;
2954 } else {
2955 var17 = var_ptypenode10->type->type_table[cltype18] == idtype19;
2956 }
2957 }
2958 if (!var17) {
2959 fprintf(stderr, "Runtime error: %s", "Assert failed");
2960 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18765);
2961 exit(1);
2962 }
2963 var_pannotationsnode11 = var_nodearraylist6;
2964 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
2965 cltype21 = type_nullable_parser_nodes__AAnnotations.color;
2966 idtype22 = type_nullable_parser_nodes__AAnnotations.id;
2967 if(var_pannotationsnode11 == NULL) {
2968 var20 = 1;
2969 } else {
2970 if(cltype21 >= var_pannotationsnode11->type->table_size) {
2971 var20 = 0;
2972 } else {
2973 var20 = var_pannotationsnode11->type->type_table[cltype21] == idtype22;
2974 }
2975 }
2976 if (!var20) {
2977 fprintf(stderr, "Runtime error: %s", "Assert failed");
2978 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18767);
2979 exit(1);
2980 }
2981 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
2982 var24 = NULL;
2983 var25 = NULL;
2984 var26 = NULL;
2985 var27 = NULL;
2986 var28 = NULL;
2987 ((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>*/;
2988 CHECK_NEW_parser_nodes__AAttrPropdef(var23);
2989 var_ppropdefnode1 = var23;
2990 var_node_list = var_ppropdefnode1;
2991 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction423> */
2992 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
2993 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
2994 RET_LABEL:;
2995 }
2996 /* method parser#ReduceAction423#action for (self: Object, Parser) */
2997 void VIRTUAL_parser__ReduceAction423__action(val* self, val* p0) {
2998 parser__ReduceAction423__action(self, p0);
2999 RET_LABEL:;
3000 }
3001 /* method parser#ReduceAction424#action for (self: ReduceAction424, Parser) */
3002 void parser__ReduceAction424__action(val* self, val* p0) {
3003 val* var_p /* var p: Parser */;
3004 val* var /* : null */;
3005 val* var_node_list /* var node_list: nullable Object */;
3006 val* var1 /* : nullable Object */;
3007 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3008 val* var2 /* : nullable Object */;
3009 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3010 val* var3 /* : nullable Object */;
3011 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3012 val* var4 /* : nullable Object */;
3013 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3014 val* var5 /* : nullable Object */;
3015 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3016 val* var6 /* : nullable Object */;
3017 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3018 val* var7 /* : nullable Object */;
3019 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3020 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3021 short int var8 /* : Bool */;
3022 int cltype;
3023 int idtype;
3024 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
3025 short int var9 /* : Bool */;
3026 int cltype10;
3027 int idtype11;
3028 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
3029 short int var12 /* : Bool */;
3030 int cltype13;
3031 int idtype14;
3032 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
3033 short int var15 /* : Bool */;
3034 int cltype16;
3035 int idtype17;
3036 val* var_tidnode9 /* var tidnode9: nullable Object */;
3037 short int var18 /* : Bool */;
3038 int cltype19;
3039 int idtype20;
3040 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
3041 short int var21 /* : Bool */;
3042 int cltype22;
3043 int idtype23;
3044 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
3045 short int var24 /* : Bool */;
3046 int cltype25;
3047 int idtype26;
3048 val* var27 /* : AAttrPropdef */;
3049 val* var28 /* : null */;
3050 val* var29 /* : null */;
3051 val* var30 /* : null */;
3052 val* var31 /* : null */;
3053 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
3054 long var32 /* : Int */;
3055 long var33 /* : Int */;
3056 var_p = p0;
3057 var = NULL;
3058 var_node_list = var;
3059 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3060 var_nodearraylist7 = var1;
3061 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3062 var_nodearraylist6 = var2;
3063 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3064 var_nodearraylist5 = var3;
3065 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3066 var_nodearraylist4 = var4;
3067 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3068 var_nodearraylist3 = var5;
3069 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3070 var_nodearraylist2 = var6;
3071 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3072 var_nodearraylist1 = var7;
3073 var_pdocnode2 = var_nodearraylist1;
3074 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3075 cltype = type_nullable_parser_nodes__ADoc.color;
3076 idtype = type_nullable_parser_nodes__ADoc.id;
3077 if(var_pdocnode2 == NULL) {
3078 var8 = 1;
3079 } else {
3080 if(cltype >= var_pdocnode2->type->table_size) {
3081 var8 = 0;
3082 } else {
3083 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
3084 }
3085 }
3086 if (!var8) {
3087 fprintf(stderr, "Runtime error: %s", "Assert failed");
3088 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18798);
3089 exit(1);
3090 }
3091 var_tkwredefnode5 = var_nodearraylist2;
3092 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
3093 cltype10 = type_nullable_parser_nodes__TKwredef.color;
3094 idtype11 = type_nullable_parser_nodes__TKwredef.id;
3095 if(var_tkwredefnode5 == NULL) {
3096 var9 = 1;
3097 } else {
3098 if(cltype10 >= var_tkwredefnode5->type->table_size) {
3099 var9 = 0;
3100 } else {
3101 var9 = var_tkwredefnode5->type->type_table[cltype10] == idtype11;
3102 }
3103 }
3104 if (!var9) {
3105 fprintf(stderr, "Runtime error: %s", "Assert failed");
3106 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18800);
3107 exit(1);
3108 }
3109 var_pvisibilitynode6 = var_nodearraylist3;
3110 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
3111 cltype13 = type_nullable_parser_nodes__AVisibility.color;
3112 idtype14 = type_nullable_parser_nodes__AVisibility.id;
3113 if(var_pvisibilitynode6 == NULL) {
3114 var12 = 1;
3115 } else {
3116 if(cltype13 >= var_pvisibilitynode6->type->table_size) {
3117 var12 = 0;
3118 } else {
3119 var12 = var_pvisibilitynode6->type->type_table[cltype13] == idtype14;
3120 }
3121 }
3122 if (!var12) {
3123 fprintf(stderr, "Runtime error: %s", "Assert failed");
3124 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18802);
3125 exit(1);
3126 }
3127 var_tkwvarnode7 = var_nodearraylist4;
3128 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
3129 cltype16 = type_nullable_parser_nodes__TKwvar.color;
3130 idtype17 = type_nullable_parser_nodes__TKwvar.id;
3131 if(var_tkwvarnode7 == NULL) {
3132 var15 = 1;
3133 } else {
3134 if(cltype16 >= var_tkwvarnode7->type->table_size) {
3135 var15 = 0;
3136 } else {
3137 var15 = var_tkwvarnode7->type->type_table[cltype16] == idtype17;
3138 }
3139 }
3140 if (!var15) {
3141 fprintf(stderr, "Runtime error: %s", "Assert failed");
3142 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18804);
3143 exit(1);
3144 }
3145 var_tidnode9 = var_nodearraylist5;
3146 /* <var_tidnode9:nullable Object> isa nullable TId */
3147 cltype19 = type_nullable_parser_nodes__TId.color;
3148 idtype20 = type_nullable_parser_nodes__TId.id;
3149 if(var_tidnode9 == NULL) {
3150 var18 = 1;
3151 } else {
3152 if(cltype19 >= var_tidnode9->type->table_size) {
3153 var18 = 0;
3154 } else {
3155 var18 = var_tidnode9->type->type_table[cltype19] == idtype20;
3156 }
3157 }
3158 if (!var18) {
3159 fprintf(stderr, "Runtime error: %s", "Assert failed");
3160 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18806);
3161 exit(1);
3162 }
3163 var_ptypenode10 = var_nodearraylist6;
3164 /* <var_ptypenode10:nullable Object> isa nullable AType */
3165 cltype22 = type_nullable_parser_nodes__AType.color;
3166 idtype23 = type_nullable_parser_nodes__AType.id;
3167 if(var_ptypenode10 == NULL) {
3168 var21 = 1;
3169 } else {
3170 if(cltype22 >= var_ptypenode10->type->table_size) {
3171 var21 = 0;
3172 } else {
3173 var21 = var_ptypenode10->type->type_table[cltype22] == idtype23;
3174 }
3175 }
3176 if (!var21) {
3177 fprintf(stderr, "Runtime error: %s", "Assert failed");
3178 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18808);
3179 exit(1);
3180 }
3181 var_pannotationsnode11 = var_nodearraylist7;
3182 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
3183 cltype25 = type_nullable_parser_nodes__AAnnotations.color;
3184 idtype26 = type_nullable_parser_nodes__AAnnotations.id;
3185 if(var_pannotationsnode11 == NULL) {
3186 var24 = 1;
3187 } else {
3188 if(cltype25 >= var_pannotationsnode11->type->table_size) {
3189 var24 = 0;
3190 } else {
3191 var24 = var_pannotationsnode11->type->type_table[cltype25] == idtype26;
3192 }
3193 }
3194 if (!var24) {
3195 fprintf(stderr, "Runtime error: %s", "Assert failed");
3196 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18810);
3197 exit(1);
3198 }
3199 var27 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
3200 var28 = NULL;
3201 var29 = NULL;
3202 var30 = NULL;
3203 var31 = NULL;
3204 ((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>*/;
3205 CHECK_NEW_parser_nodes__AAttrPropdef(var27);
3206 var_ppropdefnode1 = var27;
3207 var_node_list = var_ppropdefnode1;
3208 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction424> */
3209 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
3210 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
3211 RET_LABEL:;
3212 }
3213 /* method parser#ReduceAction424#action for (self: Object, Parser) */
3214 void VIRTUAL_parser__ReduceAction424__action(val* self, val* p0) {
3215 parser__ReduceAction424__action(self, p0);
3216 RET_LABEL:;
3217 }
3218 /* method parser#ReduceAction425#action for (self: ReduceAction425, Parser) */
3219 void parser__ReduceAction425__action(val* self, val* p0) {
3220 val* var_p /* var p: Parser */;
3221 val* var /* : null */;
3222 val* var_node_list /* var node_list: nullable Object */;
3223 val* var1 /* : nullable Object */;
3224 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3225 val* var2 /* : nullable Object */;
3226 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3227 val* var3 /* : nullable Object */;
3228 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3229 val* var4 /* : nullable Object */;
3230 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3231 val* var5 /* : nullable Object */;
3232 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3233 val* var6 /* : nullable Object */;
3234 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3235 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3236 short int var7 /* : Bool */;
3237 int cltype;
3238 int idtype;
3239 val* var_pablenode4 /* var pablenode4: nullable Object */;
3240 short int var8 /* : Bool */;
3241 int cltype9;
3242 int idtype10;
3243 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
3244 short int var11 /* : Bool */;
3245 int cltype12;
3246 int idtype13;
3247 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
3248 short int var14 /* : Bool */;
3249 int cltype15;
3250 int idtype16;
3251 val* var_tidnode9 /* var tidnode9: nullable Object */;
3252 short int var17 /* : Bool */;
3253 int cltype18;
3254 int idtype19;
3255 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
3256 short int var20 /* : Bool */;
3257 int cltype21;
3258 int idtype22;
3259 val* var23 /* : AAttrPropdef */;
3260 val* var24 /* : null */;
3261 val* var25 /* : null */;
3262 val* var26 /* : null */;
3263 val* var27 /* : null */;
3264 val* var28 /* : null */;
3265 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
3266 long var29 /* : Int */;
3267 long var30 /* : Int */;
3268 var_p = p0;
3269 var = NULL;
3270 var_node_list = var;
3271 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3272 var_nodearraylist6 = var1;
3273 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3274 var_nodearraylist5 = var2;
3275 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3276 var_nodearraylist4 = var3;
3277 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3278 var_nodearraylist3 = var4;
3279 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3280 var_nodearraylist2 = var5;
3281 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3282 var_nodearraylist1 = var6;
3283 var_pdocnode2 = var_nodearraylist1;
3284 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3285 cltype = type_nullable_parser_nodes__ADoc.color;
3286 idtype = type_nullable_parser_nodes__ADoc.id;
3287 if(var_pdocnode2 == NULL) {
3288 var7 = 1;
3289 } else {
3290 if(cltype >= var_pdocnode2->type->table_size) {
3291 var7 = 0;
3292 } else {
3293 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
3294 }
3295 }
3296 if (!var7) {
3297 fprintf(stderr, "Runtime error: %s", "Assert failed");
3298 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18840);
3299 exit(1);
3300 }
3301 var_pablenode4 = var_nodearraylist5;
3302 /* <var_pablenode4:nullable Object> isa nullable AAble */
3303 cltype9 = type_nullable_parser_nodes__AAble.color;
3304 idtype10 = type_nullable_parser_nodes__AAble.id;
3305 if(var_pablenode4 == NULL) {
3306 var8 = 1;
3307 } else {
3308 if(cltype9 >= var_pablenode4->type->table_size) {
3309 var8 = 0;
3310 } else {
3311 var8 = var_pablenode4->type->type_table[cltype9] == idtype10;
3312 }
3313 }
3314 if (!var8) {
3315 fprintf(stderr, "Runtime error: %s", "Assert failed");
3316 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18842);
3317 exit(1);
3318 }
3319 var_pvisibilitynode6 = var_nodearraylist2;
3320 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
3321 cltype12 = type_nullable_parser_nodes__AVisibility.color;
3322 idtype13 = type_nullable_parser_nodes__AVisibility.id;
3323 if(var_pvisibilitynode6 == NULL) {
3324 var11 = 1;
3325 } else {
3326 if(cltype12 >= var_pvisibilitynode6->type->table_size) {
3327 var11 = 0;
3328 } else {
3329 var11 = var_pvisibilitynode6->type->type_table[cltype12] == idtype13;
3330 }
3331 }
3332 if (!var11) {
3333 fprintf(stderr, "Runtime error: %s", "Assert failed");
3334 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18844);
3335 exit(1);
3336 }
3337 var_tkwvarnode7 = var_nodearraylist3;
3338 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
3339 cltype15 = type_nullable_parser_nodes__TKwvar.color;
3340 idtype16 = type_nullable_parser_nodes__TKwvar.id;
3341 if(var_tkwvarnode7 == NULL) {
3342 var14 = 1;
3343 } else {
3344 if(cltype15 >= var_tkwvarnode7->type->table_size) {
3345 var14 = 0;
3346 } else {
3347 var14 = var_tkwvarnode7->type->type_table[cltype15] == idtype16;
3348 }
3349 }
3350 if (!var14) {
3351 fprintf(stderr, "Runtime error: %s", "Assert failed");
3352 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18846);
3353 exit(1);
3354 }
3355 var_tidnode9 = var_nodearraylist4;
3356 /* <var_tidnode9:nullable Object> isa nullable TId */
3357 cltype18 = type_nullable_parser_nodes__TId.color;
3358 idtype19 = type_nullable_parser_nodes__TId.id;
3359 if(var_tidnode9 == NULL) {
3360 var17 = 1;
3361 } else {
3362 if(cltype18 >= var_tidnode9->type->table_size) {
3363 var17 = 0;
3364 } else {
3365 var17 = var_tidnode9->type->type_table[cltype18] == idtype19;
3366 }
3367 }
3368 if (!var17) {
3369 fprintf(stderr, "Runtime error: %s", "Assert failed");
3370 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18848);
3371 exit(1);
3372 }
3373 var_pannotationsnode11 = var_nodearraylist6;
3374 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
3375 cltype21 = type_nullable_parser_nodes__AAnnotations.color;
3376 idtype22 = type_nullable_parser_nodes__AAnnotations.id;
3377 if(var_pannotationsnode11 == NULL) {
3378 var20 = 1;
3379 } else {
3380 if(cltype21 >= var_pannotationsnode11->type->table_size) {
3381 var20 = 0;
3382 } else {
3383 var20 = var_pannotationsnode11->type->type_table[cltype21] == idtype22;
3384 }
3385 }
3386 if (!var20) {
3387 fprintf(stderr, "Runtime error: %s", "Assert failed");
3388 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18850);
3389 exit(1);
3390 }
3391 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
3392 var24 = NULL;
3393 var25 = NULL;
3394 var26 = NULL;
3395 var27 = NULL;
3396 var28 = NULL;
3397 ((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>*/;
3398 CHECK_NEW_parser_nodes__AAttrPropdef(var23);
3399 var_ppropdefnode1 = var23;
3400 var_node_list = var_ppropdefnode1;
3401 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction425> */
3402 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
3403 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
3404 RET_LABEL:;
3405 }
3406 /* method parser#ReduceAction425#action for (self: Object, Parser) */
3407 void VIRTUAL_parser__ReduceAction425__action(val* self, val* p0) {
3408 parser__ReduceAction425__action(self, p0);
3409 RET_LABEL:;
3410 }
3411 /* method parser#ReduceAction426#action for (self: ReduceAction426, Parser) */
3412 void parser__ReduceAction426__action(val* self, val* p0) {
3413 val* var_p /* var p: Parser */;
3414 val* var /* : null */;
3415 val* var_node_list /* var node_list: nullable Object */;
3416 val* var1 /* : nullable Object */;
3417 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3418 val* var2 /* : nullable Object */;
3419 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3420 val* var3 /* : nullable Object */;
3421 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3422 val* var4 /* : nullable Object */;
3423 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3424 val* var5 /* : nullable Object */;
3425 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3426 val* var6 /* : nullable Object */;
3427 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3428 val* var7 /* : nullable Object */;
3429 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3430 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3431 short int var8 /* : Bool */;
3432 int cltype;
3433 int idtype;
3434 val* var_pablenode4 /* var pablenode4: nullable Object */;
3435 short int var9 /* : Bool */;
3436 int cltype10;
3437 int idtype11;
3438 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
3439 short int var12 /* : Bool */;
3440 int cltype13;
3441 int idtype14;
3442 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
3443 short int var15 /* : Bool */;
3444 int cltype16;
3445 int idtype17;
3446 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
3447 short int var18 /* : Bool */;
3448 int cltype19;
3449 int idtype20;
3450 val* var_tidnode9 /* var tidnode9: nullable Object */;
3451 short int var21 /* : Bool */;
3452 int cltype22;
3453 int idtype23;
3454 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
3455 short int var24 /* : Bool */;
3456 int cltype25;
3457 int idtype26;
3458 val* var27 /* : AAttrPropdef */;
3459 val* var28 /* : null */;
3460 val* var29 /* : null */;
3461 val* var30 /* : null */;
3462 val* var31 /* : null */;
3463 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
3464 long var32 /* : Int */;
3465 long var33 /* : Int */;
3466 var_p = p0;
3467 var = NULL;
3468 var_node_list = var;
3469 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3470 var_nodearraylist7 = var1;
3471 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3472 var_nodearraylist6 = var2;
3473 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3474 var_nodearraylist5 = var3;
3475 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3476 var_nodearraylist4 = var4;
3477 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3478 var_nodearraylist3 = var5;
3479 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3480 var_nodearraylist2 = var6;
3481 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3482 var_nodearraylist1 = var7;
3483 var_pdocnode2 = var_nodearraylist1;
3484 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3485 cltype = type_nullable_parser_nodes__ADoc.color;
3486 idtype = type_nullable_parser_nodes__ADoc.id;
3487 if(var_pdocnode2 == NULL) {
3488 var8 = 1;
3489 } else {
3490 if(cltype >= var_pdocnode2->type->table_size) {
3491 var8 = 0;
3492 } else {
3493 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
3494 }
3495 }
3496 if (!var8) {
3497 fprintf(stderr, "Runtime error: %s", "Assert failed");
3498 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18881);
3499 exit(1);
3500 }
3501 var_pablenode4 = var_nodearraylist6;
3502 /* <var_pablenode4:nullable Object> isa nullable AAble */
3503 cltype10 = type_nullable_parser_nodes__AAble.color;
3504 idtype11 = type_nullable_parser_nodes__AAble.id;
3505 if(var_pablenode4 == NULL) {
3506 var9 = 1;
3507 } else {
3508 if(cltype10 >= var_pablenode4->type->table_size) {
3509 var9 = 0;
3510 } else {
3511 var9 = var_pablenode4->type->type_table[cltype10] == idtype11;
3512 }
3513 }
3514 if (!var9) {
3515 fprintf(stderr, "Runtime error: %s", "Assert failed");
3516 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18883);
3517 exit(1);
3518 }
3519 var_tkwredefnode5 = var_nodearraylist2;
3520 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
3521 cltype13 = type_nullable_parser_nodes__TKwredef.color;
3522 idtype14 = type_nullable_parser_nodes__TKwredef.id;
3523 if(var_tkwredefnode5 == NULL) {
3524 var12 = 1;
3525 } else {
3526 if(cltype13 >= var_tkwredefnode5->type->table_size) {
3527 var12 = 0;
3528 } else {
3529 var12 = var_tkwredefnode5->type->type_table[cltype13] == idtype14;
3530 }
3531 }
3532 if (!var12) {
3533 fprintf(stderr, "Runtime error: %s", "Assert failed");
3534 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18885);
3535 exit(1);
3536 }
3537 var_pvisibilitynode6 = var_nodearraylist3;
3538 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
3539 cltype16 = type_nullable_parser_nodes__AVisibility.color;
3540 idtype17 = type_nullable_parser_nodes__AVisibility.id;
3541 if(var_pvisibilitynode6 == NULL) {
3542 var15 = 1;
3543 } else {
3544 if(cltype16 >= var_pvisibilitynode6->type->table_size) {
3545 var15 = 0;
3546 } else {
3547 var15 = var_pvisibilitynode6->type->type_table[cltype16] == idtype17;
3548 }
3549 }
3550 if (!var15) {
3551 fprintf(stderr, "Runtime error: %s", "Assert failed");
3552 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18887);
3553 exit(1);
3554 }
3555 var_tkwvarnode7 = var_nodearraylist4;
3556 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
3557 cltype19 = type_nullable_parser_nodes__TKwvar.color;
3558 idtype20 = type_nullable_parser_nodes__TKwvar.id;
3559 if(var_tkwvarnode7 == NULL) {
3560 var18 = 1;
3561 } else {
3562 if(cltype19 >= var_tkwvarnode7->type->table_size) {
3563 var18 = 0;
3564 } else {
3565 var18 = var_tkwvarnode7->type->type_table[cltype19] == idtype20;
3566 }
3567 }
3568 if (!var18) {
3569 fprintf(stderr, "Runtime error: %s", "Assert failed");
3570 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18889);
3571 exit(1);
3572 }
3573 var_tidnode9 = var_nodearraylist5;
3574 /* <var_tidnode9:nullable Object> isa nullable TId */
3575 cltype22 = type_nullable_parser_nodes__TId.color;
3576 idtype23 = type_nullable_parser_nodes__TId.id;
3577 if(var_tidnode9 == NULL) {
3578 var21 = 1;
3579 } else {
3580 if(cltype22 >= var_tidnode9->type->table_size) {
3581 var21 = 0;
3582 } else {
3583 var21 = var_tidnode9->type->type_table[cltype22] == idtype23;
3584 }
3585 }
3586 if (!var21) {
3587 fprintf(stderr, "Runtime error: %s", "Assert failed");
3588 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18891);
3589 exit(1);
3590 }
3591 var_pannotationsnode11 = var_nodearraylist7;
3592 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
3593 cltype25 = type_nullable_parser_nodes__AAnnotations.color;
3594 idtype26 = type_nullable_parser_nodes__AAnnotations.id;
3595 if(var_pannotationsnode11 == NULL) {
3596 var24 = 1;
3597 } else {
3598 if(cltype25 >= var_pannotationsnode11->type->table_size) {
3599 var24 = 0;
3600 } else {
3601 var24 = var_pannotationsnode11->type->type_table[cltype25] == idtype26;
3602 }
3603 }
3604 if (!var24) {
3605 fprintf(stderr, "Runtime error: %s", "Assert failed");
3606 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18893);
3607 exit(1);
3608 }
3609 var27 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
3610 var28 = NULL;
3611 var29 = NULL;
3612 var30 = NULL;
3613 var31 = NULL;
3614 ((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>*/;
3615 CHECK_NEW_parser_nodes__AAttrPropdef(var27);
3616 var_ppropdefnode1 = var27;
3617 var_node_list = var_ppropdefnode1;
3618 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction426> */
3619 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
3620 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
3621 RET_LABEL:;
3622 }
3623 /* method parser#ReduceAction426#action for (self: Object, Parser) */
3624 void VIRTUAL_parser__ReduceAction426__action(val* self, val* p0) {
3625 parser__ReduceAction426__action(self, p0);
3626 RET_LABEL:;
3627 }
3628 /* method parser#ReduceAction427#action for (self: ReduceAction427, Parser) */
3629 void parser__ReduceAction427__action(val* self, val* p0) {
3630 val* var_p /* var p: Parser */;
3631 val* var /* : null */;
3632 val* var_node_list /* var node_list: nullable Object */;
3633 val* var1 /* : nullable Object */;
3634 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3635 val* var2 /* : nullable Object */;
3636 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3637 val* var3 /* : nullable Object */;
3638 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3639 val* var4 /* : nullable Object */;
3640 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3641 val* var5 /* : nullable Object */;
3642 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3643 val* var6 /* : nullable Object */;
3644 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3645 val* var7 /* : nullable Object */;
3646 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3647 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3648 short int var8 /* : Bool */;
3649 int cltype;
3650 int idtype;
3651 val* var_pablenode4 /* var pablenode4: nullable Object */;
3652 short int var9 /* : Bool */;
3653 int cltype10;
3654 int idtype11;
3655 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
3656 short int var12 /* : Bool */;
3657 int cltype13;
3658 int idtype14;
3659 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
3660 short int var15 /* : Bool */;
3661 int cltype16;
3662 int idtype17;
3663 val* var_tidnode9 /* var tidnode9: nullable Object */;
3664 short int var18 /* : Bool */;
3665 int cltype19;
3666 int idtype20;
3667 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
3668 short int var21 /* : Bool */;
3669 int cltype22;
3670 int idtype23;
3671 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
3672 short int var24 /* : Bool */;
3673 int cltype25;
3674 int idtype26;
3675 val* var27 /* : AAttrPropdef */;
3676 val* var28 /* : null */;
3677 val* var29 /* : null */;
3678 val* var30 /* : null */;
3679 val* var31 /* : null */;
3680 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
3681 long var32 /* : Int */;
3682 long var33 /* : Int */;
3683 var_p = p0;
3684 var = NULL;
3685 var_node_list = var;
3686 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3687 var_nodearraylist7 = var1;
3688 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3689 var_nodearraylist6 = var2;
3690 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3691 var_nodearraylist5 = var3;
3692 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3693 var_nodearraylist4 = var4;
3694 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3695 var_nodearraylist3 = var5;
3696 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3697 var_nodearraylist2 = var6;
3698 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3699 var_nodearraylist1 = var7;
3700 var_pdocnode2 = var_nodearraylist1;
3701 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3702 cltype = type_nullable_parser_nodes__ADoc.color;
3703 idtype = type_nullable_parser_nodes__ADoc.id;
3704 if(var_pdocnode2 == NULL) {
3705 var8 = 1;
3706 } else {
3707 if(cltype >= var_pdocnode2->type->table_size) {
3708 var8 = 0;
3709 } else {
3710 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
3711 }
3712 }
3713 if (!var8) {
3714 fprintf(stderr, "Runtime error: %s", "Assert failed");
3715 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18924);
3716 exit(1);
3717 }
3718 var_pablenode4 = var_nodearraylist6;
3719 /* <var_pablenode4:nullable Object> isa nullable AAble */
3720 cltype10 = type_nullable_parser_nodes__AAble.color;
3721 idtype11 = type_nullable_parser_nodes__AAble.id;
3722 if(var_pablenode4 == NULL) {
3723 var9 = 1;
3724 } else {
3725 if(cltype10 >= var_pablenode4->type->table_size) {
3726 var9 = 0;
3727 } else {
3728 var9 = var_pablenode4->type->type_table[cltype10] == idtype11;
3729 }
3730 }
3731 if (!var9) {
3732 fprintf(stderr, "Runtime error: %s", "Assert failed");
3733 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18926);
3734 exit(1);
3735 }
3736 var_pvisibilitynode6 = var_nodearraylist2;
3737 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
3738 cltype13 = type_nullable_parser_nodes__AVisibility.color;
3739 idtype14 = type_nullable_parser_nodes__AVisibility.id;
3740 if(var_pvisibilitynode6 == NULL) {
3741 var12 = 1;
3742 } else {
3743 if(cltype13 >= var_pvisibilitynode6->type->table_size) {
3744 var12 = 0;
3745 } else {
3746 var12 = var_pvisibilitynode6->type->type_table[cltype13] == idtype14;
3747 }
3748 }
3749 if (!var12) {
3750 fprintf(stderr, "Runtime error: %s", "Assert failed");
3751 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18928);
3752 exit(1);
3753 }
3754 var_tkwvarnode7 = var_nodearraylist3;
3755 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
3756 cltype16 = type_nullable_parser_nodes__TKwvar.color;
3757 idtype17 = type_nullable_parser_nodes__TKwvar.id;
3758 if(var_tkwvarnode7 == NULL) {
3759 var15 = 1;
3760 } else {
3761 if(cltype16 >= var_tkwvarnode7->type->table_size) {
3762 var15 = 0;
3763 } else {
3764 var15 = var_tkwvarnode7->type->type_table[cltype16] == idtype17;
3765 }
3766 }
3767 if (!var15) {
3768 fprintf(stderr, "Runtime error: %s", "Assert failed");
3769 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18930);
3770 exit(1);
3771 }
3772 var_tidnode9 = var_nodearraylist4;
3773 /* <var_tidnode9:nullable Object> isa nullable TId */
3774 cltype19 = type_nullable_parser_nodes__TId.color;
3775 idtype20 = type_nullable_parser_nodes__TId.id;
3776 if(var_tidnode9 == NULL) {
3777 var18 = 1;
3778 } else {
3779 if(cltype19 >= var_tidnode9->type->table_size) {
3780 var18 = 0;
3781 } else {
3782 var18 = var_tidnode9->type->type_table[cltype19] == idtype20;
3783 }
3784 }
3785 if (!var18) {
3786 fprintf(stderr, "Runtime error: %s", "Assert failed");
3787 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18932);
3788 exit(1);
3789 }
3790 var_ptypenode10 = var_nodearraylist5;
3791 /* <var_ptypenode10:nullable Object> isa nullable AType */
3792 cltype22 = type_nullable_parser_nodes__AType.color;
3793 idtype23 = type_nullable_parser_nodes__AType.id;
3794 if(var_ptypenode10 == NULL) {
3795 var21 = 1;
3796 } else {
3797 if(cltype22 >= var_ptypenode10->type->table_size) {
3798 var21 = 0;
3799 } else {
3800 var21 = var_ptypenode10->type->type_table[cltype22] == idtype23;
3801 }
3802 }
3803 if (!var21) {
3804 fprintf(stderr, "Runtime error: %s", "Assert failed");
3805 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18934);
3806 exit(1);
3807 }
3808 var_pannotationsnode11 = var_nodearraylist7;
3809 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
3810 cltype25 = type_nullable_parser_nodes__AAnnotations.color;
3811 idtype26 = type_nullable_parser_nodes__AAnnotations.id;
3812 if(var_pannotationsnode11 == NULL) {
3813 var24 = 1;
3814 } else {
3815 if(cltype25 >= var_pannotationsnode11->type->table_size) {
3816 var24 = 0;
3817 } else {
3818 var24 = var_pannotationsnode11->type->type_table[cltype25] == idtype26;
3819 }
3820 }
3821 if (!var24) {
3822 fprintf(stderr, "Runtime error: %s", "Assert failed");
3823 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18936);
3824 exit(1);
3825 }
3826 var27 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
3827 var28 = NULL;
3828 var29 = NULL;
3829 var30 = NULL;
3830 var31 = NULL;
3831 ((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>*/;
3832 CHECK_NEW_parser_nodes__AAttrPropdef(var27);
3833 var_ppropdefnode1 = var27;
3834 var_node_list = var_ppropdefnode1;
3835 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction427> */
3836 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
3837 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
3838 RET_LABEL:;
3839 }
3840 /* method parser#ReduceAction427#action for (self: Object, Parser) */
3841 void VIRTUAL_parser__ReduceAction427__action(val* self, val* p0) {
3842 parser__ReduceAction427__action(self, p0);
3843 RET_LABEL:;
3844 }
3845 /* method parser#ReduceAction428#action for (self: ReduceAction428, Parser) */
3846 void parser__ReduceAction428__action(val* self, val* p0) {
3847 val* var_p /* var p: Parser */;
3848 val* var /* : null */;
3849 val* var_node_list /* var node_list: nullable Object */;
3850 val* var1 /* : nullable Object */;
3851 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3852 val* var2 /* : nullable Object */;
3853 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3854 val* var3 /* : nullable Object */;
3855 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3856 val* var4 /* : nullable Object */;
3857 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3858 val* var5 /* : nullable Object */;
3859 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3860 val* var6 /* : nullable Object */;
3861 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3862 val* var7 /* : nullable Object */;
3863 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3864 val* var8 /* : nullable Object */;
3865 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3866 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3867 short int var9 /* : Bool */;
3868 int cltype;
3869 int idtype;
3870 val* var_pablenode4 /* var pablenode4: nullable Object */;
3871 short int var10 /* : Bool */;
3872 int cltype11;
3873 int idtype12;
3874 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
3875 short int var13 /* : Bool */;
3876 int cltype14;
3877 int idtype15;
3878 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
3879 short int var16 /* : Bool */;
3880 int cltype17;
3881 int idtype18;
3882 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
3883 short int var19 /* : Bool */;
3884 int cltype20;
3885 int idtype21;
3886 val* var_tidnode9 /* var tidnode9: nullable Object */;
3887 short int var22 /* : Bool */;
3888 int cltype23;
3889 int idtype24;
3890 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
3891 short int var25 /* : Bool */;
3892 int cltype26;
3893 int idtype27;
3894 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
3895 short int var28 /* : Bool */;
3896 int cltype29;
3897 int idtype30;
3898 val* var31 /* : AAttrPropdef */;
3899 val* var32 /* : null */;
3900 val* var33 /* : null */;
3901 val* var34 /* : null */;
3902 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
3903 long var35 /* : Int */;
3904 long var36 /* : Int */;
3905 var_p = p0;
3906 var = NULL;
3907 var_node_list = var;
3908 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3909 var_nodearraylist8 = var1;
3910 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3911 var_nodearraylist7 = var2;
3912 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3913 var_nodearraylist6 = var3;
3914 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3915 var_nodearraylist5 = var4;
3916 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3917 var_nodearraylist4 = var5;
3918 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3919 var_nodearraylist3 = var6;
3920 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3921 var_nodearraylist2 = var7;
3922 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3923 var_nodearraylist1 = var8;
3924 var_pdocnode2 = var_nodearraylist1;
3925 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3926 cltype = type_nullable_parser_nodes__ADoc.color;
3927 idtype = type_nullable_parser_nodes__ADoc.id;
3928 if(var_pdocnode2 == NULL) {
3929 var9 = 1;
3930 } else {
3931 if(cltype >= var_pdocnode2->type->table_size) {
3932 var9 = 0;
3933 } else {
3934 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
3935 }
3936 }
3937 if (!var9) {
3938 fprintf(stderr, "Runtime error: %s", "Assert failed");
3939 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18968);
3940 exit(1);
3941 }
3942 var_pablenode4 = var_nodearraylist7;
3943 /* <var_pablenode4:nullable Object> isa nullable AAble */
3944 cltype11 = type_nullable_parser_nodes__AAble.color;
3945 idtype12 = type_nullable_parser_nodes__AAble.id;
3946 if(var_pablenode4 == NULL) {
3947 var10 = 1;
3948 } else {
3949 if(cltype11 >= var_pablenode4->type->table_size) {
3950 var10 = 0;
3951 } else {
3952 var10 = var_pablenode4->type->type_table[cltype11] == idtype12;
3953 }
3954 }
3955 if (!var10) {
3956 fprintf(stderr, "Runtime error: %s", "Assert failed");
3957 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18970);
3958 exit(1);
3959 }
3960 var_tkwredefnode5 = var_nodearraylist2;
3961 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
3962 cltype14 = type_nullable_parser_nodes__TKwredef.color;
3963 idtype15 = type_nullable_parser_nodes__TKwredef.id;
3964 if(var_tkwredefnode5 == NULL) {
3965 var13 = 1;
3966 } else {
3967 if(cltype14 >= var_tkwredefnode5->type->table_size) {
3968 var13 = 0;
3969 } else {
3970 var13 = var_tkwredefnode5->type->type_table[cltype14] == idtype15;
3971 }
3972 }
3973 if (!var13) {
3974 fprintf(stderr, "Runtime error: %s", "Assert failed");
3975 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18972);
3976 exit(1);
3977 }
3978 var_pvisibilitynode6 = var_nodearraylist3;
3979 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
3980 cltype17 = type_nullable_parser_nodes__AVisibility.color;
3981 idtype18 = type_nullable_parser_nodes__AVisibility.id;
3982 if(var_pvisibilitynode6 == NULL) {
3983 var16 = 1;
3984 } else {
3985 if(cltype17 >= var_pvisibilitynode6->type->table_size) {
3986 var16 = 0;
3987 } else {
3988 var16 = var_pvisibilitynode6->type->type_table[cltype17] == idtype18;
3989 }
3990 }
3991 if (!var16) {
3992 fprintf(stderr, "Runtime error: %s", "Assert failed");
3993 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18974);
3994 exit(1);
3995 }
3996 var_tkwvarnode7 = var_nodearraylist4;
3997 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
3998 cltype20 = type_nullable_parser_nodes__TKwvar.color;
3999 idtype21 = type_nullable_parser_nodes__TKwvar.id;
4000 if(var_tkwvarnode7 == NULL) {
4001 var19 = 1;
4002 } else {
4003 if(cltype20 >= var_tkwvarnode7->type->table_size) {
4004 var19 = 0;
4005 } else {
4006 var19 = var_tkwvarnode7->type->type_table[cltype20] == idtype21;
4007 }
4008 }
4009 if (!var19) {
4010 fprintf(stderr, "Runtime error: %s", "Assert failed");
4011 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18976);
4012 exit(1);
4013 }
4014 var_tidnode9 = var_nodearraylist5;
4015 /* <var_tidnode9:nullable Object> isa nullable TId */
4016 cltype23 = type_nullable_parser_nodes__TId.color;
4017 idtype24 = type_nullable_parser_nodes__TId.id;
4018 if(var_tidnode9 == NULL) {
4019 var22 = 1;
4020 } else {
4021 if(cltype23 >= var_tidnode9->type->table_size) {
4022 var22 = 0;
4023 } else {
4024 var22 = var_tidnode9->type->type_table[cltype23] == idtype24;
4025 }
4026 }
4027 if (!var22) {
4028 fprintf(stderr, "Runtime error: %s", "Assert failed");
4029 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18978);
4030 exit(1);
4031 }
4032 var_ptypenode10 = var_nodearraylist6;
4033 /* <var_ptypenode10:nullable Object> isa nullable AType */
4034 cltype26 = type_nullable_parser_nodes__AType.color;
4035 idtype27 = type_nullable_parser_nodes__AType.id;
4036 if(var_ptypenode10 == NULL) {
4037 var25 = 1;
4038 } else {
4039 if(cltype26 >= var_ptypenode10->type->table_size) {
4040 var25 = 0;
4041 } else {
4042 var25 = var_ptypenode10->type->type_table[cltype26] == idtype27;
4043 }
4044 }
4045 if (!var25) {
4046 fprintf(stderr, "Runtime error: %s", "Assert failed");
4047 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18980);
4048 exit(1);
4049 }
4050 var_pannotationsnode11 = var_nodearraylist8;
4051 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
4052 cltype29 = type_nullable_parser_nodes__AAnnotations.color;
4053 idtype30 = type_nullable_parser_nodes__AAnnotations.id;
4054 if(var_pannotationsnode11 == NULL) {
4055 var28 = 1;
4056 } else {
4057 if(cltype29 >= var_pannotationsnode11->type->table_size) {
4058 var28 = 0;
4059 } else {
4060 var28 = var_pannotationsnode11->type->type_table[cltype29] == idtype30;
4061 }
4062 }
4063 if (!var28) {
4064 fprintf(stderr, "Runtime error: %s", "Assert failed");
4065 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 18982);
4066 exit(1);
4067 }
4068 var31 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
4069 var32 = NULL;
4070 var33 = NULL;
4071 var34 = NULL;
4072 ((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>*/;
4073 CHECK_NEW_parser_nodes__AAttrPropdef(var31);
4074 var_ppropdefnode1 = var31;
4075 var_node_list = var_ppropdefnode1;
4076 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction428> */
4077 var36 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var35) /* go_to on <var_p:Parser>*/;
4078 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var36, var_node_list) /* push on <var_p:Parser>*/;
4079 RET_LABEL:;
4080 }
4081 /* method parser#ReduceAction428#action for (self: Object, Parser) */
4082 void VIRTUAL_parser__ReduceAction428__action(val* self, val* p0) {
4083 parser__ReduceAction428__action(self, p0);
4084 RET_LABEL:;
4085 }
4086 /* method parser#ReduceAction429#action for (self: ReduceAction429, Parser) */
4087 void parser__ReduceAction429__action(val* self, val* p0) {
4088 val* var_p /* var p: Parser */;
4089 val* var /* : null */;
4090 val* var_node_list /* var node_list: nullable Object */;
4091 val* var1 /* : nullable Object */;
4092 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4093 val* var2 /* : nullable Object */;
4094 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4095 val* var3 /* : nullable Object */;
4096 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4097 val* var4 /* : nullable Object */;
4098 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4099 val* var5 /* : nullable Object */;
4100 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4101 val* var6 /* : nullable Object */;
4102 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4103 val* var7 /* : nullable Object */;
4104 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4105 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4106 short int var8 /* : Bool */;
4107 int cltype;
4108 int idtype;
4109 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
4110 short int var9 /* : Bool */;
4111 int cltype10;
4112 int idtype11;
4113 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
4114 short int var12 /* : Bool */;
4115 int cltype13;
4116 int idtype14;
4117 val* var_tidnode9 /* var tidnode9: nullable Object */;
4118 short int var15 /* : Bool */;
4119 int cltype16;
4120 int idtype17;
4121 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
4122 short int var18 /* : Bool */;
4123 int cltype19;
4124 int idtype20;
4125 val* var21 /* : AAttrPropdef */;
4126 val* var22 /* : null */;
4127 val* var23 /* : null */;
4128 val* var24 /* : null */;
4129 val* var25 /* : null */;
4130 val* var26 /* : null */;
4131 val* var27 /* : null */;
4132 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
4133 long var28 /* : Int */;
4134 long var29 /* : Int */;
4135 var_p = p0;
4136 var = NULL;
4137 var_node_list = var;
4138 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4139 var_nodearraylist7 = var1;
4140 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4141 var_nodearraylist6 = var2;
4142 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4143 var_nodearraylist5 = var3;
4144 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4145 var_nodearraylist4 = var4;
4146 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4147 var_nodearraylist3 = var5;
4148 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4149 var_nodearraylist2 = var6;
4150 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4151 var_nodearraylist1 = var7;
4152 var_pdocnode2 = var_nodearraylist1;
4153 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4154 cltype = type_nullable_parser_nodes__ADoc.color;
4155 idtype = type_nullable_parser_nodes__ADoc.id;
4156 if(var_pdocnode2 == NULL) {
4157 var8 = 1;
4158 } else {
4159 if(cltype >= var_pdocnode2->type->table_size) {
4160 var8 = 0;
4161 } else {
4162 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
4163 }
4164 }
4165 if (!var8) {
4166 fprintf(stderr, "Runtime error: %s", "Assert failed");
4167 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19013);
4168 exit(1);
4169 }
4170 var_pvisibilitynode6 = var_nodearraylist2;
4171 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
4172 cltype10 = type_nullable_parser_nodes__AVisibility.color;
4173 idtype11 = type_nullable_parser_nodes__AVisibility.id;
4174 if(var_pvisibilitynode6 == NULL) {
4175 var9 = 1;
4176 } else {
4177 if(cltype10 >= var_pvisibilitynode6->type->table_size) {
4178 var9 = 0;
4179 } else {
4180 var9 = var_pvisibilitynode6->type->type_table[cltype10] == idtype11;
4181 }
4182 }
4183 if (!var9) {
4184 fprintf(stderr, "Runtime error: %s", "Assert failed");
4185 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19015);
4186 exit(1);
4187 }
4188 var_tkwvarnode7 = var_nodearraylist3;
4189 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
4190 cltype13 = type_nullable_parser_nodes__TKwvar.color;
4191 idtype14 = type_nullable_parser_nodes__TKwvar.id;
4192 if(var_tkwvarnode7 == NULL) {
4193 var12 = 1;
4194 } else {
4195 if(cltype13 >= var_tkwvarnode7->type->table_size) {
4196 var12 = 0;
4197 } else {
4198 var12 = var_tkwvarnode7->type->type_table[cltype13] == idtype14;
4199 }
4200 }
4201 if (!var12) {
4202 fprintf(stderr, "Runtime error: %s", "Assert failed");
4203 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19017);
4204 exit(1);
4205 }
4206 var_tidnode9 = var_nodearraylist4;
4207 /* <var_tidnode9:nullable Object> isa nullable TId */
4208 cltype16 = type_nullable_parser_nodes__TId.color;
4209 idtype17 = type_nullable_parser_nodes__TId.id;
4210 if(var_tidnode9 == NULL) {
4211 var15 = 1;
4212 } else {
4213 if(cltype16 >= var_tidnode9->type->table_size) {
4214 var15 = 0;
4215 } else {
4216 var15 = var_tidnode9->type->type_table[cltype16] == idtype17;
4217 }
4218 }
4219 if (!var15) {
4220 fprintf(stderr, "Runtime error: %s", "Assert failed");
4221 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19019);
4222 exit(1);
4223 }
4224 var_pexprnode12 = var_nodearraylist7;
4225 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
4226 cltype19 = type_nullable_parser_nodes__AExpr.color;
4227 idtype20 = type_nullable_parser_nodes__AExpr.id;
4228 if(var_pexprnode12 == NULL) {
4229 var18 = 1;
4230 } else {
4231 if(cltype19 >= var_pexprnode12->type->table_size) {
4232 var18 = 0;
4233 } else {
4234 var18 = var_pexprnode12->type->type_table[cltype19] == idtype20;
4235 }
4236 }
4237 if (!var18) {
4238 fprintf(stderr, "Runtime error: %s", "Assert failed");
4239 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19021);
4240 exit(1);
4241 }
4242 var21 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
4243 var22 = NULL;
4244 var23 = NULL;
4245 var24 = NULL;
4246 var25 = NULL;
4247 var26 = NULL;
4248 var27 = NULL;
4249 ((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>*/;
4250 CHECK_NEW_parser_nodes__AAttrPropdef(var21);
4251 var_ppropdefnode1 = var21;
4252 var_node_list = var_ppropdefnode1;
4253 var28 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction429> */
4254 var29 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var28) /* go_to on <var_p:Parser>*/;
4255 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var29, var_node_list) /* push on <var_p:Parser>*/;
4256 RET_LABEL:;
4257 }
4258 /* method parser#ReduceAction429#action for (self: Object, Parser) */
4259 void VIRTUAL_parser__ReduceAction429__action(val* self, val* p0) {
4260 parser__ReduceAction429__action(self, p0);
4261 RET_LABEL:;
4262 }
4263 /* method parser#ReduceAction430#action for (self: ReduceAction430, Parser) */
4264 void parser__ReduceAction430__action(val* self, val* p0) {
4265 val* var_p /* var p: Parser */;
4266 val* var /* : null */;
4267 val* var_node_list /* var node_list: nullable Object */;
4268 val* var1 /* : nullable Object */;
4269 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4270 val* var2 /* : nullable Object */;
4271 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4272 val* var3 /* : nullable Object */;
4273 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4274 val* var4 /* : nullable Object */;
4275 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4276 val* var5 /* : nullable Object */;
4277 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4278 val* var6 /* : nullable Object */;
4279 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4280 val* var7 /* : nullable Object */;
4281 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4282 val* var8 /* : nullable Object */;
4283 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4284 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4285 short int var9 /* : Bool */;
4286 int cltype;
4287 int idtype;
4288 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
4289 short int var10 /* : Bool */;
4290 int cltype11;
4291 int idtype12;
4292 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
4293 short int var13 /* : Bool */;
4294 int cltype14;
4295 int idtype15;
4296 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
4297 short int var16 /* : Bool */;
4298 int cltype17;
4299 int idtype18;
4300 val* var_tidnode9 /* var tidnode9: nullable Object */;
4301 short int var19 /* : Bool */;
4302 int cltype20;
4303 int idtype21;
4304 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
4305 short int var22 /* : Bool */;
4306 int cltype23;
4307 int idtype24;
4308 val* var25 /* : AAttrPropdef */;
4309 val* var26 /* : null */;
4310 val* var27 /* : null */;
4311 val* var28 /* : null */;
4312 val* var29 /* : null */;
4313 val* var30 /* : null */;
4314 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
4315 long var31 /* : Int */;
4316 long var32 /* : Int */;
4317 var_p = p0;
4318 var = NULL;
4319 var_node_list = var;
4320 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4321 var_nodearraylist8 = var1;
4322 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4323 var_nodearraylist7 = var2;
4324 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4325 var_nodearraylist6 = var3;
4326 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4327 var_nodearraylist5 = var4;
4328 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4329 var_nodearraylist4 = var5;
4330 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4331 var_nodearraylist3 = var6;
4332 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4333 var_nodearraylist2 = var7;
4334 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4335 var_nodearraylist1 = var8;
4336 var_pdocnode2 = var_nodearraylist1;
4337 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4338 cltype = type_nullable_parser_nodes__ADoc.color;
4339 idtype = type_nullable_parser_nodes__ADoc.id;
4340 if(var_pdocnode2 == NULL) {
4341 var9 = 1;
4342 } else {
4343 if(cltype >= var_pdocnode2->type->table_size) {
4344 var9 = 0;
4345 } else {
4346 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
4347 }
4348 }
4349 if (!var9) {
4350 fprintf(stderr, "Runtime error: %s", "Assert failed");
4351 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19053);
4352 exit(1);
4353 }
4354 var_tkwredefnode5 = var_nodearraylist2;
4355 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
4356 cltype11 = type_nullable_parser_nodes__TKwredef.color;
4357 idtype12 = type_nullable_parser_nodes__TKwredef.id;
4358 if(var_tkwredefnode5 == NULL) {
4359 var10 = 1;
4360 } else {
4361 if(cltype11 >= var_tkwredefnode5->type->table_size) {
4362 var10 = 0;
4363 } else {
4364 var10 = var_tkwredefnode5->type->type_table[cltype11] == idtype12;
4365 }
4366 }
4367 if (!var10) {
4368 fprintf(stderr, "Runtime error: %s", "Assert failed");
4369 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19055);
4370 exit(1);
4371 }
4372 var_pvisibilitynode6 = var_nodearraylist3;
4373 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
4374 cltype14 = type_nullable_parser_nodes__AVisibility.color;
4375 idtype15 = type_nullable_parser_nodes__AVisibility.id;
4376 if(var_pvisibilitynode6 == NULL) {
4377 var13 = 1;
4378 } else {
4379 if(cltype14 >= var_pvisibilitynode6->type->table_size) {
4380 var13 = 0;
4381 } else {
4382 var13 = var_pvisibilitynode6->type->type_table[cltype14] == idtype15;
4383 }
4384 }
4385 if (!var13) {
4386 fprintf(stderr, "Runtime error: %s", "Assert failed");
4387 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19057);
4388 exit(1);
4389 }
4390 var_tkwvarnode7 = var_nodearraylist4;
4391 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
4392 cltype17 = type_nullable_parser_nodes__TKwvar.color;
4393 idtype18 = type_nullable_parser_nodes__TKwvar.id;
4394 if(var_tkwvarnode7 == NULL) {
4395 var16 = 1;
4396 } else {
4397 if(cltype17 >= var_tkwvarnode7->type->table_size) {
4398 var16 = 0;
4399 } else {
4400 var16 = var_tkwvarnode7->type->type_table[cltype17] == idtype18;
4401 }
4402 }
4403 if (!var16) {
4404 fprintf(stderr, "Runtime error: %s", "Assert failed");
4405 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19059);
4406 exit(1);
4407 }
4408 var_tidnode9 = var_nodearraylist5;
4409 /* <var_tidnode9:nullable Object> isa nullable TId */
4410 cltype20 = type_nullable_parser_nodes__TId.color;
4411 idtype21 = type_nullable_parser_nodes__TId.id;
4412 if(var_tidnode9 == NULL) {
4413 var19 = 1;
4414 } else {
4415 if(cltype20 >= var_tidnode9->type->table_size) {
4416 var19 = 0;
4417 } else {
4418 var19 = var_tidnode9->type->type_table[cltype20] == idtype21;
4419 }
4420 }
4421 if (!var19) {
4422 fprintf(stderr, "Runtime error: %s", "Assert failed");
4423 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19061);
4424 exit(1);
4425 }
4426 var_pexprnode12 = var_nodearraylist8;
4427 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
4428 cltype23 = type_nullable_parser_nodes__AExpr.color;
4429 idtype24 = type_nullable_parser_nodes__AExpr.id;
4430 if(var_pexprnode12 == NULL) {
4431 var22 = 1;
4432 } else {
4433 if(cltype23 >= var_pexprnode12->type->table_size) {
4434 var22 = 0;
4435 } else {
4436 var22 = var_pexprnode12->type->type_table[cltype23] == idtype24;
4437 }
4438 }
4439 if (!var22) {
4440 fprintf(stderr, "Runtime error: %s", "Assert failed");
4441 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19063);
4442 exit(1);
4443 }
4444 var25 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
4445 var26 = NULL;
4446 var27 = NULL;
4447 var28 = NULL;
4448 var29 = NULL;
4449 var30 = NULL;
4450 ((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>*/;
4451 CHECK_NEW_parser_nodes__AAttrPropdef(var25);
4452 var_ppropdefnode1 = var25;
4453 var_node_list = var_ppropdefnode1;
4454 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction430> */
4455 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
4456 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
4457 RET_LABEL:;
4458 }
4459 /* method parser#ReduceAction430#action for (self: Object, Parser) */
4460 void VIRTUAL_parser__ReduceAction430__action(val* self, val* p0) {
4461 parser__ReduceAction430__action(self, p0);
4462 RET_LABEL:;
4463 }
4464 /* method parser#ReduceAction431#action for (self: ReduceAction431, Parser) */
4465 void parser__ReduceAction431__action(val* self, val* p0) {
4466 val* var_p /* var p: Parser */;
4467 val* var /* : null */;
4468 val* var_node_list /* var node_list: nullable Object */;
4469 val* var1 /* : nullable Object */;
4470 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4471 val* var2 /* : nullable Object */;
4472 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4473 val* var3 /* : nullable Object */;
4474 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4475 val* var4 /* : nullable Object */;
4476 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4477 val* var5 /* : nullable Object */;
4478 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4479 val* var6 /* : nullable Object */;
4480 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4481 val* var7 /* : nullable Object */;
4482 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4483 val* var8 /* : nullable Object */;
4484 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4485 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4486 short int var9 /* : Bool */;
4487 int cltype;
4488 int idtype;
4489 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
4490 short int var10 /* : Bool */;
4491 int cltype11;
4492 int idtype12;
4493 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
4494 short int var13 /* : Bool */;
4495 int cltype14;
4496 int idtype15;
4497 val* var_tidnode9 /* var tidnode9: nullable Object */;
4498 short int var16 /* : Bool */;
4499 int cltype17;
4500 int idtype18;
4501 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
4502 short int var19 /* : Bool */;
4503 int cltype20;
4504 int idtype21;
4505 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
4506 short int var22 /* : Bool */;
4507 int cltype23;
4508 int idtype24;
4509 val* var25 /* : AAttrPropdef */;
4510 val* var26 /* : null */;
4511 val* var27 /* : null */;
4512 val* var28 /* : null */;
4513 val* var29 /* : null */;
4514 val* var30 /* : null */;
4515 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
4516 long var31 /* : Int */;
4517 long var32 /* : Int */;
4518 var_p = p0;
4519 var = NULL;
4520 var_node_list = var;
4521 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4522 var_nodearraylist8 = var1;
4523 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4524 var_nodearraylist7 = var2;
4525 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4526 var_nodearraylist6 = var3;
4527 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4528 var_nodearraylist5 = var4;
4529 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4530 var_nodearraylist4 = var5;
4531 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4532 var_nodearraylist3 = var6;
4533 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4534 var_nodearraylist2 = var7;
4535 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4536 var_nodearraylist1 = var8;
4537 var_pdocnode2 = var_nodearraylist1;
4538 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4539 cltype = type_nullable_parser_nodes__ADoc.color;
4540 idtype = type_nullable_parser_nodes__ADoc.id;
4541 if(var_pdocnode2 == NULL) {
4542 var9 = 1;
4543 } else {
4544 if(cltype >= var_pdocnode2->type->table_size) {
4545 var9 = 0;
4546 } else {
4547 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
4548 }
4549 }
4550 if (!var9) {
4551 fprintf(stderr, "Runtime error: %s", "Assert failed");
4552 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19095);
4553 exit(1);
4554 }
4555 var_pvisibilitynode6 = var_nodearraylist2;
4556 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
4557 cltype11 = type_nullable_parser_nodes__AVisibility.color;
4558 idtype12 = type_nullable_parser_nodes__AVisibility.id;
4559 if(var_pvisibilitynode6 == NULL) {
4560 var10 = 1;
4561 } else {
4562 if(cltype11 >= var_pvisibilitynode6->type->table_size) {
4563 var10 = 0;
4564 } else {
4565 var10 = var_pvisibilitynode6->type->type_table[cltype11] == idtype12;
4566 }
4567 }
4568 if (!var10) {
4569 fprintf(stderr, "Runtime error: %s", "Assert failed");
4570 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19097);
4571 exit(1);
4572 }
4573 var_tkwvarnode7 = var_nodearraylist3;
4574 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
4575 cltype14 = type_nullable_parser_nodes__TKwvar.color;
4576 idtype15 = type_nullable_parser_nodes__TKwvar.id;
4577 if(var_tkwvarnode7 == NULL) {
4578 var13 = 1;
4579 } else {
4580 if(cltype14 >= var_tkwvarnode7->type->table_size) {
4581 var13 = 0;
4582 } else {
4583 var13 = var_tkwvarnode7->type->type_table[cltype14] == idtype15;
4584 }
4585 }
4586 if (!var13) {
4587 fprintf(stderr, "Runtime error: %s", "Assert failed");
4588 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19099);
4589 exit(1);
4590 }
4591 var_tidnode9 = var_nodearraylist4;
4592 /* <var_tidnode9:nullable Object> isa nullable TId */
4593 cltype17 = type_nullable_parser_nodes__TId.color;
4594 idtype18 = type_nullable_parser_nodes__TId.id;
4595 if(var_tidnode9 == NULL) {
4596 var16 = 1;
4597 } else {
4598 if(cltype17 >= var_tidnode9->type->table_size) {
4599 var16 = 0;
4600 } else {
4601 var16 = var_tidnode9->type->type_table[cltype17] == idtype18;
4602 }
4603 }
4604 if (!var16) {
4605 fprintf(stderr, "Runtime error: %s", "Assert failed");
4606 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19101);
4607 exit(1);
4608 }
4609 var_ptypenode10 = var_nodearraylist5;
4610 /* <var_ptypenode10:nullable Object> isa nullable AType */
4611 cltype20 = type_nullable_parser_nodes__AType.color;
4612 idtype21 = type_nullable_parser_nodes__AType.id;
4613 if(var_ptypenode10 == NULL) {
4614 var19 = 1;
4615 } else {
4616 if(cltype20 >= var_ptypenode10->type->table_size) {
4617 var19 = 0;
4618 } else {
4619 var19 = var_ptypenode10->type->type_table[cltype20] == idtype21;
4620 }
4621 }
4622 if (!var19) {
4623 fprintf(stderr, "Runtime error: %s", "Assert failed");
4624 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19103);
4625 exit(1);
4626 }
4627 var_pexprnode12 = var_nodearraylist8;
4628 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
4629 cltype23 = type_nullable_parser_nodes__AExpr.color;
4630 idtype24 = type_nullable_parser_nodes__AExpr.id;
4631 if(var_pexprnode12 == NULL) {
4632 var22 = 1;
4633 } else {
4634 if(cltype23 >= var_pexprnode12->type->table_size) {
4635 var22 = 0;
4636 } else {
4637 var22 = var_pexprnode12->type->type_table[cltype23] == idtype24;
4638 }
4639 }
4640 if (!var22) {
4641 fprintf(stderr, "Runtime error: %s", "Assert failed");
4642 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19105);
4643 exit(1);
4644 }
4645 var25 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
4646 var26 = NULL;
4647 var27 = NULL;
4648 var28 = NULL;
4649 var29 = NULL;
4650 var30 = NULL;
4651 ((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>*/;
4652 CHECK_NEW_parser_nodes__AAttrPropdef(var25);
4653 var_ppropdefnode1 = var25;
4654 var_node_list = var_ppropdefnode1;
4655 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction431> */
4656 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
4657 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
4658 RET_LABEL:;
4659 }
4660 /* method parser#ReduceAction431#action for (self: Object, Parser) */
4661 void VIRTUAL_parser__ReduceAction431__action(val* self, val* p0) {
4662 parser__ReduceAction431__action(self, p0);
4663 RET_LABEL:;
4664 }
4665 /* method parser#ReduceAction432#action for (self: ReduceAction432, Parser) */
4666 void parser__ReduceAction432__action(val* self, val* p0) {
4667 val* var_p /* var p: Parser */;
4668 val* var /* : null */;
4669 val* var_node_list /* var node_list: nullable Object */;
4670 val* var1 /* : nullable Object */;
4671 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4672 val* var2 /* : nullable Object */;
4673 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4674 val* var3 /* : nullable Object */;
4675 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4676 val* var4 /* : nullable Object */;
4677 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4678 val* var5 /* : nullable Object */;
4679 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4680 val* var6 /* : nullable Object */;
4681 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4682 val* var7 /* : nullable Object */;
4683 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4684 val* var8 /* : nullable Object */;
4685 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4686 val* var9 /* : nullable Object */;
4687 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4688 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4689 short int var10 /* : Bool */;
4690 int cltype;
4691 int idtype;
4692 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
4693 short int var11 /* : Bool */;
4694 int cltype12;
4695 int idtype13;
4696 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
4697 short int var14 /* : Bool */;
4698 int cltype15;
4699 int idtype16;
4700 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
4701 short int var17 /* : Bool */;
4702 int cltype18;
4703 int idtype19;
4704 val* var_tidnode9 /* var tidnode9: nullable Object */;
4705 short int var20 /* : Bool */;
4706 int cltype21;
4707 int idtype22;
4708 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
4709 short int var23 /* : Bool */;
4710 int cltype24;
4711 int idtype25;
4712 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
4713 short int var26 /* : Bool */;
4714 int cltype27;
4715 int idtype28;
4716 val* var29 /* : AAttrPropdef */;
4717 val* var30 /* : null */;
4718 val* var31 /* : null */;
4719 val* var32 /* : null */;
4720 val* var33 /* : null */;
4721 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
4722 long var34 /* : Int */;
4723 long var35 /* : Int */;
4724 var_p = p0;
4725 var = NULL;
4726 var_node_list = var;
4727 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4728 var_nodearraylist9 = var1;
4729 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4730 var_nodearraylist8 = var2;
4731 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4732 var_nodearraylist7 = var3;
4733 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4734 var_nodearraylist6 = var4;
4735 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4736 var_nodearraylist5 = var5;
4737 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4738 var_nodearraylist4 = var6;
4739 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4740 var_nodearraylist3 = var7;
4741 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4742 var_nodearraylist2 = var8;
4743 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4744 var_nodearraylist1 = var9;
4745 var_pdocnode2 = var_nodearraylist1;
4746 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4747 cltype = type_nullable_parser_nodes__ADoc.color;
4748 idtype = type_nullable_parser_nodes__ADoc.id;
4749 if(var_pdocnode2 == NULL) {
4750 var10 = 1;
4751 } else {
4752 if(cltype >= var_pdocnode2->type->table_size) {
4753 var10 = 0;
4754 } else {
4755 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
4756 }
4757 }
4758 if (!var10) {
4759 fprintf(stderr, "Runtime error: %s", "Assert failed");
4760 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19138);
4761 exit(1);
4762 }
4763 var_tkwredefnode5 = var_nodearraylist2;
4764 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
4765 cltype12 = type_nullable_parser_nodes__TKwredef.color;
4766 idtype13 = type_nullable_parser_nodes__TKwredef.id;
4767 if(var_tkwredefnode5 == NULL) {
4768 var11 = 1;
4769 } else {
4770 if(cltype12 >= var_tkwredefnode5->type->table_size) {
4771 var11 = 0;
4772 } else {
4773 var11 = var_tkwredefnode5->type->type_table[cltype12] == idtype13;
4774 }
4775 }
4776 if (!var11) {
4777 fprintf(stderr, "Runtime error: %s", "Assert failed");
4778 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19140);
4779 exit(1);
4780 }
4781 var_pvisibilitynode6 = var_nodearraylist3;
4782 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
4783 cltype15 = type_nullable_parser_nodes__AVisibility.color;
4784 idtype16 = type_nullable_parser_nodes__AVisibility.id;
4785 if(var_pvisibilitynode6 == NULL) {
4786 var14 = 1;
4787 } else {
4788 if(cltype15 >= var_pvisibilitynode6->type->table_size) {
4789 var14 = 0;
4790 } else {
4791 var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
4792 }
4793 }
4794 if (!var14) {
4795 fprintf(stderr, "Runtime error: %s", "Assert failed");
4796 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19142);
4797 exit(1);
4798 }
4799 var_tkwvarnode7 = var_nodearraylist4;
4800 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
4801 cltype18 = type_nullable_parser_nodes__TKwvar.color;
4802 idtype19 = type_nullable_parser_nodes__TKwvar.id;
4803 if(var_tkwvarnode7 == NULL) {
4804 var17 = 1;
4805 } else {
4806 if(cltype18 >= var_tkwvarnode7->type->table_size) {
4807 var17 = 0;
4808 } else {
4809 var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
4810 }
4811 }
4812 if (!var17) {
4813 fprintf(stderr, "Runtime error: %s", "Assert failed");
4814 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19144);
4815 exit(1);
4816 }
4817 var_tidnode9 = var_nodearraylist5;
4818 /* <var_tidnode9:nullable Object> isa nullable TId */
4819 cltype21 = type_nullable_parser_nodes__TId.color;
4820 idtype22 = type_nullable_parser_nodes__TId.id;
4821 if(var_tidnode9 == NULL) {
4822 var20 = 1;
4823 } else {
4824 if(cltype21 >= var_tidnode9->type->table_size) {
4825 var20 = 0;
4826 } else {
4827 var20 = var_tidnode9->type->type_table[cltype21] == idtype22;
4828 }
4829 }
4830 if (!var20) {
4831 fprintf(stderr, "Runtime error: %s", "Assert failed");
4832 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19146);
4833 exit(1);
4834 }
4835 var_ptypenode10 = var_nodearraylist6;
4836 /* <var_ptypenode10:nullable Object> isa nullable AType */
4837 cltype24 = type_nullable_parser_nodes__AType.color;
4838 idtype25 = type_nullable_parser_nodes__AType.id;
4839 if(var_ptypenode10 == NULL) {
4840 var23 = 1;
4841 } else {
4842 if(cltype24 >= var_ptypenode10->type->table_size) {
4843 var23 = 0;
4844 } else {
4845 var23 = var_ptypenode10->type->type_table[cltype24] == idtype25;
4846 }
4847 }
4848 if (!var23) {
4849 fprintf(stderr, "Runtime error: %s", "Assert failed");
4850 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19148);
4851 exit(1);
4852 }
4853 var_pexprnode12 = var_nodearraylist9;
4854 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
4855 cltype27 = type_nullable_parser_nodes__AExpr.color;
4856 idtype28 = type_nullable_parser_nodes__AExpr.id;
4857 if(var_pexprnode12 == NULL) {
4858 var26 = 1;
4859 } else {
4860 if(cltype27 >= var_pexprnode12->type->table_size) {
4861 var26 = 0;
4862 } else {
4863 var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
4864 }
4865 }
4866 if (!var26) {
4867 fprintf(stderr, "Runtime error: %s", "Assert failed");
4868 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19150);
4869 exit(1);
4870 }
4871 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
4872 var30 = NULL;
4873 var31 = NULL;
4874 var32 = NULL;
4875 var33 = NULL;
4876 ((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>*/;
4877 CHECK_NEW_parser_nodes__AAttrPropdef(var29);
4878 var_ppropdefnode1 = var29;
4879 var_node_list = var_ppropdefnode1;
4880 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction432> */
4881 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
4882 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
4883 RET_LABEL:;
4884 }
4885 /* method parser#ReduceAction432#action for (self: Object, Parser) */
4886 void VIRTUAL_parser__ReduceAction432__action(val* self, val* p0) {
4887 parser__ReduceAction432__action(self, p0);
4888 RET_LABEL:;
4889 }
4890 /* method parser#ReduceAction433#action for (self: ReduceAction433, Parser) */
4891 void parser__ReduceAction433__action(val* self, val* p0) {
4892 val* var_p /* var p: Parser */;
4893 val* var /* : null */;
4894 val* var_node_list /* var node_list: nullable Object */;
4895 val* var1 /* : nullable Object */;
4896 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4897 val* var2 /* : nullable Object */;
4898 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4899 val* var3 /* : nullable Object */;
4900 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4901 val* var4 /* : nullable Object */;
4902 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4903 val* var5 /* : nullable Object */;
4904 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4905 val* var6 /* : nullable Object */;
4906 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4907 val* var7 /* : nullable Object */;
4908 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4909 val* var8 /* : nullable Object */;
4910 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4911 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4912 short int var9 /* : Bool */;
4913 int cltype;
4914 int idtype;
4915 val* var_pablenode4 /* var pablenode4: nullable Object */;
4916 short int var10 /* : Bool */;
4917 int cltype11;
4918 int idtype12;
4919 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
4920 short int var13 /* : Bool */;
4921 int cltype14;
4922 int idtype15;
4923 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
4924 short int var16 /* : Bool */;
4925 int cltype17;
4926 int idtype18;
4927 val* var_tidnode9 /* var tidnode9: nullable Object */;
4928 short int var19 /* : Bool */;
4929 int cltype20;
4930 int idtype21;
4931 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
4932 short int var22 /* : Bool */;
4933 int cltype23;
4934 int idtype24;
4935 val* var25 /* : AAttrPropdef */;
4936 val* var26 /* : null */;
4937 val* var27 /* : null */;
4938 val* var28 /* : null */;
4939 val* var29 /* : null */;
4940 val* var30 /* : null */;
4941 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
4942 long var31 /* : Int */;
4943 long var32 /* : Int */;
4944 var_p = p0;
4945 var = NULL;
4946 var_node_list = var;
4947 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4948 var_nodearraylist8 = var1;
4949 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4950 var_nodearraylist7 = var2;
4951 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4952 var_nodearraylist6 = var3;
4953 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4954 var_nodearraylist5 = var4;
4955 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4956 var_nodearraylist4 = var5;
4957 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4958 var_nodearraylist3 = var6;
4959 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4960 var_nodearraylist2 = var7;
4961 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4962 var_nodearraylist1 = var8;
4963 var_pdocnode2 = var_nodearraylist1;
4964 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4965 cltype = type_nullable_parser_nodes__ADoc.color;
4966 idtype = type_nullable_parser_nodes__ADoc.id;
4967 if(var_pdocnode2 == NULL) {
4968 var9 = 1;
4969 } else {
4970 if(cltype >= var_pdocnode2->type->table_size) {
4971 var9 = 0;
4972 } else {
4973 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
4974 }
4975 }
4976 if (!var9) {
4977 fprintf(stderr, "Runtime error: %s", "Assert failed");
4978 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19182);
4979 exit(1);
4980 }
4981 var_pablenode4 = var_nodearraylist5;
4982 /* <var_pablenode4:nullable Object> isa nullable AAble */
4983 cltype11 = type_nullable_parser_nodes__AAble.color;
4984 idtype12 = type_nullable_parser_nodes__AAble.id;
4985 if(var_pablenode4 == NULL) {
4986 var10 = 1;
4987 } else {
4988 if(cltype11 >= var_pablenode4->type->table_size) {
4989 var10 = 0;
4990 } else {
4991 var10 = var_pablenode4->type->type_table[cltype11] == idtype12;
4992 }
4993 }
4994 if (!var10) {
4995 fprintf(stderr, "Runtime error: %s", "Assert failed");
4996 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19184);
4997 exit(1);
4998 }
4999 var_pvisibilitynode6 = var_nodearraylist2;
5000 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
5001 cltype14 = type_nullable_parser_nodes__AVisibility.color;
5002 idtype15 = type_nullable_parser_nodes__AVisibility.id;
5003 if(var_pvisibilitynode6 == NULL) {
5004 var13 = 1;
5005 } else {
5006 if(cltype14 >= var_pvisibilitynode6->type->table_size) {
5007 var13 = 0;
5008 } else {
5009 var13 = var_pvisibilitynode6->type->type_table[cltype14] == idtype15;
5010 }
5011 }
5012 if (!var13) {
5013 fprintf(stderr, "Runtime error: %s", "Assert failed");
5014 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19186);
5015 exit(1);
5016 }
5017 var_tkwvarnode7 = var_nodearraylist3;
5018 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
5019 cltype17 = type_nullable_parser_nodes__TKwvar.color;
5020 idtype18 = type_nullable_parser_nodes__TKwvar.id;
5021 if(var_tkwvarnode7 == NULL) {
5022 var16 = 1;
5023 } else {
5024 if(cltype17 >= var_tkwvarnode7->type->table_size) {
5025 var16 = 0;
5026 } else {
5027 var16 = var_tkwvarnode7->type->type_table[cltype17] == idtype18;
5028 }
5029 }
5030 if (!var16) {
5031 fprintf(stderr, "Runtime error: %s", "Assert failed");
5032 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19188);
5033 exit(1);
5034 }
5035 var_tidnode9 = var_nodearraylist4;
5036 /* <var_tidnode9:nullable Object> isa nullable TId */
5037 cltype20 = type_nullable_parser_nodes__TId.color;
5038 idtype21 = type_nullable_parser_nodes__TId.id;
5039 if(var_tidnode9 == NULL) {
5040 var19 = 1;
5041 } else {
5042 if(cltype20 >= var_tidnode9->type->table_size) {
5043 var19 = 0;
5044 } else {
5045 var19 = var_tidnode9->type->type_table[cltype20] == idtype21;
5046 }
5047 }
5048 if (!var19) {
5049 fprintf(stderr, "Runtime error: %s", "Assert failed");
5050 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19190);
5051 exit(1);
5052 }
5053 var_pexprnode12 = var_nodearraylist8;
5054 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
5055 cltype23 = type_nullable_parser_nodes__AExpr.color;
5056 idtype24 = type_nullable_parser_nodes__AExpr.id;
5057 if(var_pexprnode12 == NULL) {
5058 var22 = 1;
5059 } else {
5060 if(cltype23 >= var_pexprnode12->type->table_size) {
5061 var22 = 0;
5062 } else {
5063 var22 = var_pexprnode12->type->type_table[cltype23] == idtype24;
5064 }
5065 }
5066 if (!var22) {
5067 fprintf(stderr, "Runtime error: %s", "Assert failed");
5068 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19192);
5069 exit(1);
5070 }
5071 var25 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
5072 var26 = NULL;
5073 var27 = NULL;
5074 var28 = NULL;
5075 var29 = NULL;
5076 var30 = NULL;
5077 ((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>*/;
5078 CHECK_NEW_parser_nodes__AAttrPropdef(var25);
5079 var_ppropdefnode1 = var25;
5080 var_node_list = var_ppropdefnode1;
5081 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction433> */
5082 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
5083 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
5084 RET_LABEL:;
5085 }
5086 /* method parser#ReduceAction433#action for (self: Object, Parser) */
5087 void VIRTUAL_parser__ReduceAction433__action(val* self, val* p0) {
5088 parser__ReduceAction433__action(self, p0);
5089 RET_LABEL:;
5090 }
5091 /* method parser#ReduceAction434#action for (self: ReduceAction434, Parser) */
5092 void parser__ReduceAction434__action(val* self, val* p0) {
5093 val* var_p /* var p: Parser */;
5094 val* var /* : null */;
5095 val* var_node_list /* var node_list: nullable Object */;
5096 val* var1 /* : nullable Object */;
5097 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5098 val* var2 /* : nullable Object */;
5099 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5100 val* var3 /* : nullable Object */;
5101 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5102 val* var4 /* : nullable Object */;
5103 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5104 val* var5 /* : nullable Object */;
5105 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5106 val* var6 /* : nullable Object */;
5107 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5108 val* var7 /* : nullable Object */;
5109 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5110 val* var8 /* : nullable Object */;
5111 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5112 val* var9 /* : nullable Object */;
5113 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5114 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5115 short int var10 /* : Bool */;
5116 int cltype;
5117 int idtype;
5118 val* var_pablenode4 /* var pablenode4: nullable Object */;
5119 short int var11 /* : Bool */;
5120 int cltype12;
5121 int idtype13;
5122 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
5123 short int var14 /* : Bool */;
5124 int cltype15;
5125 int idtype16;
5126 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
5127 short int var17 /* : Bool */;
5128 int cltype18;
5129 int idtype19;
5130 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
5131 short int var20 /* : Bool */;
5132 int cltype21;
5133 int idtype22;
5134 val* var_tidnode9 /* var tidnode9: nullable Object */;
5135 short int var23 /* : Bool */;
5136 int cltype24;
5137 int idtype25;
5138 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
5139 short int var26 /* : Bool */;
5140 int cltype27;
5141 int idtype28;
5142 val* var29 /* : AAttrPropdef */;
5143 val* var30 /* : null */;
5144 val* var31 /* : null */;
5145 val* var32 /* : null */;
5146 val* var33 /* : null */;
5147 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
5148 long var34 /* : Int */;
5149 long var35 /* : Int */;
5150 var_p = p0;
5151 var = NULL;
5152 var_node_list = var;
5153 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5154 var_nodearraylist9 = var1;
5155 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5156 var_nodearraylist8 = var2;
5157 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5158 var_nodearraylist7 = var3;
5159 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5160 var_nodearraylist6 = var4;
5161 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5162 var_nodearraylist5 = var5;
5163 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5164 var_nodearraylist4 = var6;
5165 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5166 var_nodearraylist3 = var7;
5167 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5168 var_nodearraylist2 = var8;
5169 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5170 var_nodearraylist1 = var9;
5171 var_pdocnode2 = var_nodearraylist1;
5172 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5173 cltype = type_nullable_parser_nodes__ADoc.color;
5174 idtype = type_nullable_parser_nodes__ADoc.id;
5175 if(var_pdocnode2 == NULL) {
5176 var10 = 1;
5177 } else {
5178 if(cltype >= var_pdocnode2->type->table_size) {
5179 var10 = 0;
5180 } else {
5181 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
5182 }
5183 }
5184 if (!var10) {
5185 fprintf(stderr, "Runtime error: %s", "Assert failed");
5186 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19225);
5187 exit(1);
5188 }
5189 var_pablenode4 = var_nodearraylist6;
5190 /* <var_pablenode4:nullable Object> isa nullable AAble */
5191 cltype12 = type_nullable_parser_nodes__AAble.color;
5192 idtype13 = type_nullable_parser_nodes__AAble.id;
5193 if(var_pablenode4 == NULL) {
5194 var11 = 1;
5195 } else {
5196 if(cltype12 >= var_pablenode4->type->table_size) {
5197 var11 = 0;
5198 } else {
5199 var11 = var_pablenode4->type->type_table[cltype12] == idtype13;
5200 }
5201 }
5202 if (!var11) {
5203 fprintf(stderr, "Runtime error: %s", "Assert failed");
5204 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19227);
5205 exit(1);
5206 }
5207 var_tkwredefnode5 = var_nodearraylist2;
5208 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
5209 cltype15 = type_nullable_parser_nodes__TKwredef.color;
5210 idtype16 = type_nullable_parser_nodes__TKwredef.id;
5211 if(var_tkwredefnode5 == NULL) {
5212 var14 = 1;
5213 } else {
5214 if(cltype15 >= var_tkwredefnode5->type->table_size) {
5215 var14 = 0;
5216 } else {
5217 var14 = var_tkwredefnode5->type->type_table[cltype15] == idtype16;
5218 }
5219 }
5220 if (!var14) {
5221 fprintf(stderr, "Runtime error: %s", "Assert failed");
5222 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19229);
5223 exit(1);
5224 }
5225 var_pvisibilitynode6 = var_nodearraylist3;
5226 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
5227 cltype18 = type_nullable_parser_nodes__AVisibility.color;
5228 idtype19 = type_nullable_parser_nodes__AVisibility.id;
5229 if(var_pvisibilitynode6 == NULL) {
5230 var17 = 1;
5231 } else {
5232 if(cltype18 >= var_pvisibilitynode6->type->table_size) {
5233 var17 = 0;
5234 } else {
5235 var17 = var_pvisibilitynode6->type->type_table[cltype18] == idtype19;
5236 }
5237 }
5238 if (!var17) {
5239 fprintf(stderr, "Runtime error: %s", "Assert failed");
5240 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19231);
5241 exit(1);
5242 }
5243 var_tkwvarnode7 = var_nodearraylist4;
5244 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
5245 cltype21 = type_nullable_parser_nodes__TKwvar.color;
5246 idtype22 = type_nullable_parser_nodes__TKwvar.id;
5247 if(var_tkwvarnode7 == NULL) {
5248 var20 = 1;
5249 } else {
5250 if(cltype21 >= var_tkwvarnode7->type->table_size) {
5251 var20 = 0;
5252 } else {
5253 var20 = var_tkwvarnode7->type->type_table[cltype21] == idtype22;
5254 }
5255 }
5256 if (!var20) {
5257 fprintf(stderr, "Runtime error: %s", "Assert failed");
5258 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19233);
5259 exit(1);
5260 }
5261 var_tidnode9 = var_nodearraylist5;
5262 /* <var_tidnode9:nullable Object> isa nullable TId */
5263 cltype24 = type_nullable_parser_nodes__TId.color;
5264 idtype25 = type_nullable_parser_nodes__TId.id;
5265 if(var_tidnode9 == NULL) {
5266 var23 = 1;
5267 } else {
5268 if(cltype24 >= var_tidnode9->type->table_size) {
5269 var23 = 0;
5270 } else {
5271 var23 = var_tidnode9->type->type_table[cltype24] == idtype25;
5272 }
5273 }
5274 if (!var23) {
5275 fprintf(stderr, "Runtime error: %s", "Assert failed");
5276 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19235);
5277 exit(1);
5278 }
5279 var_pexprnode12 = var_nodearraylist9;
5280 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
5281 cltype27 = type_nullable_parser_nodes__AExpr.color;
5282 idtype28 = type_nullable_parser_nodes__AExpr.id;
5283 if(var_pexprnode12 == NULL) {
5284 var26 = 1;
5285 } else {
5286 if(cltype27 >= var_pexprnode12->type->table_size) {
5287 var26 = 0;
5288 } else {
5289 var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
5290 }
5291 }
5292 if (!var26) {
5293 fprintf(stderr, "Runtime error: %s", "Assert failed");
5294 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19237);
5295 exit(1);
5296 }
5297 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
5298 var30 = NULL;
5299 var31 = NULL;
5300 var32 = NULL;
5301 var33 = NULL;
5302 ((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>*/;
5303 CHECK_NEW_parser_nodes__AAttrPropdef(var29);
5304 var_ppropdefnode1 = var29;
5305 var_node_list = var_ppropdefnode1;
5306 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction434> */
5307 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
5308 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
5309 RET_LABEL:;
5310 }
5311 /* method parser#ReduceAction434#action for (self: Object, Parser) */
5312 void VIRTUAL_parser__ReduceAction434__action(val* self, val* p0) {
5313 parser__ReduceAction434__action(self, p0);
5314 RET_LABEL:;
5315 }
5316 /* method parser#ReduceAction435#action for (self: ReduceAction435, Parser) */
5317 void parser__ReduceAction435__action(val* self, val* p0) {
5318 val* var_p /* var p: Parser */;
5319 val* var /* : null */;
5320 val* var_node_list /* var node_list: nullable Object */;
5321 val* var1 /* : nullable Object */;
5322 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5323 val* var2 /* : nullable Object */;
5324 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5325 val* var3 /* : nullable Object */;
5326 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5327 val* var4 /* : nullable Object */;
5328 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5329 val* var5 /* : nullable Object */;
5330 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5331 val* var6 /* : nullable Object */;
5332 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5333 val* var7 /* : nullable Object */;
5334 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5335 val* var8 /* : nullable Object */;
5336 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5337 val* var9 /* : nullable Object */;
5338 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5339 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5340 short int var10 /* : Bool */;
5341 int cltype;
5342 int idtype;
5343 val* var_pablenode4 /* var pablenode4: nullable Object */;
5344 short int var11 /* : Bool */;
5345 int cltype12;
5346 int idtype13;
5347 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
5348 short int var14 /* : Bool */;
5349 int cltype15;
5350 int idtype16;
5351 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
5352 short int var17 /* : Bool */;
5353 int cltype18;
5354 int idtype19;
5355 val* var_tidnode9 /* var tidnode9: nullable Object */;
5356 short int var20 /* : Bool */;
5357 int cltype21;
5358 int idtype22;
5359 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
5360 short int var23 /* : Bool */;
5361 int cltype24;
5362 int idtype25;
5363 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
5364 short int var26 /* : Bool */;
5365 int cltype27;
5366 int idtype28;
5367 val* var29 /* : AAttrPropdef */;
5368 val* var30 /* : null */;
5369 val* var31 /* : null */;
5370 val* var32 /* : null */;
5371 val* var33 /* : null */;
5372 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
5373 long var34 /* : Int */;
5374 long var35 /* : Int */;
5375 var_p = p0;
5376 var = NULL;
5377 var_node_list = var;
5378 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5379 var_nodearraylist9 = var1;
5380 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5381 var_nodearraylist8 = var2;
5382 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5383 var_nodearraylist7 = var3;
5384 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5385 var_nodearraylist6 = var4;
5386 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5387 var_nodearraylist5 = var5;
5388 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5389 var_nodearraylist4 = var6;
5390 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5391 var_nodearraylist3 = var7;
5392 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5393 var_nodearraylist2 = var8;
5394 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5395 var_nodearraylist1 = var9;
5396 var_pdocnode2 = var_nodearraylist1;
5397 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5398 cltype = type_nullable_parser_nodes__ADoc.color;
5399 idtype = type_nullable_parser_nodes__ADoc.id;
5400 if(var_pdocnode2 == NULL) {
5401 var10 = 1;
5402 } else {
5403 if(cltype >= var_pdocnode2->type->table_size) {
5404 var10 = 0;
5405 } else {
5406 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
5407 }
5408 }
5409 if (!var10) {
5410 fprintf(stderr, "Runtime error: %s", "Assert failed");
5411 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19270);
5412 exit(1);
5413 }
5414 var_pablenode4 = var_nodearraylist6;
5415 /* <var_pablenode4:nullable Object> isa nullable AAble */
5416 cltype12 = type_nullable_parser_nodes__AAble.color;
5417 idtype13 = type_nullable_parser_nodes__AAble.id;
5418 if(var_pablenode4 == NULL) {
5419 var11 = 1;
5420 } else {
5421 if(cltype12 >= var_pablenode4->type->table_size) {
5422 var11 = 0;
5423 } else {
5424 var11 = var_pablenode4->type->type_table[cltype12] == idtype13;
5425 }
5426 }
5427 if (!var11) {
5428 fprintf(stderr, "Runtime error: %s", "Assert failed");
5429 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19272);
5430 exit(1);
5431 }
5432 var_pvisibilitynode6 = var_nodearraylist2;
5433 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
5434 cltype15 = type_nullable_parser_nodes__AVisibility.color;
5435 idtype16 = type_nullable_parser_nodes__AVisibility.id;
5436 if(var_pvisibilitynode6 == NULL) {
5437 var14 = 1;
5438 } else {
5439 if(cltype15 >= var_pvisibilitynode6->type->table_size) {
5440 var14 = 0;
5441 } else {
5442 var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
5443 }
5444 }
5445 if (!var14) {
5446 fprintf(stderr, "Runtime error: %s", "Assert failed");
5447 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19274);
5448 exit(1);
5449 }
5450 var_tkwvarnode7 = var_nodearraylist3;
5451 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
5452 cltype18 = type_nullable_parser_nodes__TKwvar.color;
5453 idtype19 = type_nullable_parser_nodes__TKwvar.id;
5454 if(var_tkwvarnode7 == NULL) {
5455 var17 = 1;
5456 } else {
5457 if(cltype18 >= var_tkwvarnode7->type->table_size) {
5458 var17 = 0;
5459 } else {
5460 var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
5461 }
5462 }
5463 if (!var17) {
5464 fprintf(stderr, "Runtime error: %s", "Assert failed");
5465 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19276);
5466 exit(1);
5467 }
5468 var_tidnode9 = var_nodearraylist4;
5469 /* <var_tidnode9:nullable Object> isa nullable TId */
5470 cltype21 = type_nullable_parser_nodes__TId.color;
5471 idtype22 = type_nullable_parser_nodes__TId.id;
5472 if(var_tidnode9 == NULL) {
5473 var20 = 1;
5474 } else {
5475 if(cltype21 >= var_tidnode9->type->table_size) {
5476 var20 = 0;
5477 } else {
5478 var20 = var_tidnode9->type->type_table[cltype21] == idtype22;
5479 }
5480 }
5481 if (!var20) {
5482 fprintf(stderr, "Runtime error: %s", "Assert failed");
5483 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19278);
5484 exit(1);
5485 }
5486 var_ptypenode10 = var_nodearraylist5;
5487 /* <var_ptypenode10:nullable Object> isa nullable AType */
5488 cltype24 = type_nullable_parser_nodes__AType.color;
5489 idtype25 = type_nullable_parser_nodes__AType.id;
5490 if(var_ptypenode10 == NULL) {
5491 var23 = 1;
5492 } else {
5493 if(cltype24 >= var_ptypenode10->type->table_size) {
5494 var23 = 0;
5495 } else {
5496 var23 = var_ptypenode10->type->type_table[cltype24] == idtype25;
5497 }
5498 }
5499 if (!var23) {
5500 fprintf(stderr, "Runtime error: %s", "Assert failed");
5501 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19280);
5502 exit(1);
5503 }
5504 var_pexprnode12 = var_nodearraylist9;
5505 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
5506 cltype27 = type_nullable_parser_nodes__AExpr.color;
5507 idtype28 = type_nullable_parser_nodes__AExpr.id;
5508 if(var_pexprnode12 == NULL) {
5509 var26 = 1;
5510 } else {
5511 if(cltype27 >= var_pexprnode12->type->table_size) {
5512 var26 = 0;
5513 } else {
5514 var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
5515 }
5516 }
5517 if (!var26) {
5518 fprintf(stderr, "Runtime error: %s", "Assert failed");
5519 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19282);
5520 exit(1);
5521 }
5522 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
5523 var30 = NULL;
5524 var31 = NULL;
5525 var32 = NULL;
5526 var33 = NULL;
5527 ((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>*/;
5528 CHECK_NEW_parser_nodes__AAttrPropdef(var29);
5529 var_ppropdefnode1 = var29;
5530 var_node_list = var_ppropdefnode1;
5531 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction435> */
5532 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
5533 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
5534 RET_LABEL:;
5535 }
5536 /* method parser#ReduceAction435#action for (self: Object, Parser) */
5537 void VIRTUAL_parser__ReduceAction435__action(val* self, val* p0) {
5538 parser__ReduceAction435__action(self, p0);
5539 RET_LABEL:;
5540 }
5541 /* method parser#ReduceAction436#action for (self: ReduceAction436, Parser) */
5542 void parser__ReduceAction436__action(val* self, val* p0) {
5543 val* var_p /* var p: Parser */;
5544 val* var /* : null */;
5545 val* var_node_list /* var node_list: nullable Object */;
5546 val* var1 /* : nullable Object */;
5547 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5548 val* var2 /* : nullable Object */;
5549 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5550 val* var3 /* : nullable Object */;
5551 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5552 val* var4 /* : nullable Object */;
5553 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5554 val* var5 /* : nullable Object */;
5555 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5556 val* var6 /* : nullable Object */;
5557 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5558 val* var7 /* : nullable Object */;
5559 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5560 val* var8 /* : nullable Object */;
5561 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5562 val* var9 /* : nullable Object */;
5563 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5564 val* var10 /* : nullable Object */;
5565 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5566 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5567 short int var11 /* : Bool */;
5568 int cltype;
5569 int idtype;
5570 val* var_pablenode4 /* var pablenode4: nullable Object */;
5571 short int var12 /* : Bool */;
5572 int cltype13;
5573 int idtype14;
5574 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
5575 short int var15 /* : Bool */;
5576 int cltype16;
5577 int idtype17;
5578 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
5579 short int var18 /* : Bool */;
5580 int cltype19;
5581 int idtype20;
5582 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
5583 short int var21 /* : Bool */;
5584 int cltype22;
5585 int idtype23;
5586 val* var_tidnode9 /* var tidnode9: nullable Object */;
5587 short int var24 /* : Bool */;
5588 int cltype25;
5589 int idtype26;
5590 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
5591 short int var27 /* : Bool */;
5592 int cltype28;
5593 int idtype29;
5594 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
5595 short int var30 /* : Bool */;
5596 int cltype31;
5597 int idtype32;
5598 val* var33 /* : AAttrPropdef */;
5599 val* var34 /* : null */;
5600 val* var35 /* : null */;
5601 val* var36 /* : null */;
5602 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
5603 long var37 /* : Int */;
5604 long var38 /* : Int */;
5605 var_p = p0;
5606 var = NULL;
5607 var_node_list = var;
5608 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5609 var_nodearraylist10 = var1;
5610 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5611 var_nodearraylist9 = var2;
5612 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5613 var_nodearraylist8 = var3;
5614 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5615 var_nodearraylist7 = var4;
5616 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5617 var_nodearraylist6 = var5;
5618 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5619 var_nodearraylist5 = var6;
5620 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5621 var_nodearraylist4 = var7;
5622 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5623 var_nodearraylist3 = var8;
5624 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5625 var_nodearraylist2 = var9;
5626 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5627 var_nodearraylist1 = var10;
5628 var_pdocnode2 = var_nodearraylist1;
5629 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5630 cltype = type_nullable_parser_nodes__ADoc.color;
5631 idtype = type_nullable_parser_nodes__ADoc.id;
5632 if(var_pdocnode2 == NULL) {
5633 var11 = 1;
5634 } else {
5635 if(cltype >= var_pdocnode2->type->table_size) {
5636 var11 = 0;
5637 } else {
5638 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
5639 }
5640 }
5641 if (!var11) {
5642 fprintf(stderr, "Runtime error: %s", "Assert failed");
5643 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19316);
5644 exit(1);
5645 }
5646 var_pablenode4 = var_nodearraylist7;
5647 /* <var_pablenode4:nullable Object> isa nullable AAble */
5648 cltype13 = type_nullable_parser_nodes__AAble.color;
5649 idtype14 = type_nullable_parser_nodes__AAble.id;
5650 if(var_pablenode4 == NULL) {
5651 var12 = 1;
5652 } else {
5653 if(cltype13 >= var_pablenode4->type->table_size) {
5654 var12 = 0;
5655 } else {
5656 var12 = var_pablenode4->type->type_table[cltype13] == idtype14;
5657 }
5658 }
5659 if (!var12) {
5660 fprintf(stderr, "Runtime error: %s", "Assert failed");
5661 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19318);
5662 exit(1);
5663 }
5664 var_tkwredefnode5 = var_nodearraylist2;
5665 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
5666 cltype16 = type_nullable_parser_nodes__TKwredef.color;
5667 idtype17 = type_nullable_parser_nodes__TKwredef.id;
5668 if(var_tkwredefnode5 == NULL) {
5669 var15 = 1;
5670 } else {
5671 if(cltype16 >= var_tkwredefnode5->type->table_size) {
5672 var15 = 0;
5673 } else {
5674 var15 = var_tkwredefnode5->type->type_table[cltype16] == idtype17;
5675 }
5676 }
5677 if (!var15) {
5678 fprintf(stderr, "Runtime error: %s", "Assert failed");
5679 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19320);
5680 exit(1);
5681 }
5682 var_pvisibilitynode6 = var_nodearraylist3;
5683 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
5684 cltype19 = type_nullable_parser_nodes__AVisibility.color;
5685 idtype20 = type_nullable_parser_nodes__AVisibility.id;
5686 if(var_pvisibilitynode6 == NULL) {
5687 var18 = 1;
5688 } else {
5689 if(cltype19 >= var_pvisibilitynode6->type->table_size) {
5690 var18 = 0;
5691 } else {
5692 var18 = var_pvisibilitynode6->type->type_table[cltype19] == idtype20;
5693 }
5694 }
5695 if (!var18) {
5696 fprintf(stderr, "Runtime error: %s", "Assert failed");
5697 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19322);
5698 exit(1);
5699 }
5700 var_tkwvarnode7 = var_nodearraylist4;
5701 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
5702 cltype22 = type_nullable_parser_nodes__TKwvar.color;
5703 idtype23 = type_nullable_parser_nodes__TKwvar.id;
5704 if(var_tkwvarnode7 == NULL) {
5705 var21 = 1;
5706 } else {
5707 if(cltype22 >= var_tkwvarnode7->type->table_size) {
5708 var21 = 0;
5709 } else {
5710 var21 = var_tkwvarnode7->type->type_table[cltype22] == idtype23;
5711 }
5712 }
5713 if (!var21) {
5714 fprintf(stderr, "Runtime error: %s", "Assert failed");
5715 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19324);
5716 exit(1);
5717 }
5718 var_tidnode9 = var_nodearraylist5;
5719 /* <var_tidnode9:nullable Object> isa nullable TId */
5720 cltype25 = type_nullable_parser_nodes__TId.color;
5721 idtype26 = type_nullable_parser_nodes__TId.id;
5722 if(var_tidnode9 == NULL) {
5723 var24 = 1;
5724 } else {
5725 if(cltype25 >= var_tidnode9->type->table_size) {
5726 var24 = 0;
5727 } else {
5728 var24 = var_tidnode9->type->type_table[cltype25] == idtype26;
5729 }
5730 }
5731 if (!var24) {
5732 fprintf(stderr, "Runtime error: %s", "Assert failed");
5733 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19326);
5734 exit(1);
5735 }
5736 var_ptypenode10 = var_nodearraylist6;
5737 /* <var_ptypenode10:nullable Object> isa nullable AType */
5738 cltype28 = type_nullable_parser_nodes__AType.color;
5739 idtype29 = type_nullable_parser_nodes__AType.id;
5740 if(var_ptypenode10 == NULL) {
5741 var27 = 1;
5742 } else {
5743 if(cltype28 >= var_ptypenode10->type->table_size) {
5744 var27 = 0;
5745 } else {
5746 var27 = var_ptypenode10->type->type_table[cltype28] == idtype29;
5747 }
5748 }
5749 if (!var27) {
5750 fprintf(stderr, "Runtime error: %s", "Assert failed");
5751 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19328);
5752 exit(1);
5753 }
5754 var_pexprnode12 = var_nodearraylist10;
5755 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
5756 cltype31 = type_nullable_parser_nodes__AExpr.color;
5757 idtype32 = type_nullable_parser_nodes__AExpr.id;
5758 if(var_pexprnode12 == NULL) {
5759 var30 = 1;
5760 } else {
5761 if(cltype31 >= var_pexprnode12->type->table_size) {
5762 var30 = 0;
5763 } else {
5764 var30 = var_pexprnode12->type->type_table[cltype31] == idtype32;
5765 }
5766 }
5767 if (!var30) {
5768 fprintf(stderr, "Runtime error: %s", "Assert failed");
5769 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19330);
5770 exit(1);
5771 }
5772 var33 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
5773 var34 = NULL;
5774 var35 = NULL;
5775 var36 = NULL;
5776 ((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>*/;
5777 CHECK_NEW_parser_nodes__AAttrPropdef(var33);
5778 var_ppropdefnode1 = var33;
5779 var_node_list = var_ppropdefnode1;
5780 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction436> */
5781 var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on <var_p:Parser>*/;
5782 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on <var_p:Parser>*/;
5783 RET_LABEL:;
5784 }
5785 /* method parser#ReduceAction436#action for (self: Object, Parser) */
5786 void VIRTUAL_parser__ReduceAction436__action(val* self, val* p0) {
5787 parser__ReduceAction436__action(self, p0);
5788 RET_LABEL:;
5789 }
5790 /* method parser#ReduceAction437#action for (self: ReduceAction437, Parser) */
5791 void parser__ReduceAction437__action(val* self, val* p0) {
5792 val* var_p /* var p: Parser */;
5793 val* var /* : null */;
5794 val* var_node_list /* var node_list: nullable Object */;
5795 val* var1 /* : nullable Object */;
5796 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5797 val* var2 /* : nullable Object */;
5798 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5799 val* var3 /* : nullable Object */;
5800 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5801 val* var4 /* : nullable Object */;
5802 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5803 val* var5 /* : nullable Object */;
5804 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5805 val* var6 /* : nullable Object */;
5806 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5807 val* var7 /* : nullable Object */;
5808 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5809 val* var8 /* : nullable Object */;
5810 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5811 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5812 short int var9 /* : Bool */;
5813 int cltype;
5814 int idtype;
5815 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
5816 short int var10 /* : Bool */;
5817 int cltype11;
5818 int idtype12;
5819 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
5820 short int var13 /* : Bool */;
5821 int cltype14;
5822 int idtype15;
5823 val* var_tidnode9 /* var tidnode9: nullable Object */;
5824 short int var16 /* : Bool */;
5825 int cltype17;
5826 int idtype18;
5827 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
5828 short int var19 /* : Bool */;
5829 int cltype20;
5830 int idtype21;
5831 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
5832 short int var22 /* : Bool */;
5833 int cltype23;
5834 int idtype24;
5835 val* var25 /* : AAttrPropdef */;
5836 val* var26 /* : null */;
5837 val* var27 /* : null */;
5838 val* var28 /* : null */;
5839 val* var29 /* : null */;
5840 val* var30 /* : null */;
5841 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
5842 long var31 /* : Int */;
5843 long var32 /* : Int */;
5844 var_p = p0;
5845 var = NULL;
5846 var_node_list = var;
5847 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5848 var_nodearraylist8 = var1;
5849 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5850 var_nodearraylist7 = var2;
5851 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5852 var_nodearraylist6 = var3;
5853 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5854 var_nodearraylist5 = var4;
5855 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5856 var_nodearraylist4 = var5;
5857 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5858 var_nodearraylist3 = var6;
5859 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5860 var_nodearraylist2 = var7;
5861 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5862 var_nodearraylist1 = var8;
5863 var_pdocnode2 = var_nodearraylist1;
5864 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5865 cltype = type_nullable_parser_nodes__ADoc.color;
5866 idtype = type_nullable_parser_nodes__ADoc.id;
5867 if(var_pdocnode2 == NULL) {
5868 var9 = 1;
5869 } else {
5870 if(cltype >= var_pdocnode2->type->table_size) {
5871 var9 = 0;
5872 } else {
5873 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
5874 }
5875 }
5876 if (!var9) {
5877 fprintf(stderr, "Runtime error: %s", "Assert failed");
5878 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19362);
5879 exit(1);
5880 }
5881 var_pvisibilitynode6 = var_nodearraylist2;
5882 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
5883 cltype11 = type_nullable_parser_nodes__AVisibility.color;
5884 idtype12 = type_nullable_parser_nodes__AVisibility.id;
5885 if(var_pvisibilitynode6 == NULL) {
5886 var10 = 1;
5887 } else {
5888 if(cltype11 >= var_pvisibilitynode6->type->table_size) {
5889 var10 = 0;
5890 } else {
5891 var10 = var_pvisibilitynode6->type->type_table[cltype11] == idtype12;
5892 }
5893 }
5894 if (!var10) {
5895 fprintf(stderr, "Runtime error: %s", "Assert failed");
5896 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19364);
5897 exit(1);
5898 }
5899 var_tkwvarnode7 = var_nodearraylist3;
5900 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
5901 cltype14 = type_nullable_parser_nodes__TKwvar.color;
5902 idtype15 = type_nullable_parser_nodes__TKwvar.id;
5903 if(var_tkwvarnode7 == NULL) {
5904 var13 = 1;
5905 } else {
5906 if(cltype14 >= var_tkwvarnode7->type->table_size) {
5907 var13 = 0;
5908 } else {
5909 var13 = var_tkwvarnode7->type->type_table[cltype14] == idtype15;
5910 }
5911 }
5912 if (!var13) {
5913 fprintf(stderr, "Runtime error: %s", "Assert failed");
5914 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19366);
5915 exit(1);
5916 }
5917 var_tidnode9 = var_nodearraylist4;
5918 /* <var_tidnode9:nullable Object> isa nullable TId */
5919 cltype17 = type_nullable_parser_nodes__TId.color;
5920 idtype18 = type_nullable_parser_nodes__TId.id;
5921 if(var_tidnode9 == NULL) {
5922 var16 = 1;
5923 } else {
5924 if(cltype17 >= var_tidnode9->type->table_size) {
5925 var16 = 0;
5926 } else {
5927 var16 = var_tidnode9->type->type_table[cltype17] == idtype18;
5928 }
5929 }
5930 if (!var16) {
5931 fprintf(stderr, "Runtime error: %s", "Assert failed");
5932 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19368);
5933 exit(1);
5934 }
5935 var_pannotationsnode11 = var_nodearraylist8;
5936 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
5937 cltype20 = type_nullable_parser_nodes__AAnnotations.color;
5938 idtype21 = type_nullable_parser_nodes__AAnnotations.id;
5939 if(var_pannotationsnode11 == NULL) {
5940 var19 = 1;
5941 } else {
5942 if(cltype20 >= var_pannotationsnode11->type->table_size) {
5943 var19 = 0;
5944 } else {
5945 var19 = var_pannotationsnode11->type->type_table[cltype20] == idtype21;
5946 }
5947 }
5948 if (!var19) {
5949 fprintf(stderr, "Runtime error: %s", "Assert failed");
5950 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19370);
5951 exit(1);
5952 }
5953 var_pexprnode12 = var_nodearraylist7;
5954 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
5955 cltype23 = type_nullable_parser_nodes__AExpr.color;
5956 idtype24 = type_nullable_parser_nodes__AExpr.id;
5957 if(var_pexprnode12 == NULL) {
5958 var22 = 1;
5959 } else {
5960 if(cltype23 >= var_pexprnode12->type->table_size) {
5961 var22 = 0;
5962 } else {
5963 var22 = var_pexprnode12->type->type_table[cltype23] == idtype24;
5964 }
5965 }
5966 if (!var22) {
5967 fprintf(stderr, "Runtime error: %s", "Assert failed");
5968 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19372);
5969 exit(1);
5970 }
5971 var25 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
5972 var26 = NULL;
5973 var27 = NULL;
5974 var28 = NULL;
5975 var29 = NULL;
5976 var30 = NULL;
5977 ((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>*/;
5978 CHECK_NEW_parser_nodes__AAttrPropdef(var25);
5979 var_ppropdefnode1 = var25;
5980 var_node_list = var_ppropdefnode1;
5981 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction437> */
5982 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
5983 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
5984 RET_LABEL:;
5985 }
5986 /* method parser#ReduceAction437#action for (self: Object, Parser) */
5987 void VIRTUAL_parser__ReduceAction437__action(val* self, val* p0) {
5988 parser__ReduceAction437__action(self, p0);
5989 RET_LABEL:;
5990 }
5991 /* method parser#ReduceAction438#action for (self: ReduceAction438, Parser) */
5992 void parser__ReduceAction438__action(val* self, val* p0) {
5993 val* var_p /* var p: Parser */;
5994 val* var /* : null */;
5995 val* var_node_list /* var node_list: nullable Object */;
5996 val* var1 /* : nullable Object */;
5997 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5998 val* var2 /* : nullable Object */;
5999 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6000 val* var3 /* : nullable Object */;
6001 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6002 val* var4 /* : nullable Object */;
6003 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6004 val* var5 /* : nullable Object */;
6005 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6006 val* var6 /* : nullable Object */;
6007 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6008 val* var7 /* : nullable Object */;
6009 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6010 val* var8 /* : nullable Object */;
6011 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6012 val* var9 /* : nullable Object */;
6013 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6014 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6015 short int var10 /* : Bool */;
6016 int cltype;
6017 int idtype;
6018 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
6019 short int var11 /* : Bool */;
6020 int cltype12;
6021 int idtype13;
6022 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
6023 short int var14 /* : Bool */;
6024 int cltype15;
6025 int idtype16;
6026 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
6027 short int var17 /* : Bool */;
6028 int cltype18;
6029 int idtype19;
6030 val* var_tidnode9 /* var tidnode9: nullable Object */;
6031 short int var20 /* : Bool */;
6032 int cltype21;
6033 int idtype22;
6034 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
6035 short int var23 /* : Bool */;
6036 int cltype24;
6037 int idtype25;
6038 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
6039 short int var26 /* : Bool */;
6040 int cltype27;
6041 int idtype28;
6042 val* var29 /* : AAttrPropdef */;
6043 val* var30 /* : null */;
6044 val* var31 /* : null */;
6045 val* var32 /* : null */;
6046 val* var33 /* : null */;
6047 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
6048 long var34 /* : Int */;
6049 long var35 /* : Int */;
6050 var_p = p0;
6051 var = NULL;
6052 var_node_list = var;
6053 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6054 var_nodearraylist9 = var1;
6055 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6056 var_nodearraylist8 = var2;
6057 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6058 var_nodearraylist7 = var3;
6059 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6060 var_nodearraylist6 = var4;
6061 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6062 var_nodearraylist5 = var5;
6063 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6064 var_nodearraylist4 = var6;
6065 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6066 var_nodearraylist3 = var7;
6067 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6068 var_nodearraylist2 = var8;
6069 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6070 var_nodearraylist1 = var9;
6071 var_pdocnode2 = var_nodearraylist1;
6072 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6073 cltype = type_nullable_parser_nodes__ADoc.color;
6074 idtype = type_nullable_parser_nodes__ADoc.id;
6075 if(var_pdocnode2 == NULL) {
6076 var10 = 1;
6077 } else {
6078 if(cltype >= var_pdocnode2->type->table_size) {
6079 var10 = 0;
6080 } else {
6081 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
6082 }
6083 }
6084 if (!var10) {
6085 fprintf(stderr, "Runtime error: %s", "Assert failed");
6086 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19405);
6087 exit(1);
6088 }
6089 var_tkwredefnode5 = var_nodearraylist2;
6090 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
6091 cltype12 = type_nullable_parser_nodes__TKwredef.color;
6092 idtype13 = type_nullable_parser_nodes__TKwredef.id;
6093 if(var_tkwredefnode5 == NULL) {
6094 var11 = 1;
6095 } else {
6096 if(cltype12 >= var_tkwredefnode5->type->table_size) {
6097 var11 = 0;
6098 } else {
6099 var11 = var_tkwredefnode5->type->type_table[cltype12] == idtype13;
6100 }
6101 }
6102 if (!var11) {
6103 fprintf(stderr, "Runtime error: %s", "Assert failed");
6104 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19407);
6105 exit(1);
6106 }
6107 var_pvisibilitynode6 = var_nodearraylist3;
6108 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
6109 cltype15 = type_nullable_parser_nodes__AVisibility.color;
6110 idtype16 = type_nullable_parser_nodes__AVisibility.id;
6111 if(var_pvisibilitynode6 == NULL) {
6112 var14 = 1;
6113 } else {
6114 if(cltype15 >= var_pvisibilitynode6->type->table_size) {
6115 var14 = 0;
6116 } else {
6117 var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
6118 }
6119 }
6120 if (!var14) {
6121 fprintf(stderr, "Runtime error: %s", "Assert failed");
6122 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19409);
6123 exit(1);
6124 }
6125 var_tkwvarnode7 = var_nodearraylist4;
6126 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
6127 cltype18 = type_nullable_parser_nodes__TKwvar.color;
6128 idtype19 = type_nullable_parser_nodes__TKwvar.id;
6129 if(var_tkwvarnode7 == NULL) {
6130 var17 = 1;
6131 } else {
6132 if(cltype18 >= var_tkwvarnode7->type->table_size) {
6133 var17 = 0;
6134 } else {
6135 var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
6136 }
6137 }
6138 if (!var17) {
6139 fprintf(stderr, "Runtime error: %s", "Assert failed");
6140 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19411);
6141 exit(1);
6142 }
6143 var_tidnode9 = var_nodearraylist5;
6144 /* <var_tidnode9:nullable Object> isa nullable TId */
6145 cltype21 = type_nullable_parser_nodes__TId.color;
6146 idtype22 = type_nullable_parser_nodes__TId.id;
6147 if(var_tidnode9 == NULL) {
6148 var20 = 1;
6149 } else {
6150 if(cltype21 >= var_tidnode9->type->table_size) {
6151 var20 = 0;
6152 } else {
6153 var20 = var_tidnode9->type->type_table[cltype21] == idtype22;
6154 }
6155 }
6156 if (!var20) {
6157 fprintf(stderr, "Runtime error: %s", "Assert failed");
6158 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19413);
6159 exit(1);
6160 }
6161 var_pannotationsnode11 = var_nodearraylist9;
6162 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
6163 cltype24 = type_nullable_parser_nodes__AAnnotations.color;
6164 idtype25 = type_nullable_parser_nodes__AAnnotations.id;
6165 if(var_pannotationsnode11 == NULL) {
6166 var23 = 1;
6167 } else {
6168 if(cltype24 >= var_pannotationsnode11->type->table_size) {
6169 var23 = 0;
6170 } else {
6171 var23 = var_pannotationsnode11->type->type_table[cltype24] == idtype25;
6172 }
6173 }
6174 if (!var23) {
6175 fprintf(stderr, "Runtime error: %s", "Assert failed");
6176 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19415);
6177 exit(1);
6178 }
6179 var_pexprnode12 = var_nodearraylist8;
6180 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
6181 cltype27 = type_nullable_parser_nodes__AExpr.color;
6182 idtype28 = type_nullable_parser_nodes__AExpr.id;
6183 if(var_pexprnode12 == NULL) {
6184 var26 = 1;
6185 } else {
6186 if(cltype27 >= var_pexprnode12->type->table_size) {
6187 var26 = 0;
6188 } else {
6189 var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
6190 }
6191 }
6192 if (!var26) {
6193 fprintf(stderr, "Runtime error: %s", "Assert failed");
6194 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19417);
6195 exit(1);
6196 }
6197 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
6198 var30 = NULL;
6199 var31 = NULL;
6200 var32 = NULL;
6201 var33 = NULL;
6202 ((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>*/;
6203 CHECK_NEW_parser_nodes__AAttrPropdef(var29);
6204 var_ppropdefnode1 = var29;
6205 var_node_list = var_ppropdefnode1;
6206 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction438> */
6207 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
6208 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
6209 RET_LABEL:;
6210 }
6211 /* method parser#ReduceAction438#action for (self: Object, Parser) */
6212 void VIRTUAL_parser__ReduceAction438__action(val* self, val* p0) {
6213 parser__ReduceAction438__action(self, p0);
6214 RET_LABEL:;
6215 }
6216 /* method parser#ReduceAction439#action for (self: ReduceAction439, Parser) */
6217 void parser__ReduceAction439__action(val* self, val* p0) {
6218 val* var_p /* var p: Parser */;
6219 val* var /* : null */;
6220 val* var_node_list /* var node_list: nullable Object */;
6221 val* var1 /* : nullable Object */;
6222 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6223 val* var2 /* : nullable Object */;
6224 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6225 val* var3 /* : nullable Object */;
6226 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6227 val* var4 /* : nullable Object */;
6228 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6229 val* var5 /* : nullable Object */;
6230 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6231 val* var6 /* : nullable Object */;
6232 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6233 val* var7 /* : nullable Object */;
6234 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6235 val* var8 /* : nullable Object */;
6236 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6237 val* var9 /* : nullable Object */;
6238 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6239 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6240 short int var10 /* : Bool */;
6241 int cltype;
6242 int idtype;
6243 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
6244 short int var11 /* : Bool */;
6245 int cltype12;
6246 int idtype13;
6247 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
6248 short int var14 /* : Bool */;
6249 int cltype15;
6250 int idtype16;
6251 val* var_tidnode9 /* var tidnode9: nullable Object */;
6252 short int var17 /* : Bool */;
6253 int cltype18;
6254 int idtype19;
6255 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
6256 short int var20 /* : Bool */;
6257 int cltype21;
6258 int idtype22;
6259 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
6260 short int var23 /* : Bool */;
6261 int cltype24;
6262 int idtype25;
6263 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
6264 short int var26 /* : Bool */;
6265 int cltype27;
6266 int idtype28;
6267 val* var29 /* : AAttrPropdef */;
6268 val* var30 /* : null */;
6269 val* var31 /* : null */;
6270 val* var32 /* : null */;
6271 val* var33 /* : null */;
6272 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
6273 long var34 /* : Int */;
6274 long var35 /* : Int */;
6275 var_p = p0;
6276 var = NULL;
6277 var_node_list = var;
6278 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6279 var_nodearraylist9 = var1;
6280 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6281 var_nodearraylist8 = var2;
6282 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6283 var_nodearraylist7 = var3;
6284 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6285 var_nodearraylist6 = var4;
6286 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6287 var_nodearraylist5 = var5;
6288 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6289 var_nodearraylist4 = var6;
6290 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6291 var_nodearraylist3 = var7;
6292 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6293 var_nodearraylist2 = var8;
6294 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6295 var_nodearraylist1 = var9;
6296 var_pdocnode2 = var_nodearraylist1;
6297 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6298 cltype = type_nullable_parser_nodes__ADoc.color;
6299 idtype = type_nullable_parser_nodes__ADoc.id;
6300 if(var_pdocnode2 == NULL) {
6301 var10 = 1;
6302 } else {
6303 if(cltype >= var_pdocnode2->type->table_size) {
6304 var10 = 0;
6305 } else {
6306 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
6307 }
6308 }
6309 if (!var10) {
6310 fprintf(stderr, "Runtime error: %s", "Assert failed");
6311 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19450);
6312 exit(1);
6313 }
6314 var_pvisibilitynode6 = var_nodearraylist2;
6315 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
6316 cltype12 = type_nullable_parser_nodes__AVisibility.color;
6317 idtype13 = type_nullable_parser_nodes__AVisibility.id;
6318 if(var_pvisibilitynode6 == NULL) {
6319 var11 = 1;
6320 } else {
6321 if(cltype12 >= var_pvisibilitynode6->type->table_size) {
6322 var11 = 0;
6323 } else {
6324 var11 = var_pvisibilitynode6->type->type_table[cltype12] == idtype13;
6325 }
6326 }
6327 if (!var11) {
6328 fprintf(stderr, "Runtime error: %s", "Assert failed");
6329 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19452);
6330 exit(1);
6331 }
6332 var_tkwvarnode7 = var_nodearraylist3;
6333 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
6334 cltype15 = type_nullable_parser_nodes__TKwvar.color;
6335 idtype16 = type_nullable_parser_nodes__TKwvar.id;
6336 if(var_tkwvarnode7 == NULL) {
6337 var14 = 1;
6338 } else {
6339 if(cltype15 >= var_tkwvarnode7->type->table_size) {
6340 var14 = 0;
6341 } else {
6342 var14 = var_tkwvarnode7->type->type_table[cltype15] == idtype16;
6343 }
6344 }
6345 if (!var14) {
6346 fprintf(stderr, "Runtime error: %s", "Assert failed");
6347 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19454);
6348 exit(1);
6349 }
6350 var_tidnode9 = var_nodearraylist4;
6351 /* <var_tidnode9:nullable Object> isa nullable TId */
6352 cltype18 = type_nullable_parser_nodes__TId.color;
6353 idtype19 = type_nullable_parser_nodes__TId.id;
6354 if(var_tidnode9 == NULL) {
6355 var17 = 1;
6356 } else {
6357 if(cltype18 >= var_tidnode9->type->table_size) {
6358 var17 = 0;
6359 } else {
6360 var17 = var_tidnode9->type->type_table[cltype18] == idtype19;
6361 }
6362 }
6363 if (!var17) {
6364 fprintf(stderr, "Runtime error: %s", "Assert failed");
6365 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19456);
6366 exit(1);
6367 }
6368 var_ptypenode10 = var_nodearraylist5;
6369 /* <var_ptypenode10:nullable Object> isa nullable AType */
6370 cltype21 = type_nullable_parser_nodes__AType.color;
6371 idtype22 = type_nullable_parser_nodes__AType.id;
6372 if(var_ptypenode10 == NULL) {
6373 var20 = 1;
6374 } else {
6375 if(cltype21 >= var_ptypenode10->type->table_size) {
6376 var20 = 0;
6377 } else {
6378 var20 = var_ptypenode10->type->type_table[cltype21] == idtype22;
6379 }
6380 }
6381 if (!var20) {
6382 fprintf(stderr, "Runtime error: %s", "Assert failed");
6383 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19458);
6384 exit(1);
6385 }
6386 var_pannotationsnode11 = var_nodearraylist9;
6387 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
6388 cltype24 = type_nullable_parser_nodes__AAnnotations.color;
6389 idtype25 = type_nullable_parser_nodes__AAnnotations.id;
6390 if(var_pannotationsnode11 == NULL) {
6391 var23 = 1;
6392 } else {
6393 if(cltype24 >= var_pannotationsnode11->type->table_size) {
6394 var23 = 0;
6395 } else {
6396 var23 = var_pannotationsnode11->type->type_table[cltype24] == idtype25;
6397 }
6398 }
6399 if (!var23) {
6400 fprintf(stderr, "Runtime error: %s", "Assert failed");
6401 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19460);
6402 exit(1);
6403 }
6404 var_pexprnode12 = var_nodearraylist8;
6405 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
6406 cltype27 = type_nullable_parser_nodes__AExpr.color;
6407 idtype28 = type_nullable_parser_nodes__AExpr.id;
6408 if(var_pexprnode12 == NULL) {
6409 var26 = 1;
6410 } else {
6411 if(cltype27 >= var_pexprnode12->type->table_size) {
6412 var26 = 0;
6413 } else {
6414 var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
6415 }
6416 }
6417 if (!var26) {
6418 fprintf(stderr, "Runtime error: %s", "Assert failed");
6419 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19462);
6420 exit(1);
6421 }
6422 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
6423 var30 = NULL;
6424 var31 = NULL;
6425 var32 = NULL;
6426 var33 = NULL;
6427 ((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>*/;
6428 CHECK_NEW_parser_nodes__AAttrPropdef(var29);
6429 var_ppropdefnode1 = var29;
6430 var_node_list = var_ppropdefnode1;
6431 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction439> */
6432 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
6433 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
6434 RET_LABEL:;
6435 }
6436 /* method parser#ReduceAction439#action for (self: Object, Parser) */
6437 void VIRTUAL_parser__ReduceAction439__action(val* self, val* p0) {
6438 parser__ReduceAction439__action(self, p0);
6439 RET_LABEL:;
6440 }
6441 /* method parser#ReduceAction440#action for (self: ReduceAction440, Parser) */
6442 void parser__ReduceAction440__action(val* self, val* p0) {
6443 val* var_p /* var p: Parser */;
6444 val* var /* : null */;
6445 val* var_node_list /* var node_list: nullable Object */;
6446 val* var1 /* : nullable Object */;
6447 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6448 val* var2 /* : nullable Object */;
6449 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6450 val* var3 /* : nullable Object */;
6451 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6452 val* var4 /* : nullable Object */;
6453 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6454 val* var5 /* : nullable Object */;
6455 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6456 val* var6 /* : nullable Object */;
6457 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6458 val* var7 /* : nullable Object */;
6459 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6460 val* var8 /* : nullable Object */;
6461 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6462 val* var9 /* : nullable Object */;
6463 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6464 val* var10 /* : nullable Object */;
6465 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6466 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6467 short int var11 /* : Bool */;
6468 int cltype;
6469 int idtype;
6470 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
6471 short int var12 /* : Bool */;
6472 int cltype13;
6473 int idtype14;
6474 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
6475 short int var15 /* : Bool */;
6476 int cltype16;
6477 int idtype17;
6478 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
6479 short int var18 /* : Bool */;
6480 int cltype19;
6481 int idtype20;
6482 val* var_tidnode9 /* var tidnode9: nullable Object */;
6483 short int var21 /* : Bool */;
6484 int cltype22;
6485 int idtype23;
6486 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
6487 short int var24 /* : Bool */;
6488 int cltype25;
6489 int idtype26;
6490 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
6491 short int var27 /* : Bool */;
6492 int cltype28;
6493 int idtype29;
6494 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
6495 short int var30 /* : Bool */;
6496 int cltype31;
6497 int idtype32;
6498 val* var33 /* : AAttrPropdef */;
6499 val* var34 /* : null */;
6500 val* var35 /* : null */;
6501 val* var36 /* : null */;
6502 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
6503 long var37 /* : Int */;
6504 long var38 /* : Int */;
6505 var_p = p0;
6506 var = NULL;
6507 var_node_list = var;
6508 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6509 var_nodearraylist10 = var1;
6510 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6511 var_nodearraylist9 = var2;
6512 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6513 var_nodearraylist8 = var3;
6514 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6515 var_nodearraylist7 = var4;
6516 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6517 var_nodearraylist6 = var5;
6518 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6519 var_nodearraylist5 = var6;
6520 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6521 var_nodearraylist4 = var7;
6522 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6523 var_nodearraylist3 = var8;
6524 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6525 var_nodearraylist2 = var9;
6526 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6527 var_nodearraylist1 = var10;
6528 var_pdocnode2 = var_nodearraylist1;
6529 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6530 cltype = type_nullable_parser_nodes__ADoc.color;
6531 idtype = type_nullable_parser_nodes__ADoc.id;
6532 if(var_pdocnode2 == NULL) {
6533 var11 = 1;
6534 } else {
6535 if(cltype >= var_pdocnode2->type->table_size) {
6536 var11 = 0;
6537 } else {
6538 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
6539 }
6540 }
6541 if (!var11) {
6542 fprintf(stderr, "Runtime error: %s", "Assert failed");
6543 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19496);
6544 exit(1);
6545 }
6546 var_tkwredefnode5 = var_nodearraylist2;
6547 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
6548 cltype13 = type_nullable_parser_nodes__TKwredef.color;
6549 idtype14 = type_nullable_parser_nodes__TKwredef.id;
6550 if(var_tkwredefnode5 == NULL) {
6551 var12 = 1;
6552 } else {
6553 if(cltype13 >= var_tkwredefnode5->type->table_size) {
6554 var12 = 0;
6555 } else {
6556 var12 = var_tkwredefnode5->type->type_table[cltype13] == idtype14;
6557 }
6558 }
6559 if (!var12) {
6560 fprintf(stderr, "Runtime error: %s", "Assert failed");
6561 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19498);
6562 exit(1);
6563 }
6564 var_pvisibilitynode6 = var_nodearraylist3;
6565 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
6566 cltype16 = type_nullable_parser_nodes__AVisibility.color;
6567 idtype17 = type_nullable_parser_nodes__AVisibility.id;
6568 if(var_pvisibilitynode6 == NULL) {
6569 var15 = 1;
6570 } else {
6571 if(cltype16 >= var_pvisibilitynode6->type->table_size) {
6572 var15 = 0;
6573 } else {
6574 var15 = var_pvisibilitynode6->type->type_table[cltype16] == idtype17;
6575 }
6576 }
6577 if (!var15) {
6578 fprintf(stderr, "Runtime error: %s", "Assert failed");
6579 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19500);
6580 exit(1);
6581 }
6582 var_tkwvarnode7 = var_nodearraylist4;
6583 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
6584 cltype19 = type_nullable_parser_nodes__TKwvar.color;
6585 idtype20 = type_nullable_parser_nodes__TKwvar.id;
6586 if(var_tkwvarnode7 == NULL) {
6587 var18 = 1;
6588 } else {
6589 if(cltype19 >= var_tkwvarnode7->type->table_size) {
6590 var18 = 0;
6591 } else {
6592 var18 = var_tkwvarnode7->type->type_table[cltype19] == idtype20;
6593 }
6594 }
6595 if (!var18) {
6596 fprintf(stderr, "Runtime error: %s", "Assert failed");
6597 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19502);
6598 exit(1);
6599 }
6600 var_tidnode9 = var_nodearraylist5;
6601 /* <var_tidnode9:nullable Object> isa nullable TId */
6602 cltype22 = type_nullable_parser_nodes__TId.color;
6603 idtype23 = type_nullable_parser_nodes__TId.id;
6604 if(var_tidnode9 == NULL) {
6605 var21 = 1;
6606 } else {
6607 if(cltype22 >= var_tidnode9->type->table_size) {
6608 var21 = 0;
6609 } else {
6610 var21 = var_tidnode9->type->type_table[cltype22] == idtype23;
6611 }
6612 }
6613 if (!var21) {
6614 fprintf(stderr, "Runtime error: %s", "Assert failed");
6615 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19504);
6616 exit(1);
6617 }
6618 var_ptypenode10 = var_nodearraylist6;
6619 /* <var_ptypenode10:nullable Object> isa nullable AType */
6620 cltype25 = type_nullable_parser_nodes__AType.color;
6621 idtype26 = type_nullable_parser_nodes__AType.id;
6622 if(var_ptypenode10 == NULL) {
6623 var24 = 1;
6624 } else {
6625 if(cltype25 >= var_ptypenode10->type->table_size) {
6626 var24 = 0;
6627 } else {
6628 var24 = var_ptypenode10->type->type_table[cltype25] == idtype26;
6629 }
6630 }
6631 if (!var24) {
6632 fprintf(stderr, "Runtime error: %s", "Assert failed");
6633 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19506);
6634 exit(1);
6635 }
6636 var_pannotationsnode11 = var_nodearraylist10;
6637 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
6638 cltype28 = type_nullable_parser_nodes__AAnnotations.color;
6639 idtype29 = type_nullable_parser_nodes__AAnnotations.id;
6640 if(var_pannotationsnode11 == NULL) {
6641 var27 = 1;
6642 } else {
6643 if(cltype28 >= var_pannotationsnode11->type->table_size) {
6644 var27 = 0;
6645 } else {
6646 var27 = var_pannotationsnode11->type->type_table[cltype28] == idtype29;
6647 }
6648 }
6649 if (!var27) {
6650 fprintf(stderr, "Runtime error: %s", "Assert failed");
6651 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19508);
6652 exit(1);
6653 }
6654 var_pexprnode12 = var_nodearraylist9;
6655 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
6656 cltype31 = type_nullable_parser_nodes__AExpr.color;
6657 idtype32 = type_nullable_parser_nodes__AExpr.id;
6658 if(var_pexprnode12 == NULL) {
6659 var30 = 1;
6660 } else {
6661 if(cltype31 >= var_pexprnode12->type->table_size) {
6662 var30 = 0;
6663 } else {
6664 var30 = var_pexprnode12->type->type_table[cltype31] == idtype32;
6665 }
6666 }
6667 if (!var30) {
6668 fprintf(stderr, "Runtime error: %s", "Assert failed");
6669 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19510);
6670 exit(1);
6671 }
6672 var33 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
6673 var34 = NULL;
6674 var35 = NULL;
6675 var36 = NULL;
6676 ((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>*/;
6677 CHECK_NEW_parser_nodes__AAttrPropdef(var33);
6678 var_ppropdefnode1 = var33;
6679 var_node_list = var_ppropdefnode1;
6680 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction440> */
6681 var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on <var_p:Parser>*/;
6682 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on <var_p:Parser>*/;
6683 RET_LABEL:;
6684 }
6685 /* method parser#ReduceAction440#action for (self: Object, Parser) */
6686 void VIRTUAL_parser__ReduceAction440__action(val* self, val* p0) {
6687 parser__ReduceAction440__action(self, p0);
6688 RET_LABEL:;
6689 }
6690 /* method parser#ReduceAction441#action for (self: ReduceAction441, Parser) */
6691 void parser__ReduceAction441__action(val* self, val* p0) {
6692 val* var_p /* var p: Parser */;
6693 val* var /* : null */;
6694 val* var_node_list /* var node_list: nullable Object */;
6695 val* var1 /* : nullable Object */;
6696 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6697 val* var2 /* : nullable Object */;
6698 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6699 val* var3 /* : nullable Object */;
6700 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6701 val* var4 /* : nullable Object */;
6702 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6703 val* var5 /* : nullable Object */;
6704 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6705 val* var6 /* : nullable Object */;
6706 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6707 val* var7 /* : nullable Object */;
6708 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6709 val* var8 /* : nullable Object */;
6710 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6711 val* var9 /* : nullable Object */;
6712 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6713 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6714 short int var10 /* : Bool */;
6715 int cltype;
6716 int idtype;
6717 val* var_pablenode4 /* var pablenode4: nullable Object */;
6718 short int var11 /* : Bool */;
6719 int cltype12;
6720 int idtype13;
6721 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
6722 short int var14 /* : Bool */;
6723 int cltype15;
6724 int idtype16;
6725 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
6726 short int var17 /* : Bool */;
6727 int cltype18;
6728 int idtype19;
6729 val* var_tidnode9 /* var tidnode9: nullable Object */;
6730 short int var20 /* : Bool */;
6731 int cltype21;
6732 int idtype22;
6733 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
6734 short int var23 /* : Bool */;
6735 int cltype24;
6736 int idtype25;
6737 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
6738 short int var26 /* : Bool */;
6739 int cltype27;
6740 int idtype28;
6741 val* var29 /* : AAttrPropdef */;
6742 val* var30 /* : null */;
6743 val* var31 /* : null */;
6744 val* var32 /* : null */;
6745 val* var33 /* : null */;
6746 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
6747 long var34 /* : Int */;
6748 long var35 /* : Int */;
6749 var_p = p0;
6750 var = NULL;
6751 var_node_list = var;
6752 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6753 var_nodearraylist9 = var1;
6754 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6755 var_nodearraylist8 = var2;
6756 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6757 var_nodearraylist7 = var3;
6758 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6759 var_nodearraylist6 = var4;
6760 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6761 var_nodearraylist5 = var5;
6762 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6763 var_nodearraylist4 = var6;
6764 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6765 var_nodearraylist3 = var7;
6766 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6767 var_nodearraylist2 = var8;
6768 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6769 var_nodearraylist1 = var9;
6770 var_pdocnode2 = var_nodearraylist1;
6771 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6772 cltype = type_nullable_parser_nodes__ADoc.color;
6773 idtype = type_nullable_parser_nodes__ADoc.id;
6774 if(var_pdocnode2 == NULL) {
6775 var10 = 1;
6776 } else {
6777 if(cltype >= var_pdocnode2->type->table_size) {
6778 var10 = 0;
6779 } else {
6780 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
6781 }
6782 }
6783 if (!var10) {
6784 fprintf(stderr, "Runtime error: %s", "Assert failed");
6785 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19543);
6786 exit(1);
6787 }
6788 var_pablenode4 = var_nodearraylist5;
6789 /* <var_pablenode4:nullable Object> isa nullable AAble */
6790 cltype12 = type_nullable_parser_nodes__AAble.color;
6791 idtype13 = type_nullable_parser_nodes__AAble.id;
6792 if(var_pablenode4 == NULL) {
6793 var11 = 1;
6794 } else {
6795 if(cltype12 >= var_pablenode4->type->table_size) {
6796 var11 = 0;
6797 } else {
6798 var11 = var_pablenode4->type->type_table[cltype12] == idtype13;
6799 }
6800 }
6801 if (!var11) {
6802 fprintf(stderr, "Runtime error: %s", "Assert failed");
6803 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19545);
6804 exit(1);
6805 }
6806 var_pvisibilitynode6 = var_nodearraylist2;
6807 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
6808 cltype15 = type_nullable_parser_nodes__AVisibility.color;
6809 idtype16 = type_nullable_parser_nodes__AVisibility.id;
6810 if(var_pvisibilitynode6 == NULL) {
6811 var14 = 1;
6812 } else {
6813 if(cltype15 >= var_pvisibilitynode6->type->table_size) {
6814 var14 = 0;
6815 } else {
6816 var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
6817 }
6818 }
6819 if (!var14) {
6820 fprintf(stderr, "Runtime error: %s", "Assert failed");
6821 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19547);
6822 exit(1);
6823 }
6824 var_tkwvarnode7 = var_nodearraylist3;
6825 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
6826 cltype18 = type_nullable_parser_nodes__TKwvar.color;
6827 idtype19 = type_nullable_parser_nodes__TKwvar.id;
6828 if(var_tkwvarnode7 == NULL) {
6829 var17 = 1;
6830 } else {
6831 if(cltype18 >= var_tkwvarnode7->type->table_size) {
6832 var17 = 0;
6833 } else {
6834 var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
6835 }
6836 }
6837 if (!var17) {
6838 fprintf(stderr, "Runtime error: %s", "Assert failed");
6839 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19549);
6840 exit(1);
6841 }
6842 var_tidnode9 = var_nodearraylist4;
6843 /* <var_tidnode9:nullable Object> isa nullable TId */
6844 cltype21 = type_nullable_parser_nodes__TId.color;
6845 idtype22 = type_nullable_parser_nodes__TId.id;
6846 if(var_tidnode9 == NULL) {
6847 var20 = 1;
6848 } else {
6849 if(cltype21 >= var_tidnode9->type->table_size) {
6850 var20 = 0;
6851 } else {
6852 var20 = var_tidnode9->type->type_table[cltype21] == idtype22;
6853 }
6854 }
6855 if (!var20) {
6856 fprintf(stderr, "Runtime error: %s", "Assert failed");
6857 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19551);
6858 exit(1);
6859 }
6860 var_pannotationsnode11 = var_nodearraylist9;
6861 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
6862 cltype24 = type_nullable_parser_nodes__AAnnotations.color;
6863 idtype25 = type_nullable_parser_nodes__AAnnotations.id;
6864 if(var_pannotationsnode11 == NULL) {
6865 var23 = 1;
6866 } else {
6867 if(cltype24 >= var_pannotationsnode11->type->table_size) {
6868 var23 = 0;
6869 } else {
6870 var23 = var_pannotationsnode11->type->type_table[cltype24] == idtype25;
6871 }
6872 }
6873 if (!var23) {
6874 fprintf(stderr, "Runtime error: %s", "Assert failed");
6875 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19553);
6876 exit(1);
6877 }
6878 var_pexprnode12 = var_nodearraylist8;
6879 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
6880 cltype27 = type_nullable_parser_nodes__AExpr.color;
6881 idtype28 = type_nullable_parser_nodes__AExpr.id;
6882 if(var_pexprnode12 == NULL) {
6883 var26 = 1;
6884 } else {
6885 if(cltype27 >= var_pexprnode12->type->table_size) {
6886 var26 = 0;
6887 } else {
6888 var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
6889 }
6890 }
6891 if (!var26) {
6892 fprintf(stderr, "Runtime error: %s", "Assert failed");
6893 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19555);
6894 exit(1);
6895 }
6896 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
6897 var30 = NULL;
6898 var31 = NULL;
6899 var32 = NULL;
6900 var33 = NULL;
6901 ((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>*/;
6902 CHECK_NEW_parser_nodes__AAttrPropdef(var29);
6903 var_ppropdefnode1 = var29;
6904 var_node_list = var_ppropdefnode1;
6905 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction441> */
6906 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
6907 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
6908 RET_LABEL:;
6909 }
6910 /* method parser#ReduceAction441#action for (self: Object, Parser) */
6911 void VIRTUAL_parser__ReduceAction441__action(val* self, val* p0) {
6912 parser__ReduceAction441__action(self, p0);
6913 RET_LABEL:;
6914 }
6915 /* method parser#ReduceAction442#action for (self: ReduceAction442, Parser) */
6916 void parser__ReduceAction442__action(val* self, val* p0) {
6917 val* var_p /* var p: Parser */;
6918 val* var /* : null */;
6919 val* var_node_list /* var node_list: nullable Object */;
6920 val* var1 /* : nullable Object */;
6921 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6922 val* var2 /* : nullable Object */;
6923 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6924 val* var3 /* : nullable Object */;
6925 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6926 val* var4 /* : nullable Object */;
6927 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6928 val* var5 /* : nullable Object */;
6929 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6930 val* var6 /* : nullable Object */;
6931 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6932 val* var7 /* : nullable Object */;
6933 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6934 val* var8 /* : nullable Object */;
6935 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6936 val* var9 /* : nullable Object */;
6937 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6938 val* var10 /* : nullable Object */;
6939 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6940 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6941 short int var11 /* : Bool */;
6942 int cltype;
6943 int idtype;
6944 val* var_pablenode4 /* var pablenode4: nullable Object */;
6945 short int var12 /* : Bool */;
6946 int cltype13;
6947 int idtype14;
6948 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
6949 short int var15 /* : Bool */;
6950 int cltype16;
6951 int idtype17;
6952 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
6953 short int var18 /* : Bool */;
6954 int cltype19;
6955 int idtype20;
6956 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
6957 short int var21 /* : Bool */;
6958 int cltype22;
6959 int idtype23;
6960 val* var_tidnode9 /* var tidnode9: nullable Object */;
6961 short int var24 /* : Bool */;
6962 int cltype25;
6963 int idtype26;
6964 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
6965 short int var27 /* : Bool */;
6966 int cltype28;
6967 int idtype29;
6968 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
6969 short int var30 /* : Bool */;
6970 int cltype31;
6971 int idtype32;
6972 val* var33 /* : AAttrPropdef */;
6973 val* var34 /* : null */;
6974 val* var35 /* : null */;
6975 val* var36 /* : null */;
6976 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
6977 long var37 /* : Int */;
6978 long var38 /* : Int */;
6979 var_p = p0;
6980 var = NULL;
6981 var_node_list = var;
6982 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6983 var_nodearraylist10 = var1;
6984 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6985 var_nodearraylist9 = var2;
6986 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6987 var_nodearraylist8 = var3;
6988 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6989 var_nodearraylist7 = var4;
6990 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6991 var_nodearraylist6 = var5;
6992 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6993 var_nodearraylist5 = var6;
6994 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6995 var_nodearraylist4 = var7;
6996 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6997 var_nodearraylist3 = var8;
6998 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6999 var_nodearraylist2 = var9;
7000 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7001 var_nodearraylist1 = var10;
7002 var_pdocnode2 = var_nodearraylist1;
7003 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7004 cltype = type_nullable_parser_nodes__ADoc.color;
7005 idtype = type_nullable_parser_nodes__ADoc.id;
7006 if(var_pdocnode2 == NULL) {
7007 var11 = 1;
7008 } else {
7009 if(cltype >= var_pdocnode2->type->table_size) {
7010 var11 = 0;
7011 } else {
7012 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
7013 }
7014 }
7015 if (!var11) {
7016 fprintf(stderr, "Runtime error: %s", "Assert failed");
7017 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19589);
7018 exit(1);
7019 }
7020 var_pablenode4 = var_nodearraylist6;
7021 /* <var_pablenode4:nullable Object> isa nullable AAble */
7022 cltype13 = type_nullable_parser_nodes__AAble.color;
7023 idtype14 = type_nullable_parser_nodes__AAble.id;
7024 if(var_pablenode4 == NULL) {
7025 var12 = 1;
7026 } else {
7027 if(cltype13 >= var_pablenode4->type->table_size) {
7028 var12 = 0;
7029 } else {
7030 var12 = var_pablenode4->type->type_table[cltype13] == idtype14;
7031 }
7032 }
7033 if (!var12) {
7034 fprintf(stderr, "Runtime error: %s", "Assert failed");
7035 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19591);
7036 exit(1);
7037 }
7038 var_tkwredefnode5 = var_nodearraylist2;
7039 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
7040 cltype16 = type_nullable_parser_nodes__TKwredef.color;
7041 idtype17 = type_nullable_parser_nodes__TKwredef.id;
7042 if(var_tkwredefnode5 == NULL) {
7043 var15 = 1;
7044 } else {
7045 if(cltype16 >= var_tkwredefnode5->type->table_size) {
7046 var15 = 0;
7047 } else {
7048 var15 = var_tkwredefnode5->type->type_table[cltype16] == idtype17;
7049 }
7050 }
7051 if (!var15) {
7052 fprintf(stderr, "Runtime error: %s", "Assert failed");
7053 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19593);
7054 exit(1);
7055 }
7056 var_pvisibilitynode6 = var_nodearraylist3;
7057 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
7058 cltype19 = type_nullable_parser_nodes__AVisibility.color;
7059 idtype20 = type_nullable_parser_nodes__AVisibility.id;
7060 if(var_pvisibilitynode6 == NULL) {
7061 var18 = 1;
7062 } else {
7063 if(cltype19 >= var_pvisibilitynode6->type->table_size) {
7064 var18 = 0;
7065 } else {
7066 var18 = var_pvisibilitynode6->type->type_table[cltype19] == idtype20;
7067 }
7068 }
7069 if (!var18) {
7070 fprintf(stderr, "Runtime error: %s", "Assert failed");
7071 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19595);
7072 exit(1);
7073 }
7074 var_tkwvarnode7 = var_nodearraylist4;
7075 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
7076 cltype22 = type_nullable_parser_nodes__TKwvar.color;
7077 idtype23 = type_nullable_parser_nodes__TKwvar.id;
7078 if(var_tkwvarnode7 == NULL) {
7079 var21 = 1;
7080 } else {
7081 if(cltype22 >= var_tkwvarnode7->type->table_size) {
7082 var21 = 0;
7083 } else {
7084 var21 = var_tkwvarnode7->type->type_table[cltype22] == idtype23;
7085 }
7086 }
7087 if (!var21) {
7088 fprintf(stderr, "Runtime error: %s", "Assert failed");
7089 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19597);
7090 exit(1);
7091 }
7092 var_tidnode9 = var_nodearraylist5;
7093 /* <var_tidnode9:nullable Object> isa nullable TId */
7094 cltype25 = type_nullable_parser_nodes__TId.color;
7095 idtype26 = type_nullable_parser_nodes__TId.id;
7096 if(var_tidnode9 == NULL) {
7097 var24 = 1;
7098 } else {
7099 if(cltype25 >= var_tidnode9->type->table_size) {
7100 var24 = 0;
7101 } else {
7102 var24 = var_tidnode9->type->type_table[cltype25] == idtype26;
7103 }
7104 }
7105 if (!var24) {
7106 fprintf(stderr, "Runtime error: %s", "Assert failed");
7107 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19599);
7108 exit(1);
7109 }
7110 var_pannotationsnode11 = var_nodearraylist10;
7111 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
7112 cltype28 = type_nullable_parser_nodes__AAnnotations.color;
7113 idtype29 = type_nullable_parser_nodes__AAnnotations.id;
7114 if(var_pannotationsnode11 == NULL) {
7115 var27 = 1;
7116 } else {
7117 if(cltype28 >= var_pannotationsnode11->type->table_size) {
7118 var27 = 0;
7119 } else {
7120 var27 = var_pannotationsnode11->type->type_table[cltype28] == idtype29;
7121 }
7122 }
7123 if (!var27) {
7124 fprintf(stderr, "Runtime error: %s", "Assert failed");
7125 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19601);
7126 exit(1);
7127 }
7128 var_pexprnode12 = var_nodearraylist9;
7129 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
7130 cltype31 = type_nullable_parser_nodes__AExpr.color;
7131 idtype32 = type_nullable_parser_nodes__AExpr.id;
7132 if(var_pexprnode12 == NULL) {
7133 var30 = 1;
7134 } else {
7135 if(cltype31 >= var_pexprnode12->type->table_size) {
7136 var30 = 0;
7137 } else {
7138 var30 = var_pexprnode12->type->type_table[cltype31] == idtype32;
7139 }
7140 }
7141 if (!var30) {
7142 fprintf(stderr, "Runtime error: %s", "Assert failed");
7143 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19603);
7144 exit(1);
7145 }
7146 var33 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
7147 var34 = NULL;
7148 var35 = NULL;
7149 var36 = NULL;
7150 ((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>*/;
7151 CHECK_NEW_parser_nodes__AAttrPropdef(var33);
7152 var_ppropdefnode1 = var33;
7153 var_node_list = var_ppropdefnode1;
7154 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction442> */
7155 var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on <var_p:Parser>*/;
7156 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on <var_p:Parser>*/;
7157 RET_LABEL:;
7158 }
7159 /* method parser#ReduceAction442#action for (self: Object, Parser) */
7160 void VIRTUAL_parser__ReduceAction442__action(val* self, val* p0) {
7161 parser__ReduceAction442__action(self, p0);
7162 RET_LABEL:;
7163 }
7164 /* method parser#ReduceAction443#action for (self: ReduceAction443, Parser) */
7165 void parser__ReduceAction443__action(val* self, val* p0) {
7166 val* var_p /* var p: Parser */;
7167 val* var /* : null */;
7168 val* var_node_list /* var node_list: nullable Object */;
7169 val* var1 /* : nullable Object */;
7170 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7171 val* var2 /* : nullable Object */;
7172 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7173 val* var3 /* : nullable Object */;
7174 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7175 val* var4 /* : nullable Object */;
7176 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7177 val* var5 /* : nullable Object */;
7178 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7179 val* var6 /* : nullable Object */;
7180 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7181 val* var7 /* : nullable Object */;
7182 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7183 val* var8 /* : nullable Object */;
7184 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7185 val* var9 /* : nullable Object */;
7186 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7187 val* var10 /* : nullable Object */;
7188 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7189 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7190 short int var11 /* : Bool */;
7191 int cltype;
7192 int idtype;
7193 val* var_pablenode4 /* var pablenode4: nullable Object */;
7194 short int var12 /* : Bool */;
7195 int cltype13;
7196 int idtype14;
7197 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
7198 short int var15 /* : Bool */;
7199 int cltype16;
7200 int idtype17;
7201 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
7202 short int var18 /* : Bool */;
7203 int cltype19;
7204 int idtype20;
7205 val* var_tidnode9 /* var tidnode9: nullable Object */;
7206 short int var21 /* : Bool */;
7207 int cltype22;
7208 int idtype23;
7209 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
7210 short int var24 /* : Bool */;
7211 int cltype25;
7212 int idtype26;
7213 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
7214 short int var27 /* : Bool */;
7215 int cltype28;
7216 int idtype29;
7217 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
7218 short int var30 /* : Bool */;
7219 int cltype31;
7220 int idtype32;
7221 val* var33 /* : AAttrPropdef */;
7222 val* var34 /* : null */;
7223 val* var35 /* : null */;
7224 val* var36 /* : null */;
7225 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
7226 long var37 /* : Int */;
7227 long var38 /* : Int */;
7228 var_p = p0;
7229 var = NULL;
7230 var_node_list = var;
7231 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7232 var_nodearraylist10 = var1;
7233 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7234 var_nodearraylist9 = var2;
7235 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7236 var_nodearraylist8 = var3;
7237 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7238 var_nodearraylist7 = var4;
7239 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7240 var_nodearraylist6 = var5;
7241 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7242 var_nodearraylist5 = var6;
7243 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7244 var_nodearraylist4 = var7;
7245 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7246 var_nodearraylist3 = var8;
7247 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7248 var_nodearraylist2 = var9;
7249 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7250 var_nodearraylist1 = var10;
7251 var_pdocnode2 = var_nodearraylist1;
7252 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7253 cltype = type_nullable_parser_nodes__ADoc.color;
7254 idtype = type_nullable_parser_nodes__ADoc.id;
7255 if(var_pdocnode2 == NULL) {
7256 var11 = 1;
7257 } else {
7258 if(cltype >= var_pdocnode2->type->table_size) {
7259 var11 = 0;
7260 } else {
7261 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
7262 }
7263 }
7264 if (!var11) {
7265 fprintf(stderr, "Runtime error: %s", "Assert failed");
7266 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19637);
7267 exit(1);
7268 }
7269 var_pablenode4 = var_nodearraylist6;
7270 /* <var_pablenode4:nullable Object> isa nullable AAble */
7271 cltype13 = type_nullable_parser_nodes__AAble.color;
7272 idtype14 = type_nullable_parser_nodes__AAble.id;
7273 if(var_pablenode4 == NULL) {
7274 var12 = 1;
7275 } else {
7276 if(cltype13 >= var_pablenode4->type->table_size) {
7277 var12 = 0;
7278 } else {
7279 var12 = var_pablenode4->type->type_table[cltype13] == idtype14;
7280 }
7281 }
7282 if (!var12) {
7283 fprintf(stderr, "Runtime error: %s", "Assert failed");
7284 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19639);
7285 exit(1);
7286 }
7287 var_pvisibilitynode6 = var_nodearraylist2;
7288 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
7289 cltype16 = type_nullable_parser_nodes__AVisibility.color;
7290 idtype17 = type_nullable_parser_nodes__AVisibility.id;
7291 if(var_pvisibilitynode6 == NULL) {
7292 var15 = 1;
7293 } else {
7294 if(cltype16 >= var_pvisibilitynode6->type->table_size) {
7295 var15 = 0;
7296 } else {
7297 var15 = var_pvisibilitynode6->type->type_table[cltype16] == idtype17;
7298 }
7299 }
7300 if (!var15) {
7301 fprintf(stderr, "Runtime error: %s", "Assert failed");
7302 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19641);
7303 exit(1);
7304 }
7305 var_tkwvarnode7 = var_nodearraylist3;
7306 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
7307 cltype19 = type_nullable_parser_nodes__TKwvar.color;
7308 idtype20 = type_nullable_parser_nodes__TKwvar.id;
7309 if(var_tkwvarnode7 == NULL) {
7310 var18 = 1;
7311 } else {
7312 if(cltype19 >= var_tkwvarnode7->type->table_size) {
7313 var18 = 0;
7314 } else {
7315 var18 = var_tkwvarnode7->type->type_table[cltype19] == idtype20;
7316 }
7317 }
7318 if (!var18) {
7319 fprintf(stderr, "Runtime error: %s", "Assert failed");
7320 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19643);
7321 exit(1);
7322 }
7323 var_tidnode9 = var_nodearraylist4;
7324 /* <var_tidnode9:nullable Object> isa nullable TId */
7325 cltype22 = type_nullable_parser_nodes__TId.color;
7326 idtype23 = type_nullable_parser_nodes__TId.id;
7327 if(var_tidnode9 == NULL) {
7328 var21 = 1;
7329 } else {
7330 if(cltype22 >= var_tidnode9->type->table_size) {
7331 var21 = 0;
7332 } else {
7333 var21 = var_tidnode9->type->type_table[cltype22] == idtype23;
7334 }
7335 }
7336 if (!var21) {
7337 fprintf(stderr, "Runtime error: %s", "Assert failed");
7338 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19645);
7339 exit(1);
7340 }
7341 var_ptypenode10 = var_nodearraylist5;
7342 /* <var_ptypenode10:nullable Object> isa nullable AType */
7343 cltype25 = type_nullable_parser_nodes__AType.color;
7344 idtype26 = type_nullable_parser_nodes__AType.id;
7345 if(var_ptypenode10 == NULL) {
7346 var24 = 1;
7347 } else {
7348 if(cltype25 >= var_ptypenode10->type->table_size) {
7349 var24 = 0;
7350 } else {
7351 var24 = var_ptypenode10->type->type_table[cltype25] == idtype26;
7352 }
7353 }
7354 if (!var24) {
7355 fprintf(stderr, "Runtime error: %s", "Assert failed");
7356 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19647);
7357 exit(1);
7358 }
7359 var_pannotationsnode11 = var_nodearraylist10;
7360 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
7361 cltype28 = type_nullable_parser_nodes__AAnnotations.color;
7362 idtype29 = type_nullable_parser_nodes__AAnnotations.id;
7363 if(var_pannotationsnode11 == NULL) {
7364 var27 = 1;
7365 } else {
7366 if(cltype28 >= var_pannotationsnode11->type->table_size) {
7367 var27 = 0;
7368 } else {
7369 var27 = var_pannotationsnode11->type->type_table[cltype28] == idtype29;
7370 }
7371 }
7372 if (!var27) {
7373 fprintf(stderr, "Runtime error: %s", "Assert failed");
7374 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19649);
7375 exit(1);
7376 }
7377 var_pexprnode12 = var_nodearraylist9;
7378 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
7379 cltype31 = type_nullable_parser_nodes__AExpr.color;
7380 idtype32 = type_nullable_parser_nodes__AExpr.id;
7381 if(var_pexprnode12 == NULL) {
7382 var30 = 1;
7383 } else {
7384 if(cltype31 >= var_pexprnode12->type->table_size) {
7385 var30 = 0;
7386 } else {
7387 var30 = var_pexprnode12->type->type_table[cltype31] == idtype32;
7388 }
7389 }
7390 if (!var30) {
7391 fprintf(stderr, "Runtime error: %s", "Assert failed");
7392 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19651);
7393 exit(1);
7394 }
7395 var33 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
7396 var34 = NULL;
7397 var35 = NULL;
7398 var36 = NULL;
7399 ((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>*/;
7400 CHECK_NEW_parser_nodes__AAttrPropdef(var33);
7401 var_ppropdefnode1 = var33;
7402 var_node_list = var_ppropdefnode1;
7403 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction443> */
7404 var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on <var_p:Parser>*/;
7405 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on <var_p:Parser>*/;
7406 RET_LABEL:;
7407 }
7408 /* method parser#ReduceAction443#action for (self: Object, Parser) */
7409 void VIRTUAL_parser__ReduceAction443__action(val* self, val* p0) {
7410 parser__ReduceAction443__action(self, p0);
7411 RET_LABEL:;
7412 }
7413 /* method parser#ReduceAction444#action for (self: ReduceAction444, Parser) */
7414 void parser__ReduceAction444__action(val* self, val* p0) {
7415 val* var_p /* var p: Parser */;
7416 val* var /* : null */;
7417 val* var_node_list /* var node_list: nullable Object */;
7418 val* var1 /* : nullable Object */;
7419 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
7420 val* var2 /* : nullable Object */;
7421 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7422 val* var3 /* : nullable Object */;
7423 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7424 val* var4 /* : nullable Object */;
7425 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7426 val* var5 /* : nullable Object */;
7427 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7428 val* var6 /* : nullable Object */;
7429 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7430 val* var7 /* : nullable Object */;
7431 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7432 val* var8 /* : nullable Object */;
7433 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7434 val* var9 /* : nullable Object */;
7435 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7436 val* var10 /* : nullable Object */;
7437 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7438 val* var11 /* : nullable Object */;
7439 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7440 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7441 short int var12 /* : Bool */;
7442 int cltype;
7443 int idtype;
7444 val* var_pablenode4 /* var pablenode4: nullable Object */;
7445 short int var13 /* : Bool */;
7446 int cltype14;
7447 int idtype15;
7448 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
7449 short int var16 /* : Bool */;
7450 int cltype17;
7451 int idtype18;
7452 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
7453 short int var19 /* : Bool */;
7454 int cltype20;
7455 int idtype21;
7456 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
7457 short int var22 /* : Bool */;
7458 int cltype23;
7459 int idtype24;
7460 val* var_tidnode9 /* var tidnode9: nullable Object */;
7461 short int var25 /* : Bool */;
7462 int cltype26;
7463 int idtype27;
7464 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
7465 short int var28 /* : Bool */;
7466 int cltype29;
7467 int idtype30;
7468 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
7469 short int var31 /* : Bool */;
7470 int cltype32;
7471 int idtype33;
7472 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
7473 short int var34 /* : Bool */;
7474 int cltype35;
7475 int idtype36;
7476 val* var37 /* : AAttrPropdef */;
7477 val* var38 /* : null */;
7478 val* var39 /* : null */;
7479 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
7480 long var40 /* : Int */;
7481 long var41 /* : Int */;
7482 var_p = p0;
7483 var = NULL;
7484 var_node_list = var;
7485 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7486 var_nodearraylist11 = var1;
7487 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7488 var_nodearraylist10 = var2;
7489 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7490 var_nodearraylist9 = var3;
7491 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7492 var_nodearraylist8 = var4;
7493 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7494 var_nodearraylist7 = var5;
7495 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7496 var_nodearraylist6 = var6;
7497 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7498 var_nodearraylist5 = var7;
7499 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7500 var_nodearraylist4 = var8;
7501 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7502 var_nodearraylist3 = var9;
7503 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7504 var_nodearraylist2 = var10;
7505 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7506 var_nodearraylist1 = var11;
7507 var_pdocnode2 = var_nodearraylist1;
7508 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7509 cltype = type_nullable_parser_nodes__ADoc.color;
7510 idtype = type_nullable_parser_nodes__ADoc.id;
7511 if(var_pdocnode2 == NULL) {
7512 var12 = 1;
7513 } else {
7514 if(cltype >= var_pdocnode2->type->table_size) {
7515 var12 = 0;
7516 } else {
7517 var12 = var_pdocnode2->type->type_table[cltype] == idtype;
7518 }
7519 }
7520 if (!var12) {
7521 fprintf(stderr, "Runtime error: %s", "Assert failed");
7522 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19686);
7523 exit(1);
7524 }
7525 var_pablenode4 = var_nodearraylist7;
7526 /* <var_pablenode4:nullable Object> isa nullable AAble */
7527 cltype14 = type_nullable_parser_nodes__AAble.color;
7528 idtype15 = type_nullable_parser_nodes__AAble.id;
7529 if(var_pablenode4 == NULL) {
7530 var13 = 1;
7531 } else {
7532 if(cltype14 >= var_pablenode4->type->table_size) {
7533 var13 = 0;
7534 } else {
7535 var13 = var_pablenode4->type->type_table[cltype14] == idtype15;
7536 }
7537 }
7538 if (!var13) {
7539 fprintf(stderr, "Runtime error: %s", "Assert failed");
7540 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19688);
7541 exit(1);
7542 }
7543 var_tkwredefnode5 = var_nodearraylist2;
7544 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
7545 cltype17 = type_nullable_parser_nodes__TKwredef.color;
7546 idtype18 = type_nullable_parser_nodes__TKwredef.id;
7547 if(var_tkwredefnode5 == NULL) {
7548 var16 = 1;
7549 } else {
7550 if(cltype17 >= var_tkwredefnode5->type->table_size) {
7551 var16 = 0;
7552 } else {
7553 var16 = var_tkwredefnode5->type->type_table[cltype17] == idtype18;
7554 }
7555 }
7556 if (!var16) {
7557 fprintf(stderr, "Runtime error: %s", "Assert failed");
7558 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19690);
7559 exit(1);
7560 }
7561 var_pvisibilitynode6 = var_nodearraylist3;
7562 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
7563 cltype20 = type_nullable_parser_nodes__AVisibility.color;
7564 idtype21 = type_nullable_parser_nodes__AVisibility.id;
7565 if(var_pvisibilitynode6 == NULL) {
7566 var19 = 1;
7567 } else {
7568 if(cltype20 >= var_pvisibilitynode6->type->table_size) {
7569 var19 = 0;
7570 } else {
7571 var19 = var_pvisibilitynode6->type->type_table[cltype20] == idtype21;
7572 }
7573 }
7574 if (!var19) {
7575 fprintf(stderr, "Runtime error: %s", "Assert failed");
7576 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19692);
7577 exit(1);
7578 }
7579 var_tkwvarnode7 = var_nodearraylist4;
7580 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
7581 cltype23 = type_nullable_parser_nodes__TKwvar.color;
7582 idtype24 = type_nullable_parser_nodes__TKwvar.id;
7583 if(var_tkwvarnode7 == NULL) {
7584 var22 = 1;
7585 } else {
7586 if(cltype23 >= var_tkwvarnode7->type->table_size) {
7587 var22 = 0;
7588 } else {
7589 var22 = var_tkwvarnode7->type->type_table[cltype23] == idtype24;
7590 }
7591 }
7592 if (!var22) {
7593 fprintf(stderr, "Runtime error: %s", "Assert failed");
7594 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19694);
7595 exit(1);
7596 }
7597 var_tidnode9 = var_nodearraylist5;
7598 /* <var_tidnode9:nullable Object> isa nullable TId */
7599 cltype26 = type_nullable_parser_nodes__TId.color;
7600 idtype27 = type_nullable_parser_nodes__TId.id;
7601 if(var_tidnode9 == NULL) {
7602 var25 = 1;
7603 } else {
7604 if(cltype26 >= var_tidnode9->type->table_size) {
7605 var25 = 0;
7606 } else {
7607 var25 = var_tidnode9->type->type_table[cltype26] == idtype27;
7608 }
7609 }
7610 if (!var25) {
7611 fprintf(stderr, "Runtime error: %s", "Assert failed");
7612 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19696);
7613 exit(1);
7614 }
7615 var_ptypenode10 = var_nodearraylist6;
7616 /* <var_ptypenode10:nullable Object> isa nullable AType */
7617 cltype29 = type_nullable_parser_nodes__AType.color;
7618 idtype30 = type_nullable_parser_nodes__AType.id;
7619 if(var_ptypenode10 == NULL) {
7620 var28 = 1;
7621 } else {
7622 if(cltype29 >= var_ptypenode10->type->table_size) {
7623 var28 = 0;
7624 } else {
7625 var28 = var_ptypenode10->type->type_table[cltype29] == idtype30;
7626 }
7627 }
7628 if (!var28) {
7629 fprintf(stderr, "Runtime error: %s", "Assert failed");
7630 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19698);
7631 exit(1);
7632 }
7633 var_pannotationsnode11 = var_nodearraylist11;
7634 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
7635 cltype32 = type_nullable_parser_nodes__AAnnotations.color;
7636 idtype33 = type_nullable_parser_nodes__AAnnotations.id;
7637 if(var_pannotationsnode11 == NULL) {
7638 var31 = 1;
7639 } else {
7640 if(cltype32 >= var_pannotationsnode11->type->table_size) {
7641 var31 = 0;
7642 } else {
7643 var31 = var_pannotationsnode11->type->type_table[cltype32] == idtype33;
7644 }
7645 }
7646 if (!var31) {
7647 fprintf(stderr, "Runtime error: %s", "Assert failed");
7648 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19700);
7649 exit(1);
7650 }
7651 var_pexprnode12 = var_nodearraylist10;
7652 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
7653 cltype35 = type_nullable_parser_nodes__AExpr.color;
7654 idtype36 = type_nullable_parser_nodes__AExpr.id;
7655 if(var_pexprnode12 == NULL) {
7656 var34 = 1;
7657 } else {
7658 if(cltype35 >= var_pexprnode12->type->table_size) {
7659 var34 = 0;
7660 } else {
7661 var34 = var_pexprnode12->type->type_table[cltype35] == idtype36;
7662 }
7663 }
7664 if (!var34) {
7665 fprintf(stderr, "Runtime error: %s", "Assert failed");
7666 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19702);
7667 exit(1);
7668 }
7669 var37 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
7670 var38 = NULL;
7671 var39 = NULL;
7672 ((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>*/;
7673 CHECK_NEW_parser_nodes__AAttrPropdef(var37);
7674 var_ppropdefnode1 = var37;
7675 var_node_list = var_ppropdefnode1;
7676 var40 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction444> */
7677 var41 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var40) /* go_to on <var_p:Parser>*/;
7678 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var41, var_node_list) /* push on <var_p:Parser>*/;
7679 RET_LABEL:;
7680 }
7681 /* method parser#ReduceAction444#action for (self: Object, Parser) */
7682 void VIRTUAL_parser__ReduceAction444__action(val* self, val* p0) {
7683 parser__ReduceAction444__action(self, p0);
7684 RET_LABEL:;
7685 }
7686 /* method parser#ReduceAction445#action for (self: ReduceAction445, Parser) */
7687 void parser__ReduceAction445__action(val* self, val* p0) {
7688 val* var_p /* var p: Parser */;
7689 val* var /* : null */;
7690 val* var_node_list /* var node_list: nullable Object */;
7691 val* var1 /* : nullable Object */;
7692 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7693 val* var2 /* : nullable Object */;
7694 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7695 val* var3 /* : nullable Object */;
7696 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7697 val* var4 /* : nullable Object */;
7698 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7699 val* var5 /* : nullable Object */;
7700 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7701 val* var6 /* : nullable Object */;
7702 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7703 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7704 short int var7 /* : Bool */;
7705 int cltype;
7706 int idtype;
7707 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7708 short int var8 /* : Bool */;
7709 int cltype9;
7710 int idtype10;
7711 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
7712 short int var11 /* : Bool */;
7713 int cltype12;
7714 int idtype13;
7715 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
7716 short int var14 /* : Bool */;
7717 int cltype15;
7718 int idtype16;
7719 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
7720 short int var17 /* : Bool */;
7721 int cltype18;
7722 int idtype19;
7723 val* var20 /* : AConcreteInitPropdef */;
7724 val* var21 /* : null */;
7725 val* var22 /* : null */;
7726 val* var23 /* : null */;
7727 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
7728 long var24 /* : Int */;
7729 long var25 /* : Int */;
7730 var_p = p0;
7731 var = NULL;
7732 var_node_list = var;
7733 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7734 var_nodearraylist6 = var1;
7735 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7736 var_nodearraylist5 = var2;
7737 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7738 var_nodearraylist4 = var3;
7739 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7740 var_nodearraylist3 = var4;
7741 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7742 var_nodearraylist2 = var5;
7743 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7744 var_nodearraylist1 = var6;
7745 var_pdocnode2 = var_nodearraylist1;
7746 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7747 cltype = type_nullable_parser_nodes__ADoc.color;
7748 idtype = type_nullable_parser_nodes__ADoc.id;
7749 if(var_pdocnode2 == NULL) {
7750 var7 = 1;
7751 } else {
7752 if(cltype >= var_pdocnode2->type->table_size) {
7753 var7 = 0;
7754 } else {
7755 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
7756 }
7757 }
7758 if (!var7) {
7759 fprintf(stderr, "Runtime error: %s", "Assert failed");
7760 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19732);
7761 exit(1);
7762 }
7763 var_pvisibilitynode4 = var_nodearraylist2;
7764 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7765 cltype9 = type_nullable_parser_nodes__AVisibility.color;
7766 idtype10 = type_nullable_parser_nodes__AVisibility.id;
7767 if(var_pvisibilitynode4 == NULL) {
7768 var8 = 1;
7769 } else {
7770 if(cltype9 >= var_pvisibilitynode4->type->table_size) {
7771 var8 = 0;
7772 } else {
7773 var8 = var_pvisibilitynode4->type->type_table[cltype9] == idtype10;
7774 }
7775 }
7776 if (!var8) {
7777 fprintf(stderr, "Runtime error: %s", "Assert failed");
7778 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19734);
7779 exit(1);
7780 }
7781 var_tkwinitnode5 = var_nodearraylist3;
7782 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
7783 cltype12 = type_nullable_parser_nodes__TKwinit.color;
7784 idtype13 = type_nullable_parser_nodes__TKwinit.id;
7785 if(var_tkwinitnode5 == NULL) {
7786 var11 = 1;
7787 } else {
7788 if(cltype12 >= var_tkwinitnode5->type->table_size) {
7789 var11 = 0;
7790 } else {
7791 var11 = var_tkwinitnode5->type->type_table[cltype12] == idtype13;
7792 }
7793 }
7794 if (!var11) {
7795 fprintf(stderr, "Runtime error: %s", "Assert failed");
7796 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19736);
7797 exit(1);
7798 }
7799 var_psignaturenode7 = var_nodearraylist4;
7800 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
7801 cltype15 = type_nullable_parser_nodes__ASignature.color;
7802 idtype16 = type_nullable_parser_nodes__ASignature.id;
7803 if(var_psignaturenode7 == NULL) {
7804 var14 = 1;
7805 } else {
7806 if(cltype15 >= var_psignaturenode7->type->table_size) {
7807 var14 = 0;
7808 } else {
7809 var14 = var_psignaturenode7->type->type_table[cltype15] == idtype16;
7810 }
7811 }
7812 if (!var14) {
7813 fprintf(stderr, "Runtime error: %s", "Assert failed");
7814 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19738);
7815 exit(1);
7816 }
7817 var_pexprnode9 = var_nodearraylist6;
7818 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
7819 cltype18 = type_nullable_parser_nodes__AExpr.color;
7820 idtype19 = type_nullable_parser_nodes__AExpr.id;
7821 if(var_pexprnode9 == NULL) {
7822 var17 = 1;
7823 } else {
7824 if(cltype18 >= var_pexprnode9->type->table_size) {
7825 var17 = 0;
7826 } else {
7827 var17 = var_pexprnode9->type->type_table[cltype18] == idtype19;
7828 }
7829 }
7830 if (!var17) {
7831 fprintf(stderr, "Runtime error: %s", "Assert failed");
7832 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19740);
7833 exit(1);
7834 }
7835 var20 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
7836 var21 = NULL;
7837 var22 = NULL;
7838 var23 = NULL;
7839 ((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>*/;
7840 CHECK_NEW_parser_nodes__AConcreteInitPropdef(var20);
7841 var_ppropdefnode1 = var20;
7842 var_node_list = var_ppropdefnode1;
7843 var24 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction445> */
7844 var25 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var24) /* go_to on <var_p:Parser>*/;
7845 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var25, var_node_list) /* push on <var_p:Parser>*/;
7846 RET_LABEL:;
7847 }
7848 /* method parser#ReduceAction445#action for (self: Object, Parser) */
7849 void VIRTUAL_parser__ReduceAction445__action(val* self, val* p0) {
7850 parser__ReduceAction445__action(self, p0);
7851 RET_LABEL:;
7852 }
7853 /* method parser#ReduceAction446#action for (self: ReduceAction446, Parser) */
7854 void parser__ReduceAction446__action(val* self, val* p0) {
7855 val* var_p /* var p: Parser */;
7856 val* var /* : null */;
7857 val* var_node_list /* var node_list: nullable Object */;
7858 val* var1 /* : nullable Object */;
7859 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7860 val* var2 /* : nullable Object */;
7861 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7862 val* var3 /* : nullable Object */;
7863 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7864 val* var4 /* : nullable Object */;
7865 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7866 val* var5 /* : nullable Object */;
7867 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7868 val* var6 /* : nullable Object */;
7869 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7870 val* var7 /* : nullable Object */;
7871 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7872 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7873 short int var8 /* : Bool */;
7874 int cltype;
7875 int idtype;
7876 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
7877 short int var9 /* : Bool */;
7878 int cltype10;
7879 int idtype11;
7880 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7881 short int var12 /* : Bool */;
7882 int cltype13;
7883 int idtype14;
7884 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
7885 short int var15 /* : Bool */;
7886 int cltype16;
7887 int idtype17;
7888 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
7889 short int var18 /* : Bool */;
7890 int cltype19;
7891 int idtype20;
7892 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
7893 short int var21 /* : Bool */;
7894 int cltype22;
7895 int idtype23;
7896 val* var24 /* : AConcreteInitPropdef */;
7897 val* var25 /* : null */;
7898 val* var26 /* : null */;
7899 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
7900 long var27 /* : Int */;
7901 long var28 /* : Int */;
7902 var_p = p0;
7903 var = NULL;
7904 var_node_list = var;
7905 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7906 var_nodearraylist7 = var1;
7907 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7908 var_nodearraylist6 = var2;
7909 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7910 var_nodearraylist5 = var3;
7911 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7912 var_nodearraylist4 = var4;
7913 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7914 var_nodearraylist3 = var5;
7915 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7916 var_nodearraylist2 = var6;
7917 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7918 var_nodearraylist1 = var7;
7919 var_pdocnode2 = var_nodearraylist1;
7920 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7921 cltype = type_nullable_parser_nodes__ADoc.color;
7922 idtype = type_nullable_parser_nodes__ADoc.id;
7923 if(var_pdocnode2 == NULL) {
7924 var8 = 1;
7925 } else {
7926 if(cltype >= var_pdocnode2->type->table_size) {
7927 var8 = 0;
7928 } else {
7929 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
7930 }
7931 }
7932 if (!var8) {
7933 fprintf(stderr, "Runtime error: %s", "Assert failed");
7934 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19768);
7935 exit(1);
7936 }
7937 var_tkwredefnode3 = var_nodearraylist2;
7938 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7939 cltype10 = type_nullable_parser_nodes__TKwredef.color;
7940 idtype11 = type_nullable_parser_nodes__TKwredef.id;
7941 if(var_tkwredefnode3 == NULL) {
7942 var9 = 1;
7943 } else {
7944 if(cltype10 >= var_tkwredefnode3->type->table_size) {
7945 var9 = 0;
7946 } else {
7947 var9 = var_tkwredefnode3->type->type_table[cltype10] == idtype11;
7948 }
7949 }
7950 if (!var9) {
7951 fprintf(stderr, "Runtime error: %s", "Assert failed");
7952 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19770);
7953 exit(1);
7954 }
7955 var_pvisibilitynode4 = var_nodearraylist3;
7956 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7957 cltype13 = type_nullable_parser_nodes__AVisibility.color;
7958 idtype14 = type_nullable_parser_nodes__AVisibility.id;
7959 if(var_pvisibilitynode4 == NULL) {
7960 var12 = 1;
7961 } else {
7962 if(cltype13 >= var_pvisibilitynode4->type->table_size) {
7963 var12 = 0;
7964 } else {
7965 var12 = var_pvisibilitynode4->type->type_table[cltype13] == idtype14;
7966 }
7967 }
7968 if (!var12) {
7969 fprintf(stderr, "Runtime error: %s", "Assert failed");
7970 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19772);
7971 exit(1);
7972 }
7973 var_tkwinitnode5 = var_nodearraylist4;
7974 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
7975 cltype16 = type_nullable_parser_nodes__TKwinit.color;
7976 idtype17 = type_nullable_parser_nodes__TKwinit.id;
7977 if(var_tkwinitnode5 == NULL) {
7978 var15 = 1;
7979 } else {
7980 if(cltype16 >= var_tkwinitnode5->type->table_size) {
7981 var15 = 0;
7982 } else {
7983 var15 = var_tkwinitnode5->type->type_table[cltype16] == idtype17;
7984 }
7985 }
7986 if (!var15) {
7987 fprintf(stderr, "Runtime error: %s", "Assert failed");
7988 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19774);
7989 exit(1);
7990 }
7991 var_psignaturenode7 = var_nodearraylist5;
7992 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
7993 cltype19 = type_nullable_parser_nodes__ASignature.color;
7994 idtype20 = type_nullable_parser_nodes__ASignature.id;
7995 if(var_psignaturenode7 == NULL) {
7996 var18 = 1;
7997 } else {
7998 if(cltype19 >= var_psignaturenode7->type->table_size) {
7999 var18 = 0;
8000 } else {
8001 var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20;
8002 }
8003 }
8004 if (!var18) {
8005 fprintf(stderr, "Runtime error: %s", "Assert failed");
8006 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19776);
8007 exit(1);
8008 }
8009 var_pexprnode9 = var_nodearraylist7;
8010 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
8011 cltype22 = type_nullable_parser_nodes__AExpr.color;
8012 idtype23 = type_nullable_parser_nodes__AExpr.id;
8013 if(var_pexprnode9 == NULL) {
8014 var21 = 1;
8015 } else {
8016 if(cltype22 >= var_pexprnode9->type->table_size) {
8017 var21 = 0;
8018 } else {
8019 var21 = var_pexprnode9->type->type_table[cltype22] == idtype23;
8020 }
8021 }
8022 if (!var21) {
8023 fprintf(stderr, "Runtime error: %s", "Assert failed");
8024 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19778);
8025 exit(1);
8026 }
8027 var24 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
8028 var25 = NULL;
8029 var26 = NULL;
8030 ((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>*/;
8031 CHECK_NEW_parser_nodes__AConcreteInitPropdef(var24);
8032 var_ppropdefnode1 = var24;
8033 var_node_list = var_ppropdefnode1;
8034 var27 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction446> */
8035 var28 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var27) /* go_to on <var_p:Parser>*/;
8036 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var28, var_node_list) /* push on <var_p:Parser>*/;
8037 RET_LABEL:;
8038 }
8039 /* method parser#ReduceAction446#action for (self: Object, Parser) */
8040 void VIRTUAL_parser__ReduceAction446__action(val* self, val* p0) {
8041 parser__ReduceAction446__action(self, p0);
8042 RET_LABEL:;
8043 }
8044 /* method parser#ReduceAction447#action for (self: ReduceAction447, Parser) */
8045 void parser__ReduceAction447__action(val* self, val* p0) {
8046 val* var_p /* var p: Parser */;
8047 val* var /* : null */;
8048 val* var_node_list /* var node_list: nullable Object */;
8049 val* var1 /* : nullable Object */;
8050 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8051 val* var2 /* : nullable Object */;
8052 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8053 val* var3 /* : nullable Object */;
8054 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8055 val* var4 /* : nullable Object */;
8056 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8057 val* var5 /* : nullable Object */;
8058 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8059 val* var6 /* : nullable Object */;
8060 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8061 val* var7 /* : nullable Object */;
8062 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8063 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8064 short int var8 /* : Bool */;
8065 int cltype;
8066 int idtype;
8067 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8068 short int var9 /* : Bool */;
8069 int cltype10;
8070 int idtype11;
8071 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
8072 short int var12 /* : Bool */;
8073 int cltype13;
8074 int idtype14;
8075 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
8076 short int var15 /* : Bool */;
8077 int cltype16;
8078 int idtype17;
8079 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
8080 short int var18 /* : Bool */;
8081 int cltype19;
8082 int idtype20;
8083 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
8084 short int var21 /* : Bool */;
8085 int cltype22;
8086 int idtype23;
8087 val* var24 /* : AConcreteInitPropdef */;
8088 val* var25 /* : null */;
8089 val* var26 /* : null */;
8090 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
8091 long var27 /* : Int */;
8092 long var28 /* : Int */;
8093 var_p = p0;
8094 var = NULL;
8095 var_node_list = var;
8096 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8097 var_nodearraylist7 = var1;
8098 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8099 var_nodearraylist6 = var2;
8100 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8101 var_nodearraylist5 = var3;
8102 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8103 var_nodearraylist4 = var4;
8104 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8105 var_nodearraylist3 = var5;
8106 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8107 var_nodearraylist2 = var6;
8108 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8109 var_nodearraylist1 = var7;
8110 var_pdocnode2 = var_nodearraylist1;
8111 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8112 cltype = type_nullable_parser_nodes__ADoc.color;
8113 idtype = type_nullable_parser_nodes__ADoc.id;
8114 if(var_pdocnode2 == NULL) {
8115 var8 = 1;
8116 } else {
8117 if(cltype >= var_pdocnode2->type->table_size) {
8118 var8 = 0;
8119 } else {
8120 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
8121 }
8122 }
8123 if (!var8) {
8124 fprintf(stderr, "Runtime error: %s", "Assert failed");
8125 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19806);
8126 exit(1);
8127 }
8128 var_pvisibilitynode4 = var_nodearraylist2;
8129 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8130 cltype10 = type_nullable_parser_nodes__AVisibility.color;
8131 idtype11 = type_nullable_parser_nodes__AVisibility.id;
8132 if(var_pvisibilitynode4 == NULL) {
8133 var9 = 1;
8134 } else {
8135 if(cltype10 >= var_pvisibilitynode4->type->table_size) {
8136 var9 = 0;
8137 } else {
8138 var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11;
8139 }
8140 }
8141 if (!var9) {
8142 fprintf(stderr, "Runtime error: %s", "Assert failed");
8143 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19808);
8144 exit(1);
8145 }
8146 var_tkwinitnode5 = var_nodearraylist3;
8147 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
8148 cltype13 = type_nullable_parser_nodes__TKwinit.color;
8149 idtype14 = type_nullable_parser_nodes__TKwinit.id;
8150 if(var_tkwinitnode5 == NULL) {
8151 var12 = 1;
8152 } else {
8153 if(cltype13 >= var_tkwinitnode5->type->table_size) {
8154 var12 = 0;
8155 } else {
8156 var12 = var_tkwinitnode5->type->type_table[cltype13] == idtype14;
8157 }
8158 }
8159 if (!var12) {
8160 fprintf(stderr, "Runtime error: %s", "Assert failed");
8161 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19810);
8162 exit(1);
8163 }
8164 var_pmethidnode6 = var_nodearraylist4;
8165 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
8166 cltype16 = type_nullable_parser_nodes__AMethid.color;
8167 idtype17 = type_nullable_parser_nodes__AMethid.id;
8168 if(var_pmethidnode6 == NULL) {
8169 var15 = 1;
8170 } else {
8171 if(cltype16 >= var_pmethidnode6->type->table_size) {
8172 var15 = 0;
8173 } else {
8174 var15 = var_pmethidnode6->type->type_table[cltype16] == idtype17;
8175 }
8176 }
8177 if (!var15) {
8178 fprintf(stderr, "Runtime error: %s", "Assert failed");
8179 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19812);
8180 exit(1);
8181 }
8182 var_psignaturenode7 = var_nodearraylist5;
8183 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
8184 cltype19 = type_nullable_parser_nodes__ASignature.color;
8185 idtype20 = type_nullable_parser_nodes__ASignature.id;
8186 if(var_psignaturenode7 == NULL) {
8187 var18 = 1;
8188 } else {
8189 if(cltype19 >= var_psignaturenode7->type->table_size) {
8190 var18 = 0;
8191 } else {
8192 var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20;
8193 }
8194 }
8195 if (!var18) {
8196 fprintf(stderr, "Runtime error: %s", "Assert failed");
8197 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19814);
8198 exit(1);
8199 }
8200 var_pexprnode9 = var_nodearraylist7;
8201 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
8202 cltype22 = type_nullable_parser_nodes__AExpr.color;
8203 idtype23 = type_nullable_parser_nodes__AExpr.id;
8204 if(var_pexprnode9 == NULL) {
8205 var21 = 1;
8206 } else {
8207 if(cltype22 >= var_pexprnode9->type->table_size) {
8208 var21 = 0;
8209 } else {
8210 var21 = var_pexprnode9->type->type_table[cltype22] == idtype23;
8211 }
8212 }
8213 if (!var21) {
8214 fprintf(stderr, "Runtime error: %s", "Assert failed");
8215 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19816);
8216 exit(1);
8217 }
8218 var24 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
8219 var25 = NULL;
8220 var26 = NULL;
8221 ((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>*/;
8222 CHECK_NEW_parser_nodes__AConcreteInitPropdef(var24);
8223 var_ppropdefnode1 = var24;
8224 var_node_list = var_ppropdefnode1;
8225 var27 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction447> */
8226 var28 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var27) /* go_to on <var_p:Parser>*/;
8227 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var28, var_node_list) /* push on <var_p:Parser>*/;
8228 RET_LABEL:;
8229 }
8230 /* method parser#ReduceAction447#action for (self: Object, Parser) */
8231 void VIRTUAL_parser__ReduceAction447__action(val* self, val* p0) {
8232 parser__ReduceAction447__action(self, p0);
8233 RET_LABEL:;
8234 }
8235 /* method parser#ReduceAction448#action for (self: ReduceAction448, Parser) */
8236 void parser__ReduceAction448__action(val* self, val* p0) {
8237 val* var_p /* var p: Parser */;
8238 val* var /* : null */;
8239 val* var_node_list /* var node_list: nullable Object */;
8240 val* var1 /* : nullable Object */;
8241 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8242 val* var2 /* : nullable Object */;
8243 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8244 val* var3 /* : nullable Object */;
8245 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8246 val* var4 /* : nullable Object */;
8247 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8248 val* var5 /* : nullable Object */;
8249 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8250 val* var6 /* : nullable Object */;
8251 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8252 val* var7 /* : nullable Object */;
8253 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8254 val* var8 /* : nullable Object */;
8255 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8256 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8257 short int var9 /* : Bool */;
8258 int cltype;
8259 int idtype;
8260 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
8261 short int var10 /* : Bool */;
8262 int cltype11;
8263 int idtype12;
8264 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8265 short int var13 /* : Bool */;
8266 int cltype14;
8267 int idtype15;
8268 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
8269 short int var16 /* : Bool */;
8270 int cltype17;
8271 int idtype18;
8272 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
8273 short int var19 /* : Bool */;
8274 int cltype20;
8275 int idtype21;
8276 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
8277 short int var22 /* : Bool */;
8278 int cltype23;
8279 int idtype24;
8280 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
8281 short int var25 /* : Bool */;
8282 int cltype26;
8283 int idtype27;
8284 val* var28 /* : AConcreteInitPropdef */;
8285 val* var29 /* : null */;
8286 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
8287 long var30 /* : Int */;
8288 long var31 /* : Int */;
8289 var_p = p0;
8290 var = NULL;
8291 var_node_list = var;
8292 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8293 var_nodearraylist8 = var1;
8294 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8295 var_nodearraylist7 = var2;
8296 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8297 var_nodearraylist6 = var3;
8298 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8299 var_nodearraylist5 = var4;
8300 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8301 var_nodearraylist4 = var5;
8302 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8303 var_nodearraylist3 = var6;
8304 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8305 var_nodearraylist2 = var7;
8306 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8307 var_nodearraylist1 = var8;
8308 var_pdocnode2 = var_nodearraylist1;
8309 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8310 cltype = type_nullable_parser_nodes__ADoc.color;
8311 idtype = type_nullable_parser_nodes__ADoc.id;
8312 if(var_pdocnode2 == NULL) {
8313 var9 = 1;
8314 } else {
8315 if(cltype >= var_pdocnode2->type->table_size) {
8316 var9 = 0;
8317 } else {
8318 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
8319 }
8320 }
8321 if (!var9) {
8322 fprintf(stderr, "Runtime error: %s", "Assert failed");
8323 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19845);
8324 exit(1);
8325 }
8326 var_tkwredefnode3 = var_nodearraylist2;
8327 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8328 cltype11 = type_nullable_parser_nodes__TKwredef.color;
8329 idtype12 = type_nullable_parser_nodes__TKwredef.id;
8330 if(var_tkwredefnode3 == NULL) {
8331 var10 = 1;
8332 } else {
8333 if(cltype11 >= var_tkwredefnode3->type->table_size) {
8334 var10 = 0;
8335 } else {
8336 var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12;
8337 }
8338 }
8339 if (!var10) {
8340 fprintf(stderr, "Runtime error: %s", "Assert failed");
8341 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19847);
8342 exit(1);
8343 }
8344 var_pvisibilitynode4 = var_nodearraylist3;
8345 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8346 cltype14 = type_nullable_parser_nodes__AVisibility.color;
8347 idtype15 = type_nullable_parser_nodes__AVisibility.id;
8348 if(var_pvisibilitynode4 == NULL) {
8349 var13 = 1;
8350 } else {
8351 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
8352 var13 = 0;
8353 } else {
8354 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
8355 }
8356 }
8357 if (!var13) {
8358 fprintf(stderr, "Runtime error: %s", "Assert failed");
8359 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19849);
8360 exit(1);
8361 }
8362 var_tkwinitnode5 = var_nodearraylist4;
8363 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
8364 cltype17 = type_nullable_parser_nodes__TKwinit.color;
8365 idtype18 = type_nullable_parser_nodes__TKwinit.id;
8366 if(var_tkwinitnode5 == NULL) {
8367 var16 = 1;
8368 } else {
8369 if(cltype17 >= var_tkwinitnode5->type->table_size) {
8370 var16 = 0;
8371 } else {
8372 var16 = var_tkwinitnode5->type->type_table[cltype17] == idtype18;
8373 }
8374 }
8375 if (!var16) {
8376 fprintf(stderr, "Runtime error: %s", "Assert failed");
8377 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19851);
8378 exit(1);
8379 }
8380 var_pmethidnode6 = var_nodearraylist5;
8381 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
8382 cltype20 = type_nullable_parser_nodes__AMethid.color;
8383 idtype21 = type_nullable_parser_nodes__AMethid.id;
8384 if(var_pmethidnode6 == NULL) {
8385 var19 = 1;
8386 } else {
8387 if(cltype20 >= var_pmethidnode6->type->table_size) {
8388 var19 = 0;
8389 } else {
8390 var19 = var_pmethidnode6->type->type_table[cltype20] == idtype21;
8391 }
8392 }
8393 if (!var19) {
8394 fprintf(stderr, "Runtime error: %s", "Assert failed");
8395 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19853);
8396 exit(1);
8397 }
8398 var_psignaturenode7 = var_nodearraylist6;
8399 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
8400 cltype23 = type_nullable_parser_nodes__ASignature.color;
8401 idtype24 = type_nullable_parser_nodes__ASignature.id;
8402 if(var_psignaturenode7 == NULL) {
8403 var22 = 1;
8404 } else {
8405 if(cltype23 >= var_psignaturenode7->type->table_size) {
8406 var22 = 0;
8407 } else {
8408 var22 = var_psignaturenode7->type->type_table[cltype23] == idtype24;
8409 }
8410 }
8411 if (!var22) {
8412 fprintf(stderr, "Runtime error: %s", "Assert failed");
8413 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19855);
8414 exit(1);
8415 }
8416 var_pexprnode9 = var_nodearraylist8;
8417 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
8418 cltype26 = type_nullable_parser_nodes__AExpr.color;
8419 idtype27 = type_nullable_parser_nodes__AExpr.id;
8420 if(var_pexprnode9 == NULL) {
8421 var25 = 1;
8422 } else {
8423 if(cltype26 >= var_pexprnode9->type->table_size) {
8424 var25 = 0;
8425 } else {
8426 var25 = var_pexprnode9->type->type_table[cltype26] == idtype27;
8427 }
8428 }
8429 if (!var25) {
8430 fprintf(stderr, "Runtime error: %s", "Assert failed");
8431 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19857);
8432 exit(1);
8433 }
8434 var28 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
8435 var29 = NULL;
8436 ((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>*/;
8437 CHECK_NEW_parser_nodes__AConcreteInitPropdef(var28);
8438 var_ppropdefnode1 = var28;
8439 var_node_list = var_ppropdefnode1;
8440 var30 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction448> */
8441 var31 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var30) /* go_to on <var_p:Parser>*/;
8442 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var31, var_node_list) /* push on <var_p:Parser>*/;
8443 RET_LABEL:;
8444 }
8445 /* method parser#ReduceAction448#action for (self: Object, Parser) */
8446 void VIRTUAL_parser__ReduceAction448__action(val* self, val* p0) {
8447 parser__ReduceAction448__action(self, p0);
8448 RET_LABEL:;
8449 }
8450 /* method parser#ReduceAction449#action for (self: ReduceAction449, Parser) */
8451 void parser__ReduceAction449__action(val* self, val* p0) {
8452 val* var_p /* var p: Parser */;
8453 val* var /* : null */;
8454 val* var_node_list /* var node_list: nullable Object */;
8455 val* var1 /* : nullable Object */;
8456 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8457 val* var2 /* : nullable Object */;
8458 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8459 val* var3 /* : nullable Object */;
8460 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8461 val* var4 /* : nullable Object */;
8462 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8463 val* var5 /* : nullable Object */;
8464 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8465 val* var6 /* : nullable Object */;
8466 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8467 val* var7 /* : nullable Object */;
8468 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8469 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8470 short int var8 /* : Bool */;
8471 int cltype;
8472 int idtype;
8473 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8474 short int var9 /* : Bool */;
8475 int cltype10;
8476 int idtype11;
8477 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
8478 short int var12 /* : Bool */;
8479 int cltype13;
8480 int idtype14;
8481 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
8482 short int var15 /* : Bool */;
8483 int cltype16;
8484 int idtype17;
8485 val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */;
8486 short int var18 /* : Bool */;
8487 int cltype19;
8488 int idtype20;
8489 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
8490 short int var21 /* : Bool */;
8491 int cltype22;
8492 int idtype23;
8493 val* var24 /* : AConcreteInitPropdef */;
8494 val* var25 /* : null */;
8495 val* var26 /* : null */;
8496 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
8497 long var27 /* : Int */;
8498 long var28 /* : Int */;
8499 var_p = p0;
8500 var = NULL;
8501 var_node_list = var;
8502 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8503 var_nodearraylist7 = var1;
8504 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8505 var_nodearraylist6 = var2;
8506 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8507 var_nodearraylist5 = var3;
8508 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8509 var_nodearraylist4 = var4;
8510 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8511 var_nodearraylist3 = var5;
8512 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8513 var_nodearraylist2 = var6;
8514 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8515 var_nodearraylist1 = var7;
8516 var_pdocnode2 = var_nodearraylist1;
8517 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8518 cltype = type_nullable_parser_nodes__ADoc.color;
8519 idtype = type_nullable_parser_nodes__ADoc.id;
8520 if(var_pdocnode2 == NULL) {
8521 var8 = 1;
8522 } else {
8523 if(cltype >= var_pdocnode2->type->table_size) {
8524 var8 = 0;
8525 } else {
8526 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
8527 }
8528 }
8529 if (!var8) {
8530 fprintf(stderr, "Runtime error: %s", "Assert failed");
8531 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19885);
8532 exit(1);
8533 }
8534 var_pvisibilitynode4 = var_nodearraylist2;
8535 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8536 cltype10 = type_nullable_parser_nodes__AVisibility.color;
8537 idtype11 = type_nullable_parser_nodes__AVisibility.id;
8538 if(var_pvisibilitynode4 == NULL) {
8539 var9 = 1;
8540 } else {
8541 if(cltype10 >= var_pvisibilitynode4->type->table_size) {
8542 var9 = 0;
8543 } else {
8544 var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11;
8545 }
8546 }
8547 if (!var9) {
8548 fprintf(stderr, "Runtime error: %s", "Assert failed");
8549 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19887);
8550 exit(1);
8551 }
8552 var_tkwinitnode5 = var_nodearraylist3;
8553 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
8554 cltype13 = type_nullable_parser_nodes__TKwinit.color;
8555 idtype14 = type_nullable_parser_nodes__TKwinit.id;
8556 if(var_tkwinitnode5 == NULL) {
8557 var12 = 1;
8558 } else {
8559 if(cltype13 >= var_tkwinitnode5->type->table_size) {
8560 var12 = 0;
8561 } else {
8562 var12 = var_tkwinitnode5->type->type_table[cltype13] == idtype14;
8563 }
8564 }
8565 if (!var12) {
8566 fprintf(stderr, "Runtime error: %s", "Assert failed");
8567 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19889);
8568 exit(1);
8569 }
8570 var_psignaturenode7 = var_nodearraylist4;
8571 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
8572 cltype16 = type_nullable_parser_nodes__ASignature.color;
8573 idtype17 = type_nullable_parser_nodes__ASignature.id;
8574 if(var_psignaturenode7 == NULL) {
8575 var15 = 1;
8576 } else {
8577 if(cltype16 >= var_psignaturenode7->type->table_size) {
8578 var15 = 0;
8579 } else {
8580 var15 = var_psignaturenode7->type->type_table[cltype16] == idtype17;
8581 }
8582 }
8583 if (!var15) {
8584 fprintf(stderr, "Runtime error: %s", "Assert failed");
8585 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19891);
8586 exit(1);
8587 }
8588 var_pannotationsnode8 = var_nodearraylist5;
8589 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
8590 cltype19 = type_nullable_parser_nodes__AAnnotations.color;
8591 idtype20 = type_nullable_parser_nodes__AAnnotations.id;
8592 if(var_pannotationsnode8 == NULL) {
8593 var18 = 1;
8594 } else {
8595 if(cltype19 >= var_pannotationsnode8->type->table_size) {
8596 var18 = 0;
8597 } else {
8598 var18 = var_pannotationsnode8->type->type_table[cltype19] == idtype20;
8599 }
8600 }
8601 if (!var18) {
8602 fprintf(stderr, "Runtime error: %s", "Assert failed");
8603 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19893);
8604 exit(1);
8605 }
8606 var_pexprnode9 = var_nodearraylist7;
8607 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
8608 cltype22 = type_nullable_parser_nodes__AExpr.color;
8609 idtype23 = type_nullable_parser_nodes__AExpr.id;
8610 if(var_pexprnode9 == NULL) {
8611 var21 = 1;
8612 } else {
8613 if(cltype22 >= var_pexprnode9->type->table_size) {
8614 var21 = 0;
8615 } else {
8616 var21 = var_pexprnode9->type->type_table[cltype22] == idtype23;
8617 }
8618 }
8619 if (!var21) {
8620 fprintf(stderr, "Runtime error: %s", "Assert failed");
8621 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19895);
8622 exit(1);
8623 }
8624 var24 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
8625 var25 = NULL;
8626 var26 = NULL;
8627 ((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>*/;
8628 CHECK_NEW_parser_nodes__AConcreteInitPropdef(var24);
8629 var_ppropdefnode1 = var24;
8630 var_node_list = var_ppropdefnode1;
8631 var27 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction449> */
8632 var28 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var27) /* go_to on <var_p:Parser>*/;
8633 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var28, var_node_list) /* push on <var_p:Parser>*/;
8634 RET_LABEL:;
8635 }
8636 /* method parser#ReduceAction449#action for (self: Object, Parser) */
8637 void VIRTUAL_parser__ReduceAction449__action(val* self, val* p0) {
8638 parser__ReduceAction449__action(self, p0);
8639 RET_LABEL:;
8640 }
8641 /* method parser#ReduceAction450#action for (self: ReduceAction450, Parser) */
8642 void parser__ReduceAction450__action(val* self, val* p0) {
8643 val* var_p /* var p: Parser */;
8644 val* var /* : null */;
8645 val* var_node_list /* var node_list: nullable Object */;
8646 val* var1 /* : nullable Object */;
8647 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8648 val* var2 /* : nullable Object */;
8649 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8650 val* var3 /* : nullable Object */;
8651 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8652 val* var4 /* : nullable Object */;
8653 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8654 val* var5 /* : nullable Object */;
8655 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8656 val* var6 /* : nullable Object */;
8657 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8658 val* var7 /* : nullable Object */;
8659 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8660 val* var8 /* : nullable Object */;
8661 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8662 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8663 short int var9 /* : Bool */;
8664 int cltype;
8665 int idtype;
8666 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
8667 short int var10 /* : Bool */;
8668 int cltype11;
8669 int idtype12;
8670 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8671 short int var13 /* : Bool */;
8672 int cltype14;
8673 int idtype15;
8674 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
8675 short int var16 /* : Bool */;
8676 int cltype17;
8677 int idtype18;
8678 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
8679 short int var19 /* : Bool */;
8680 int cltype20;
8681 int idtype21;
8682 val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */;
8683 short int var22 /* : Bool */;
8684 int cltype23;
8685 int idtype24;
8686 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
8687 short int var25 /* : Bool */;
8688 int cltype26;
8689 int idtype27;
8690 val* var28 /* : AConcreteInitPropdef */;
8691 val* var29 /* : null */;
8692 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
8693 long var30 /* : Int */;
8694 long var31 /* : Int */;
8695 var_p = p0;
8696 var = NULL;
8697 var_node_list = var;
8698 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8699 var_nodearraylist8 = var1;
8700 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8701 var_nodearraylist7 = var2;
8702 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8703 var_nodearraylist6 = var3;
8704 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8705 var_nodearraylist5 = var4;
8706 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8707 var_nodearraylist4 = var5;
8708 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8709 var_nodearraylist3 = var6;
8710 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8711 var_nodearraylist2 = var7;
8712 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8713 var_nodearraylist1 = var8;
8714 var_pdocnode2 = var_nodearraylist1;
8715 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8716 cltype = type_nullable_parser_nodes__ADoc.color;
8717 idtype = type_nullable_parser_nodes__ADoc.id;
8718 if(var_pdocnode2 == NULL) {
8719 var9 = 1;
8720 } else {
8721 if(cltype >= var_pdocnode2->type->table_size) {
8722 var9 = 0;
8723 } else {
8724 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
8725 }
8726 }
8727 if (!var9) {
8728 fprintf(stderr, "Runtime error: %s", "Assert failed");
8729 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19924);
8730 exit(1);
8731 }
8732 var_tkwredefnode3 = var_nodearraylist2;
8733 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8734 cltype11 = type_nullable_parser_nodes__TKwredef.color;
8735 idtype12 = type_nullable_parser_nodes__TKwredef.id;
8736 if(var_tkwredefnode3 == NULL) {
8737 var10 = 1;
8738 } else {
8739 if(cltype11 >= var_tkwredefnode3->type->table_size) {
8740 var10 = 0;
8741 } else {
8742 var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12;
8743 }
8744 }
8745 if (!var10) {
8746 fprintf(stderr, "Runtime error: %s", "Assert failed");
8747 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19926);
8748 exit(1);
8749 }
8750 var_pvisibilitynode4 = var_nodearraylist3;
8751 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8752 cltype14 = type_nullable_parser_nodes__AVisibility.color;
8753 idtype15 = type_nullable_parser_nodes__AVisibility.id;
8754 if(var_pvisibilitynode4 == NULL) {
8755 var13 = 1;
8756 } else {
8757 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
8758 var13 = 0;
8759 } else {
8760 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
8761 }
8762 }
8763 if (!var13) {
8764 fprintf(stderr, "Runtime error: %s", "Assert failed");
8765 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19928);
8766 exit(1);
8767 }
8768 var_tkwinitnode5 = var_nodearraylist4;
8769 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
8770 cltype17 = type_nullable_parser_nodes__TKwinit.color;
8771 idtype18 = type_nullable_parser_nodes__TKwinit.id;
8772 if(var_tkwinitnode5 == NULL) {
8773 var16 = 1;
8774 } else {
8775 if(cltype17 >= var_tkwinitnode5->type->table_size) {
8776 var16 = 0;
8777 } else {
8778 var16 = var_tkwinitnode5->type->type_table[cltype17] == idtype18;
8779 }
8780 }
8781 if (!var16) {
8782 fprintf(stderr, "Runtime error: %s", "Assert failed");
8783 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19930);
8784 exit(1);
8785 }
8786 var_psignaturenode7 = var_nodearraylist5;
8787 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
8788 cltype20 = type_nullable_parser_nodes__ASignature.color;
8789 idtype21 = type_nullable_parser_nodes__ASignature.id;
8790 if(var_psignaturenode7 == NULL) {
8791 var19 = 1;
8792 } else {
8793 if(cltype20 >= var_psignaturenode7->type->table_size) {
8794 var19 = 0;
8795 } else {
8796 var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
8797 }
8798 }
8799 if (!var19) {
8800 fprintf(stderr, "Runtime error: %s", "Assert failed");
8801 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19932);
8802 exit(1);
8803 }
8804 var_pannotationsnode8 = var_nodearraylist6;
8805 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
8806 cltype23 = type_nullable_parser_nodes__AAnnotations.color;
8807 idtype24 = type_nullable_parser_nodes__AAnnotations.id;
8808 if(var_pannotationsnode8 == NULL) {
8809 var22 = 1;
8810 } else {
8811 if(cltype23 >= var_pannotationsnode8->type->table_size) {
8812 var22 = 0;
8813 } else {
8814 var22 = var_pannotationsnode8->type->type_table[cltype23] == idtype24;
8815 }
8816 }
8817 if (!var22) {
8818 fprintf(stderr, "Runtime error: %s", "Assert failed");
8819 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19934);
8820 exit(1);
8821 }
8822 var_pexprnode9 = var_nodearraylist8;
8823 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
8824 cltype26 = type_nullable_parser_nodes__AExpr.color;
8825 idtype27 = type_nullable_parser_nodes__AExpr.id;
8826 if(var_pexprnode9 == NULL) {
8827 var25 = 1;
8828 } else {
8829 if(cltype26 >= var_pexprnode9->type->table_size) {
8830 var25 = 0;
8831 } else {
8832 var25 = var_pexprnode9->type->type_table[cltype26] == idtype27;
8833 }
8834 }
8835 if (!var25) {
8836 fprintf(stderr, "Runtime error: %s", "Assert failed");
8837 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19936);
8838 exit(1);
8839 }
8840 var28 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
8841 var29 = NULL;
8842 ((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>*/;
8843 CHECK_NEW_parser_nodes__AConcreteInitPropdef(var28);
8844 var_ppropdefnode1 = var28;
8845 var_node_list = var_ppropdefnode1;
8846 var30 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction450> */
8847 var31 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var30) /* go_to on <var_p:Parser>*/;
8848 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var31, var_node_list) /* push on <var_p:Parser>*/;
8849 RET_LABEL:;
8850 }
8851 /* method parser#ReduceAction450#action for (self: Object, Parser) */
8852 void VIRTUAL_parser__ReduceAction450__action(val* self, val* p0) {
8853 parser__ReduceAction450__action(self, p0);
8854 RET_LABEL:;
8855 }
8856 /* method parser#ReduceAction451#action for (self: ReduceAction451, Parser) */
8857 void parser__ReduceAction451__action(val* self, val* p0) {
8858 val* var_p /* var p: Parser */;
8859 val* var /* : null */;
8860 val* var_node_list /* var node_list: nullable Object */;
8861 val* var1 /* : nullable Object */;
8862 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8863 val* var2 /* : nullable Object */;
8864 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8865 val* var3 /* : nullable Object */;
8866 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8867 val* var4 /* : nullable Object */;
8868 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8869 val* var5 /* : nullable Object */;
8870 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8871 val* var6 /* : nullable Object */;
8872 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8873 val* var7 /* : nullable Object */;
8874 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8875 val* var8 /* : nullable Object */;
8876 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8877 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8878 short int var9 /* : Bool */;
8879 int cltype;
8880 int idtype;
8881 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8882 short int var10 /* : Bool */;
8883 int cltype11;
8884 int idtype12;
8885 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
8886 short int var13 /* : Bool */;
8887 int cltype14;
8888 int idtype15;
8889 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
8890 short int var16 /* : Bool */;
8891 int cltype17;
8892 int idtype18;
8893 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
8894 short int var19 /* : Bool */;
8895 int cltype20;
8896 int idtype21;
8897 val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */;
8898 short int var22 /* : Bool */;
8899 int cltype23;
8900 int idtype24;
8901 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
8902 short int var25 /* : Bool */;
8903 int cltype26;
8904 int idtype27;
8905 val* var28 /* : AConcreteInitPropdef */;
8906 val* var29 /* : null */;
8907 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
8908 long var30 /* : Int */;
8909 long var31 /* : Int */;
8910 var_p = p0;
8911 var = NULL;
8912 var_node_list = var;
8913 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8914 var_nodearraylist8 = var1;
8915 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8916 var_nodearraylist7 = var2;
8917 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8918 var_nodearraylist6 = var3;
8919 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8920 var_nodearraylist5 = var4;
8921 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8922 var_nodearraylist4 = var5;
8923 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8924 var_nodearraylist3 = var6;
8925 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8926 var_nodearraylist2 = var7;
8927 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8928 var_nodearraylist1 = var8;
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 var9 = 1;
8935 } else {
8936 if(cltype >= var_pdocnode2->type->table_size) {
8937 var9 = 0;
8938 } else {
8939 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
8940 }
8941 }
8942 if (!var9) {
8943 fprintf(stderr, "Runtime error: %s", "Assert failed");
8944 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19965);
8945 exit(1);
8946 }
8947 var_pvisibilitynode4 = var_nodearraylist2;
8948 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8949 cltype11 = type_nullable_parser_nodes__AVisibility.color;
8950 idtype12 = type_nullable_parser_nodes__AVisibility.id;
8951 if(var_pvisibilitynode4 == NULL) {
8952 var10 = 1;
8953 } else {
8954 if(cltype11 >= var_pvisibilitynode4->type->table_size) {
8955 var10 = 0;
8956 } else {
8957 var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
8958 }
8959 }
8960 if (!var10) {
8961 fprintf(stderr, "Runtime error: %s", "Assert failed");
8962 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19967);
8963 exit(1);
8964 }
8965 var_tkwinitnode5 = var_nodearraylist3;
8966 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
8967 cltype14 = type_nullable_parser_nodes__TKwinit.color;
8968 idtype15 = type_nullable_parser_nodes__TKwinit.id;
8969 if(var_tkwinitnode5 == NULL) {
8970 var13 = 1;
8971 } else {
8972 if(cltype14 >= var_tkwinitnode5->type->table_size) {
8973 var13 = 0;
8974 } else {
8975 var13 = var_tkwinitnode5->type->type_table[cltype14] == idtype15;
8976 }
8977 }
8978 if (!var13) {
8979 fprintf(stderr, "Runtime error: %s", "Assert failed");
8980 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19969);
8981 exit(1);
8982 }
8983 var_pmethidnode6 = var_nodearraylist4;
8984 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
8985 cltype17 = type_nullable_parser_nodes__AMethid.color;
8986 idtype18 = type_nullable_parser_nodes__AMethid.id;
8987 if(var_pmethidnode6 == NULL) {
8988 var16 = 1;
8989 } else {
8990 if(cltype17 >= var_pmethidnode6->type->table_size) {
8991 var16 = 0;
8992 } else {
8993 var16 = var_pmethidnode6->type->type_table[cltype17] == idtype18;
8994 }
8995 }
8996 if (!var16) {
8997 fprintf(stderr, "Runtime error: %s", "Assert failed");
8998 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19971);
8999 exit(1);
9000 }
9001 var_psignaturenode7 = var_nodearraylist5;
9002 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
9003 cltype20 = type_nullable_parser_nodes__ASignature.color;
9004 idtype21 = type_nullable_parser_nodes__ASignature.id;
9005 if(var_psignaturenode7 == NULL) {
9006 var19 = 1;
9007 } else {
9008 if(cltype20 >= var_psignaturenode7->type->table_size) {
9009 var19 = 0;
9010 } else {
9011 var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
9012 }
9013 }
9014 if (!var19) {
9015 fprintf(stderr, "Runtime error: %s", "Assert failed");
9016 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19973);
9017 exit(1);
9018 }
9019 var_pannotationsnode8 = var_nodearraylist6;
9020 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
9021 cltype23 = type_nullable_parser_nodes__AAnnotations.color;
9022 idtype24 = type_nullable_parser_nodes__AAnnotations.id;
9023 if(var_pannotationsnode8 == NULL) {
9024 var22 = 1;
9025 } else {
9026 if(cltype23 >= var_pannotationsnode8->type->table_size) {
9027 var22 = 0;
9028 } else {
9029 var22 = var_pannotationsnode8->type->type_table[cltype23] == idtype24;
9030 }
9031 }
9032 if (!var22) {
9033 fprintf(stderr, "Runtime error: %s", "Assert failed");
9034 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19975);
9035 exit(1);
9036 }
9037 var_pexprnode9 = var_nodearraylist8;
9038 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
9039 cltype26 = type_nullable_parser_nodes__AExpr.color;
9040 idtype27 = type_nullable_parser_nodes__AExpr.id;
9041 if(var_pexprnode9 == NULL) {
9042 var25 = 1;
9043 } else {
9044 if(cltype26 >= var_pexprnode9->type->table_size) {
9045 var25 = 0;
9046 } else {
9047 var25 = var_pexprnode9->type->type_table[cltype26] == idtype27;
9048 }
9049 }
9050 if (!var25) {
9051 fprintf(stderr, "Runtime error: %s", "Assert failed");
9052 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 19977);
9053 exit(1);
9054 }
9055 var28 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
9056 var29 = NULL;
9057 ((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>*/;
9058 CHECK_NEW_parser_nodes__AConcreteInitPropdef(var28);
9059 var_ppropdefnode1 = var28;
9060 var_node_list = var_ppropdefnode1;
9061 var30 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction451> */
9062 var31 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var30) /* go_to on <var_p:Parser>*/;
9063 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var31, var_node_list) /* push on <var_p:Parser>*/;
9064 RET_LABEL:;
9065 }
9066 /* method parser#ReduceAction451#action for (self: Object, Parser) */
9067 void VIRTUAL_parser__ReduceAction451__action(val* self, val* p0) {
9068 parser__ReduceAction451__action(self, p0);
9069 RET_LABEL:;
9070 }
9071 /* method parser#ReduceAction452#action for (self: ReduceAction452, Parser) */
9072 void parser__ReduceAction452__action(val* self, val* p0) {
9073 val* var_p /* var p: Parser */;
9074 val* var /* : null */;
9075 val* var_node_list /* var node_list: nullable Object */;
9076 val* var1 /* : nullable Object */;
9077 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9078 val* var2 /* : nullable Object */;
9079 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9080 val* var3 /* : nullable Object */;
9081 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9082 val* var4 /* : nullable Object */;
9083 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9084 val* var5 /* : nullable Object */;
9085 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9086 val* var6 /* : nullable Object */;
9087 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9088 val* var7 /* : nullable Object */;
9089 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9090 val* var8 /* : nullable Object */;
9091 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9092 val* var9 /* : nullable Object */;
9093 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9094 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9095 short int var10 /* : Bool */;
9096 int cltype;
9097 int idtype;
9098 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
9099 short int var11 /* : Bool */;
9100 int cltype12;
9101 int idtype13;
9102 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9103 short int var14 /* : Bool */;
9104 int cltype15;
9105 int idtype16;
9106 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
9107 short int var17 /* : Bool */;
9108 int cltype18;
9109 int idtype19;
9110 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
9111 short int var20 /* : Bool */;
9112 int cltype21;
9113 int idtype22;
9114 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
9115 short int var23 /* : Bool */;
9116 int cltype24;
9117 int idtype25;
9118 val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */;
9119 short int var26 /* : Bool */;
9120 int cltype27;
9121 int idtype28;
9122 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
9123 short int var29 /* : Bool */;
9124 int cltype30;
9125 int idtype31;
9126 val* var32 /* : AConcreteInitPropdef */;
9127 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
9128 long var33 /* : Int */;
9129 long var34 /* : Int */;
9130 var_p = p0;
9131 var = NULL;
9132 var_node_list = var;
9133 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9134 var_nodearraylist9 = var1;
9135 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9136 var_nodearraylist8 = var2;
9137 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9138 var_nodearraylist7 = var3;
9139 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9140 var_nodearraylist6 = var4;
9141 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9142 var_nodearraylist5 = var5;
9143 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9144 var_nodearraylist4 = var6;
9145 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9146 var_nodearraylist3 = var7;
9147 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9148 var_nodearraylist2 = var8;
9149 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9150 var_nodearraylist1 = var9;
9151 var_pdocnode2 = var_nodearraylist1;
9152 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9153 cltype = type_nullable_parser_nodes__ADoc.color;
9154 idtype = type_nullable_parser_nodes__ADoc.id;
9155 if(var_pdocnode2 == NULL) {
9156 var10 = 1;
9157 } else {
9158 if(cltype >= var_pdocnode2->type->table_size) {
9159 var10 = 0;
9160 } else {
9161 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
9162 }
9163 }
9164 if (!var10) {
9165 fprintf(stderr, "Runtime error: %s", "Assert failed");
9166 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20007);
9167 exit(1);
9168 }
9169 var_tkwredefnode3 = var_nodearraylist2;
9170 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
9171 cltype12 = type_nullable_parser_nodes__TKwredef.color;
9172 idtype13 = type_nullable_parser_nodes__TKwredef.id;
9173 if(var_tkwredefnode3 == NULL) {
9174 var11 = 1;
9175 } else {
9176 if(cltype12 >= var_tkwredefnode3->type->table_size) {
9177 var11 = 0;
9178 } else {
9179 var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
9180 }
9181 }
9182 if (!var11) {
9183 fprintf(stderr, "Runtime error: %s", "Assert failed");
9184 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20009);
9185 exit(1);
9186 }
9187 var_pvisibilitynode4 = var_nodearraylist3;
9188 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9189 cltype15 = type_nullable_parser_nodes__AVisibility.color;
9190 idtype16 = type_nullable_parser_nodes__AVisibility.id;
9191 if(var_pvisibilitynode4 == NULL) {
9192 var14 = 1;
9193 } else {
9194 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
9195 var14 = 0;
9196 } else {
9197 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
9198 }
9199 }
9200 if (!var14) {
9201 fprintf(stderr, "Runtime error: %s", "Assert failed");
9202 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20011);
9203 exit(1);
9204 }
9205 var_tkwinitnode5 = var_nodearraylist4;
9206 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
9207 cltype18 = type_nullable_parser_nodes__TKwinit.color;
9208 idtype19 = type_nullable_parser_nodes__TKwinit.id;
9209 if(var_tkwinitnode5 == NULL) {
9210 var17 = 1;
9211 } else {
9212 if(cltype18 >= var_tkwinitnode5->type->table_size) {
9213 var17 = 0;
9214 } else {
9215 var17 = var_tkwinitnode5->type->type_table[cltype18] == idtype19;
9216 }
9217 }
9218 if (!var17) {
9219 fprintf(stderr, "Runtime error: %s", "Assert failed");
9220 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20013);
9221 exit(1);
9222 }
9223 var_pmethidnode6 = var_nodearraylist5;
9224 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
9225 cltype21 = type_nullable_parser_nodes__AMethid.color;
9226 idtype22 = type_nullable_parser_nodes__AMethid.id;
9227 if(var_pmethidnode6 == NULL) {
9228 var20 = 1;
9229 } else {
9230 if(cltype21 >= var_pmethidnode6->type->table_size) {
9231 var20 = 0;
9232 } else {
9233 var20 = var_pmethidnode6->type->type_table[cltype21] == idtype22;
9234 }
9235 }
9236 if (!var20) {
9237 fprintf(stderr, "Runtime error: %s", "Assert failed");
9238 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20015);
9239 exit(1);
9240 }
9241 var_psignaturenode7 = var_nodearraylist6;
9242 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
9243 cltype24 = type_nullable_parser_nodes__ASignature.color;
9244 idtype25 = type_nullable_parser_nodes__ASignature.id;
9245 if(var_psignaturenode7 == NULL) {
9246 var23 = 1;
9247 } else {
9248 if(cltype24 >= var_psignaturenode7->type->table_size) {
9249 var23 = 0;
9250 } else {
9251 var23 = var_psignaturenode7->type->type_table[cltype24] == idtype25;
9252 }
9253 }
9254 if (!var23) {
9255 fprintf(stderr, "Runtime error: %s", "Assert failed");
9256 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20017);
9257 exit(1);
9258 }
9259 var_pannotationsnode8 = var_nodearraylist7;
9260 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
9261 cltype27 = type_nullable_parser_nodes__AAnnotations.color;
9262 idtype28 = type_nullable_parser_nodes__AAnnotations.id;
9263 if(var_pannotationsnode8 == NULL) {
9264 var26 = 1;
9265 } else {
9266 if(cltype27 >= var_pannotationsnode8->type->table_size) {
9267 var26 = 0;
9268 } else {
9269 var26 = var_pannotationsnode8->type->type_table[cltype27] == idtype28;
9270 }
9271 }
9272 if (!var26) {
9273 fprintf(stderr, "Runtime error: %s", "Assert failed");
9274 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20019);
9275 exit(1);
9276 }
9277 var_pexprnode9 = var_nodearraylist9;
9278 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
9279 cltype30 = type_nullable_parser_nodes__AExpr.color;
9280 idtype31 = type_nullable_parser_nodes__AExpr.id;
9281 if(var_pexprnode9 == NULL) {
9282 var29 = 1;
9283 } else {
9284 if(cltype30 >= var_pexprnode9->type->table_size) {
9285 var29 = 0;
9286 } else {
9287 var29 = var_pexprnode9->type->type_table[cltype30] == idtype31;
9288 }
9289 }
9290 if (!var29) {
9291 fprintf(stderr, "Runtime error: %s", "Assert failed");
9292 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20021);
9293 exit(1);
9294 }
9295 var32 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
9296 ((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>*/;
9297 CHECK_NEW_parser_nodes__AConcreteInitPropdef(var32);
9298 var_ppropdefnode1 = var32;
9299 var_node_list = var_ppropdefnode1;
9300 var33 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction452> */
9301 var34 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var33) /* go_to on <var_p:Parser>*/;
9302 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var34, var_node_list) /* push on <var_p:Parser>*/;
9303 RET_LABEL:;
9304 }
9305 /* method parser#ReduceAction452#action for (self: Object, Parser) */
9306 void VIRTUAL_parser__ReduceAction452__action(val* self, val* p0) {
9307 parser__ReduceAction452__action(self, p0);
9308 RET_LABEL:;
9309 }
9310 /* method parser#ReduceAction453#action for (self: ReduceAction453, Parser) */
9311 void parser__ReduceAction453__action(val* self, val* p0) {
9312 val* var_p /* var p: Parser */;
9313 val* var /* : null */;
9314 val* var_node_list /* var node_list: nullable Object */;
9315 val* var1 /* : nullable Object */;
9316 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9317 val* var2 /* : nullable Object */;
9318 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9319 val* var3 /* : nullable Object */;
9320 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9321 val* var4 /* : nullable Object */;
9322 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9323 val* var5 /* : nullable Object */;
9324 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9325 val* var6 /* : nullable Object */;
9326 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9327 val* var7 /* : nullable Object */;
9328 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9329 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9330 short int var8 /* : Bool */;
9331 int cltype;
9332 int idtype;
9333 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9334 short int var9 /* : Bool */;
9335 int cltype10;
9336 int idtype11;
9337 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
9338 short int var12 /* : Bool */;
9339 int cltype13;
9340 int idtype14;
9341 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
9342 short int var15 /* : Bool */;
9343 int cltype16;
9344 int idtype17;
9345 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
9346 short int var18 /* : Bool */;
9347 int cltype19;
9348 int idtype20;
9349 val* var21 /* : AConcreteInitPropdef */;
9350 val* var22 /* : null */;
9351 val* var23 /* : null */;
9352 val* var24 /* : null */;
9353 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
9354 long var25 /* : Int */;
9355 long var26 /* : Int */;
9356 var_p = p0;
9357 var = NULL;
9358 var_node_list = var;
9359 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9360 var_nodearraylist7 = var1;
9361 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9362 var_nodearraylist6 = var2;
9363 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9364 var_nodearraylist5 = var3;
9365 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9366 var_nodearraylist4 = var4;
9367 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9368 var_nodearraylist3 = var5;
9369 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9370 var_nodearraylist2 = var6;
9371 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9372 var_nodearraylist1 = var7;
9373 var_pdocnode2 = var_nodearraylist1;
9374 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9375 cltype = type_nullable_parser_nodes__ADoc.color;
9376 idtype = type_nullable_parser_nodes__ADoc.id;
9377 if(var_pdocnode2 == NULL) {
9378 var8 = 1;
9379 } else {
9380 if(cltype >= var_pdocnode2->type->table_size) {
9381 var8 = 0;
9382 } else {
9383 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
9384 }
9385 }
9386 if (!var8) {
9387 fprintf(stderr, "Runtime error: %s", "Assert failed");
9388 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20049);
9389 exit(1);
9390 }
9391 var_pvisibilitynode4 = var_nodearraylist2;
9392 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9393 cltype10 = type_nullable_parser_nodes__AVisibility.color;
9394 idtype11 = type_nullable_parser_nodes__AVisibility.id;
9395 if(var_pvisibilitynode4 == NULL) {
9396 var9 = 1;
9397 } else {
9398 if(cltype10 >= var_pvisibilitynode4->type->table_size) {
9399 var9 = 0;
9400 } else {
9401 var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11;
9402 }
9403 }
9404 if (!var9) {
9405 fprintf(stderr, "Runtime error: %s", "Assert failed");
9406 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20051);
9407 exit(1);
9408 }
9409 var_tkwinitnode5 = var_nodearraylist3;
9410 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
9411 cltype13 = type_nullable_parser_nodes__TKwinit.color;
9412 idtype14 = type_nullable_parser_nodes__TKwinit.id;
9413 if(var_tkwinitnode5 == NULL) {
9414 var12 = 1;
9415 } else {
9416 if(cltype13 >= var_tkwinitnode5->type->table_size) {
9417 var12 = 0;
9418 } else {
9419 var12 = var_tkwinitnode5->type->type_table[cltype13] == idtype14;
9420 }
9421 }
9422 if (!var12) {
9423 fprintf(stderr, "Runtime error: %s", "Assert failed");
9424 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20053);
9425 exit(1);
9426 }
9427 var_psignaturenode7 = var_nodearraylist4;
9428 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
9429 cltype16 = type_nullable_parser_nodes__ASignature.color;
9430 idtype17 = type_nullable_parser_nodes__ASignature.id;
9431 if(var_psignaturenode7 == NULL) {
9432 var15 = 1;
9433 } else {
9434 if(cltype16 >= var_psignaturenode7->type->table_size) {
9435 var15 = 0;
9436 } else {
9437 var15 = var_psignaturenode7->type->type_table[cltype16] == idtype17;
9438 }
9439 }
9440 if (!var15) {
9441 fprintf(stderr, "Runtime error: %s", "Assert failed");
9442 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20055);
9443 exit(1);
9444 }
9445 var_pexprnode9 = var_nodearraylist6;
9446 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
9447 cltype19 = type_nullable_parser_nodes__AExpr.color;
9448 idtype20 = type_nullable_parser_nodes__AExpr.id;
9449 if(var_pexprnode9 == NULL) {
9450 var18 = 1;
9451 } else {
9452 if(cltype19 >= var_pexprnode9->type->table_size) {
9453 var18 = 0;
9454 } else {
9455 var18 = var_pexprnode9->type->type_table[cltype19] == idtype20;
9456 }
9457 }
9458 if (!var18) {
9459 fprintf(stderr, "Runtime error: %s", "Assert failed");
9460 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20057);
9461 exit(1);
9462 }
9463 var21 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
9464 var22 = NULL;
9465 var23 = NULL;
9466 var24 = NULL;
9467 ((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>*/;
9468 CHECK_NEW_parser_nodes__AConcreteInitPropdef(var21);
9469 var_ppropdefnode1 = var21;
9470 var_node_list = var_ppropdefnode1;
9471 var25 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction453> */
9472 var26 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var25) /* go_to on <var_p:Parser>*/;
9473 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var26, var_node_list) /* push on <var_p:Parser>*/;
9474 RET_LABEL:;
9475 }
9476 /* method parser#ReduceAction453#action for (self: Object, Parser) */
9477 void VIRTUAL_parser__ReduceAction453__action(val* self, val* p0) {
9478 parser__ReduceAction453__action(self, p0);
9479 RET_LABEL:;
9480 }
9481 /* method parser#ReduceAction454#action for (self: ReduceAction454, Parser) */
9482 void parser__ReduceAction454__action(val* self, val* p0) {
9483 val* var_p /* var p: Parser */;
9484 val* var /* : null */;
9485 val* var_node_list /* var node_list: nullable Object */;
9486 val* var1 /* : nullable Object */;
9487 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9488 val* var2 /* : nullable Object */;
9489 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9490 val* var3 /* : nullable Object */;
9491 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9492 val* var4 /* : nullable Object */;
9493 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9494 val* var5 /* : nullable Object */;
9495 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9496 val* var6 /* : nullable Object */;
9497 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9498 val* var7 /* : nullable Object */;
9499 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9500 val* var8 /* : nullable Object */;
9501 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9502 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9503 short int var9 /* : Bool */;
9504 int cltype;
9505 int idtype;
9506 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
9507 short int var10 /* : Bool */;
9508 int cltype11;
9509 int idtype12;
9510 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9511 short int var13 /* : Bool */;
9512 int cltype14;
9513 int idtype15;
9514 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
9515 short int var16 /* : Bool */;
9516 int cltype17;
9517 int idtype18;
9518 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
9519 short int var19 /* : Bool */;
9520 int cltype20;
9521 int idtype21;
9522 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
9523 short int var22 /* : Bool */;
9524 int cltype23;
9525 int idtype24;
9526 val* var25 /* : AConcreteInitPropdef */;
9527 val* var26 /* : null */;
9528 val* var27 /* : null */;
9529 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
9530 long var28 /* : Int */;
9531 long var29 /* : Int */;
9532 var_p = p0;
9533 var = NULL;
9534 var_node_list = var;
9535 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9536 var_nodearraylist8 = var1;
9537 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9538 var_nodearraylist7 = var2;
9539 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9540 var_nodearraylist6 = var3;
9541 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9542 var_nodearraylist5 = var4;
9543 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9544 var_nodearraylist4 = var5;
9545 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9546 var_nodearraylist3 = var6;
9547 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9548 var_nodearraylist2 = var7;
9549 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9550 var_nodearraylist1 = var8;
9551 var_pdocnode2 = var_nodearraylist1;
9552 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9553 cltype = type_nullable_parser_nodes__ADoc.color;
9554 idtype = type_nullable_parser_nodes__ADoc.id;
9555 if(var_pdocnode2 == NULL) {
9556 var9 = 1;
9557 } else {
9558 if(cltype >= var_pdocnode2->type->table_size) {
9559 var9 = 0;
9560 } else {
9561 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
9562 }
9563 }
9564 if (!var9) {
9565 fprintf(stderr, "Runtime error: %s", "Assert failed");
9566 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20086);
9567 exit(1);
9568 }
9569 var_tkwredefnode3 = var_nodearraylist2;
9570 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
9571 cltype11 = type_nullable_parser_nodes__TKwredef.color;
9572 idtype12 = type_nullable_parser_nodes__TKwredef.id;
9573 if(var_tkwredefnode3 == NULL) {
9574 var10 = 1;
9575 } else {
9576 if(cltype11 >= var_tkwredefnode3->type->table_size) {
9577 var10 = 0;
9578 } else {
9579 var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12;
9580 }
9581 }
9582 if (!var10) {
9583 fprintf(stderr, "Runtime error: %s", "Assert failed");
9584 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20088);
9585 exit(1);
9586 }
9587 var_pvisibilitynode4 = var_nodearraylist3;
9588 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9589 cltype14 = type_nullable_parser_nodes__AVisibility.color;
9590 idtype15 = type_nullable_parser_nodes__AVisibility.id;
9591 if(var_pvisibilitynode4 == NULL) {
9592 var13 = 1;
9593 } else {
9594 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
9595 var13 = 0;
9596 } else {
9597 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
9598 }
9599 }
9600 if (!var13) {
9601 fprintf(stderr, "Runtime error: %s", "Assert failed");
9602 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20090);
9603 exit(1);
9604 }
9605 var_tkwinitnode5 = var_nodearraylist4;
9606 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
9607 cltype17 = type_nullable_parser_nodes__TKwinit.color;
9608 idtype18 = type_nullable_parser_nodes__TKwinit.id;
9609 if(var_tkwinitnode5 == NULL) {
9610 var16 = 1;
9611 } else {
9612 if(cltype17 >= var_tkwinitnode5->type->table_size) {
9613 var16 = 0;
9614 } else {
9615 var16 = var_tkwinitnode5->type->type_table[cltype17] == idtype18;
9616 }
9617 }
9618 if (!var16) {
9619 fprintf(stderr, "Runtime error: %s", "Assert failed");
9620 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20092);
9621 exit(1);
9622 }
9623 var_psignaturenode7 = var_nodearraylist5;
9624 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
9625 cltype20 = type_nullable_parser_nodes__ASignature.color;
9626 idtype21 = type_nullable_parser_nodes__ASignature.id;
9627 if(var_psignaturenode7 == NULL) {
9628 var19 = 1;
9629 } else {
9630 if(cltype20 >= var_psignaturenode7->type->table_size) {
9631 var19 = 0;
9632 } else {
9633 var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
9634 }
9635 }
9636 if (!var19) {
9637 fprintf(stderr, "Runtime error: %s", "Assert failed");
9638 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20094);
9639 exit(1);
9640 }
9641 var_pexprnode9 = var_nodearraylist7;
9642 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
9643 cltype23 = type_nullable_parser_nodes__AExpr.color;
9644 idtype24 = type_nullable_parser_nodes__AExpr.id;
9645 if(var_pexprnode9 == NULL) {
9646 var22 = 1;
9647 } else {
9648 if(cltype23 >= var_pexprnode9->type->table_size) {
9649 var22 = 0;
9650 } else {
9651 var22 = var_pexprnode9->type->type_table[cltype23] == idtype24;
9652 }
9653 }
9654 if (!var22) {
9655 fprintf(stderr, "Runtime error: %s", "Assert failed");
9656 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20096);
9657 exit(1);
9658 }
9659 var25 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
9660 var26 = NULL;
9661 var27 = NULL;
9662 ((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>*/;
9663 CHECK_NEW_parser_nodes__AConcreteInitPropdef(var25);
9664 var_ppropdefnode1 = var25;
9665 var_node_list = var_ppropdefnode1;
9666 var28 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction454> */
9667 var29 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var28) /* go_to on <var_p:Parser>*/;
9668 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var29, var_node_list) /* push on <var_p:Parser>*/;
9669 RET_LABEL:;
9670 }
9671 /* method parser#ReduceAction454#action for (self: Object, Parser) */
9672 void VIRTUAL_parser__ReduceAction454__action(val* self, val* p0) {
9673 parser__ReduceAction454__action(self, p0);
9674 RET_LABEL:;
9675 }
9676 /* method parser#ReduceAction455#action for (self: ReduceAction455, Parser) */
9677 void parser__ReduceAction455__action(val* self, val* p0) {
9678 val* var_p /* var p: Parser */;
9679 val* var /* : null */;
9680 val* var_node_list /* var node_list: nullable Object */;
9681 val* var1 /* : nullable Object */;
9682 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9683 val* var2 /* : nullable Object */;
9684 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9685 val* var3 /* : nullable Object */;
9686 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9687 val* var4 /* : nullable Object */;
9688 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9689 val* var5 /* : nullable Object */;
9690 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9691 val* var6 /* : nullable Object */;
9692 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9693 val* var7 /* : nullable Object */;
9694 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9695 val* var8 /* : nullable Object */;
9696 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9697 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9698 short int var9 /* : Bool */;
9699 int cltype;
9700 int idtype;
9701 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9702 short int var10 /* : Bool */;
9703 int cltype11;
9704 int idtype12;
9705 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
9706 short int var13 /* : Bool */;
9707 int cltype14;
9708 int idtype15;
9709 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
9710 short int var16 /* : Bool */;
9711 int cltype17;
9712 int idtype18;
9713 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
9714 short int var19 /* : Bool */;
9715 int cltype20;
9716 int idtype21;
9717 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
9718 short int var22 /* : Bool */;
9719 int cltype23;
9720 int idtype24;
9721 val* var25 /* : AConcreteInitPropdef */;
9722 val* var26 /* : null */;
9723 val* var27 /* : null */;
9724 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
9725 long var28 /* : Int */;
9726 long var29 /* : Int */;
9727 var_p = p0;
9728 var = NULL;
9729 var_node_list = var;
9730 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9731 var_nodearraylist8 = var1;
9732 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9733 var_nodearraylist7 = var2;
9734 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9735 var_nodearraylist6 = var3;
9736 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9737 var_nodearraylist5 = var4;
9738 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9739 var_nodearraylist4 = var5;
9740 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9741 var_nodearraylist3 = var6;
9742 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9743 var_nodearraylist2 = var7;
9744 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9745 var_nodearraylist1 = var8;
9746 var_pdocnode2 = var_nodearraylist1;
9747 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9748 cltype = type_nullable_parser_nodes__ADoc.color;
9749 idtype = type_nullable_parser_nodes__ADoc.id;
9750 if(var_pdocnode2 == NULL) {
9751 var9 = 1;
9752 } else {
9753 if(cltype >= var_pdocnode2->type->table_size) {
9754 var9 = 0;
9755 } else {
9756 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
9757 }
9758 }
9759 if (!var9) {
9760 fprintf(stderr, "Runtime error: %s", "Assert failed");
9761 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20125);
9762 exit(1);
9763 }
9764 var_pvisibilitynode4 = var_nodearraylist2;
9765 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9766 cltype11 = type_nullable_parser_nodes__AVisibility.color;
9767 idtype12 = type_nullable_parser_nodes__AVisibility.id;
9768 if(var_pvisibilitynode4 == NULL) {
9769 var10 = 1;
9770 } else {
9771 if(cltype11 >= var_pvisibilitynode4->type->table_size) {
9772 var10 = 0;
9773 } else {
9774 var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
9775 }
9776 }
9777 if (!var10) {
9778 fprintf(stderr, "Runtime error: %s", "Assert failed");
9779 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20127);
9780 exit(1);
9781 }
9782 var_tkwinitnode5 = var_nodearraylist3;
9783 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
9784 cltype14 = type_nullable_parser_nodes__TKwinit.color;
9785 idtype15 = type_nullable_parser_nodes__TKwinit.id;
9786 if(var_tkwinitnode5 == NULL) {
9787 var13 = 1;
9788 } else {
9789 if(cltype14 >= var_tkwinitnode5->type->table_size) {
9790 var13 = 0;
9791 } else {
9792 var13 = var_tkwinitnode5->type->type_table[cltype14] == idtype15;
9793 }
9794 }
9795 if (!var13) {
9796 fprintf(stderr, "Runtime error: %s", "Assert failed");
9797 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20129);
9798 exit(1);
9799 }
9800 var_pmethidnode6 = var_nodearraylist4;
9801 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
9802 cltype17 = type_nullable_parser_nodes__AMethid.color;
9803 idtype18 = type_nullable_parser_nodes__AMethid.id;
9804 if(var_pmethidnode6 == NULL) {
9805 var16 = 1;
9806 } else {
9807 if(cltype17 >= var_pmethidnode6->type->table_size) {
9808 var16 = 0;
9809 } else {
9810 var16 = var_pmethidnode6->type->type_table[cltype17] == idtype18;
9811 }
9812 }
9813 if (!var16) {
9814 fprintf(stderr, "Runtime error: %s", "Assert failed");
9815 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20131);
9816 exit(1);
9817 }
9818 var_psignaturenode7 = var_nodearraylist5;
9819 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
9820 cltype20 = type_nullable_parser_nodes__ASignature.color;
9821 idtype21 = type_nullable_parser_nodes__ASignature.id;
9822 if(var_psignaturenode7 == NULL) {
9823 var19 = 1;
9824 } else {
9825 if(cltype20 >= var_psignaturenode7->type->table_size) {
9826 var19 = 0;
9827 } else {
9828 var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
9829 }
9830 }
9831 if (!var19) {
9832 fprintf(stderr, "Runtime error: %s", "Assert failed");
9833 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20133);
9834 exit(1);
9835 }
9836 var_pexprnode9 = var_nodearraylist7;
9837 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
9838 cltype23 = type_nullable_parser_nodes__AExpr.color;
9839 idtype24 = type_nullable_parser_nodes__AExpr.id;
9840 if(var_pexprnode9 == NULL) {
9841 var22 = 1;
9842 } else {
9843 if(cltype23 >= var_pexprnode9->type->table_size) {
9844 var22 = 0;
9845 } else {
9846 var22 = var_pexprnode9->type->type_table[cltype23] == idtype24;
9847 }
9848 }
9849 if (!var22) {
9850 fprintf(stderr, "Runtime error: %s", "Assert failed");
9851 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20135);
9852 exit(1);
9853 }
9854 var25 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
9855 var26 = NULL;
9856 var27 = NULL;
9857 ((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>*/;
9858 CHECK_NEW_parser_nodes__AConcreteInitPropdef(var25);
9859 var_ppropdefnode1 = var25;
9860 var_node_list = var_ppropdefnode1;
9861 var28 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction455> */
9862 var29 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var28) /* go_to on <var_p:Parser>*/;
9863 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var29, var_node_list) /* push on <var_p:Parser>*/;
9864 RET_LABEL:;
9865 }
9866 /* method parser#ReduceAction455#action for (self: Object, Parser) */
9867 void VIRTUAL_parser__ReduceAction455__action(val* self, val* p0) {
9868 parser__ReduceAction455__action(self, p0);
9869 RET_LABEL:;
9870 }