4d75635d60876a2e9d647a23c8cd99733e81de32
[nit.git] / c_src / parser.sep.11.c
1 #include "parser.sep.0.h"
2 /* method parser#ReduceAction419#action for (self: ReduceAction419, Parser) */
3 void parser__ReduceAction419__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_nodearraylist6 /* var nodearraylist6: nullable Object */;
9 val* var2 /* : nullable Object */;
10 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
11 val* var3 /* : nullable Object */;
12 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
13 val* var4 /* : nullable Object */;
14 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
15 val* var5 /* : nullable Object */;
16 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
17 val* var6 /* : nullable Object */;
18 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
19 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
20 short int var7 /* : Bool */;
21 int cltype;
22 int idtype;
23 val* var_pablenode4 /* var pablenode4: nullable Object */;
24 short int var8 /* : Bool */;
25 int cltype9;
26 int idtype10;
27 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
28 short int var11 /* : Bool */;
29 int cltype12;
30 int idtype13;
31 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
32 short int var14 /* : Bool */;
33 int cltype15;
34 int idtype16;
35 val* var_tidnode9 /* var tidnode9: nullable Object */;
36 short int var17 /* : Bool */;
37 int cltype18;
38 int idtype19;
39 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
40 short int var20 /* : Bool */;
41 int cltype21;
42 int idtype22;
43 val* var23 /* : AAttrPropdef */;
44 val* var24 /* : null */;
45 val* var25 /* : null */;
46 val* var26 /* : null */;
47 val* var27 /* : null */;
48 val* var28 /* : null */;
49 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
50 long var29 /* : Int */;
51 long var30 /* : Int */;
52 var_p = p0;
53 var = NULL;
54 var_node_list = var;
55 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
56 var_nodearraylist6 = var1;
57 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
58 var_nodearraylist5 = var2;
59 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
60 var_nodearraylist4 = var3;
61 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
62 var_nodearraylist3 = var4;
63 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
64 var_nodearraylist2 = var5;
65 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
66 var_nodearraylist1 = var6;
67 var_pdocnode2 = var_nodearraylist1;
68 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
69 cltype = type_nullable_parser_nodes__ADoc.color;
70 idtype = type_nullable_parser_nodes__ADoc.id;
71 if(var_pdocnode2 == NULL) {
72 var7 = 1;
73 } else {
74 if(cltype >= var_pdocnode2->type->table_size) {
75 var7 = 0;
76 } else {
77 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
78 }
79 }
80 if (!var7) {
81 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18833);
82 exit(1);
83 }
84 var_pablenode4 = var_nodearraylist6;
85 /* <var_pablenode4:nullable Object> isa nullable AAble */
86 cltype9 = type_nullable_parser_nodes__AAble.color;
87 idtype10 = type_nullable_parser_nodes__AAble.id;
88 if(var_pablenode4 == NULL) {
89 var8 = 1;
90 } else {
91 if(cltype9 >= var_pablenode4->type->table_size) {
92 var8 = 0;
93 } else {
94 var8 = var_pablenode4->type->type_table[cltype9] == idtype10;
95 }
96 }
97 if (!var8) {
98 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18835);
99 exit(1);
100 }
101 var_pvisibilitynode6 = var_nodearraylist2;
102 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
103 cltype12 = type_nullable_parser_nodes__AVisibility.color;
104 idtype13 = type_nullable_parser_nodes__AVisibility.id;
105 if(var_pvisibilitynode6 == NULL) {
106 var11 = 1;
107 } else {
108 if(cltype12 >= var_pvisibilitynode6->type->table_size) {
109 var11 = 0;
110 } else {
111 var11 = var_pvisibilitynode6->type->type_table[cltype12] == idtype13;
112 }
113 }
114 if (!var11) {
115 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18837);
116 exit(1);
117 }
118 var_tkwvarnode7 = var_nodearraylist3;
119 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
120 cltype15 = type_nullable_parser_nodes__TKwvar.color;
121 idtype16 = type_nullable_parser_nodes__TKwvar.id;
122 if(var_tkwvarnode7 == NULL) {
123 var14 = 1;
124 } else {
125 if(cltype15 >= var_tkwvarnode7->type->table_size) {
126 var14 = 0;
127 } else {
128 var14 = var_tkwvarnode7->type->type_table[cltype15] == idtype16;
129 }
130 }
131 if (!var14) {
132 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18839);
133 exit(1);
134 }
135 var_tidnode9 = var_nodearraylist4;
136 /* <var_tidnode9:nullable Object> isa nullable TId */
137 cltype18 = type_nullable_parser_nodes__TId.color;
138 idtype19 = type_nullable_parser_nodes__TId.id;
139 if(var_tidnode9 == NULL) {
140 var17 = 1;
141 } else {
142 if(cltype18 >= var_tidnode9->type->table_size) {
143 var17 = 0;
144 } else {
145 var17 = var_tidnode9->type->type_table[cltype18] == idtype19;
146 }
147 }
148 if (!var17) {
149 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18841);
150 exit(1);
151 }
152 var_ptypenode10 = var_nodearraylist5;
153 /* <var_ptypenode10:nullable Object> isa nullable AType */
154 cltype21 = type_nullable_parser_nodes__AType.color;
155 idtype22 = type_nullable_parser_nodes__AType.id;
156 if(var_ptypenode10 == NULL) {
157 var20 = 1;
158 } else {
159 if(cltype21 >= var_ptypenode10->type->table_size) {
160 var20 = 0;
161 } else {
162 var20 = var_ptypenode10->type->type_table[cltype21] == idtype22;
163 }
164 }
165 if (!var20) {
166 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18843);
167 exit(1);
168 }
169 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
170 var24 = NULL;
171 var25 = NULL;
172 var26 = NULL;
173 var27 = NULL;
174 var28 = NULL;
175 ((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>*/;
176 CHECK_NEW_parser_nodes__AAttrPropdef(var23);
177 var_ppropdefnode1 = var23;
178 var_node_list = var_ppropdefnode1;
179 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction419> */
180 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
181 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
182 RET_LABEL:;
183 }
184 /* method parser#ReduceAction419#action for (self: Object, Parser) */
185 void VIRTUAL_parser__ReduceAction419__action(val* self, val* p0) {
186 parser__ReduceAction419__action(self, p0);
187 RET_LABEL:;
188 }
189 /* method parser#ReduceAction420#action for (self: ReduceAction420, Parser) */
190 void parser__ReduceAction420__action(val* self, val* p0) {
191 val* var_p /* var p: Parser */;
192 val* var /* : null */;
193 val* var_node_list /* var node_list: nullable Object */;
194 val* var1 /* : nullable Object */;
195 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
196 val* var2 /* : nullable Object */;
197 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
198 val* var3 /* : nullable Object */;
199 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
200 val* var4 /* : nullable Object */;
201 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
202 val* var5 /* : nullable Object */;
203 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
204 val* var6 /* : nullable Object */;
205 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
206 val* var7 /* : nullable Object */;
207 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
208 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
209 short int var8 /* : Bool */;
210 int cltype;
211 int idtype;
212 val* var_pablenode4 /* var pablenode4: nullable Object */;
213 short int var9 /* : Bool */;
214 int cltype10;
215 int idtype11;
216 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
217 short int var12 /* : Bool */;
218 int cltype13;
219 int idtype14;
220 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
221 short int var15 /* : Bool */;
222 int cltype16;
223 int idtype17;
224 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
225 short int var18 /* : Bool */;
226 int cltype19;
227 int idtype20;
228 val* var_tidnode9 /* var tidnode9: nullable Object */;
229 short int var21 /* : Bool */;
230 int cltype22;
231 int idtype23;
232 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
233 short int var24 /* : Bool */;
234 int cltype25;
235 int idtype26;
236 val* var27 /* : AAttrPropdef */;
237 val* var28 /* : null */;
238 val* var29 /* : null */;
239 val* var30 /* : null */;
240 val* var31 /* : null */;
241 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
242 long var32 /* : Int */;
243 long var33 /* : Int */;
244 var_p = p0;
245 var = NULL;
246 var_node_list = var;
247 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
248 var_nodearraylist7 = var1;
249 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
250 var_nodearraylist6 = var2;
251 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
252 var_nodearraylist5 = var3;
253 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
254 var_nodearraylist4 = var4;
255 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
256 var_nodearraylist3 = var5;
257 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
258 var_nodearraylist2 = var6;
259 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
260 var_nodearraylist1 = var7;
261 var_pdocnode2 = var_nodearraylist1;
262 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
263 cltype = type_nullable_parser_nodes__ADoc.color;
264 idtype = type_nullable_parser_nodes__ADoc.id;
265 if(var_pdocnode2 == NULL) {
266 var8 = 1;
267 } else {
268 if(cltype >= var_pdocnode2->type->table_size) {
269 var8 = 0;
270 } else {
271 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
272 }
273 }
274 if (!var8) {
275 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18874);
276 exit(1);
277 }
278 var_pablenode4 = var_nodearraylist7;
279 /* <var_pablenode4:nullable Object> isa nullable AAble */
280 cltype10 = type_nullable_parser_nodes__AAble.color;
281 idtype11 = type_nullable_parser_nodes__AAble.id;
282 if(var_pablenode4 == NULL) {
283 var9 = 1;
284 } else {
285 if(cltype10 >= var_pablenode4->type->table_size) {
286 var9 = 0;
287 } else {
288 var9 = var_pablenode4->type->type_table[cltype10] == idtype11;
289 }
290 }
291 if (!var9) {
292 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18876);
293 exit(1);
294 }
295 var_tkwredefnode5 = var_nodearraylist2;
296 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
297 cltype13 = type_nullable_parser_nodes__TKwredef.color;
298 idtype14 = type_nullable_parser_nodes__TKwredef.id;
299 if(var_tkwredefnode5 == NULL) {
300 var12 = 1;
301 } else {
302 if(cltype13 >= var_tkwredefnode5->type->table_size) {
303 var12 = 0;
304 } else {
305 var12 = var_tkwredefnode5->type->type_table[cltype13] == idtype14;
306 }
307 }
308 if (!var12) {
309 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18878);
310 exit(1);
311 }
312 var_pvisibilitynode6 = var_nodearraylist3;
313 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
314 cltype16 = type_nullable_parser_nodes__AVisibility.color;
315 idtype17 = type_nullable_parser_nodes__AVisibility.id;
316 if(var_pvisibilitynode6 == NULL) {
317 var15 = 1;
318 } else {
319 if(cltype16 >= var_pvisibilitynode6->type->table_size) {
320 var15 = 0;
321 } else {
322 var15 = var_pvisibilitynode6->type->type_table[cltype16] == idtype17;
323 }
324 }
325 if (!var15) {
326 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18880);
327 exit(1);
328 }
329 var_tkwvarnode7 = var_nodearraylist4;
330 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
331 cltype19 = type_nullable_parser_nodes__TKwvar.color;
332 idtype20 = type_nullable_parser_nodes__TKwvar.id;
333 if(var_tkwvarnode7 == NULL) {
334 var18 = 1;
335 } else {
336 if(cltype19 >= var_tkwvarnode7->type->table_size) {
337 var18 = 0;
338 } else {
339 var18 = var_tkwvarnode7->type->type_table[cltype19] == idtype20;
340 }
341 }
342 if (!var18) {
343 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18882);
344 exit(1);
345 }
346 var_tidnode9 = var_nodearraylist5;
347 /* <var_tidnode9:nullable Object> isa nullable TId */
348 cltype22 = type_nullable_parser_nodes__TId.color;
349 idtype23 = type_nullable_parser_nodes__TId.id;
350 if(var_tidnode9 == NULL) {
351 var21 = 1;
352 } else {
353 if(cltype22 >= var_tidnode9->type->table_size) {
354 var21 = 0;
355 } else {
356 var21 = var_tidnode9->type->type_table[cltype22] == idtype23;
357 }
358 }
359 if (!var21) {
360 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18884);
361 exit(1);
362 }
363 var_ptypenode10 = var_nodearraylist6;
364 /* <var_ptypenode10:nullable Object> isa nullable AType */
365 cltype25 = type_nullable_parser_nodes__AType.color;
366 idtype26 = type_nullable_parser_nodes__AType.id;
367 if(var_ptypenode10 == NULL) {
368 var24 = 1;
369 } else {
370 if(cltype25 >= var_ptypenode10->type->table_size) {
371 var24 = 0;
372 } else {
373 var24 = var_ptypenode10->type->type_table[cltype25] == idtype26;
374 }
375 }
376 if (!var24) {
377 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18886);
378 exit(1);
379 }
380 var27 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
381 var28 = NULL;
382 var29 = NULL;
383 var30 = NULL;
384 var31 = NULL;
385 ((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>*/;
386 CHECK_NEW_parser_nodes__AAttrPropdef(var27);
387 var_ppropdefnode1 = var27;
388 var_node_list = var_ppropdefnode1;
389 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction420> */
390 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
391 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
392 RET_LABEL:;
393 }
394 /* method parser#ReduceAction420#action for (self: Object, Parser) */
395 void VIRTUAL_parser__ReduceAction420__action(val* self, val* p0) {
396 parser__ReduceAction420__action(self, p0);
397 RET_LABEL:;
398 }
399 /* method parser#ReduceAction421#action for (self: ReduceAction421, Parser) */
400 void parser__ReduceAction421__action(val* self, val* p0) {
401 val* var_p /* var p: Parser */;
402 val* var /* : null */;
403 val* var_node_list /* var node_list: nullable Object */;
404 val* var1 /* : nullable Object */;
405 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
406 val* var2 /* : nullable Object */;
407 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
408 val* var3 /* : nullable Object */;
409 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
410 val* var4 /* : nullable Object */;
411 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
412 val* var5 /* : nullable Object */;
413 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
414 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
415 short int var6 /* : Bool */;
416 int cltype;
417 int idtype;
418 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
419 short int var7 /* : Bool */;
420 int cltype8;
421 int idtype9;
422 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
423 short int var10 /* : Bool */;
424 int cltype11;
425 int idtype12;
426 val* var_tidnode9 /* var tidnode9: nullable Object */;
427 short int var13 /* : Bool */;
428 int cltype14;
429 int idtype15;
430 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
431 short int var16 /* : Bool */;
432 int cltype17;
433 int idtype18;
434 val* var19 /* : AAttrPropdef */;
435 val* var20 /* : null */;
436 val* var21 /* : null */;
437 val* var22 /* : null */;
438 val* var23 /* : null */;
439 val* var24 /* : null */;
440 val* var25 /* : null */;
441 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
442 long var26 /* : Int */;
443 long var27 /* : Int */;
444 var_p = p0;
445 var = NULL;
446 var_node_list = var;
447 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
448 var_nodearraylist5 = var1;
449 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
450 var_nodearraylist4 = var2;
451 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
452 var_nodearraylist3 = var3;
453 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
454 var_nodearraylist2 = var4;
455 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
456 var_nodearraylist1 = var5;
457 var_pdocnode2 = var_nodearraylist1;
458 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
459 cltype = type_nullable_parser_nodes__ADoc.color;
460 idtype = type_nullable_parser_nodes__ADoc.id;
461 if(var_pdocnode2 == NULL) {
462 var6 = 1;
463 } else {
464 if(cltype >= var_pdocnode2->type->table_size) {
465 var6 = 0;
466 } else {
467 var6 = var_pdocnode2->type->type_table[cltype] == idtype;
468 }
469 }
470 if (!var6) {
471 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18915);
472 exit(1);
473 }
474 var_pvisibilitynode6 = var_nodearraylist2;
475 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
476 cltype8 = type_nullable_parser_nodes__AVisibility.color;
477 idtype9 = type_nullable_parser_nodes__AVisibility.id;
478 if(var_pvisibilitynode6 == NULL) {
479 var7 = 1;
480 } else {
481 if(cltype8 >= var_pvisibilitynode6->type->table_size) {
482 var7 = 0;
483 } else {
484 var7 = var_pvisibilitynode6->type->type_table[cltype8] == idtype9;
485 }
486 }
487 if (!var7) {
488 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18917);
489 exit(1);
490 }
491 var_tkwvarnode7 = var_nodearraylist3;
492 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
493 cltype11 = type_nullable_parser_nodes__TKwvar.color;
494 idtype12 = type_nullable_parser_nodes__TKwvar.id;
495 if(var_tkwvarnode7 == NULL) {
496 var10 = 1;
497 } else {
498 if(cltype11 >= var_tkwvarnode7->type->table_size) {
499 var10 = 0;
500 } else {
501 var10 = var_tkwvarnode7->type->type_table[cltype11] == idtype12;
502 }
503 }
504 if (!var10) {
505 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18919);
506 exit(1);
507 }
508 var_tidnode9 = var_nodearraylist4;
509 /* <var_tidnode9:nullable Object> isa nullable TId */
510 cltype14 = type_nullable_parser_nodes__TId.color;
511 idtype15 = type_nullable_parser_nodes__TId.id;
512 if(var_tidnode9 == NULL) {
513 var13 = 1;
514 } else {
515 if(cltype14 >= var_tidnode9->type->table_size) {
516 var13 = 0;
517 } else {
518 var13 = var_tidnode9->type->type_table[cltype14] == idtype15;
519 }
520 }
521 if (!var13) {
522 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18921);
523 exit(1);
524 }
525 var_pannotationsnode11 = var_nodearraylist5;
526 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
527 cltype17 = type_nullable_parser_nodes__AAnnotations.color;
528 idtype18 = type_nullable_parser_nodes__AAnnotations.id;
529 if(var_pannotationsnode11 == NULL) {
530 var16 = 1;
531 } else {
532 if(cltype17 >= var_pannotationsnode11->type->table_size) {
533 var16 = 0;
534 } else {
535 var16 = var_pannotationsnode11->type->type_table[cltype17] == idtype18;
536 }
537 }
538 if (!var16) {
539 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18923);
540 exit(1);
541 }
542 var19 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
543 var20 = NULL;
544 var21 = NULL;
545 var22 = NULL;
546 var23 = NULL;
547 var24 = NULL;
548 var25 = NULL;
549 ((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>*/;
550 CHECK_NEW_parser_nodes__AAttrPropdef(var19);
551 var_ppropdefnode1 = var19;
552 var_node_list = var_ppropdefnode1;
553 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction421> */
554 var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on <var_p:Parser>*/;
555 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on <var_p:Parser>*/;
556 RET_LABEL:;
557 }
558 /* method parser#ReduceAction421#action for (self: Object, Parser) */
559 void VIRTUAL_parser__ReduceAction421__action(val* self, val* p0) {
560 parser__ReduceAction421__action(self, p0);
561 RET_LABEL:;
562 }
563 /* method parser#ReduceAction422#action for (self: ReduceAction422, Parser) */
564 void parser__ReduceAction422__action(val* self, val* p0) {
565 val* var_p /* var p: Parser */;
566 val* var /* : null */;
567 val* var_node_list /* var node_list: nullable Object */;
568 val* var1 /* : nullable Object */;
569 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
570 val* var2 /* : nullable Object */;
571 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
572 val* var3 /* : nullable Object */;
573 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
574 val* var4 /* : nullable Object */;
575 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
576 val* var5 /* : nullable Object */;
577 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
578 val* var6 /* : nullable Object */;
579 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
580 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
581 short int var7 /* : Bool */;
582 int cltype;
583 int idtype;
584 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
585 short int var8 /* : Bool */;
586 int cltype9;
587 int idtype10;
588 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
589 short int var11 /* : Bool */;
590 int cltype12;
591 int idtype13;
592 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
593 short int var14 /* : Bool */;
594 int cltype15;
595 int idtype16;
596 val* var_tidnode9 /* var tidnode9: nullable Object */;
597 short int var17 /* : Bool */;
598 int cltype18;
599 int idtype19;
600 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
601 short int var20 /* : Bool */;
602 int cltype21;
603 int idtype22;
604 val* var23 /* : AAttrPropdef */;
605 val* var24 /* : null */;
606 val* var25 /* : null */;
607 val* var26 /* : null */;
608 val* var27 /* : null */;
609 val* var28 /* : null */;
610 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
611 long var29 /* : Int */;
612 long var30 /* : Int */;
613 var_p = p0;
614 var = NULL;
615 var_node_list = var;
616 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
617 var_nodearraylist6 = var1;
618 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
619 var_nodearraylist5 = var2;
620 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
621 var_nodearraylist4 = var3;
622 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
623 var_nodearraylist3 = var4;
624 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
625 var_nodearraylist2 = var5;
626 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
627 var_nodearraylist1 = var6;
628 var_pdocnode2 = var_nodearraylist1;
629 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
630 cltype = type_nullable_parser_nodes__ADoc.color;
631 idtype = type_nullable_parser_nodes__ADoc.id;
632 if(var_pdocnode2 == NULL) {
633 var7 = 1;
634 } else {
635 if(cltype >= var_pdocnode2->type->table_size) {
636 var7 = 0;
637 } else {
638 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
639 }
640 }
641 if (!var7) {
642 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18953);
643 exit(1);
644 }
645 var_tkwredefnode5 = var_nodearraylist2;
646 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
647 cltype9 = type_nullable_parser_nodes__TKwredef.color;
648 idtype10 = type_nullable_parser_nodes__TKwredef.id;
649 if(var_tkwredefnode5 == NULL) {
650 var8 = 1;
651 } else {
652 if(cltype9 >= var_tkwredefnode5->type->table_size) {
653 var8 = 0;
654 } else {
655 var8 = var_tkwredefnode5->type->type_table[cltype9] == idtype10;
656 }
657 }
658 if (!var8) {
659 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18955);
660 exit(1);
661 }
662 var_pvisibilitynode6 = var_nodearraylist3;
663 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
664 cltype12 = type_nullable_parser_nodes__AVisibility.color;
665 idtype13 = type_nullable_parser_nodes__AVisibility.id;
666 if(var_pvisibilitynode6 == NULL) {
667 var11 = 1;
668 } else {
669 if(cltype12 >= var_pvisibilitynode6->type->table_size) {
670 var11 = 0;
671 } else {
672 var11 = var_pvisibilitynode6->type->type_table[cltype12] == idtype13;
673 }
674 }
675 if (!var11) {
676 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18957);
677 exit(1);
678 }
679 var_tkwvarnode7 = var_nodearraylist4;
680 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
681 cltype15 = type_nullable_parser_nodes__TKwvar.color;
682 idtype16 = type_nullable_parser_nodes__TKwvar.id;
683 if(var_tkwvarnode7 == NULL) {
684 var14 = 1;
685 } else {
686 if(cltype15 >= var_tkwvarnode7->type->table_size) {
687 var14 = 0;
688 } else {
689 var14 = var_tkwvarnode7->type->type_table[cltype15] == idtype16;
690 }
691 }
692 if (!var14) {
693 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18959);
694 exit(1);
695 }
696 var_tidnode9 = var_nodearraylist5;
697 /* <var_tidnode9:nullable Object> isa nullable TId */
698 cltype18 = type_nullable_parser_nodes__TId.color;
699 idtype19 = type_nullable_parser_nodes__TId.id;
700 if(var_tidnode9 == NULL) {
701 var17 = 1;
702 } else {
703 if(cltype18 >= var_tidnode9->type->table_size) {
704 var17 = 0;
705 } else {
706 var17 = var_tidnode9->type->type_table[cltype18] == idtype19;
707 }
708 }
709 if (!var17) {
710 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18961);
711 exit(1);
712 }
713 var_pannotationsnode11 = var_nodearraylist6;
714 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
715 cltype21 = type_nullable_parser_nodes__AAnnotations.color;
716 idtype22 = type_nullable_parser_nodes__AAnnotations.id;
717 if(var_pannotationsnode11 == NULL) {
718 var20 = 1;
719 } else {
720 if(cltype21 >= var_pannotationsnode11->type->table_size) {
721 var20 = 0;
722 } else {
723 var20 = var_pannotationsnode11->type->type_table[cltype21] == idtype22;
724 }
725 }
726 if (!var20) {
727 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18963);
728 exit(1);
729 }
730 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
731 var24 = NULL;
732 var25 = NULL;
733 var26 = NULL;
734 var27 = NULL;
735 var28 = NULL;
736 ((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>*/;
737 CHECK_NEW_parser_nodes__AAttrPropdef(var23);
738 var_ppropdefnode1 = var23;
739 var_node_list = var_ppropdefnode1;
740 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction422> */
741 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
742 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
743 RET_LABEL:;
744 }
745 /* method parser#ReduceAction422#action for (self: Object, Parser) */
746 void VIRTUAL_parser__ReduceAction422__action(val* self, val* p0) {
747 parser__ReduceAction422__action(self, p0);
748 RET_LABEL:;
749 }
750 /* method parser#ReduceAction423#action for (self: ReduceAction423, Parser) */
751 void parser__ReduceAction423__action(val* self, val* p0) {
752 val* var_p /* var p: Parser */;
753 val* var /* : null */;
754 val* var_node_list /* var node_list: nullable Object */;
755 val* var1 /* : nullable Object */;
756 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
757 val* var2 /* : nullable Object */;
758 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
759 val* var3 /* : nullable Object */;
760 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
761 val* var4 /* : nullable Object */;
762 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
763 val* var5 /* : nullable Object */;
764 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
765 val* var6 /* : nullable Object */;
766 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
767 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
768 short int var7 /* : Bool */;
769 int cltype;
770 int idtype;
771 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
772 short int var8 /* : Bool */;
773 int cltype9;
774 int idtype10;
775 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
776 short int var11 /* : Bool */;
777 int cltype12;
778 int idtype13;
779 val* var_tidnode9 /* var tidnode9: nullable Object */;
780 short int var14 /* : Bool */;
781 int cltype15;
782 int idtype16;
783 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
784 short int var17 /* : Bool */;
785 int cltype18;
786 int idtype19;
787 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
788 short int var20 /* : Bool */;
789 int cltype21;
790 int idtype22;
791 val* var23 /* : AAttrPropdef */;
792 val* var24 /* : null */;
793 val* var25 /* : null */;
794 val* var26 /* : null */;
795 val* var27 /* : null */;
796 val* var28 /* : null */;
797 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
798 long var29 /* : Int */;
799 long var30 /* : Int */;
800 var_p = p0;
801 var = NULL;
802 var_node_list = var;
803 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
804 var_nodearraylist6 = var1;
805 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
806 var_nodearraylist5 = var2;
807 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
808 var_nodearraylist4 = var3;
809 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
810 var_nodearraylist3 = var4;
811 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
812 var_nodearraylist2 = var5;
813 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
814 var_nodearraylist1 = var6;
815 var_pdocnode2 = var_nodearraylist1;
816 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
817 cltype = type_nullable_parser_nodes__ADoc.color;
818 idtype = type_nullable_parser_nodes__ADoc.id;
819 if(var_pdocnode2 == NULL) {
820 var7 = 1;
821 } else {
822 if(cltype >= var_pdocnode2->type->table_size) {
823 var7 = 0;
824 } else {
825 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
826 }
827 }
828 if (!var7) {
829 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18993);
830 exit(1);
831 }
832 var_pvisibilitynode6 = var_nodearraylist2;
833 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
834 cltype9 = type_nullable_parser_nodes__AVisibility.color;
835 idtype10 = type_nullable_parser_nodes__AVisibility.id;
836 if(var_pvisibilitynode6 == NULL) {
837 var8 = 1;
838 } else {
839 if(cltype9 >= var_pvisibilitynode6->type->table_size) {
840 var8 = 0;
841 } else {
842 var8 = var_pvisibilitynode6->type->type_table[cltype9] == idtype10;
843 }
844 }
845 if (!var8) {
846 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18995);
847 exit(1);
848 }
849 var_tkwvarnode7 = var_nodearraylist3;
850 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
851 cltype12 = type_nullable_parser_nodes__TKwvar.color;
852 idtype13 = type_nullable_parser_nodes__TKwvar.id;
853 if(var_tkwvarnode7 == NULL) {
854 var11 = 1;
855 } else {
856 if(cltype12 >= var_tkwvarnode7->type->table_size) {
857 var11 = 0;
858 } else {
859 var11 = var_tkwvarnode7->type->type_table[cltype12] == idtype13;
860 }
861 }
862 if (!var11) {
863 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18997);
864 exit(1);
865 }
866 var_tidnode9 = var_nodearraylist4;
867 /* <var_tidnode9:nullable Object> isa nullable TId */
868 cltype15 = type_nullable_parser_nodes__TId.color;
869 idtype16 = type_nullable_parser_nodes__TId.id;
870 if(var_tidnode9 == NULL) {
871 var14 = 1;
872 } else {
873 if(cltype15 >= var_tidnode9->type->table_size) {
874 var14 = 0;
875 } else {
876 var14 = var_tidnode9->type->type_table[cltype15] == idtype16;
877 }
878 }
879 if (!var14) {
880 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 18999);
881 exit(1);
882 }
883 var_ptypenode10 = var_nodearraylist5;
884 /* <var_ptypenode10:nullable Object> isa nullable AType */
885 cltype18 = type_nullable_parser_nodes__AType.color;
886 idtype19 = type_nullable_parser_nodes__AType.id;
887 if(var_ptypenode10 == NULL) {
888 var17 = 1;
889 } else {
890 if(cltype18 >= var_ptypenode10->type->table_size) {
891 var17 = 0;
892 } else {
893 var17 = var_ptypenode10->type->type_table[cltype18] == idtype19;
894 }
895 }
896 if (!var17) {
897 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19001);
898 exit(1);
899 }
900 var_pannotationsnode11 = var_nodearraylist6;
901 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
902 cltype21 = type_nullable_parser_nodes__AAnnotations.color;
903 idtype22 = type_nullable_parser_nodes__AAnnotations.id;
904 if(var_pannotationsnode11 == NULL) {
905 var20 = 1;
906 } else {
907 if(cltype21 >= var_pannotationsnode11->type->table_size) {
908 var20 = 0;
909 } else {
910 var20 = var_pannotationsnode11->type->type_table[cltype21] == idtype22;
911 }
912 }
913 if (!var20) {
914 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19003);
915 exit(1);
916 }
917 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
918 var24 = NULL;
919 var25 = NULL;
920 var26 = NULL;
921 var27 = NULL;
922 var28 = NULL;
923 ((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>*/;
924 CHECK_NEW_parser_nodes__AAttrPropdef(var23);
925 var_ppropdefnode1 = var23;
926 var_node_list = var_ppropdefnode1;
927 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction423> */
928 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
929 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
930 RET_LABEL:;
931 }
932 /* method parser#ReduceAction423#action for (self: Object, Parser) */
933 void VIRTUAL_parser__ReduceAction423__action(val* self, val* p0) {
934 parser__ReduceAction423__action(self, p0);
935 RET_LABEL:;
936 }
937 /* method parser#ReduceAction424#action for (self: ReduceAction424, Parser) */
938 void parser__ReduceAction424__action(val* self, val* p0) {
939 val* var_p /* var p: Parser */;
940 val* var /* : null */;
941 val* var_node_list /* var node_list: nullable Object */;
942 val* var1 /* : nullable Object */;
943 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
944 val* var2 /* : nullable Object */;
945 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
946 val* var3 /* : nullable Object */;
947 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
948 val* var4 /* : nullable Object */;
949 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
950 val* var5 /* : nullable Object */;
951 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
952 val* var6 /* : nullable Object */;
953 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
954 val* var7 /* : nullable Object */;
955 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
956 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
957 short int var8 /* : Bool */;
958 int cltype;
959 int idtype;
960 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
961 short int var9 /* : Bool */;
962 int cltype10;
963 int idtype11;
964 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
965 short int var12 /* : Bool */;
966 int cltype13;
967 int idtype14;
968 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
969 short int var15 /* : Bool */;
970 int cltype16;
971 int idtype17;
972 val* var_tidnode9 /* var tidnode9: nullable Object */;
973 short int var18 /* : Bool */;
974 int cltype19;
975 int idtype20;
976 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
977 short int var21 /* : Bool */;
978 int cltype22;
979 int idtype23;
980 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
981 short int var24 /* : Bool */;
982 int cltype25;
983 int idtype26;
984 val* var27 /* : AAttrPropdef */;
985 val* var28 /* : null */;
986 val* var29 /* : null */;
987 val* var30 /* : null */;
988 val* var31 /* : null */;
989 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
990 long var32 /* : Int */;
991 long var33 /* : Int */;
992 var_p = p0;
993 var = NULL;
994 var_node_list = var;
995 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
996 var_nodearraylist7 = var1;
997 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
998 var_nodearraylist6 = var2;
999 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1000 var_nodearraylist5 = var3;
1001 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1002 var_nodearraylist4 = var4;
1003 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1004 var_nodearraylist3 = var5;
1005 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1006 var_nodearraylist2 = var6;
1007 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1008 var_nodearraylist1 = var7;
1009 var_pdocnode2 = var_nodearraylist1;
1010 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1011 cltype = type_nullable_parser_nodes__ADoc.color;
1012 idtype = type_nullable_parser_nodes__ADoc.id;
1013 if(var_pdocnode2 == NULL) {
1014 var8 = 1;
1015 } else {
1016 if(cltype >= var_pdocnode2->type->table_size) {
1017 var8 = 0;
1018 } else {
1019 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
1020 }
1021 }
1022 if (!var8) {
1023 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19034);
1024 exit(1);
1025 }
1026 var_tkwredefnode5 = var_nodearraylist2;
1027 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
1028 cltype10 = type_nullable_parser_nodes__TKwredef.color;
1029 idtype11 = type_nullable_parser_nodes__TKwredef.id;
1030 if(var_tkwredefnode5 == NULL) {
1031 var9 = 1;
1032 } else {
1033 if(cltype10 >= var_tkwredefnode5->type->table_size) {
1034 var9 = 0;
1035 } else {
1036 var9 = var_tkwredefnode5->type->type_table[cltype10] == idtype11;
1037 }
1038 }
1039 if (!var9) {
1040 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19036);
1041 exit(1);
1042 }
1043 var_pvisibilitynode6 = var_nodearraylist3;
1044 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
1045 cltype13 = type_nullable_parser_nodes__AVisibility.color;
1046 idtype14 = type_nullable_parser_nodes__AVisibility.id;
1047 if(var_pvisibilitynode6 == NULL) {
1048 var12 = 1;
1049 } else {
1050 if(cltype13 >= var_pvisibilitynode6->type->table_size) {
1051 var12 = 0;
1052 } else {
1053 var12 = var_pvisibilitynode6->type->type_table[cltype13] == idtype14;
1054 }
1055 }
1056 if (!var12) {
1057 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19038);
1058 exit(1);
1059 }
1060 var_tkwvarnode7 = var_nodearraylist4;
1061 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
1062 cltype16 = type_nullable_parser_nodes__TKwvar.color;
1063 idtype17 = type_nullable_parser_nodes__TKwvar.id;
1064 if(var_tkwvarnode7 == NULL) {
1065 var15 = 1;
1066 } else {
1067 if(cltype16 >= var_tkwvarnode7->type->table_size) {
1068 var15 = 0;
1069 } else {
1070 var15 = var_tkwvarnode7->type->type_table[cltype16] == idtype17;
1071 }
1072 }
1073 if (!var15) {
1074 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19040);
1075 exit(1);
1076 }
1077 var_tidnode9 = var_nodearraylist5;
1078 /* <var_tidnode9:nullable Object> isa nullable TId */
1079 cltype19 = type_nullable_parser_nodes__TId.color;
1080 idtype20 = type_nullable_parser_nodes__TId.id;
1081 if(var_tidnode9 == NULL) {
1082 var18 = 1;
1083 } else {
1084 if(cltype19 >= var_tidnode9->type->table_size) {
1085 var18 = 0;
1086 } else {
1087 var18 = var_tidnode9->type->type_table[cltype19] == idtype20;
1088 }
1089 }
1090 if (!var18) {
1091 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19042);
1092 exit(1);
1093 }
1094 var_ptypenode10 = var_nodearraylist6;
1095 /* <var_ptypenode10:nullable Object> isa nullable AType */
1096 cltype22 = type_nullable_parser_nodes__AType.color;
1097 idtype23 = type_nullable_parser_nodes__AType.id;
1098 if(var_ptypenode10 == NULL) {
1099 var21 = 1;
1100 } else {
1101 if(cltype22 >= var_ptypenode10->type->table_size) {
1102 var21 = 0;
1103 } else {
1104 var21 = var_ptypenode10->type->type_table[cltype22] == idtype23;
1105 }
1106 }
1107 if (!var21) {
1108 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19044);
1109 exit(1);
1110 }
1111 var_pannotationsnode11 = var_nodearraylist7;
1112 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
1113 cltype25 = type_nullable_parser_nodes__AAnnotations.color;
1114 idtype26 = type_nullable_parser_nodes__AAnnotations.id;
1115 if(var_pannotationsnode11 == NULL) {
1116 var24 = 1;
1117 } else {
1118 if(cltype25 >= var_pannotationsnode11->type->table_size) {
1119 var24 = 0;
1120 } else {
1121 var24 = var_pannotationsnode11->type->type_table[cltype25] == idtype26;
1122 }
1123 }
1124 if (!var24) {
1125 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19046);
1126 exit(1);
1127 }
1128 var27 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
1129 var28 = NULL;
1130 var29 = NULL;
1131 var30 = NULL;
1132 var31 = NULL;
1133 ((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>*/;
1134 CHECK_NEW_parser_nodes__AAttrPropdef(var27);
1135 var_ppropdefnode1 = var27;
1136 var_node_list = var_ppropdefnode1;
1137 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction424> */
1138 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
1139 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
1140 RET_LABEL:;
1141 }
1142 /* method parser#ReduceAction424#action for (self: Object, Parser) */
1143 void VIRTUAL_parser__ReduceAction424__action(val* self, val* p0) {
1144 parser__ReduceAction424__action(self, p0);
1145 RET_LABEL:;
1146 }
1147 /* method parser#ReduceAction425#action for (self: ReduceAction425, Parser) */
1148 void parser__ReduceAction425__action(val* self, val* p0) {
1149 val* var_p /* var p: Parser */;
1150 val* var /* : null */;
1151 val* var_node_list /* var node_list: nullable Object */;
1152 val* var1 /* : nullable Object */;
1153 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1154 val* var2 /* : nullable Object */;
1155 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1156 val* var3 /* : nullable Object */;
1157 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1158 val* var4 /* : nullable Object */;
1159 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1160 val* var5 /* : nullable Object */;
1161 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1162 val* var6 /* : nullable Object */;
1163 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1164 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1165 short int var7 /* : Bool */;
1166 int cltype;
1167 int idtype;
1168 val* var_pablenode4 /* var pablenode4: nullable Object */;
1169 short int var8 /* : Bool */;
1170 int cltype9;
1171 int idtype10;
1172 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
1173 short int var11 /* : Bool */;
1174 int cltype12;
1175 int idtype13;
1176 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
1177 short int var14 /* : Bool */;
1178 int cltype15;
1179 int idtype16;
1180 val* var_tidnode9 /* var tidnode9: nullable Object */;
1181 short int var17 /* : Bool */;
1182 int cltype18;
1183 int idtype19;
1184 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
1185 short int var20 /* : Bool */;
1186 int cltype21;
1187 int idtype22;
1188 val* var23 /* : AAttrPropdef */;
1189 val* var24 /* : null */;
1190 val* var25 /* : null */;
1191 val* var26 /* : null */;
1192 val* var27 /* : null */;
1193 val* var28 /* : null */;
1194 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
1195 long var29 /* : Int */;
1196 long var30 /* : Int */;
1197 var_p = p0;
1198 var = NULL;
1199 var_node_list = var;
1200 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1201 var_nodearraylist6 = var1;
1202 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1203 var_nodearraylist5 = var2;
1204 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1205 var_nodearraylist4 = var3;
1206 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1207 var_nodearraylist3 = var4;
1208 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1209 var_nodearraylist2 = var5;
1210 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1211 var_nodearraylist1 = var6;
1212 var_pdocnode2 = var_nodearraylist1;
1213 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1214 cltype = type_nullable_parser_nodes__ADoc.color;
1215 idtype = type_nullable_parser_nodes__ADoc.id;
1216 if(var_pdocnode2 == NULL) {
1217 var7 = 1;
1218 } else {
1219 if(cltype >= var_pdocnode2->type->table_size) {
1220 var7 = 0;
1221 } else {
1222 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
1223 }
1224 }
1225 if (!var7) {
1226 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19076);
1227 exit(1);
1228 }
1229 var_pablenode4 = var_nodearraylist5;
1230 /* <var_pablenode4:nullable Object> isa nullable AAble */
1231 cltype9 = type_nullable_parser_nodes__AAble.color;
1232 idtype10 = type_nullable_parser_nodes__AAble.id;
1233 if(var_pablenode4 == NULL) {
1234 var8 = 1;
1235 } else {
1236 if(cltype9 >= var_pablenode4->type->table_size) {
1237 var8 = 0;
1238 } else {
1239 var8 = var_pablenode4->type->type_table[cltype9] == idtype10;
1240 }
1241 }
1242 if (!var8) {
1243 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19078);
1244 exit(1);
1245 }
1246 var_pvisibilitynode6 = var_nodearraylist2;
1247 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
1248 cltype12 = type_nullable_parser_nodes__AVisibility.color;
1249 idtype13 = type_nullable_parser_nodes__AVisibility.id;
1250 if(var_pvisibilitynode6 == NULL) {
1251 var11 = 1;
1252 } else {
1253 if(cltype12 >= var_pvisibilitynode6->type->table_size) {
1254 var11 = 0;
1255 } else {
1256 var11 = var_pvisibilitynode6->type->type_table[cltype12] == idtype13;
1257 }
1258 }
1259 if (!var11) {
1260 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19080);
1261 exit(1);
1262 }
1263 var_tkwvarnode7 = var_nodearraylist3;
1264 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
1265 cltype15 = type_nullable_parser_nodes__TKwvar.color;
1266 idtype16 = type_nullable_parser_nodes__TKwvar.id;
1267 if(var_tkwvarnode7 == NULL) {
1268 var14 = 1;
1269 } else {
1270 if(cltype15 >= var_tkwvarnode7->type->table_size) {
1271 var14 = 0;
1272 } else {
1273 var14 = var_tkwvarnode7->type->type_table[cltype15] == idtype16;
1274 }
1275 }
1276 if (!var14) {
1277 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19082);
1278 exit(1);
1279 }
1280 var_tidnode9 = var_nodearraylist4;
1281 /* <var_tidnode9:nullable Object> isa nullable TId */
1282 cltype18 = type_nullable_parser_nodes__TId.color;
1283 idtype19 = type_nullable_parser_nodes__TId.id;
1284 if(var_tidnode9 == NULL) {
1285 var17 = 1;
1286 } else {
1287 if(cltype18 >= var_tidnode9->type->table_size) {
1288 var17 = 0;
1289 } else {
1290 var17 = var_tidnode9->type->type_table[cltype18] == idtype19;
1291 }
1292 }
1293 if (!var17) {
1294 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19084);
1295 exit(1);
1296 }
1297 var_pannotationsnode11 = var_nodearraylist6;
1298 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
1299 cltype21 = type_nullable_parser_nodes__AAnnotations.color;
1300 idtype22 = type_nullable_parser_nodes__AAnnotations.id;
1301 if(var_pannotationsnode11 == NULL) {
1302 var20 = 1;
1303 } else {
1304 if(cltype21 >= var_pannotationsnode11->type->table_size) {
1305 var20 = 0;
1306 } else {
1307 var20 = var_pannotationsnode11->type->type_table[cltype21] == idtype22;
1308 }
1309 }
1310 if (!var20) {
1311 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19086);
1312 exit(1);
1313 }
1314 var23 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
1315 var24 = NULL;
1316 var25 = NULL;
1317 var26 = NULL;
1318 var27 = NULL;
1319 var28 = NULL;
1320 ((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>*/;
1321 CHECK_NEW_parser_nodes__AAttrPropdef(var23);
1322 var_ppropdefnode1 = var23;
1323 var_node_list = var_ppropdefnode1;
1324 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction425> */
1325 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
1326 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
1327 RET_LABEL:;
1328 }
1329 /* method parser#ReduceAction425#action for (self: Object, Parser) */
1330 void VIRTUAL_parser__ReduceAction425__action(val* self, val* p0) {
1331 parser__ReduceAction425__action(self, p0);
1332 RET_LABEL:;
1333 }
1334 /* method parser#ReduceAction426#action for (self: ReduceAction426, Parser) */
1335 void parser__ReduceAction426__action(val* self, val* p0) {
1336 val* var_p /* var p: Parser */;
1337 val* var /* : null */;
1338 val* var_node_list /* var node_list: nullable Object */;
1339 val* var1 /* : nullable Object */;
1340 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1341 val* var2 /* : nullable Object */;
1342 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1343 val* var3 /* : nullable Object */;
1344 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1345 val* var4 /* : nullable Object */;
1346 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1347 val* var5 /* : nullable Object */;
1348 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1349 val* var6 /* : nullable Object */;
1350 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1351 val* var7 /* : nullable Object */;
1352 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1353 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1354 short int var8 /* : Bool */;
1355 int cltype;
1356 int idtype;
1357 val* var_pablenode4 /* var pablenode4: nullable Object */;
1358 short int var9 /* : Bool */;
1359 int cltype10;
1360 int idtype11;
1361 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
1362 short int var12 /* : Bool */;
1363 int cltype13;
1364 int idtype14;
1365 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
1366 short int var15 /* : Bool */;
1367 int cltype16;
1368 int idtype17;
1369 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
1370 short int var18 /* : Bool */;
1371 int cltype19;
1372 int idtype20;
1373 val* var_tidnode9 /* var tidnode9: nullable Object */;
1374 short int var21 /* : Bool */;
1375 int cltype22;
1376 int idtype23;
1377 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
1378 short int var24 /* : Bool */;
1379 int cltype25;
1380 int idtype26;
1381 val* var27 /* : AAttrPropdef */;
1382 val* var28 /* : null */;
1383 val* var29 /* : null */;
1384 val* var30 /* : null */;
1385 val* var31 /* : null */;
1386 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
1387 long var32 /* : Int */;
1388 long var33 /* : Int */;
1389 var_p = p0;
1390 var = NULL;
1391 var_node_list = var;
1392 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1393 var_nodearraylist7 = var1;
1394 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1395 var_nodearraylist6 = var2;
1396 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1397 var_nodearraylist5 = var3;
1398 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1399 var_nodearraylist4 = var4;
1400 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1401 var_nodearraylist3 = var5;
1402 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1403 var_nodearraylist2 = var6;
1404 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1405 var_nodearraylist1 = var7;
1406 var_pdocnode2 = var_nodearraylist1;
1407 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1408 cltype = type_nullable_parser_nodes__ADoc.color;
1409 idtype = type_nullable_parser_nodes__ADoc.id;
1410 if(var_pdocnode2 == NULL) {
1411 var8 = 1;
1412 } else {
1413 if(cltype >= var_pdocnode2->type->table_size) {
1414 var8 = 0;
1415 } else {
1416 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
1417 }
1418 }
1419 if (!var8) {
1420 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19117);
1421 exit(1);
1422 }
1423 var_pablenode4 = var_nodearraylist6;
1424 /* <var_pablenode4:nullable Object> isa nullable AAble */
1425 cltype10 = type_nullable_parser_nodes__AAble.color;
1426 idtype11 = type_nullable_parser_nodes__AAble.id;
1427 if(var_pablenode4 == NULL) {
1428 var9 = 1;
1429 } else {
1430 if(cltype10 >= var_pablenode4->type->table_size) {
1431 var9 = 0;
1432 } else {
1433 var9 = var_pablenode4->type->type_table[cltype10] == idtype11;
1434 }
1435 }
1436 if (!var9) {
1437 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19119);
1438 exit(1);
1439 }
1440 var_tkwredefnode5 = var_nodearraylist2;
1441 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
1442 cltype13 = type_nullable_parser_nodes__TKwredef.color;
1443 idtype14 = type_nullable_parser_nodes__TKwredef.id;
1444 if(var_tkwredefnode5 == NULL) {
1445 var12 = 1;
1446 } else {
1447 if(cltype13 >= var_tkwredefnode5->type->table_size) {
1448 var12 = 0;
1449 } else {
1450 var12 = var_tkwredefnode5->type->type_table[cltype13] == idtype14;
1451 }
1452 }
1453 if (!var12) {
1454 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19121);
1455 exit(1);
1456 }
1457 var_pvisibilitynode6 = var_nodearraylist3;
1458 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
1459 cltype16 = type_nullable_parser_nodes__AVisibility.color;
1460 idtype17 = type_nullable_parser_nodes__AVisibility.id;
1461 if(var_pvisibilitynode6 == NULL) {
1462 var15 = 1;
1463 } else {
1464 if(cltype16 >= var_pvisibilitynode6->type->table_size) {
1465 var15 = 0;
1466 } else {
1467 var15 = var_pvisibilitynode6->type->type_table[cltype16] == idtype17;
1468 }
1469 }
1470 if (!var15) {
1471 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19123);
1472 exit(1);
1473 }
1474 var_tkwvarnode7 = var_nodearraylist4;
1475 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
1476 cltype19 = type_nullable_parser_nodes__TKwvar.color;
1477 idtype20 = type_nullable_parser_nodes__TKwvar.id;
1478 if(var_tkwvarnode7 == NULL) {
1479 var18 = 1;
1480 } else {
1481 if(cltype19 >= var_tkwvarnode7->type->table_size) {
1482 var18 = 0;
1483 } else {
1484 var18 = var_tkwvarnode7->type->type_table[cltype19] == idtype20;
1485 }
1486 }
1487 if (!var18) {
1488 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19125);
1489 exit(1);
1490 }
1491 var_tidnode9 = var_nodearraylist5;
1492 /* <var_tidnode9:nullable Object> isa nullable TId */
1493 cltype22 = type_nullable_parser_nodes__TId.color;
1494 idtype23 = type_nullable_parser_nodes__TId.id;
1495 if(var_tidnode9 == NULL) {
1496 var21 = 1;
1497 } else {
1498 if(cltype22 >= var_tidnode9->type->table_size) {
1499 var21 = 0;
1500 } else {
1501 var21 = var_tidnode9->type->type_table[cltype22] == idtype23;
1502 }
1503 }
1504 if (!var21) {
1505 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19127);
1506 exit(1);
1507 }
1508 var_pannotationsnode11 = var_nodearraylist7;
1509 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
1510 cltype25 = type_nullable_parser_nodes__AAnnotations.color;
1511 idtype26 = type_nullable_parser_nodes__AAnnotations.id;
1512 if(var_pannotationsnode11 == NULL) {
1513 var24 = 1;
1514 } else {
1515 if(cltype25 >= var_pannotationsnode11->type->table_size) {
1516 var24 = 0;
1517 } else {
1518 var24 = var_pannotationsnode11->type->type_table[cltype25] == idtype26;
1519 }
1520 }
1521 if (!var24) {
1522 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19129);
1523 exit(1);
1524 }
1525 var27 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
1526 var28 = NULL;
1527 var29 = NULL;
1528 var30 = NULL;
1529 var31 = NULL;
1530 ((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>*/;
1531 CHECK_NEW_parser_nodes__AAttrPropdef(var27);
1532 var_ppropdefnode1 = var27;
1533 var_node_list = var_ppropdefnode1;
1534 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction426> */
1535 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
1536 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
1537 RET_LABEL:;
1538 }
1539 /* method parser#ReduceAction426#action for (self: Object, Parser) */
1540 void VIRTUAL_parser__ReduceAction426__action(val* self, val* p0) {
1541 parser__ReduceAction426__action(self, p0);
1542 RET_LABEL:;
1543 }
1544 /* method parser#ReduceAction427#action for (self: ReduceAction427, Parser) */
1545 void parser__ReduceAction427__action(val* self, val* p0) {
1546 val* var_p /* var p: Parser */;
1547 val* var /* : null */;
1548 val* var_node_list /* var node_list: nullable Object */;
1549 val* var1 /* : nullable Object */;
1550 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1551 val* var2 /* : nullable Object */;
1552 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1553 val* var3 /* : nullable Object */;
1554 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1555 val* var4 /* : nullable Object */;
1556 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1557 val* var5 /* : nullable Object */;
1558 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1559 val* var6 /* : nullable Object */;
1560 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1561 val* var7 /* : nullable Object */;
1562 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1563 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1564 short int var8 /* : Bool */;
1565 int cltype;
1566 int idtype;
1567 val* var_pablenode4 /* var pablenode4: nullable Object */;
1568 short int var9 /* : Bool */;
1569 int cltype10;
1570 int idtype11;
1571 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
1572 short int var12 /* : Bool */;
1573 int cltype13;
1574 int idtype14;
1575 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
1576 short int var15 /* : Bool */;
1577 int cltype16;
1578 int idtype17;
1579 val* var_tidnode9 /* var tidnode9: nullable Object */;
1580 short int var18 /* : Bool */;
1581 int cltype19;
1582 int idtype20;
1583 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
1584 short int var21 /* : Bool */;
1585 int cltype22;
1586 int idtype23;
1587 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
1588 short int var24 /* : Bool */;
1589 int cltype25;
1590 int idtype26;
1591 val* var27 /* : AAttrPropdef */;
1592 val* var28 /* : null */;
1593 val* var29 /* : null */;
1594 val* var30 /* : null */;
1595 val* var31 /* : null */;
1596 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
1597 long var32 /* : Int */;
1598 long var33 /* : Int */;
1599 var_p = p0;
1600 var = NULL;
1601 var_node_list = var;
1602 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1603 var_nodearraylist7 = var1;
1604 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1605 var_nodearraylist6 = var2;
1606 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1607 var_nodearraylist5 = var3;
1608 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1609 var_nodearraylist4 = var4;
1610 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1611 var_nodearraylist3 = var5;
1612 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1613 var_nodearraylist2 = var6;
1614 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1615 var_nodearraylist1 = var7;
1616 var_pdocnode2 = var_nodearraylist1;
1617 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1618 cltype = type_nullable_parser_nodes__ADoc.color;
1619 idtype = type_nullable_parser_nodes__ADoc.id;
1620 if(var_pdocnode2 == NULL) {
1621 var8 = 1;
1622 } else {
1623 if(cltype >= var_pdocnode2->type->table_size) {
1624 var8 = 0;
1625 } else {
1626 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
1627 }
1628 }
1629 if (!var8) {
1630 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19160);
1631 exit(1);
1632 }
1633 var_pablenode4 = var_nodearraylist6;
1634 /* <var_pablenode4:nullable Object> isa nullable AAble */
1635 cltype10 = type_nullable_parser_nodes__AAble.color;
1636 idtype11 = type_nullable_parser_nodes__AAble.id;
1637 if(var_pablenode4 == NULL) {
1638 var9 = 1;
1639 } else {
1640 if(cltype10 >= var_pablenode4->type->table_size) {
1641 var9 = 0;
1642 } else {
1643 var9 = var_pablenode4->type->type_table[cltype10] == idtype11;
1644 }
1645 }
1646 if (!var9) {
1647 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19162);
1648 exit(1);
1649 }
1650 var_pvisibilitynode6 = var_nodearraylist2;
1651 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
1652 cltype13 = type_nullable_parser_nodes__AVisibility.color;
1653 idtype14 = type_nullable_parser_nodes__AVisibility.id;
1654 if(var_pvisibilitynode6 == NULL) {
1655 var12 = 1;
1656 } else {
1657 if(cltype13 >= var_pvisibilitynode6->type->table_size) {
1658 var12 = 0;
1659 } else {
1660 var12 = var_pvisibilitynode6->type->type_table[cltype13] == idtype14;
1661 }
1662 }
1663 if (!var12) {
1664 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19164);
1665 exit(1);
1666 }
1667 var_tkwvarnode7 = var_nodearraylist3;
1668 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
1669 cltype16 = type_nullable_parser_nodes__TKwvar.color;
1670 idtype17 = type_nullable_parser_nodes__TKwvar.id;
1671 if(var_tkwvarnode7 == NULL) {
1672 var15 = 1;
1673 } else {
1674 if(cltype16 >= var_tkwvarnode7->type->table_size) {
1675 var15 = 0;
1676 } else {
1677 var15 = var_tkwvarnode7->type->type_table[cltype16] == idtype17;
1678 }
1679 }
1680 if (!var15) {
1681 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19166);
1682 exit(1);
1683 }
1684 var_tidnode9 = var_nodearraylist4;
1685 /* <var_tidnode9:nullable Object> isa nullable TId */
1686 cltype19 = type_nullable_parser_nodes__TId.color;
1687 idtype20 = type_nullable_parser_nodes__TId.id;
1688 if(var_tidnode9 == NULL) {
1689 var18 = 1;
1690 } else {
1691 if(cltype19 >= var_tidnode9->type->table_size) {
1692 var18 = 0;
1693 } else {
1694 var18 = var_tidnode9->type->type_table[cltype19] == idtype20;
1695 }
1696 }
1697 if (!var18) {
1698 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19168);
1699 exit(1);
1700 }
1701 var_ptypenode10 = var_nodearraylist5;
1702 /* <var_ptypenode10:nullable Object> isa nullable AType */
1703 cltype22 = type_nullable_parser_nodes__AType.color;
1704 idtype23 = type_nullable_parser_nodes__AType.id;
1705 if(var_ptypenode10 == NULL) {
1706 var21 = 1;
1707 } else {
1708 if(cltype22 >= var_ptypenode10->type->table_size) {
1709 var21 = 0;
1710 } else {
1711 var21 = var_ptypenode10->type->type_table[cltype22] == idtype23;
1712 }
1713 }
1714 if (!var21) {
1715 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19170);
1716 exit(1);
1717 }
1718 var_pannotationsnode11 = var_nodearraylist7;
1719 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
1720 cltype25 = type_nullable_parser_nodes__AAnnotations.color;
1721 idtype26 = type_nullable_parser_nodes__AAnnotations.id;
1722 if(var_pannotationsnode11 == NULL) {
1723 var24 = 1;
1724 } else {
1725 if(cltype25 >= var_pannotationsnode11->type->table_size) {
1726 var24 = 0;
1727 } else {
1728 var24 = var_pannotationsnode11->type->type_table[cltype25] == idtype26;
1729 }
1730 }
1731 if (!var24) {
1732 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19172);
1733 exit(1);
1734 }
1735 var27 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
1736 var28 = NULL;
1737 var29 = NULL;
1738 var30 = NULL;
1739 var31 = NULL;
1740 ((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>*/;
1741 CHECK_NEW_parser_nodes__AAttrPropdef(var27);
1742 var_ppropdefnode1 = var27;
1743 var_node_list = var_ppropdefnode1;
1744 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction427> */
1745 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
1746 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
1747 RET_LABEL:;
1748 }
1749 /* method parser#ReduceAction427#action for (self: Object, Parser) */
1750 void VIRTUAL_parser__ReduceAction427__action(val* self, val* p0) {
1751 parser__ReduceAction427__action(self, p0);
1752 RET_LABEL:;
1753 }
1754 /* method parser#ReduceAction428#action for (self: ReduceAction428, Parser) */
1755 void parser__ReduceAction428__action(val* self, val* p0) {
1756 val* var_p /* var p: Parser */;
1757 val* var /* : null */;
1758 val* var_node_list /* var node_list: nullable Object */;
1759 val* var1 /* : nullable Object */;
1760 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1761 val* var2 /* : nullable Object */;
1762 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1763 val* var3 /* : nullable Object */;
1764 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1765 val* var4 /* : nullable Object */;
1766 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1767 val* var5 /* : nullable Object */;
1768 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1769 val* var6 /* : nullable Object */;
1770 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1771 val* var7 /* : nullable Object */;
1772 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1773 val* var8 /* : nullable Object */;
1774 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1775 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1776 short int var9 /* : Bool */;
1777 int cltype;
1778 int idtype;
1779 val* var_pablenode4 /* var pablenode4: nullable Object */;
1780 short int var10 /* : Bool */;
1781 int cltype11;
1782 int idtype12;
1783 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
1784 short int var13 /* : Bool */;
1785 int cltype14;
1786 int idtype15;
1787 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
1788 short int var16 /* : Bool */;
1789 int cltype17;
1790 int idtype18;
1791 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
1792 short int var19 /* : Bool */;
1793 int cltype20;
1794 int idtype21;
1795 val* var_tidnode9 /* var tidnode9: nullable Object */;
1796 short int var22 /* : Bool */;
1797 int cltype23;
1798 int idtype24;
1799 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
1800 short int var25 /* : Bool */;
1801 int cltype26;
1802 int idtype27;
1803 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
1804 short int var28 /* : Bool */;
1805 int cltype29;
1806 int idtype30;
1807 val* var31 /* : AAttrPropdef */;
1808 val* var32 /* : null */;
1809 val* var33 /* : null */;
1810 val* var34 /* : null */;
1811 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
1812 long var35 /* : Int */;
1813 long var36 /* : Int */;
1814 var_p = p0;
1815 var = NULL;
1816 var_node_list = var;
1817 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1818 var_nodearraylist8 = var1;
1819 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1820 var_nodearraylist7 = var2;
1821 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1822 var_nodearraylist6 = var3;
1823 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1824 var_nodearraylist5 = var4;
1825 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1826 var_nodearraylist4 = var5;
1827 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1828 var_nodearraylist3 = var6;
1829 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1830 var_nodearraylist2 = var7;
1831 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1832 var_nodearraylist1 = var8;
1833 var_pdocnode2 = var_nodearraylist1;
1834 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1835 cltype = type_nullable_parser_nodes__ADoc.color;
1836 idtype = type_nullable_parser_nodes__ADoc.id;
1837 if(var_pdocnode2 == NULL) {
1838 var9 = 1;
1839 } else {
1840 if(cltype >= var_pdocnode2->type->table_size) {
1841 var9 = 0;
1842 } else {
1843 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
1844 }
1845 }
1846 if (!var9) {
1847 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19204);
1848 exit(1);
1849 }
1850 var_pablenode4 = var_nodearraylist7;
1851 /* <var_pablenode4:nullable Object> isa nullable AAble */
1852 cltype11 = type_nullable_parser_nodes__AAble.color;
1853 idtype12 = type_nullable_parser_nodes__AAble.id;
1854 if(var_pablenode4 == NULL) {
1855 var10 = 1;
1856 } else {
1857 if(cltype11 >= var_pablenode4->type->table_size) {
1858 var10 = 0;
1859 } else {
1860 var10 = var_pablenode4->type->type_table[cltype11] == idtype12;
1861 }
1862 }
1863 if (!var10) {
1864 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19206);
1865 exit(1);
1866 }
1867 var_tkwredefnode5 = var_nodearraylist2;
1868 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
1869 cltype14 = type_nullable_parser_nodes__TKwredef.color;
1870 idtype15 = type_nullable_parser_nodes__TKwredef.id;
1871 if(var_tkwredefnode5 == NULL) {
1872 var13 = 1;
1873 } else {
1874 if(cltype14 >= var_tkwredefnode5->type->table_size) {
1875 var13 = 0;
1876 } else {
1877 var13 = var_tkwredefnode5->type->type_table[cltype14] == idtype15;
1878 }
1879 }
1880 if (!var13) {
1881 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19208);
1882 exit(1);
1883 }
1884 var_pvisibilitynode6 = var_nodearraylist3;
1885 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
1886 cltype17 = type_nullable_parser_nodes__AVisibility.color;
1887 idtype18 = type_nullable_parser_nodes__AVisibility.id;
1888 if(var_pvisibilitynode6 == NULL) {
1889 var16 = 1;
1890 } else {
1891 if(cltype17 >= var_pvisibilitynode6->type->table_size) {
1892 var16 = 0;
1893 } else {
1894 var16 = var_pvisibilitynode6->type->type_table[cltype17] == idtype18;
1895 }
1896 }
1897 if (!var16) {
1898 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19210);
1899 exit(1);
1900 }
1901 var_tkwvarnode7 = var_nodearraylist4;
1902 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
1903 cltype20 = type_nullable_parser_nodes__TKwvar.color;
1904 idtype21 = type_nullable_parser_nodes__TKwvar.id;
1905 if(var_tkwvarnode7 == NULL) {
1906 var19 = 1;
1907 } else {
1908 if(cltype20 >= var_tkwvarnode7->type->table_size) {
1909 var19 = 0;
1910 } else {
1911 var19 = var_tkwvarnode7->type->type_table[cltype20] == idtype21;
1912 }
1913 }
1914 if (!var19) {
1915 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19212);
1916 exit(1);
1917 }
1918 var_tidnode9 = var_nodearraylist5;
1919 /* <var_tidnode9:nullable Object> isa nullable TId */
1920 cltype23 = type_nullable_parser_nodes__TId.color;
1921 idtype24 = type_nullable_parser_nodes__TId.id;
1922 if(var_tidnode9 == NULL) {
1923 var22 = 1;
1924 } else {
1925 if(cltype23 >= var_tidnode9->type->table_size) {
1926 var22 = 0;
1927 } else {
1928 var22 = var_tidnode9->type->type_table[cltype23] == idtype24;
1929 }
1930 }
1931 if (!var22) {
1932 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19214);
1933 exit(1);
1934 }
1935 var_ptypenode10 = var_nodearraylist6;
1936 /* <var_ptypenode10:nullable Object> isa nullable AType */
1937 cltype26 = type_nullable_parser_nodes__AType.color;
1938 idtype27 = type_nullable_parser_nodes__AType.id;
1939 if(var_ptypenode10 == NULL) {
1940 var25 = 1;
1941 } else {
1942 if(cltype26 >= var_ptypenode10->type->table_size) {
1943 var25 = 0;
1944 } else {
1945 var25 = var_ptypenode10->type->type_table[cltype26] == idtype27;
1946 }
1947 }
1948 if (!var25) {
1949 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19216);
1950 exit(1);
1951 }
1952 var_pannotationsnode11 = var_nodearraylist8;
1953 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
1954 cltype29 = type_nullable_parser_nodes__AAnnotations.color;
1955 idtype30 = type_nullable_parser_nodes__AAnnotations.id;
1956 if(var_pannotationsnode11 == NULL) {
1957 var28 = 1;
1958 } else {
1959 if(cltype29 >= var_pannotationsnode11->type->table_size) {
1960 var28 = 0;
1961 } else {
1962 var28 = var_pannotationsnode11->type->type_table[cltype29] == idtype30;
1963 }
1964 }
1965 if (!var28) {
1966 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19218);
1967 exit(1);
1968 }
1969 var31 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
1970 var32 = NULL;
1971 var33 = NULL;
1972 var34 = NULL;
1973 ((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>*/;
1974 CHECK_NEW_parser_nodes__AAttrPropdef(var31);
1975 var_ppropdefnode1 = var31;
1976 var_node_list = var_ppropdefnode1;
1977 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction428> */
1978 var36 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var35) /* go_to on <var_p:Parser>*/;
1979 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var36, var_node_list) /* push on <var_p:Parser>*/;
1980 RET_LABEL:;
1981 }
1982 /* method parser#ReduceAction428#action for (self: Object, Parser) */
1983 void VIRTUAL_parser__ReduceAction428__action(val* self, val* p0) {
1984 parser__ReduceAction428__action(self, p0);
1985 RET_LABEL:;
1986 }
1987 /* method parser#ReduceAction429#action for (self: ReduceAction429, Parser) */
1988 void parser__ReduceAction429__action(val* self, val* p0) {
1989 val* var_p /* var p: Parser */;
1990 val* var /* : null */;
1991 val* var_node_list /* var node_list: nullable Object */;
1992 val* var1 /* : nullable Object */;
1993 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1994 val* var2 /* : nullable Object */;
1995 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1996 val* var3 /* : nullable Object */;
1997 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1998 val* var4 /* : nullable Object */;
1999 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2000 val* var5 /* : nullable Object */;
2001 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2002 val* var6 /* : nullable Object */;
2003 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2004 val* var7 /* : nullable Object */;
2005 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2006 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2007 short int var8 /* : Bool */;
2008 int cltype;
2009 int idtype;
2010 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
2011 short int var9 /* : Bool */;
2012 int cltype10;
2013 int idtype11;
2014 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
2015 short int var12 /* : Bool */;
2016 int cltype13;
2017 int idtype14;
2018 val* var_tidnode9 /* var tidnode9: nullable Object */;
2019 short int var15 /* : Bool */;
2020 int cltype16;
2021 int idtype17;
2022 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
2023 short int var18 /* : Bool */;
2024 int cltype19;
2025 int idtype20;
2026 val* var21 /* : AAttrPropdef */;
2027 val* var22 /* : null */;
2028 val* var23 /* : null */;
2029 val* var24 /* : null */;
2030 val* var25 /* : null */;
2031 val* var26 /* : null */;
2032 val* var27 /* : null */;
2033 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
2034 long var28 /* : Int */;
2035 long var29 /* : Int */;
2036 var_p = p0;
2037 var = NULL;
2038 var_node_list = var;
2039 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2040 var_nodearraylist7 = var1;
2041 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2042 var_nodearraylist6 = var2;
2043 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2044 var_nodearraylist5 = var3;
2045 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2046 var_nodearraylist4 = var4;
2047 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2048 var_nodearraylist3 = var5;
2049 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2050 var_nodearraylist2 = var6;
2051 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2052 var_nodearraylist1 = var7;
2053 var_pdocnode2 = var_nodearraylist1;
2054 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2055 cltype = type_nullable_parser_nodes__ADoc.color;
2056 idtype = type_nullable_parser_nodes__ADoc.id;
2057 if(var_pdocnode2 == NULL) {
2058 var8 = 1;
2059 } else {
2060 if(cltype >= var_pdocnode2->type->table_size) {
2061 var8 = 0;
2062 } else {
2063 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
2064 }
2065 }
2066 if (!var8) {
2067 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19249);
2068 exit(1);
2069 }
2070 var_pvisibilitynode6 = var_nodearraylist2;
2071 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
2072 cltype10 = type_nullable_parser_nodes__AVisibility.color;
2073 idtype11 = type_nullable_parser_nodes__AVisibility.id;
2074 if(var_pvisibilitynode6 == NULL) {
2075 var9 = 1;
2076 } else {
2077 if(cltype10 >= var_pvisibilitynode6->type->table_size) {
2078 var9 = 0;
2079 } else {
2080 var9 = var_pvisibilitynode6->type->type_table[cltype10] == idtype11;
2081 }
2082 }
2083 if (!var9) {
2084 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19251);
2085 exit(1);
2086 }
2087 var_tkwvarnode7 = var_nodearraylist3;
2088 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
2089 cltype13 = type_nullable_parser_nodes__TKwvar.color;
2090 idtype14 = type_nullable_parser_nodes__TKwvar.id;
2091 if(var_tkwvarnode7 == NULL) {
2092 var12 = 1;
2093 } else {
2094 if(cltype13 >= var_tkwvarnode7->type->table_size) {
2095 var12 = 0;
2096 } else {
2097 var12 = var_tkwvarnode7->type->type_table[cltype13] == idtype14;
2098 }
2099 }
2100 if (!var12) {
2101 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19253);
2102 exit(1);
2103 }
2104 var_tidnode9 = var_nodearraylist4;
2105 /* <var_tidnode9:nullable Object> isa nullable TId */
2106 cltype16 = type_nullable_parser_nodes__TId.color;
2107 idtype17 = type_nullable_parser_nodes__TId.id;
2108 if(var_tidnode9 == NULL) {
2109 var15 = 1;
2110 } else {
2111 if(cltype16 >= var_tidnode9->type->table_size) {
2112 var15 = 0;
2113 } else {
2114 var15 = var_tidnode9->type->type_table[cltype16] == idtype17;
2115 }
2116 }
2117 if (!var15) {
2118 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19255);
2119 exit(1);
2120 }
2121 var_pexprnode12 = var_nodearraylist7;
2122 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
2123 cltype19 = type_nullable_parser_nodes__AExpr.color;
2124 idtype20 = type_nullable_parser_nodes__AExpr.id;
2125 if(var_pexprnode12 == NULL) {
2126 var18 = 1;
2127 } else {
2128 if(cltype19 >= var_pexprnode12->type->table_size) {
2129 var18 = 0;
2130 } else {
2131 var18 = var_pexprnode12->type->type_table[cltype19] == idtype20;
2132 }
2133 }
2134 if (!var18) {
2135 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19257);
2136 exit(1);
2137 }
2138 var21 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
2139 var22 = NULL;
2140 var23 = NULL;
2141 var24 = NULL;
2142 var25 = NULL;
2143 var26 = NULL;
2144 var27 = NULL;
2145 ((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>*/;
2146 CHECK_NEW_parser_nodes__AAttrPropdef(var21);
2147 var_ppropdefnode1 = var21;
2148 var_node_list = var_ppropdefnode1;
2149 var28 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction429> */
2150 var29 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var28) /* go_to on <var_p:Parser>*/;
2151 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var29, var_node_list) /* push on <var_p:Parser>*/;
2152 RET_LABEL:;
2153 }
2154 /* method parser#ReduceAction429#action for (self: Object, Parser) */
2155 void VIRTUAL_parser__ReduceAction429__action(val* self, val* p0) {
2156 parser__ReduceAction429__action(self, p0);
2157 RET_LABEL:;
2158 }
2159 /* method parser#ReduceAction430#action for (self: ReduceAction430, Parser) */
2160 void parser__ReduceAction430__action(val* self, val* p0) {
2161 val* var_p /* var p: Parser */;
2162 val* var /* : null */;
2163 val* var_node_list /* var node_list: nullable Object */;
2164 val* var1 /* : nullable Object */;
2165 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2166 val* var2 /* : nullable Object */;
2167 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2168 val* var3 /* : nullable Object */;
2169 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2170 val* var4 /* : nullable Object */;
2171 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2172 val* var5 /* : nullable Object */;
2173 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2174 val* var6 /* : nullable Object */;
2175 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2176 val* var7 /* : nullable Object */;
2177 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2178 val* var8 /* : nullable Object */;
2179 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2180 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2181 short int var9 /* : Bool */;
2182 int cltype;
2183 int idtype;
2184 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
2185 short int var10 /* : Bool */;
2186 int cltype11;
2187 int idtype12;
2188 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
2189 short int var13 /* : Bool */;
2190 int cltype14;
2191 int idtype15;
2192 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
2193 short int var16 /* : Bool */;
2194 int cltype17;
2195 int idtype18;
2196 val* var_tidnode9 /* var tidnode9: nullable Object */;
2197 short int var19 /* : Bool */;
2198 int cltype20;
2199 int idtype21;
2200 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
2201 short int var22 /* : Bool */;
2202 int cltype23;
2203 int idtype24;
2204 val* var25 /* : AAttrPropdef */;
2205 val* var26 /* : null */;
2206 val* var27 /* : null */;
2207 val* var28 /* : null */;
2208 val* var29 /* : null */;
2209 val* var30 /* : null */;
2210 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
2211 long var31 /* : Int */;
2212 long var32 /* : Int */;
2213 var_p = p0;
2214 var = NULL;
2215 var_node_list = var;
2216 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2217 var_nodearraylist8 = var1;
2218 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2219 var_nodearraylist7 = var2;
2220 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2221 var_nodearraylist6 = var3;
2222 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2223 var_nodearraylist5 = var4;
2224 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2225 var_nodearraylist4 = var5;
2226 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2227 var_nodearraylist3 = var6;
2228 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2229 var_nodearraylist2 = var7;
2230 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2231 var_nodearraylist1 = var8;
2232 var_pdocnode2 = var_nodearraylist1;
2233 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2234 cltype = type_nullable_parser_nodes__ADoc.color;
2235 idtype = type_nullable_parser_nodes__ADoc.id;
2236 if(var_pdocnode2 == NULL) {
2237 var9 = 1;
2238 } else {
2239 if(cltype >= var_pdocnode2->type->table_size) {
2240 var9 = 0;
2241 } else {
2242 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
2243 }
2244 }
2245 if (!var9) {
2246 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19289);
2247 exit(1);
2248 }
2249 var_tkwredefnode5 = var_nodearraylist2;
2250 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
2251 cltype11 = type_nullable_parser_nodes__TKwredef.color;
2252 idtype12 = type_nullable_parser_nodes__TKwredef.id;
2253 if(var_tkwredefnode5 == NULL) {
2254 var10 = 1;
2255 } else {
2256 if(cltype11 >= var_tkwredefnode5->type->table_size) {
2257 var10 = 0;
2258 } else {
2259 var10 = var_tkwredefnode5->type->type_table[cltype11] == idtype12;
2260 }
2261 }
2262 if (!var10) {
2263 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19291);
2264 exit(1);
2265 }
2266 var_pvisibilitynode6 = var_nodearraylist3;
2267 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
2268 cltype14 = type_nullable_parser_nodes__AVisibility.color;
2269 idtype15 = type_nullable_parser_nodes__AVisibility.id;
2270 if(var_pvisibilitynode6 == NULL) {
2271 var13 = 1;
2272 } else {
2273 if(cltype14 >= var_pvisibilitynode6->type->table_size) {
2274 var13 = 0;
2275 } else {
2276 var13 = var_pvisibilitynode6->type->type_table[cltype14] == idtype15;
2277 }
2278 }
2279 if (!var13) {
2280 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19293);
2281 exit(1);
2282 }
2283 var_tkwvarnode7 = var_nodearraylist4;
2284 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
2285 cltype17 = type_nullable_parser_nodes__TKwvar.color;
2286 idtype18 = type_nullable_parser_nodes__TKwvar.id;
2287 if(var_tkwvarnode7 == NULL) {
2288 var16 = 1;
2289 } else {
2290 if(cltype17 >= var_tkwvarnode7->type->table_size) {
2291 var16 = 0;
2292 } else {
2293 var16 = var_tkwvarnode7->type->type_table[cltype17] == idtype18;
2294 }
2295 }
2296 if (!var16) {
2297 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19295);
2298 exit(1);
2299 }
2300 var_tidnode9 = var_nodearraylist5;
2301 /* <var_tidnode9:nullable Object> isa nullable TId */
2302 cltype20 = type_nullable_parser_nodes__TId.color;
2303 idtype21 = type_nullable_parser_nodes__TId.id;
2304 if(var_tidnode9 == NULL) {
2305 var19 = 1;
2306 } else {
2307 if(cltype20 >= var_tidnode9->type->table_size) {
2308 var19 = 0;
2309 } else {
2310 var19 = var_tidnode9->type->type_table[cltype20] == idtype21;
2311 }
2312 }
2313 if (!var19) {
2314 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19297);
2315 exit(1);
2316 }
2317 var_pexprnode12 = var_nodearraylist8;
2318 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
2319 cltype23 = type_nullable_parser_nodes__AExpr.color;
2320 idtype24 = type_nullable_parser_nodes__AExpr.id;
2321 if(var_pexprnode12 == NULL) {
2322 var22 = 1;
2323 } else {
2324 if(cltype23 >= var_pexprnode12->type->table_size) {
2325 var22 = 0;
2326 } else {
2327 var22 = var_pexprnode12->type->type_table[cltype23] == idtype24;
2328 }
2329 }
2330 if (!var22) {
2331 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19299);
2332 exit(1);
2333 }
2334 var25 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
2335 var26 = NULL;
2336 var27 = NULL;
2337 var28 = NULL;
2338 var29 = NULL;
2339 var30 = NULL;
2340 ((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>*/;
2341 CHECK_NEW_parser_nodes__AAttrPropdef(var25);
2342 var_ppropdefnode1 = var25;
2343 var_node_list = var_ppropdefnode1;
2344 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction430> */
2345 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
2346 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
2347 RET_LABEL:;
2348 }
2349 /* method parser#ReduceAction430#action for (self: Object, Parser) */
2350 void VIRTUAL_parser__ReduceAction430__action(val* self, val* p0) {
2351 parser__ReduceAction430__action(self, p0);
2352 RET_LABEL:;
2353 }
2354 /* method parser#ReduceAction431#action for (self: ReduceAction431, Parser) */
2355 void parser__ReduceAction431__action(val* self, val* p0) {
2356 val* var_p /* var p: Parser */;
2357 val* var /* : null */;
2358 val* var_node_list /* var node_list: nullable Object */;
2359 val* var1 /* : nullable Object */;
2360 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2361 val* var2 /* : nullable Object */;
2362 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2363 val* var3 /* : nullable Object */;
2364 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2365 val* var4 /* : nullable Object */;
2366 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2367 val* var5 /* : nullable Object */;
2368 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2369 val* var6 /* : nullable Object */;
2370 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2371 val* var7 /* : nullable Object */;
2372 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2373 val* var8 /* : nullable Object */;
2374 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2375 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2376 short int var9 /* : Bool */;
2377 int cltype;
2378 int idtype;
2379 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
2380 short int var10 /* : Bool */;
2381 int cltype11;
2382 int idtype12;
2383 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
2384 short int var13 /* : Bool */;
2385 int cltype14;
2386 int idtype15;
2387 val* var_tidnode9 /* var tidnode9: nullable Object */;
2388 short int var16 /* : Bool */;
2389 int cltype17;
2390 int idtype18;
2391 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
2392 short int var19 /* : Bool */;
2393 int cltype20;
2394 int idtype21;
2395 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
2396 short int var22 /* : Bool */;
2397 int cltype23;
2398 int idtype24;
2399 val* var25 /* : AAttrPropdef */;
2400 val* var26 /* : null */;
2401 val* var27 /* : null */;
2402 val* var28 /* : null */;
2403 val* var29 /* : null */;
2404 val* var30 /* : null */;
2405 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
2406 long var31 /* : Int */;
2407 long var32 /* : Int */;
2408 var_p = p0;
2409 var = NULL;
2410 var_node_list = var;
2411 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2412 var_nodearraylist8 = var1;
2413 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2414 var_nodearraylist7 = var2;
2415 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2416 var_nodearraylist6 = var3;
2417 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2418 var_nodearraylist5 = var4;
2419 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2420 var_nodearraylist4 = var5;
2421 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2422 var_nodearraylist3 = var6;
2423 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2424 var_nodearraylist2 = var7;
2425 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2426 var_nodearraylist1 = var8;
2427 var_pdocnode2 = var_nodearraylist1;
2428 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2429 cltype = type_nullable_parser_nodes__ADoc.color;
2430 idtype = type_nullable_parser_nodes__ADoc.id;
2431 if(var_pdocnode2 == NULL) {
2432 var9 = 1;
2433 } else {
2434 if(cltype >= var_pdocnode2->type->table_size) {
2435 var9 = 0;
2436 } else {
2437 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
2438 }
2439 }
2440 if (!var9) {
2441 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19331);
2442 exit(1);
2443 }
2444 var_pvisibilitynode6 = var_nodearraylist2;
2445 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
2446 cltype11 = type_nullable_parser_nodes__AVisibility.color;
2447 idtype12 = type_nullable_parser_nodes__AVisibility.id;
2448 if(var_pvisibilitynode6 == NULL) {
2449 var10 = 1;
2450 } else {
2451 if(cltype11 >= var_pvisibilitynode6->type->table_size) {
2452 var10 = 0;
2453 } else {
2454 var10 = var_pvisibilitynode6->type->type_table[cltype11] == idtype12;
2455 }
2456 }
2457 if (!var10) {
2458 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19333);
2459 exit(1);
2460 }
2461 var_tkwvarnode7 = var_nodearraylist3;
2462 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
2463 cltype14 = type_nullable_parser_nodes__TKwvar.color;
2464 idtype15 = type_nullable_parser_nodes__TKwvar.id;
2465 if(var_tkwvarnode7 == NULL) {
2466 var13 = 1;
2467 } else {
2468 if(cltype14 >= var_tkwvarnode7->type->table_size) {
2469 var13 = 0;
2470 } else {
2471 var13 = var_tkwvarnode7->type->type_table[cltype14] == idtype15;
2472 }
2473 }
2474 if (!var13) {
2475 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19335);
2476 exit(1);
2477 }
2478 var_tidnode9 = var_nodearraylist4;
2479 /* <var_tidnode9:nullable Object> isa nullable TId */
2480 cltype17 = type_nullable_parser_nodes__TId.color;
2481 idtype18 = type_nullable_parser_nodes__TId.id;
2482 if(var_tidnode9 == NULL) {
2483 var16 = 1;
2484 } else {
2485 if(cltype17 >= var_tidnode9->type->table_size) {
2486 var16 = 0;
2487 } else {
2488 var16 = var_tidnode9->type->type_table[cltype17] == idtype18;
2489 }
2490 }
2491 if (!var16) {
2492 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19337);
2493 exit(1);
2494 }
2495 var_ptypenode10 = var_nodearraylist5;
2496 /* <var_ptypenode10:nullable Object> isa nullable AType */
2497 cltype20 = type_nullable_parser_nodes__AType.color;
2498 idtype21 = type_nullable_parser_nodes__AType.id;
2499 if(var_ptypenode10 == NULL) {
2500 var19 = 1;
2501 } else {
2502 if(cltype20 >= var_ptypenode10->type->table_size) {
2503 var19 = 0;
2504 } else {
2505 var19 = var_ptypenode10->type->type_table[cltype20] == idtype21;
2506 }
2507 }
2508 if (!var19) {
2509 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19339);
2510 exit(1);
2511 }
2512 var_pexprnode12 = var_nodearraylist8;
2513 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
2514 cltype23 = type_nullable_parser_nodes__AExpr.color;
2515 idtype24 = type_nullable_parser_nodes__AExpr.id;
2516 if(var_pexprnode12 == NULL) {
2517 var22 = 1;
2518 } else {
2519 if(cltype23 >= var_pexprnode12->type->table_size) {
2520 var22 = 0;
2521 } else {
2522 var22 = var_pexprnode12->type->type_table[cltype23] == idtype24;
2523 }
2524 }
2525 if (!var22) {
2526 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19341);
2527 exit(1);
2528 }
2529 var25 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
2530 var26 = NULL;
2531 var27 = NULL;
2532 var28 = NULL;
2533 var29 = NULL;
2534 var30 = NULL;
2535 ((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>*/;
2536 CHECK_NEW_parser_nodes__AAttrPropdef(var25);
2537 var_ppropdefnode1 = var25;
2538 var_node_list = var_ppropdefnode1;
2539 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction431> */
2540 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
2541 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
2542 RET_LABEL:;
2543 }
2544 /* method parser#ReduceAction431#action for (self: Object, Parser) */
2545 void VIRTUAL_parser__ReduceAction431__action(val* self, val* p0) {
2546 parser__ReduceAction431__action(self, p0);
2547 RET_LABEL:;
2548 }
2549 /* method parser#ReduceAction432#action for (self: ReduceAction432, Parser) */
2550 void parser__ReduceAction432__action(val* self, val* p0) {
2551 val* var_p /* var p: Parser */;
2552 val* var /* : null */;
2553 val* var_node_list /* var node_list: nullable Object */;
2554 val* var1 /* : nullable Object */;
2555 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2556 val* var2 /* : nullable Object */;
2557 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2558 val* var3 /* : nullable Object */;
2559 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2560 val* var4 /* : nullable Object */;
2561 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2562 val* var5 /* : nullable Object */;
2563 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2564 val* var6 /* : nullable Object */;
2565 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2566 val* var7 /* : nullable Object */;
2567 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2568 val* var8 /* : nullable Object */;
2569 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2570 val* var9 /* : nullable Object */;
2571 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2572 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2573 short int var10 /* : Bool */;
2574 int cltype;
2575 int idtype;
2576 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
2577 short int var11 /* : Bool */;
2578 int cltype12;
2579 int idtype13;
2580 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
2581 short int var14 /* : Bool */;
2582 int cltype15;
2583 int idtype16;
2584 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
2585 short int var17 /* : Bool */;
2586 int cltype18;
2587 int idtype19;
2588 val* var_tidnode9 /* var tidnode9: nullable Object */;
2589 short int var20 /* : Bool */;
2590 int cltype21;
2591 int idtype22;
2592 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
2593 short int var23 /* : Bool */;
2594 int cltype24;
2595 int idtype25;
2596 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
2597 short int var26 /* : Bool */;
2598 int cltype27;
2599 int idtype28;
2600 val* var29 /* : AAttrPropdef */;
2601 val* var30 /* : null */;
2602 val* var31 /* : null */;
2603 val* var32 /* : null */;
2604 val* var33 /* : null */;
2605 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
2606 long var34 /* : Int */;
2607 long var35 /* : Int */;
2608 var_p = p0;
2609 var = NULL;
2610 var_node_list = var;
2611 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2612 var_nodearraylist9 = var1;
2613 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2614 var_nodearraylist8 = var2;
2615 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2616 var_nodearraylist7 = var3;
2617 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2618 var_nodearraylist6 = var4;
2619 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2620 var_nodearraylist5 = var5;
2621 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2622 var_nodearraylist4 = var6;
2623 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2624 var_nodearraylist3 = var7;
2625 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2626 var_nodearraylist2 = var8;
2627 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2628 var_nodearraylist1 = var9;
2629 var_pdocnode2 = var_nodearraylist1;
2630 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2631 cltype = type_nullable_parser_nodes__ADoc.color;
2632 idtype = type_nullable_parser_nodes__ADoc.id;
2633 if(var_pdocnode2 == NULL) {
2634 var10 = 1;
2635 } else {
2636 if(cltype >= var_pdocnode2->type->table_size) {
2637 var10 = 0;
2638 } else {
2639 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
2640 }
2641 }
2642 if (!var10) {
2643 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19374);
2644 exit(1);
2645 }
2646 var_tkwredefnode5 = var_nodearraylist2;
2647 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
2648 cltype12 = type_nullable_parser_nodes__TKwredef.color;
2649 idtype13 = type_nullable_parser_nodes__TKwredef.id;
2650 if(var_tkwredefnode5 == NULL) {
2651 var11 = 1;
2652 } else {
2653 if(cltype12 >= var_tkwredefnode5->type->table_size) {
2654 var11 = 0;
2655 } else {
2656 var11 = var_tkwredefnode5->type->type_table[cltype12] == idtype13;
2657 }
2658 }
2659 if (!var11) {
2660 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19376);
2661 exit(1);
2662 }
2663 var_pvisibilitynode6 = var_nodearraylist3;
2664 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
2665 cltype15 = type_nullable_parser_nodes__AVisibility.color;
2666 idtype16 = type_nullable_parser_nodes__AVisibility.id;
2667 if(var_pvisibilitynode6 == NULL) {
2668 var14 = 1;
2669 } else {
2670 if(cltype15 >= var_pvisibilitynode6->type->table_size) {
2671 var14 = 0;
2672 } else {
2673 var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
2674 }
2675 }
2676 if (!var14) {
2677 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19378);
2678 exit(1);
2679 }
2680 var_tkwvarnode7 = var_nodearraylist4;
2681 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
2682 cltype18 = type_nullable_parser_nodes__TKwvar.color;
2683 idtype19 = type_nullable_parser_nodes__TKwvar.id;
2684 if(var_tkwvarnode7 == NULL) {
2685 var17 = 1;
2686 } else {
2687 if(cltype18 >= var_tkwvarnode7->type->table_size) {
2688 var17 = 0;
2689 } else {
2690 var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
2691 }
2692 }
2693 if (!var17) {
2694 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19380);
2695 exit(1);
2696 }
2697 var_tidnode9 = var_nodearraylist5;
2698 /* <var_tidnode9:nullable Object> isa nullable TId */
2699 cltype21 = type_nullable_parser_nodes__TId.color;
2700 idtype22 = type_nullable_parser_nodes__TId.id;
2701 if(var_tidnode9 == NULL) {
2702 var20 = 1;
2703 } else {
2704 if(cltype21 >= var_tidnode9->type->table_size) {
2705 var20 = 0;
2706 } else {
2707 var20 = var_tidnode9->type->type_table[cltype21] == idtype22;
2708 }
2709 }
2710 if (!var20) {
2711 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19382);
2712 exit(1);
2713 }
2714 var_ptypenode10 = var_nodearraylist6;
2715 /* <var_ptypenode10:nullable Object> isa nullable AType */
2716 cltype24 = type_nullable_parser_nodes__AType.color;
2717 idtype25 = type_nullable_parser_nodes__AType.id;
2718 if(var_ptypenode10 == NULL) {
2719 var23 = 1;
2720 } else {
2721 if(cltype24 >= var_ptypenode10->type->table_size) {
2722 var23 = 0;
2723 } else {
2724 var23 = var_ptypenode10->type->type_table[cltype24] == idtype25;
2725 }
2726 }
2727 if (!var23) {
2728 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19384);
2729 exit(1);
2730 }
2731 var_pexprnode12 = var_nodearraylist9;
2732 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
2733 cltype27 = type_nullable_parser_nodes__AExpr.color;
2734 idtype28 = type_nullable_parser_nodes__AExpr.id;
2735 if(var_pexprnode12 == NULL) {
2736 var26 = 1;
2737 } else {
2738 if(cltype27 >= var_pexprnode12->type->table_size) {
2739 var26 = 0;
2740 } else {
2741 var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
2742 }
2743 }
2744 if (!var26) {
2745 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19386);
2746 exit(1);
2747 }
2748 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
2749 var30 = NULL;
2750 var31 = NULL;
2751 var32 = NULL;
2752 var33 = NULL;
2753 ((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>*/;
2754 CHECK_NEW_parser_nodes__AAttrPropdef(var29);
2755 var_ppropdefnode1 = var29;
2756 var_node_list = var_ppropdefnode1;
2757 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction432> */
2758 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
2759 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
2760 RET_LABEL:;
2761 }
2762 /* method parser#ReduceAction432#action for (self: Object, Parser) */
2763 void VIRTUAL_parser__ReduceAction432__action(val* self, val* p0) {
2764 parser__ReduceAction432__action(self, p0);
2765 RET_LABEL:;
2766 }
2767 /* method parser#ReduceAction433#action for (self: ReduceAction433, Parser) */
2768 void parser__ReduceAction433__action(val* self, val* p0) {
2769 val* var_p /* var p: Parser */;
2770 val* var /* : null */;
2771 val* var_node_list /* var node_list: nullable Object */;
2772 val* var1 /* : nullable Object */;
2773 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2774 val* var2 /* : nullable Object */;
2775 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2776 val* var3 /* : nullable Object */;
2777 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2778 val* var4 /* : nullable Object */;
2779 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2780 val* var5 /* : nullable Object */;
2781 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2782 val* var6 /* : nullable Object */;
2783 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2784 val* var7 /* : nullable Object */;
2785 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2786 val* var8 /* : nullable Object */;
2787 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2788 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2789 short int var9 /* : Bool */;
2790 int cltype;
2791 int idtype;
2792 val* var_pablenode4 /* var pablenode4: nullable Object */;
2793 short int var10 /* : Bool */;
2794 int cltype11;
2795 int idtype12;
2796 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
2797 short int var13 /* : Bool */;
2798 int cltype14;
2799 int idtype15;
2800 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
2801 short int var16 /* : Bool */;
2802 int cltype17;
2803 int idtype18;
2804 val* var_tidnode9 /* var tidnode9: nullable Object */;
2805 short int var19 /* : Bool */;
2806 int cltype20;
2807 int idtype21;
2808 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
2809 short int var22 /* : Bool */;
2810 int cltype23;
2811 int idtype24;
2812 val* var25 /* : AAttrPropdef */;
2813 val* var26 /* : null */;
2814 val* var27 /* : null */;
2815 val* var28 /* : null */;
2816 val* var29 /* : null */;
2817 val* var30 /* : null */;
2818 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
2819 long var31 /* : Int */;
2820 long var32 /* : Int */;
2821 var_p = p0;
2822 var = NULL;
2823 var_node_list = var;
2824 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2825 var_nodearraylist8 = var1;
2826 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2827 var_nodearraylist7 = var2;
2828 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2829 var_nodearraylist6 = var3;
2830 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2831 var_nodearraylist5 = var4;
2832 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2833 var_nodearraylist4 = var5;
2834 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2835 var_nodearraylist3 = var6;
2836 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2837 var_nodearraylist2 = var7;
2838 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2839 var_nodearraylist1 = var8;
2840 var_pdocnode2 = var_nodearraylist1;
2841 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2842 cltype = type_nullable_parser_nodes__ADoc.color;
2843 idtype = type_nullable_parser_nodes__ADoc.id;
2844 if(var_pdocnode2 == NULL) {
2845 var9 = 1;
2846 } else {
2847 if(cltype >= var_pdocnode2->type->table_size) {
2848 var9 = 0;
2849 } else {
2850 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
2851 }
2852 }
2853 if (!var9) {
2854 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19418);
2855 exit(1);
2856 }
2857 var_pablenode4 = var_nodearraylist5;
2858 /* <var_pablenode4:nullable Object> isa nullable AAble */
2859 cltype11 = type_nullable_parser_nodes__AAble.color;
2860 idtype12 = type_nullable_parser_nodes__AAble.id;
2861 if(var_pablenode4 == NULL) {
2862 var10 = 1;
2863 } else {
2864 if(cltype11 >= var_pablenode4->type->table_size) {
2865 var10 = 0;
2866 } else {
2867 var10 = var_pablenode4->type->type_table[cltype11] == idtype12;
2868 }
2869 }
2870 if (!var10) {
2871 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19420);
2872 exit(1);
2873 }
2874 var_pvisibilitynode6 = var_nodearraylist2;
2875 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
2876 cltype14 = type_nullable_parser_nodes__AVisibility.color;
2877 idtype15 = type_nullable_parser_nodes__AVisibility.id;
2878 if(var_pvisibilitynode6 == NULL) {
2879 var13 = 1;
2880 } else {
2881 if(cltype14 >= var_pvisibilitynode6->type->table_size) {
2882 var13 = 0;
2883 } else {
2884 var13 = var_pvisibilitynode6->type->type_table[cltype14] == idtype15;
2885 }
2886 }
2887 if (!var13) {
2888 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19422);
2889 exit(1);
2890 }
2891 var_tkwvarnode7 = var_nodearraylist3;
2892 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
2893 cltype17 = type_nullable_parser_nodes__TKwvar.color;
2894 idtype18 = type_nullable_parser_nodes__TKwvar.id;
2895 if(var_tkwvarnode7 == NULL) {
2896 var16 = 1;
2897 } else {
2898 if(cltype17 >= var_tkwvarnode7->type->table_size) {
2899 var16 = 0;
2900 } else {
2901 var16 = var_tkwvarnode7->type->type_table[cltype17] == idtype18;
2902 }
2903 }
2904 if (!var16) {
2905 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19424);
2906 exit(1);
2907 }
2908 var_tidnode9 = var_nodearraylist4;
2909 /* <var_tidnode9:nullable Object> isa nullable TId */
2910 cltype20 = type_nullable_parser_nodes__TId.color;
2911 idtype21 = type_nullable_parser_nodes__TId.id;
2912 if(var_tidnode9 == NULL) {
2913 var19 = 1;
2914 } else {
2915 if(cltype20 >= var_tidnode9->type->table_size) {
2916 var19 = 0;
2917 } else {
2918 var19 = var_tidnode9->type->type_table[cltype20] == idtype21;
2919 }
2920 }
2921 if (!var19) {
2922 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19426);
2923 exit(1);
2924 }
2925 var_pexprnode12 = var_nodearraylist8;
2926 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
2927 cltype23 = type_nullable_parser_nodes__AExpr.color;
2928 idtype24 = type_nullable_parser_nodes__AExpr.id;
2929 if(var_pexprnode12 == NULL) {
2930 var22 = 1;
2931 } else {
2932 if(cltype23 >= var_pexprnode12->type->table_size) {
2933 var22 = 0;
2934 } else {
2935 var22 = var_pexprnode12->type->type_table[cltype23] == idtype24;
2936 }
2937 }
2938 if (!var22) {
2939 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19428);
2940 exit(1);
2941 }
2942 var25 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
2943 var26 = NULL;
2944 var27 = NULL;
2945 var28 = NULL;
2946 var29 = NULL;
2947 var30 = NULL;
2948 ((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>*/;
2949 CHECK_NEW_parser_nodes__AAttrPropdef(var25);
2950 var_ppropdefnode1 = var25;
2951 var_node_list = var_ppropdefnode1;
2952 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction433> */
2953 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
2954 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
2955 RET_LABEL:;
2956 }
2957 /* method parser#ReduceAction433#action for (self: Object, Parser) */
2958 void VIRTUAL_parser__ReduceAction433__action(val* self, val* p0) {
2959 parser__ReduceAction433__action(self, p0);
2960 RET_LABEL:;
2961 }
2962 /* method parser#ReduceAction434#action for (self: ReduceAction434, Parser) */
2963 void parser__ReduceAction434__action(val* self, val* p0) {
2964 val* var_p /* var p: Parser */;
2965 val* var /* : null */;
2966 val* var_node_list /* var node_list: nullable Object */;
2967 val* var1 /* : nullable Object */;
2968 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2969 val* var2 /* : nullable Object */;
2970 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2971 val* var3 /* : nullable Object */;
2972 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2973 val* var4 /* : nullable Object */;
2974 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2975 val* var5 /* : nullable Object */;
2976 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2977 val* var6 /* : nullable Object */;
2978 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2979 val* var7 /* : nullable Object */;
2980 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2981 val* var8 /* : nullable Object */;
2982 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2983 val* var9 /* : nullable Object */;
2984 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2985 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2986 short int var10 /* : Bool */;
2987 int cltype;
2988 int idtype;
2989 val* var_pablenode4 /* var pablenode4: nullable Object */;
2990 short int var11 /* : Bool */;
2991 int cltype12;
2992 int idtype13;
2993 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
2994 short int var14 /* : Bool */;
2995 int cltype15;
2996 int idtype16;
2997 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
2998 short int var17 /* : Bool */;
2999 int cltype18;
3000 int idtype19;
3001 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
3002 short int var20 /* : Bool */;
3003 int cltype21;
3004 int idtype22;
3005 val* var_tidnode9 /* var tidnode9: nullable Object */;
3006 short int var23 /* : Bool */;
3007 int cltype24;
3008 int idtype25;
3009 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
3010 short int var26 /* : Bool */;
3011 int cltype27;
3012 int idtype28;
3013 val* var29 /* : AAttrPropdef */;
3014 val* var30 /* : null */;
3015 val* var31 /* : null */;
3016 val* var32 /* : null */;
3017 val* var33 /* : null */;
3018 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
3019 long var34 /* : Int */;
3020 long var35 /* : Int */;
3021 var_p = p0;
3022 var = NULL;
3023 var_node_list = var;
3024 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3025 var_nodearraylist9 = var1;
3026 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3027 var_nodearraylist8 = var2;
3028 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3029 var_nodearraylist7 = var3;
3030 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3031 var_nodearraylist6 = var4;
3032 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3033 var_nodearraylist5 = var5;
3034 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3035 var_nodearraylist4 = var6;
3036 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3037 var_nodearraylist3 = var7;
3038 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3039 var_nodearraylist2 = var8;
3040 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3041 var_nodearraylist1 = var9;
3042 var_pdocnode2 = var_nodearraylist1;
3043 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3044 cltype = type_nullable_parser_nodes__ADoc.color;
3045 idtype = type_nullable_parser_nodes__ADoc.id;
3046 if(var_pdocnode2 == NULL) {
3047 var10 = 1;
3048 } else {
3049 if(cltype >= var_pdocnode2->type->table_size) {
3050 var10 = 0;
3051 } else {
3052 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
3053 }
3054 }
3055 if (!var10) {
3056 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19461);
3057 exit(1);
3058 }
3059 var_pablenode4 = var_nodearraylist6;
3060 /* <var_pablenode4:nullable Object> isa nullable AAble */
3061 cltype12 = type_nullable_parser_nodes__AAble.color;
3062 idtype13 = type_nullable_parser_nodes__AAble.id;
3063 if(var_pablenode4 == NULL) {
3064 var11 = 1;
3065 } else {
3066 if(cltype12 >= var_pablenode4->type->table_size) {
3067 var11 = 0;
3068 } else {
3069 var11 = var_pablenode4->type->type_table[cltype12] == idtype13;
3070 }
3071 }
3072 if (!var11) {
3073 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19463);
3074 exit(1);
3075 }
3076 var_tkwredefnode5 = var_nodearraylist2;
3077 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
3078 cltype15 = type_nullable_parser_nodes__TKwredef.color;
3079 idtype16 = type_nullable_parser_nodes__TKwredef.id;
3080 if(var_tkwredefnode5 == NULL) {
3081 var14 = 1;
3082 } else {
3083 if(cltype15 >= var_tkwredefnode5->type->table_size) {
3084 var14 = 0;
3085 } else {
3086 var14 = var_tkwredefnode5->type->type_table[cltype15] == idtype16;
3087 }
3088 }
3089 if (!var14) {
3090 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19465);
3091 exit(1);
3092 }
3093 var_pvisibilitynode6 = var_nodearraylist3;
3094 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
3095 cltype18 = type_nullable_parser_nodes__AVisibility.color;
3096 idtype19 = type_nullable_parser_nodes__AVisibility.id;
3097 if(var_pvisibilitynode6 == NULL) {
3098 var17 = 1;
3099 } else {
3100 if(cltype18 >= var_pvisibilitynode6->type->table_size) {
3101 var17 = 0;
3102 } else {
3103 var17 = var_pvisibilitynode6->type->type_table[cltype18] == idtype19;
3104 }
3105 }
3106 if (!var17) {
3107 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19467);
3108 exit(1);
3109 }
3110 var_tkwvarnode7 = var_nodearraylist4;
3111 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
3112 cltype21 = type_nullable_parser_nodes__TKwvar.color;
3113 idtype22 = type_nullable_parser_nodes__TKwvar.id;
3114 if(var_tkwvarnode7 == NULL) {
3115 var20 = 1;
3116 } else {
3117 if(cltype21 >= var_tkwvarnode7->type->table_size) {
3118 var20 = 0;
3119 } else {
3120 var20 = var_tkwvarnode7->type->type_table[cltype21] == idtype22;
3121 }
3122 }
3123 if (!var20) {
3124 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19469);
3125 exit(1);
3126 }
3127 var_tidnode9 = var_nodearraylist5;
3128 /* <var_tidnode9:nullable Object> isa nullable TId */
3129 cltype24 = type_nullable_parser_nodes__TId.color;
3130 idtype25 = type_nullable_parser_nodes__TId.id;
3131 if(var_tidnode9 == NULL) {
3132 var23 = 1;
3133 } else {
3134 if(cltype24 >= var_tidnode9->type->table_size) {
3135 var23 = 0;
3136 } else {
3137 var23 = var_tidnode9->type->type_table[cltype24] == idtype25;
3138 }
3139 }
3140 if (!var23) {
3141 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19471);
3142 exit(1);
3143 }
3144 var_pexprnode12 = var_nodearraylist9;
3145 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
3146 cltype27 = type_nullable_parser_nodes__AExpr.color;
3147 idtype28 = type_nullable_parser_nodes__AExpr.id;
3148 if(var_pexprnode12 == NULL) {
3149 var26 = 1;
3150 } else {
3151 if(cltype27 >= var_pexprnode12->type->table_size) {
3152 var26 = 0;
3153 } else {
3154 var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
3155 }
3156 }
3157 if (!var26) {
3158 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19473);
3159 exit(1);
3160 }
3161 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
3162 var30 = NULL;
3163 var31 = NULL;
3164 var32 = NULL;
3165 var33 = NULL;
3166 ((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>*/;
3167 CHECK_NEW_parser_nodes__AAttrPropdef(var29);
3168 var_ppropdefnode1 = var29;
3169 var_node_list = var_ppropdefnode1;
3170 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction434> */
3171 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
3172 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
3173 RET_LABEL:;
3174 }
3175 /* method parser#ReduceAction434#action for (self: Object, Parser) */
3176 void VIRTUAL_parser__ReduceAction434__action(val* self, val* p0) {
3177 parser__ReduceAction434__action(self, p0);
3178 RET_LABEL:;
3179 }
3180 /* method parser#ReduceAction435#action for (self: ReduceAction435, Parser) */
3181 void parser__ReduceAction435__action(val* self, val* p0) {
3182 val* var_p /* var p: Parser */;
3183 val* var /* : null */;
3184 val* var_node_list /* var node_list: nullable Object */;
3185 val* var1 /* : nullable Object */;
3186 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3187 val* var2 /* : nullable Object */;
3188 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3189 val* var3 /* : nullable Object */;
3190 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3191 val* var4 /* : nullable Object */;
3192 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3193 val* var5 /* : nullable Object */;
3194 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3195 val* var6 /* : nullable Object */;
3196 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3197 val* var7 /* : nullable Object */;
3198 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3199 val* var8 /* : nullable Object */;
3200 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3201 val* var9 /* : nullable Object */;
3202 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3203 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3204 short int var10 /* : Bool */;
3205 int cltype;
3206 int idtype;
3207 val* var_pablenode4 /* var pablenode4: nullable Object */;
3208 short int var11 /* : Bool */;
3209 int cltype12;
3210 int idtype13;
3211 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
3212 short int var14 /* : Bool */;
3213 int cltype15;
3214 int idtype16;
3215 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
3216 short int var17 /* : Bool */;
3217 int cltype18;
3218 int idtype19;
3219 val* var_tidnode9 /* var tidnode9: nullable Object */;
3220 short int var20 /* : Bool */;
3221 int cltype21;
3222 int idtype22;
3223 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
3224 short int var23 /* : Bool */;
3225 int cltype24;
3226 int idtype25;
3227 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
3228 short int var26 /* : Bool */;
3229 int cltype27;
3230 int idtype28;
3231 val* var29 /* : AAttrPropdef */;
3232 val* var30 /* : null */;
3233 val* var31 /* : null */;
3234 val* var32 /* : null */;
3235 val* var33 /* : null */;
3236 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
3237 long var34 /* : Int */;
3238 long var35 /* : Int */;
3239 var_p = p0;
3240 var = NULL;
3241 var_node_list = var;
3242 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3243 var_nodearraylist9 = var1;
3244 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3245 var_nodearraylist8 = var2;
3246 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3247 var_nodearraylist7 = var3;
3248 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3249 var_nodearraylist6 = var4;
3250 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3251 var_nodearraylist5 = var5;
3252 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3253 var_nodearraylist4 = var6;
3254 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3255 var_nodearraylist3 = var7;
3256 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3257 var_nodearraylist2 = var8;
3258 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3259 var_nodearraylist1 = var9;
3260 var_pdocnode2 = var_nodearraylist1;
3261 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3262 cltype = type_nullable_parser_nodes__ADoc.color;
3263 idtype = type_nullable_parser_nodes__ADoc.id;
3264 if(var_pdocnode2 == NULL) {
3265 var10 = 1;
3266 } else {
3267 if(cltype >= var_pdocnode2->type->table_size) {
3268 var10 = 0;
3269 } else {
3270 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
3271 }
3272 }
3273 if (!var10) {
3274 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19506);
3275 exit(1);
3276 }
3277 var_pablenode4 = var_nodearraylist6;
3278 /* <var_pablenode4:nullable Object> isa nullable AAble */
3279 cltype12 = type_nullable_parser_nodes__AAble.color;
3280 idtype13 = type_nullable_parser_nodes__AAble.id;
3281 if(var_pablenode4 == NULL) {
3282 var11 = 1;
3283 } else {
3284 if(cltype12 >= var_pablenode4->type->table_size) {
3285 var11 = 0;
3286 } else {
3287 var11 = var_pablenode4->type->type_table[cltype12] == idtype13;
3288 }
3289 }
3290 if (!var11) {
3291 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19508);
3292 exit(1);
3293 }
3294 var_pvisibilitynode6 = var_nodearraylist2;
3295 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
3296 cltype15 = type_nullable_parser_nodes__AVisibility.color;
3297 idtype16 = type_nullable_parser_nodes__AVisibility.id;
3298 if(var_pvisibilitynode6 == NULL) {
3299 var14 = 1;
3300 } else {
3301 if(cltype15 >= var_pvisibilitynode6->type->table_size) {
3302 var14 = 0;
3303 } else {
3304 var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
3305 }
3306 }
3307 if (!var14) {
3308 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19510);
3309 exit(1);
3310 }
3311 var_tkwvarnode7 = var_nodearraylist3;
3312 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
3313 cltype18 = type_nullable_parser_nodes__TKwvar.color;
3314 idtype19 = type_nullable_parser_nodes__TKwvar.id;
3315 if(var_tkwvarnode7 == NULL) {
3316 var17 = 1;
3317 } else {
3318 if(cltype18 >= var_tkwvarnode7->type->table_size) {
3319 var17 = 0;
3320 } else {
3321 var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
3322 }
3323 }
3324 if (!var17) {
3325 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19512);
3326 exit(1);
3327 }
3328 var_tidnode9 = var_nodearraylist4;
3329 /* <var_tidnode9:nullable Object> isa nullable TId */
3330 cltype21 = type_nullable_parser_nodes__TId.color;
3331 idtype22 = type_nullable_parser_nodes__TId.id;
3332 if(var_tidnode9 == NULL) {
3333 var20 = 1;
3334 } else {
3335 if(cltype21 >= var_tidnode9->type->table_size) {
3336 var20 = 0;
3337 } else {
3338 var20 = var_tidnode9->type->type_table[cltype21] == idtype22;
3339 }
3340 }
3341 if (!var20) {
3342 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19514);
3343 exit(1);
3344 }
3345 var_ptypenode10 = var_nodearraylist5;
3346 /* <var_ptypenode10:nullable Object> isa nullable AType */
3347 cltype24 = type_nullable_parser_nodes__AType.color;
3348 idtype25 = type_nullable_parser_nodes__AType.id;
3349 if(var_ptypenode10 == NULL) {
3350 var23 = 1;
3351 } else {
3352 if(cltype24 >= var_ptypenode10->type->table_size) {
3353 var23 = 0;
3354 } else {
3355 var23 = var_ptypenode10->type->type_table[cltype24] == idtype25;
3356 }
3357 }
3358 if (!var23) {
3359 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19516);
3360 exit(1);
3361 }
3362 var_pexprnode12 = var_nodearraylist9;
3363 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
3364 cltype27 = type_nullable_parser_nodes__AExpr.color;
3365 idtype28 = type_nullable_parser_nodes__AExpr.id;
3366 if(var_pexprnode12 == NULL) {
3367 var26 = 1;
3368 } else {
3369 if(cltype27 >= var_pexprnode12->type->table_size) {
3370 var26 = 0;
3371 } else {
3372 var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
3373 }
3374 }
3375 if (!var26) {
3376 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19518);
3377 exit(1);
3378 }
3379 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
3380 var30 = NULL;
3381 var31 = NULL;
3382 var32 = NULL;
3383 var33 = NULL;
3384 ((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>*/;
3385 CHECK_NEW_parser_nodes__AAttrPropdef(var29);
3386 var_ppropdefnode1 = var29;
3387 var_node_list = var_ppropdefnode1;
3388 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction435> */
3389 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
3390 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
3391 RET_LABEL:;
3392 }
3393 /* method parser#ReduceAction435#action for (self: Object, Parser) */
3394 void VIRTUAL_parser__ReduceAction435__action(val* self, val* p0) {
3395 parser__ReduceAction435__action(self, p0);
3396 RET_LABEL:;
3397 }
3398 /* method parser#ReduceAction436#action for (self: ReduceAction436, Parser) */
3399 void parser__ReduceAction436__action(val* self, val* p0) {
3400 val* var_p /* var p: Parser */;
3401 val* var /* : null */;
3402 val* var_node_list /* var node_list: nullable Object */;
3403 val* var1 /* : nullable Object */;
3404 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
3405 val* var2 /* : nullable Object */;
3406 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3407 val* var3 /* : nullable Object */;
3408 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3409 val* var4 /* : nullable Object */;
3410 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3411 val* var5 /* : nullable Object */;
3412 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3413 val* var6 /* : nullable Object */;
3414 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3415 val* var7 /* : nullable Object */;
3416 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3417 val* var8 /* : nullable Object */;
3418 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3419 val* var9 /* : nullable Object */;
3420 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3421 val* var10 /* : nullable Object */;
3422 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3423 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3424 short int var11 /* : Bool */;
3425 int cltype;
3426 int idtype;
3427 val* var_pablenode4 /* var pablenode4: nullable Object */;
3428 short int var12 /* : Bool */;
3429 int cltype13;
3430 int idtype14;
3431 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
3432 short int var15 /* : Bool */;
3433 int cltype16;
3434 int idtype17;
3435 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
3436 short int var18 /* : Bool */;
3437 int cltype19;
3438 int idtype20;
3439 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
3440 short int var21 /* : Bool */;
3441 int cltype22;
3442 int idtype23;
3443 val* var_tidnode9 /* var tidnode9: nullable Object */;
3444 short int var24 /* : Bool */;
3445 int cltype25;
3446 int idtype26;
3447 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
3448 short int var27 /* : Bool */;
3449 int cltype28;
3450 int idtype29;
3451 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
3452 short int var30 /* : Bool */;
3453 int cltype31;
3454 int idtype32;
3455 val* var33 /* : AAttrPropdef */;
3456 val* var34 /* : null */;
3457 val* var35 /* : null */;
3458 val* var36 /* : null */;
3459 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
3460 long var37 /* : Int */;
3461 long var38 /* : Int */;
3462 var_p = p0;
3463 var = NULL;
3464 var_node_list = var;
3465 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3466 var_nodearraylist10 = var1;
3467 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3468 var_nodearraylist9 = var2;
3469 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3470 var_nodearraylist8 = var3;
3471 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3472 var_nodearraylist7 = var4;
3473 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3474 var_nodearraylist6 = var5;
3475 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3476 var_nodearraylist5 = var6;
3477 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3478 var_nodearraylist4 = var7;
3479 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3480 var_nodearraylist3 = var8;
3481 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3482 var_nodearraylist2 = var9;
3483 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3484 var_nodearraylist1 = var10;
3485 var_pdocnode2 = var_nodearraylist1;
3486 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3487 cltype = type_nullable_parser_nodes__ADoc.color;
3488 idtype = type_nullable_parser_nodes__ADoc.id;
3489 if(var_pdocnode2 == NULL) {
3490 var11 = 1;
3491 } else {
3492 if(cltype >= var_pdocnode2->type->table_size) {
3493 var11 = 0;
3494 } else {
3495 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
3496 }
3497 }
3498 if (!var11) {
3499 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19552);
3500 exit(1);
3501 }
3502 var_pablenode4 = var_nodearraylist7;
3503 /* <var_pablenode4:nullable Object> isa nullable AAble */
3504 cltype13 = type_nullable_parser_nodes__AAble.color;
3505 idtype14 = type_nullable_parser_nodes__AAble.id;
3506 if(var_pablenode4 == NULL) {
3507 var12 = 1;
3508 } else {
3509 if(cltype13 >= var_pablenode4->type->table_size) {
3510 var12 = 0;
3511 } else {
3512 var12 = var_pablenode4->type->type_table[cltype13] == idtype14;
3513 }
3514 }
3515 if (!var12) {
3516 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19554);
3517 exit(1);
3518 }
3519 var_tkwredefnode5 = var_nodearraylist2;
3520 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
3521 cltype16 = type_nullable_parser_nodes__TKwredef.color;
3522 idtype17 = type_nullable_parser_nodes__TKwredef.id;
3523 if(var_tkwredefnode5 == NULL) {
3524 var15 = 1;
3525 } else {
3526 if(cltype16 >= var_tkwredefnode5->type->table_size) {
3527 var15 = 0;
3528 } else {
3529 var15 = var_tkwredefnode5->type->type_table[cltype16] == idtype17;
3530 }
3531 }
3532 if (!var15) {
3533 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19556);
3534 exit(1);
3535 }
3536 var_pvisibilitynode6 = var_nodearraylist3;
3537 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
3538 cltype19 = type_nullable_parser_nodes__AVisibility.color;
3539 idtype20 = type_nullable_parser_nodes__AVisibility.id;
3540 if(var_pvisibilitynode6 == NULL) {
3541 var18 = 1;
3542 } else {
3543 if(cltype19 >= var_pvisibilitynode6->type->table_size) {
3544 var18 = 0;
3545 } else {
3546 var18 = var_pvisibilitynode6->type->type_table[cltype19] == idtype20;
3547 }
3548 }
3549 if (!var18) {
3550 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19558);
3551 exit(1);
3552 }
3553 var_tkwvarnode7 = var_nodearraylist4;
3554 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
3555 cltype22 = type_nullable_parser_nodes__TKwvar.color;
3556 idtype23 = type_nullable_parser_nodes__TKwvar.id;
3557 if(var_tkwvarnode7 == NULL) {
3558 var21 = 1;
3559 } else {
3560 if(cltype22 >= var_tkwvarnode7->type->table_size) {
3561 var21 = 0;
3562 } else {
3563 var21 = var_tkwvarnode7->type->type_table[cltype22] == idtype23;
3564 }
3565 }
3566 if (!var21) {
3567 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19560);
3568 exit(1);
3569 }
3570 var_tidnode9 = var_nodearraylist5;
3571 /* <var_tidnode9:nullable Object> isa nullable TId */
3572 cltype25 = type_nullable_parser_nodes__TId.color;
3573 idtype26 = type_nullable_parser_nodes__TId.id;
3574 if(var_tidnode9 == NULL) {
3575 var24 = 1;
3576 } else {
3577 if(cltype25 >= var_tidnode9->type->table_size) {
3578 var24 = 0;
3579 } else {
3580 var24 = var_tidnode9->type->type_table[cltype25] == idtype26;
3581 }
3582 }
3583 if (!var24) {
3584 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19562);
3585 exit(1);
3586 }
3587 var_ptypenode10 = var_nodearraylist6;
3588 /* <var_ptypenode10:nullable Object> isa nullable AType */
3589 cltype28 = type_nullable_parser_nodes__AType.color;
3590 idtype29 = type_nullable_parser_nodes__AType.id;
3591 if(var_ptypenode10 == NULL) {
3592 var27 = 1;
3593 } else {
3594 if(cltype28 >= var_ptypenode10->type->table_size) {
3595 var27 = 0;
3596 } else {
3597 var27 = var_ptypenode10->type->type_table[cltype28] == idtype29;
3598 }
3599 }
3600 if (!var27) {
3601 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19564);
3602 exit(1);
3603 }
3604 var_pexprnode12 = var_nodearraylist10;
3605 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
3606 cltype31 = type_nullable_parser_nodes__AExpr.color;
3607 idtype32 = type_nullable_parser_nodes__AExpr.id;
3608 if(var_pexprnode12 == NULL) {
3609 var30 = 1;
3610 } else {
3611 if(cltype31 >= var_pexprnode12->type->table_size) {
3612 var30 = 0;
3613 } else {
3614 var30 = var_pexprnode12->type->type_table[cltype31] == idtype32;
3615 }
3616 }
3617 if (!var30) {
3618 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19566);
3619 exit(1);
3620 }
3621 var33 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
3622 var34 = NULL;
3623 var35 = NULL;
3624 var36 = NULL;
3625 ((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>*/;
3626 CHECK_NEW_parser_nodes__AAttrPropdef(var33);
3627 var_ppropdefnode1 = var33;
3628 var_node_list = var_ppropdefnode1;
3629 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction436> */
3630 var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on <var_p:Parser>*/;
3631 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on <var_p:Parser>*/;
3632 RET_LABEL:;
3633 }
3634 /* method parser#ReduceAction436#action for (self: Object, Parser) */
3635 void VIRTUAL_parser__ReduceAction436__action(val* self, val* p0) {
3636 parser__ReduceAction436__action(self, p0);
3637 RET_LABEL:;
3638 }
3639 /* method parser#ReduceAction437#action for (self: ReduceAction437, Parser) */
3640 void parser__ReduceAction437__action(val* self, val* p0) {
3641 val* var_p /* var p: Parser */;
3642 val* var /* : null */;
3643 val* var_node_list /* var node_list: nullable Object */;
3644 val* var1 /* : nullable Object */;
3645 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3646 val* var2 /* : nullable Object */;
3647 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3648 val* var3 /* : nullable Object */;
3649 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3650 val* var4 /* : nullable Object */;
3651 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3652 val* var5 /* : nullable Object */;
3653 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3654 val* var6 /* : nullable Object */;
3655 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3656 val* var7 /* : nullable Object */;
3657 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3658 val* var8 /* : nullable Object */;
3659 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3660 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3661 short int var9 /* : Bool */;
3662 int cltype;
3663 int idtype;
3664 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
3665 short int var10 /* : Bool */;
3666 int cltype11;
3667 int idtype12;
3668 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
3669 short int var13 /* : Bool */;
3670 int cltype14;
3671 int idtype15;
3672 val* var_tidnode9 /* var tidnode9: nullable Object */;
3673 short int var16 /* : Bool */;
3674 int cltype17;
3675 int idtype18;
3676 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
3677 short int var19 /* : Bool */;
3678 int cltype20;
3679 int idtype21;
3680 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
3681 short int var22 /* : Bool */;
3682 int cltype23;
3683 int idtype24;
3684 val* var25 /* : AAttrPropdef */;
3685 val* var26 /* : null */;
3686 val* var27 /* : null */;
3687 val* var28 /* : null */;
3688 val* var29 /* : null */;
3689 val* var30 /* : null */;
3690 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
3691 long var31 /* : Int */;
3692 long var32 /* : Int */;
3693 var_p = p0;
3694 var = NULL;
3695 var_node_list = var;
3696 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3697 var_nodearraylist8 = var1;
3698 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3699 var_nodearraylist7 = var2;
3700 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3701 var_nodearraylist6 = var3;
3702 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3703 var_nodearraylist5 = var4;
3704 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3705 var_nodearraylist4 = var5;
3706 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3707 var_nodearraylist3 = var6;
3708 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3709 var_nodearraylist2 = var7;
3710 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3711 var_nodearraylist1 = var8;
3712 var_pdocnode2 = var_nodearraylist1;
3713 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3714 cltype = type_nullable_parser_nodes__ADoc.color;
3715 idtype = type_nullable_parser_nodes__ADoc.id;
3716 if(var_pdocnode2 == NULL) {
3717 var9 = 1;
3718 } else {
3719 if(cltype >= var_pdocnode2->type->table_size) {
3720 var9 = 0;
3721 } else {
3722 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
3723 }
3724 }
3725 if (!var9) {
3726 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19598);
3727 exit(1);
3728 }
3729 var_pvisibilitynode6 = var_nodearraylist2;
3730 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
3731 cltype11 = type_nullable_parser_nodes__AVisibility.color;
3732 idtype12 = type_nullable_parser_nodes__AVisibility.id;
3733 if(var_pvisibilitynode6 == NULL) {
3734 var10 = 1;
3735 } else {
3736 if(cltype11 >= var_pvisibilitynode6->type->table_size) {
3737 var10 = 0;
3738 } else {
3739 var10 = var_pvisibilitynode6->type->type_table[cltype11] == idtype12;
3740 }
3741 }
3742 if (!var10) {
3743 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19600);
3744 exit(1);
3745 }
3746 var_tkwvarnode7 = var_nodearraylist3;
3747 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
3748 cltype14 = type_nullable_parser_nodes__TKwvar.color;
3749 idtype15 = type_nullable_parser_nodes__TKwvar.id;
3750 if(var_tkwvarnode7 == NULL) {
3751 var13 = 1;
3752 } else {
3753 if(cltype14 >= var_tkwvarnode7->type->table_size) {
3754 var13 = 0;
3755 } else {
3756 var13 = var_tkwvarnode7->type->type_table[cltype14] == idtype15;
3757 }
3758 }
3759 if (!var13) {
3760 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19602);
3761 exit(1);
3762 }
3763 var_tidnode9 = var_nodearraylist4;
3764 /* <var_tidnode9:nullable Object> isa nullable TId */
3765 cltype17 = type_nullable_parser_nodes__TId.color;
3766 idtype18 = type_nullable_parser_nodes__TId.id;
3767 if(var_tidnode9 == NULL) {
3768 var16 = 1;
3769 } else {
3770 if(cltype17 >= var_tidnode9->type->table_size) {
3771 var16 = 0;
3772 } else {
3773 var16 = var_tidnode9->type->type_table[cltype17] == idtype18;
3774 }
3775 }
3776 if (!var16) {
3777 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19604);
3778 exit(1);
3779 }
3780 var_pannotationsnode11 = var_nodearraylist8;
3781 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
3782 cltype20 = type_nullable_parser_nodes__AAnnotations.color;
3783 idtype21 = type_nullable_parser_nodes__AAnnotations.id;
3784 if(var_pannotationsnode11 == NULL) {
3785 var19 = 1;
3786 } else {
3787 if(cltype20 >= var_pannotationsnode11->type->table_size) {
3788 var19 = 0;
3789 } else {
3790 var19 = var_pannotationsnode11->type->type_table[cltype20] == idtype21;
3791 }
3792 }
3793 if (!var19) {
3794 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19606);
3795 exit(1);
3796 }
3797 var_pexprnode12 = var_nodearraylist7;
3798 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
3799 cltype23 = type_nullable_parser_nodes__AExpr.color;
3800 idtype24 = type_nullable_parser_nodes__AExpr.id;
3801 if(var_pexprnode12 == NULL) {
3802 var22 = 1;
3803 } else {
3804 if(cltype23 >= var_pexprnode12->type->table_size) {
3805 var22 = 0;
3806 } else {
3807 var22 = var_pexprnode12->type->type_table[cltype23] == idtype24;
3808 }
3809 }
3810 if (!var22) {
3811 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19608);
3812 exit(1);
3813 }
3814 var25 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
3815 var26 = NULL;
3816 var27 = NULL;
3817 var28 = NULL;
3818 var29 = NULL;
3819 var30 = NULL;
3820 ((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>*/;
3821 CHECK_NEW_parser_nodes__AAttrPropdef(var25);
3822 var_ppropdefnode1 = var25;
3823 var_node_list = var_ppropdefnode1;
3824 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction437> */
3825 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
3826 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
3827 RET_LABEL:;
3828 }
3829 /* method parser#ReduceAction437#action for (self: Object, Parser) */
3830 void VIRTUAL_parser__ReduceAction437__action(val* self, val* p0) {
3831 parser__ReduceAction437__action(self, p0);
3832 RET_LABEL:;
3833 }
3834 /* method parser#ReduceAction438#action for (self: ReduceAction438, Parser) */
3835 void parser__ReduceAction438__action(val* self, val* p0) {
3836 val* var_p /* var p: Parser */;
3837 val* var /* : null */;
3838 val* var_node_list /* var node_list: nullable Object */;
3839 val* var1 /* : nullable Object */;
3840 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3841 val* var2 /* : nullable Object */;
3842 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3843 val* var3 /* : nullable Object */;
3844 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3845 val* var4 /* : nullable Object */;
3846 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3847 val* var5 /* : nullable Object */;
3848 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3849 val* var6 /* : nullable Object */;
3850 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3851 val* var7 /* : nullable Object */;
3852 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3853 val* var8 /* : nullable Object */;
3854 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3855 val* var9 /* : nullable Object */;
3856 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3857 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3858 short int var10 /* : Bool */;
3859 int cltype;
3860 int idtype;
3861 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
3862 short int var11 /* : Bool */;
3863 int cltype12;
3864 int idtype13;
3865 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
3866 short int var14 /* : Bool */;
3867 int cltype15;
3868 int idtype16;
3869 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
3870 short int var17 /* : Bool */;
3871 int cltype18;
3872 int idtype19;
3873 val* var_tidnode9 /* var tidnode9: nullable Object */;
3874 short int var20 /* : Bool */;
3875 int cltype21;
3876 int idtype22;
3877 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
3878 short int var23 /* : Bool */;
3879 int cltype24;
3880 int idtype25;
3881 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
3882 short int var26 /* : Bool */;
3883 int cltype27;
3884 int idtype28;
3885 val* var29 /* : AAttrPropdef */;
3886 val* var30 /* : null */;
3887 val* var31 /* : null */;
3888 val* var32 /* : null */;
3889 val* var33 /* : null */;
3890 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
3891 long var34 /* : Int */;
3892 long var35 /* : Int */;
3893 var_p = p0;
3894 var = NULL;
3895 var_node_list = var;
3896 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3897 var_nodearraylist9 = var1;
3898 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3899 var_nodearraylist8 = var2;
3900 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3901 var_nodearraylist7 = var3;
3902 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3903 var_nodearraylist6 = var4;
3904 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3905 var_nodearraylist5 = var5;
3906 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3907 var_nodearraylist4 = var6;
3908 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3909 var_nodearraylist3 = var7;
3910 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3911 var_nodearraylist2 = var8;
3912 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3913 var_nodearraylist1 = var9;
3914 var_pdocnode2 = var_nodearraylist1;
3915 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3916 cltype = type_nullable_parser_nodes__ADoc.color;
3917 idtype = type_nullable_parser_nodes__ADoc.id;
3918 if(var_pdocnode2 == NULL) {
3919 var10 = 1;
3920 } else {
3921 if(cltype >= var_pdocnode2->type->table_size) {
3922 var10 = 0;
3923 } else {
3924 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
3925 }
3926 }
3927 if (!var10) {
3928 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19641);
3929 exit(1);
3930 }
3931 var_tkwredefnode5 = var_nodearraylist2;
3932 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
3933 cltype12 = type_nullable_parser_nodes__TKwredef.color;
3934 idtype13 = type_nullable_parser_nodes__TKwredef.id;
3935 if(var_tkwredefnode5 == NULL) {
3936 var11 = 1;
3937 } else {
3938 if(cltype12 >= var_tkwredefnode5->type->table_size) {
3939 var11 = 0;
3940 } else {
3941 var11 = var_tkwredefnode5->type->type_table[cltype12] == idtype13;
3942 }
3943 }
3944 if (!var11) {
3945 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19643);
3946 exit(1);
3947 }
3948 var_pvisibilitynode6 = var_nodearraylist3;
3949 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
3950 cltype15 = type_nullable_parser_nodes__AVisibility.color;
3951 idtype16 = type_nullable_parser_nodes__AVisibility.id;
3952 if(var_pvisibilitynode6 == NULL) {
3953 var14 = 1;
3954 } else {
3955 if(cltype15 >= var_pvisibilitynode6->type->table_size) {
3956 var14 = 0;
3957 } else {
3958 var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
3959 }
3960 }
3961 if (!var14) {
3962 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19645);
3963 exit(1);
3964 }
3965 var_tkwvarnode7 = var_nodearraylist4;
3966 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
3967 cltype18 = type_nullable_parser_nodes__TKwvar.color;
3968 idtype19 = type_nullable_parser_nodes__TKwvar.id;
3969 if(var_tkwvarnode7 == NULL) {
3970 var17 = 1;
3971 } else {
3972 if(cltype18 >= var_tkwvarnode7->type->table_size) {
3973 var17 = 0;
3974 } else {
3975 var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
3976 }
3977 }
3978 if (!var17) {
3979 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19647);
3980 exit(1);
3981 }
3982 var_tidnode9 = var_nodearraylist5;
3983 /* <var_tidnode9:nullable Object> isa nullable TId */
3984 cltype21 = type_nullable_parser_nodes__TId.color;
3985 idtype22 = type_nullable_parser_nodes__TId.id;
3986 if(var_tidnode9 == NULL) {
3987 var20 = 1;
3988 } else {
3989 if(cltype21 >= var_tidnode9->type->table_size) {
3990 var20 = 0;
3991 } else {
3992 var20 = var_tidnode9->type->type_table[cltype21] == idtype22;
3993 }
3994 }
3995 if (!var20) {
3996 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19649);
3997 exit(1);
3998 }
3999 var_pannotationsnode11 = var_nodearraylist9;
4000 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
4001 cltype24 = type_nullable_parser_nodes__AAnnotations.color;
4002 idtype25 = type_nullable_parser_nodes__AAnnotations.id;
4003 if(var_pannotationsnode11 == NULL) {
4004 var23 = 1;
4005 } else {
4006 if(cltype24 >= var_pannotationsnode11->type->table_size) {
4007 var23 = 0;
4008 } else {
4009 var23 = var_pannotationsnode11->type->type_table[cltype24] == idtype25;
4010 }
4011 }
4012 if (!var23) {
4013 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19651);
4014 exit(1);
4015 }
4016 var_pexprnode12 = var_nodearraylist8;
4017 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
4018 cltype27 = type_nullable_parser_nodes__AExpr.color;
4019 idtype28 = type_nullable_parser_nodes__AExpr.id;
4020 if(var_pexprnode12 == NULL) {
4021 var26 = 1;
4022 } else {
4023 if(cltype27 >= var_pexprnode12->type->table_size) {
4024 var26 = 0;
4025 } else {
4026 var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
4027 }
4028 }
4029 if (!var26) {
4030 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19653);
4031 exit(1);
4032 }
4033 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
4034 var30 = NULL;
4035 var31 = NULL;
4036 var32 = NULL;
4037 var33 = NULL;
4038 ((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>*/;
4039 CHECK_NEW_parser_nodes__AAttrPropdef(var29);
4040 var_ppropdefnode1 = var29;
4041 var_node_list = var_ppropdefnode1;
4042 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction438> */
4043 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
4044 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
4045 RET_LABEL:;
4046 }
4047 /* method parser#ReduceAction438#action for (self: Object, Parser) */
4048 void VIRTUAL_parser__ReduceAction438__action(val* self, val* p0) {
4049 parser__ReduceAction438__action(self, p0);
4050 RET_LABEL:;
4051 }
4052 /* method parser#ReduceAction439#action for (self: ReduceAction439, Parser) */
4053 void parser__ReduceAction439__action(val* self, val* p0) {
4054 val* var_p /* var p: Parser */;
4055 val* var /* : null */;
4056 val* var_node_list /* var node_list: nullable Object */;
4057 val* var1 /* : nullable Object */;
4058 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4059 val* var2 /* : nullable Object */;
4060 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4061 val* var3 /* : nullable Object */;
4062 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4063 val* var4 /* : nullable Object */;
4064 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4065 val* var5 /* : nullable Object */;
4066 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4067 val* var6 /* : nullable Object */;
4068 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4069 val* var7 /* : nullable Object */;
4070 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4071 val* var8 /* : nullable Object */;
4072 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4073 val* var9 /* : nullable Object */;
4074 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4075 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4076 short int var10 /* : Bool */;
4077 int cltype;
4078 int idtype;
4079 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
4080 short int var11 /* : Bool */;
4081 int cltype12;
4082 int idtype13;
4083 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
4084 short int var14 /* : Bool */;
4085 int cltype15;
4086 int idtype16;
4087 val* var_tidnode9 /* var tidnode9: nullable Object */;
4088 short int var17 /* : Bool */;
4089 int cltype18;
4090 int idtype19;
4091 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
4092 short int var20 /* : Bool */;
4093 int cltype21;
4094 int idtype22;
4095 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
4096 short int var23 /* : Bool */;
4097 int cltype24;
4098 int idtype25;
4099 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
4100 short int var26 /* : Bool */;
4101 int cltype27;
4102 int idtype28;
4103 val* var29 /* : AAttrPropdef */;
4104 val* var30 /* : null */;
4105 val* var31 /* : null */;
4106 val* var32 /* : null */;
4107 val* var33 /* : null */;
4108 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
4109 long var34 /* : Int */;
4110 long var35 /* : Int */;
4111 var_p = p0;
4112 var = NULL;
4113 var_node_list = var;
4114 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4115 var_nodearraylist9 = var1;
4116 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4117 var_nodearraylist8 = var2;
4118 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4119 var_nodearraylist7 = var3;
4120 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4121 var_nodearraylist6 = var4;
4122 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4123 var_nodearraylist5 = var5;
4124 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4125 var_nodearraylist4 = var6;
4126 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4127 var_nodearraylist3 = var7;
4128 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4129 var_nodearraylist2 = var8;
4130 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4131 var_nodearraylist1 = var9;
4132 var_pdocnode2 = var_nodearraylist1;
4133 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4134 cltype = type_nullable_parser_nodes__ADoc.color;
4135 idtype = type_nullable_parser_nodes__ADoc.id;
4136 if(var_pdocnode2 == NULL) {
4137 var10 = 1;
4138 } else {
4139 if(cltype >= var_pdocnode2->type->table_size) {
4140 var10 = 0;
4141 } else {
4142 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
4143 }
4144 }
4145 if (!var10) {
4146 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19686);
4147 exit(1);
4148 }
4149 var_pvisibilitynode6 = var_nodearraylist2;
4150 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
4151 cltype12 = type_nullable_parser_nodes__AVisibility.color;
4152 idtype13 = type_nullable_parser_nodes__AVisibility.id;
4153 if(var_pvisibilitynode6 == NULL) {
4154 var11 = 1;
4155 } else {
4156 if(cltype12 >= var_pvisibilitynode6->type->table_size) {
4157 var11 = 0;
4158 } else {
4159 var11 = var_pvisibilitynode6->type->type_table[cltype12] == idtype13;
4160 }
4161 }
4162 if (!var11) {
4163 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19688);
4164 exit(1);
4165 }
4166 var_tkwvarnode7 = var_nodearraylist3;
4167 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
4168 cltype15 = type_nullable_parser_nodes__TKwvar.color;
4169 idtype16 = type_nullable_parser_nodes__TKwvar.id;
4170 if(var_tkwvarnode7 == NULL) {
4171 var14 = 1;
4172 } else {
4173 if(cltype15 >= var_tkwvarnode7->type->table_size) {
4174 var14 = 0;
4175 } else {
4176 var14 = var_tkwvarnode7->type->type_table[cltype15] == idtype16;
4177 }
4178 }
4179 if (!var14) {
4180 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19690);
4181 exit(1);
4182 }
4183 var_tidnode9 = var_nodearraylist4;
4184 /* <var_tidnode9:nullable Object> isa nullable TId */
4185 cltype18 = type_nullable_parser_nodes__TId.color;
4186 idtype19 = type_nullable_parser_nodes__TId.id;
4187 if(var_tidnode9 == NULL) {
4188 var17 = 1;
4189 } else {
4190 if(cltype18 >= var_tidnode9->type->table_size) {
4191 var17 = 0;
4192 } else {
4193 var17 = var_tidnode9->type->type_table[cltype18] == idtype19;
4194 }
4195 }
4196 if (!var17) {
4197 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19692);
4198 exit(1);
4199 }
4200 var_ptypenode10 = var_nodearraylist5;
4201 /* <var_ptypenode10:nullable Object> isa nullable AType */
4202 cltype21 = type_nullable_parser_nodes__AType.color;
4203 idtype22 = type_nullable_parser_nodes__AType.id;
4204 if(var_ptypenode10 == NULL) {
4205 var20 = 1;
4206 } else {
4207 if(cltype21 >= var_ptypenode10->type->table_size) {
4208 var20 = 0;
4209 } else {
4210 var20 = var_ptypenode10->type->type_table[cltype21] == idtype22;
4211 }
4212 }
4213 if (!var20) {
4214 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19694);
4215 exit(1);
4216 }
4217 var_pannotationsnode11 = var_nodearraylist9;
4218 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
4219 cltype24 = type_nullable_parser_nodes__AAnnotations.color;
4220 idtype25 = type_nullable_parser_nodes__AAnnotations.id;
4221 if(var_pannotationsnode11 == NULL) {
4222 var23 = 1;
4223 } else {
4224 if(cltype24 >= var_pannotationsnode11->type->table_size) {
4225 var23 = 0;
4226 } else {
4227 var23 = var_pannotationsnode11->type->type_table[cltype24] == idtype25;
4228 }
4229 }
4230 if (!var23) {
4231 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19696);
4232 exit(1);
4233 }
4234 var_pexprnode12 = var_nodearraylist8;
4235 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
4236 cltype27 = type_nullable_parser_nodes__AExpr.color;
4237 idtype28 = type_nullable_parser_nodes__AExpr.id;
4238 if(var_pexprnode12 == NULL) {
4239 var26 = 1;
4240 } else {
4241 if(cltype27 >= var_pexprnode12->type->table_size) {
4242 var26 = 0;
4243 } else {
4244 var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
4245 }
4246 }
4247 if (!var26) {
4248 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19698);
4249 exit(1);
4250 }
4251 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
4252 var30 = NULL;
4253 var31 = NULL;
4254 var32 = NULL;
4255 var33 = NULL;
4256 ((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>*/;
4257 CHECK_NEW_parser_nodes__AAttrPropdef(var29);
4258 var_ppropdefnode1 = var29;
4259 var_node_list = var_ppropdefnode1;
4260 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction439> */
4261 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
4262 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
4263 RET_LABEL:;
4264 }
4265 /* method parser#ReduceAction439#action for (self: Object, Parser) */
4266 void VIRTUAL_parser__ReduceAction439__action(val* self, val* p0) {
4267 parser__ReduceAction439__action(self, p0);
4268 RET_LABEL:;
4269 }
4270 /* method parser#ReduceAction440#action for (self: ReduceAction440, Parser) */
4271 void parser__ReduceAction440__action(val* self, val* p0) {
4272 val* var_p /* var p: Parser */;
4273 val* var /* : null */;
4274 val* var_node_list /* var node_list: nullable Object */;
4275 val* var1 /* : nullable Object */;
4276 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4277 val* var2 /* : nullable Object */;
4278 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4279 val* var3 /* : nullable Object */;
4280 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4281 val* var4 /* : nullable Object */;
4282 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4283 val* var5 /* : nullable Object */;
4284 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4285 val* var6 /* : nullable Object */;
4286 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4287 val* var7 /* : nullable Object */;
4288 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4289 val* var8 /* : nullable Object */;
4290 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4291 val* var9 /* : nullable Object */;
4292 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4293 val* var10 /* : nullable Object */;
4294 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4295 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4296 short int var11 /* : Bool */;
4297 int cltype;
4298 int idtype;
4299 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
4300 short int var12 /* : Bool */;
4301 int cltype13;
4302 int idtype14;
4303 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
4304 short int var15 /* : Bool */;
4305 int cltype16;
4306 int idtype17;
4307 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
4308 short int var18 /* : Bool */;
4309 int cltype19;
4310 int idtype20;
4311 val* var_tidnode9 /* var tidnode9: nullable Object */;
4312 short int var21 /* : Bool */;
4313 int cltype22;
4314 int idtype23;
4315 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
4316 short int var24 /* : Bool */;
4317 int cltype25;
4318 int idtype26;
4319 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
4320 short int var27 /* : Bool */;
4321 int cltype28;
4322 int idtype29;
4323 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
4324 short int var30 /* : Bool */;
4325 int cltype31;
4326 int idtype32;
4327 val* var33 /* : AAttrPropdef */;
4328 val* var34 /* : null */;
4329 val* var35 /* : null */;
4330 val* var36 /* : null */;
4331 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
4332 long var37 /* : Int */;
4333 long var38 /* : Int */;
4334 var_p = p0;
4335 var = NULL;
4336 var_node_list = var;
4337 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4338 var_nodearraylist10 = var1;
4339 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4340 var_nodearraylist9 = var2;
4341 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4342 var_nodearraylist8 = var3;
4343 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4344 var_nodearraylist7 = var4;
4345 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4346 var_nodearraylist6 = var5;
4347 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4348 var_nodearraylist5 = var6;
4349 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4350 var_nodearraylist4 = var7;
4351 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4352 var_nodearraylist3 = var8;
4353 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4354 var_nodearraylist2 = var9;
4355 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4356 var_nodearraylist1 = var10;
4357 var_pdocnode2 = var_nodearraylist1;
4358 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4359 cltype = type_nullable_parser_nodes__ADoc.color;
4360 idtype = type_nullable_parser_nodes__ADoc.id;
4361 if(var_pdocnode2 == NULL) {
4362 var11 = 1;
4363 } else {
4364 if(cltype >= var_pdocnode2->type->table_size) {
4365 var11 = 0;
4366 } else {
4367 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
4368 }
4369 }
4370 if (!var11) {
4371 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19732);
4372 exit(1);
4373 }
4374 var_tkwredefnode5 = var_nodearraylist2;
4375 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
4376 cltype13 = type_nullable_parser_nodes__TKwredef.color;
4377 idtype14 = type_nullable_parser_nodes__TKwredef.id;
4378 if(var_tkwredefnode5 == NULL) {
4379 var12 = 1;
4380 } else {
4381 if(cltype13 >= var_tkwredefnode5->type->table_size) {
4382 var12 = 0;
4383 } else {
4384 var12 = var_tkwredefnode5->type->type_table[cltype13] == idtype14;
4385 }
4386 }
4387 if (!var12) {
4388 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19734);
4389 exit(1);
4390 }
4391 var_pvisibilitynode6 = var_nodearraylist3;
4392 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
4393 cltype16 = type_nullable_parser_nodes__AVisibility.color;
4394 idtype17 = type_nullable_parser_nodes__AVisibility.id;
4395 if(var_pvisibilitynode6 == NULL) {
4396 var15 = 1;
4397 } else {
4398 if(cltype16 >= var_pvisibilitynode6->type->table_size) {
4399 var15 = 0;
4400 } else {
4401 var15 = var_pvisibilitynode6->type->type_table[cltype16] == idtype17;
4402 }
4403 }
4404 if (!var15) {
4405 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19736);
4406 exit(1);
4407 }
4408 var_tkwvarnode7 = var_nodearraylist4;
4409 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
4410 cltype19 = type_nullable_parser_nodes__TKwvar.color;
4411 idtype20 = type_nullable_parser_nodes__TKwvar.id;
4412 if(var_tkwvarnode7 == NULL) {
4413 var18 = 1;
4414 } else {
4415 if(cltype19 >= var_tkwvarnode7->type->table_size) {
4416 var18 = 0;
4417 } else {
4418 var18 = var_tkwvarnode7->type->type_table[cltype19] == idtype20;
4419 }
4420 }
4421 if (!var18) {
4422 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19738);
4423 exit(1);
4424 }
4425 var_tidnode9 = var_nodearraylist5;
4426 /* <var_tidnode9:nullable Object> isa nullable TId */
4427 cltype22 = type_nullable_parser_nodes__TId.color;
4428 idtype23 = type_nullable_parser_nodes__TId.id;
4429 if(var_tidnode9 == NULL) {
4430 var21 = 1;
4431 } else {
4432 if(cltype22 >= var_tidnode9->type->table_size) {
4433 var21 = 0;
4434 } else {
4435 var21 = var_tidnode9->type->type_table[cltype22] == idtype23;
4436 }
4437 }
4438 if (!var21) {
4439 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19740);
4440 exit(1);
4441 }
4442 var_ptypenode10 = var_nodearraylist6;
4443 /* <var_ptypenode10:nullable Object> isa nullable AType */
4444 cltype25 = type_nullable_parser_nodes__AType.color;
4445 idtype26 = type_nullable_parser_nodes__AType.id;
4446 if(var_ptypenode10 == NULL) {
4447 var24 = 1;
4448 } else {
4449 if(cltype25 >= var_ptypenode10->type->table_size) {
4450 var24 = 0;
4451 } else {
4452 var24 = var_ptypenode10->type->type_table[cltype25] == idtype26;
4453 }
4454 }
4455 if (!var24) {
4456 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19742);
4457 exit(1);
4458 }
4459 var_pannotationsnode11 = var_nodearraylist10;
4460 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
4461 cltype28 = type_nullable_parser_nodes__AAnnotations.color;
4462 idtype29 = type_nullable_parser_nodes__AAnnotations.id;
4463 if(var_pannotationsnode11 == NULL) {
4464 var27 = 1;
4465 } else {
4466 if(cltype28 >= var_pannotationsnode11->type->table_size) {
4467 var27 = 0;
4468 } else {
4469 var27 = var_pannotationsnode11->type->type_table[cltype28] == idtype29;
4470 }
4471 }
4472 if (!var27) {
4473 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19744);
4474 exit(1);
4475 }
4476 var_pexprnode12 = var_nodearraylist9;
4477 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
4478 cltype31 = type_nullable_parser_nodes__AExpr.color;
4479 idtype32 = type_nullable_parser_nodes__AExpr.id;
4480 if(var_pexprnode12 == NULL) {
4481 var30 = 1;
4482 } else {
4483 if(cltype31 >= var_pexprnode12->type->table_size) {
4484 var30 = 0;
4485 } else {
4486 var30 = var_pexprnode12->type->type_table[cltype31] == idtype32;
4487 }
4488 }
4489 if (!var30) {
4490 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19746);
4491 exit(1);
4492 }
4493 var33 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
4494 var34 = NULL;
4495 var35 = NULL;
4496 var36 = NULL;
4497 ((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>*/;
4498 CHECK_NEW_parser_nodes__AAttrPropdef(var33);
4499 var_ppropdefnode1 = var33;
4500 var_node_list = var_ppropdefnode1;
4501 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction440> */
4502 var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on <var_p:Parser>*/;
4503 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on <var_p:Parser>*/;
4504 RET_LABEL:;
4505 }
4506 /* method parser#ReduceAction440#action for (self: Object, Parser) */
4507 void VIRTUAL_parser__ReduceAction440__action(val* self, val* p0) {
4508 parser__ReduceAction440__action(self, p0);
4509 RET_LABEL:;
4510 }
4511 /* method parser#ReduceAction441#action for (self: ReduceAction441, Parser) */
4512 void parser__ReduceAction441__action(val* self, val* p0) {
4513 val* var_p /* var p: Parser */;
4514 val* var /* : null */;
4515 val* var_node_list /* var node_list: nullable Object */;
4516 val* var1 /* : nullable Object */;
4517 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4518 val* var2 /* : nullable Object */;
4519 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4520 val* var3 /* : nullable Object */;
4521 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4522 val* var4 /* : nullable Object */;
4523 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4524 val* var5 /* : nullable Object */;
4525 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4526 val* var6 /* : nullable Object */;
4527 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4528 val* var7 /* : nullable Object */;
4529 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4530 val* var8 /* : nullable Object */;
4531 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4532 val* var9 /* : nullable Object */;
4533 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4534 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4535 short int var10 /* : Bool */;
4536 int cltype;
4537 int idtype;
4538 val* var_pablenode4 /* var pablenode4: nullable Object */;
4539 short int var11 /* : Bool */;
4540 int cltype12;
4541 int idtype13;
4542 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
4543 short int var14 /* : Bool */;
4544 int cltype15;
4545 int idtype16;
4546 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
4547 short int var17 /* : Bool */;
4548 int cltype18;
4549 int idtype19;
4550 val* var_tidnode9 /* var tidnode9: nullable Object */;
4551 short int var20 /* : Bool */;
4552 int cltype21;
4553 int idtype22;
4554 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
4555 short int var23 /* : Bool */;
4556 int cltype24;
4557 int idtype25;
4558 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
4559 short int var26 /* : Bool */;
4560 int cltype27;
4561 int idtype28;
4562 val* var29 /* : AAttrPropdef */;
4563 val* var30 /* : null */;
4564 val* var31 /* : null */;
4565 val* var32 /* : null */;
4566 val* var33 /* : null */;
4567 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
4568 long var34 /* : Int */;
4569 long var35 /* : Int */;
4570 var_p = p0;
4571 var = NULL;
4572 var_node_list = var;
4573 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4574 var_nodearraylist9 = var1;
4575 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4576 var_nodearraylist8 = var2;
4577 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4578 var_nodearraylist7 = var3;
4579 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4580 var_nodearraylist6 = var4;
4581 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4582 var_nodearraylist5 = var5;
4583 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4584 var_nodearraylist4 = var6;
4585 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4586 var_nodearraylist3 = var7;
4587 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4588 var_nodearraylist2 = var8;
4589 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4590 var_nodearraylist1 = var9;
4591 var_pdocnode2 = var_nodearraylist1;
4592 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4593 cltype = type_nullable_parser_nodes__ADoc.color;
4594 idtype = type_nullable_parser_nodes__ADoc.id;
4595 if(var_pdocnode2 == NULL) {
4596 var10 = 1;
4597 } else {
4598 if(cltype >= var_pdocnode2->type->table_size) {
4599 var10 = 0;
4600 } else {
4601 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
4602 }
4603 }
4604 if (!var10) {
4605 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19779);
4606 exit(1);
4607 }
4608 var_pablenode4 = var_nodearraylist5;
4609 /* <var_pablenode4:nullable Object> isa nullable AAble */
4610 cltype12 = type_nullable_parser_nodes__AAble.color;
4611 idtype13 = type_nullable_parser_nodes__AAble.id;
4612 if(var_pablenode4 == NULL) {
4613 var11 = 1;
4614 } else {
4615 if(cltype12 >= var_pablenode4->type->table_size) {
4616 var11 = 0;
4617 } else {
4618 var11 = var_pablenode4->type->type_table[cltype12] == idtype13;
4619 }
4620 }
4621 if (!var11) {
4622 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19781);
4623 exit(1);
4624 }
4625 var_pvisibilitynode6 = var_nodearraylist2;
4626 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
4627 cltype15 = type_nullable_parser_nodes__AVisibility.color;
4628 idtype16 = type_nullable_parser_nodes__AVisibility.id;
4629 if(var_pvisibilitynode6 == NULL) {
4630 var14 = 1;
4631 } else {
4632 if(cltype15 >= var_pvisibilitynode6->type->table_size) {
4633 var14 = 0;
4634 } else {
4635 var14 = var_pvisibilitynode6->type->type_table[cltype15] == idtype16;
4636 }
4637 }
4638 if (!var14) {
4639 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19783);
4640 exit(1);
4641 }
4642 var_tkwvarnode7 = var_nodearraylist3;
4643 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
4644 cltype18 = type_nullable_parser_nodes__TKwvar.color;
4645 idtype19 = type_nullable_parser_nodes__TKwvar.id;
4646 if(var_tkwvarnode7 == NULL) {
4647 var17 = 1;
4648 } else {
4649 if(cltype18 >= var_tkwvarnode7->type->table_size) {
4650 var17 = 0;
4651 } else {
4652 var17 = var_tkwvarnode7->type->type_table[cltype18] == idtype19;
4653 }
4654 }
4655 if (!var17) {
4656 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19785);
4657 exit(1);
4658 }
4659 var_tidnode9 = var_nodearraylist4;
4660 /* <var_tidnode9:nullable Object> isa nullable TId */
4661 cltype21 = type_nullable_parser_nodes__TId.color;
4662 idtype22 = type_nullable_parser_nodes__TId.id;
4663 if(var_tidnode9 == NULL) {
4664 var20 = 1;
4665 } else {
4666 if(cltype21 >= var_tidnode9->type->table_size) {
4667 var20 = 0;
4668 } else {
4669 var20 = var_tidnode9->type->type_table[cltype21] == idtype22;
4670 }
4671 }
4672 if (!var20) {
4673 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19787);
4674 exit(1);
4675 }
4676 var_pannotationsnode11 = var_nodearraylist9;
4677 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
4678 cltype24 = type_nullable_parser_nodes__AAnnotations.color;
4679 idtype25 = type_nullable_parser_nodes__AAnnotations.id;
4680 if(var_pannotationsnode11 == NULL) {
4681 var23 = 1;
4682 } else {
4683 if(cltype24 >= var_pannotationsnode11->type->table_size) {
4684 var23 = 0;
4685 } else {
4686 var23 = var_pannotationsnode11->type->type_table[cltype24] == idtype25;
4687 }
4688 }
4689 if (!var23) {
4690 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19789);
4691 exit(1);
4692 }
4693 var_pexprnode12 = var_nodearraylist8;
4694 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
4695 cltype27 = type_nullable_parser_nodes__AExpr.color;
4696 idtype28 = type_nullable_parser_nodes__AExpr.id;
4697 if(var_pexprnode12 == NULL) {
4698 var26 = 1;
4699 } else {
4700 if(cltype27 >= var_pexprnode12->type->table_size) {
4701 var26 = 0;
4702 } else {
4703 var26 = var_pexprnode12->type->type_table[cltype27] == idtype28;
4704 }
4705 }
4706 if (!var26) {
4707 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19791);
4708 exit(1);
4709 }
4710 var29 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
4711 var30 = NULL;
4712 var31 = NULL;
4713 var32 = NULL;
4714 var33 = NULL;
4715 ((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>*/;
4716 CHECK_NEW_parser_nodes__AAttrPropdef(var29);
4717 var_ppropdefnode1 = var29;
4718 var_node_list = var_ppropdefnode1;
4719 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction441> */
4720 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
4721 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
4722 RET_LABEL:;
4723 }
4724 /* method parser#ReduceAction441#action for (self: Object, Parser) */
4725 void VIRTUAL_parser__ReduceAction441__action(val* self, val* p0) {
4726 parser__ReduceAction441__action(self, p0);
4727 RET_LABEL:;
4728 }
4729 /* method parser#ReduceAction442#action for (self: ReduceAction442, Parser) */
4730 void parser__ReduceAction442__action(val* self, val* p0) {
4731 val* var_p /* var p: Parser */;
4732 val* var /* : null */;
4733 val* var_node_list /* var node_list: nullable Object */;
4734 val* var1 /* : nullable Object */;
4735 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4736 val* var2 /* : nullable Object */;
4737 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4738 val* var3 /* : nullable Object */;
4739 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4740 val* var4 /* : nullable Object */;
4741 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4742 val* var5 /* : nullable Object */;
4743 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4744 val* var6 /* : nullable Object */;
4745 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4746 val* var7 /* : nullable Object */;
4747 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4748 val* var8 /* : nullable Object */;
4749 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4750 val* var9 /* : nullable Object */;
4751 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4752 val* var10 /* : nullable Object */;
4753 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4754 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4755 short int var11 /* : Bool */;
4756 int cltype;
4757 int idtype;
4758 val* var_pablenode4 /* var pablenode4: nullable Object */;
4759 short int var12 /* : Bool */;
4760 int cltype13;
4761 int idtype14;
4762 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
4763 short int var15 /* : Bool */;
4764 int cltype16;
4765 int idtype17;
4766 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
4767 short int var18 /* : Bool */;
4768 int cltype19;
4769 int idtype20;
4770 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
4771 short int var21 /* : Bool */;
4772 int cltype22;
4773 int idtype23;
4774 val* var_tidnode9 /* var tidnode9: nullable Object */;
4775 short int var24 /* : Bool */;
4776 int cltype25;
4777 int idtype26;
4778 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
4779 short int var27 /* : Bool */;
4780 int cltype28;
4781 int idtype29;
4782 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
4783 short int var30 /* : Bool */;
4784 int cltype31;
4785 int idtype32;
4786 val* var33 /* : AAttrPropdef */;
4787 val* var34 /* : null */;
4788 val* var35 /* : null */;
4789 val* var36 /* : null */;
4790 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
4791 long var37 /* : Int */;
4792 long var38 /* : Int */;
4793 var_p = p0;
4794 var = NULL;
4795 var_node_list = var;
4796 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4797 var_nodearraylist10 = var1;
4798 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4799 var_nodearraylist9 = var2;
4800 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4801 var_nodearraylist8 = var3;
4802 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4803 var_nodearraylist7 = var4;
4804 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4805 var_nodearraylist6 = var5;
4806 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4807 var_nodearraylist5 = var6;
4808 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4809 var_nodearraylist4 = var7;
4810 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4811 var_nodearraylist3 = var8;
4812 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4813 var_nodearraylist2 = var9;
4814 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4815 var_nodearraylist1 = var10;
4816 var_pdocnode2 = var_nodearraylist1;
4817 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4818 cltype = type_nullable_parser_nodes__ADoc.color;
4819 idtype = type_nullable_parser_nodes__ADoc.id;
4820 if(var_pdocnode2 == NULL) {
4821 var11 = 1;
4822 } else {
4823 if(cltype >= var_pdocnode2->type->table_size) {
4824 var11 = 0;
4825 } else {
4826 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
4827 }
4828 }
4829 if (!var11) {
4830 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19825);
4831 exit(1);
4832 }
4833 var_pablenode4 = var_nodearraylist6;
4834 /* <var_pablenode4:nullable Object> isa nullable AAble */
4835 cltype13 = type_nullable_parser_nodes__AAble.color;
4836 idtype14 = type_nullable_parser_nodes__AAble.id;
4837 if(var_pablenode4 == NULL) {
4838 var12 = 1;
4839 } else {
4840 if(cltype13 >= var_pablenode4->type->table_size) {
4841 var12 = 0;
4842 } else {
4843 var12 = var_pablenode4->type->type_table[cltype13] == idtype14;
4844 }
4845 }
4846 if (!var12) {
4847 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19827);
4848 exit(1);
4849 }
4850 var_tkwredefnode5 = var_nodearraylist2;
4851 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
4852 cltype16 = type_nullable_parser_nodes__TKwredef.color;
4853 idtype17 = type_nullable_parser_nodes__TKwredef.id;
4854 if(var_tkwredefnode5 == NULL) {
4855 var15 = 1;
4856 } else {
4857 if(cltype16 >= var_tkwredefnode5->type->table_size) {
4858 var15 = 0;
4859 } else {
4860 var15 = var_tkwredefnode5->type->type_table[cltype16] == idtype17;
4861 }
4862 }
4863 if (!var15) {
4864 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19829);
4865 exit(1);
4866 }
4867 var_pvisibilitynode6 = var_nodearraylist3;
4868 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
4869 cltype19 = type_nullable_parser_nodes__AVisibility.color;
4870 idtype20 = type_nullable_parser_nodes__AVisibility.id;
4871 if(var_pvisibilitynode6 == NULL) {
4872 var18 = 1;
4873 } else {
4874 if(cltype19 >= var_pvisibilitynode6->type->table_size) {
4875 var18 = 0;
4876 } else {
4877 var18 = var_pvisibilitynode6->type->type_table[cltype19] == idtype20;
4878 }
4879 }
4880 if (!var18) {
4881 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19831);
4882 exit(1);
4883 }
4884 var_tkwvarnode7 = var_nodearraylist4;
4885 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
4886 cltype22 = type_nullable_parser_nodes__TKwvar.color;
4887 idtype23 = type_nullable_parser_nodes__TKwvar.id;
4888 if(var_tkwvarnode7 == NULL) {
4889 var21 = 1;
4890 } else {
4891 if(cltype22 >= var_tkwvarnode7->type->table_size) {
4892 var21 = 0;
4893 } else {
4894 var21 = var_tkwvarnode7->type->type_table[cltype22] == idtype23;
4895 }
4896 }
4897 if (!var21) {
4898 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19833);
4899 exit(1);
4900 }
4901 var_tidnode9 = var_nodearraylist5;
4902 /* <var_tidnode9:nullable Object> isa nullable TId */
4903 cltype25 = type_nullable_parser_nodes__TId.color;
4904 idtype26 = type_nullable_parser_nodes__TId.id;
4905 if(var_tidnode9 == NULL) {
4906 var24 = 1;
4907 } else {
4908 if(cltype25 >= var_tidnode9->type->table_size) {
4909 var24 = 0;
4910 } else {
4911 var24 = var_tidnode9->type->type_table[cltype25] == idtype26;
4912 }
4913 }
4914 if (!var24) {
4915 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19835);
4916 exit(1);
4917 }
4918 var_pannotationsnode11 = var_nodearraylist10;
4919 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
4920 cltype28 = type_nullable_parser_nodes__AAnnotations.color;
4921 idtype29 = type_nullable_parser_nodes__AAnnotations.id;
4922 if(var_pannotationsnode11 == NULL) {
4923 var27 = 1;
4924 } else {
4925 if(cltype28 >= var_pannotationsnode11->type->table_size) {
4926 var27 = 0;
4927 } else {
4928 var27 = var_pannotationsnode11->type->type_table[cltype28] == idtype29;
4929 }
4930 }
4931 if (!var27) {
4932 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19837);
4933 exit(1);
4934 }
4935 var_pexprnode12 = var_nodearraylist9;
4936 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
4937 cltype31 = type_nullable_parser_nodes__AExpr.color;
4938 idtype32 = type_nullable_parser_nodes__AExpr.id;
4939 if(var_pexprnode12 == NULL) {
4940 var30 = 1;
4941 } else {
4942 if(cltype31 >= var_pexprnode12->type->table_size) {
4943 var30 = 0;
4944 } else {
4945 var30 = var_pexprnode12->type->type_table[cltype31] == idtype32;
4946 }
4947 }
4948 if (!var30) {
4949 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19839);
4950 exit(1);
4951 }
4952 var33 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
4953 var34 = NULL;
4954 var35 = NULL;
4955 var36 = NULL;
4956 ((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>*/;
4957 CHECK_NEW_parser_nodes__AAttrPropdef(var33);
4958 var_ppropdefnode1 = var33;
4959 var_node_list = var_ppropdefnode1;
4960 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction442> */
4961 var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on <var_p:Parser>*/;
4962 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on <var_p:Parser>*/;
4963 RET_LABEL:;
4964 }
4965 /* method parser#ReduceAction442#action for (self: Object, Parser) */
4966 void VIRTUAL_parser__ReduceAction442__action(val* self, val* p0) {
4967 parser__ReduceAction442__action(self, p0);
4968 RET_LABEL:;
4969 }
4970 /* method parser#ReduceAction443#action for (self: ReduceAction443, Parser) */
4971 void parser__ReduceAction443__action(val* self, val* p0) {
4972 val* var_p /* var p: Parser */;
4973 val* var /* : null */;
4974 val* var_node_list /* var node_list: nullable Object */;
4975 val* var1 /* : nullable Object */;
4976 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4977 val* var2 /* : nullable Object */;
4978 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4979 val* var3 /* : nullable Object */;
4980 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4981 val* var4 /* : nullable Object */;
4982 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4983 val* var5 /* : nullable Object */;
4984 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4985 val* var6 /* : nullable Object */;
4986 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4987 val* var7 /* : nullable Object */;
4988 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4989 val* var8 /* : nullable Object */;
4990 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4991 val* var9 /* : nullable Object */;
4992 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4993 val* var10 /* : nullable Object */;
4994 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4995 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4996 short int var11 /* : Bool */;
4997 int cltype;
4998 int idtype;
4999 val* var_pablenode4 /* var pablenode4: nullable Object */;
5000 short int var12 /* : Bool */;
5001 int cltype13;
5002 int idtype14;
5003 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
5004 short int var15 /* : Bool */;
5005 int cltype16;
5006 int idtype17;
5007 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
5008 short int var18 /* : Bool */;
5009 int cltype19;
5010 int idtype20;
5011 val* var_tidnode9 /* var tidnode9: nullable Object */;
5012 short int var21 /* : Bool */;
5013 int cltype22;
5014 int idtype23;
5015 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
5016 short int var24 /* : Bool */;
5017 int cltype25;
5018 int idtype26;
5019 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
5020 short int var27 /* : Bool */;
5021 int cltype28;
5022 int idtype29;
5023 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
5024 short int var30 /* : Bool */;
5025 int cltype31;
5026 int idtype32;
5027 val* var33 /* : AAttrPropdef */;
5028 val* var34 /* : null */;
5029 val* var35 /* : null */;
5030 val* var36 /* : null */;
5031 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
5032 long var37 /* : Int */;
5033 long var38 /* : Int */;
5034 var_p = p0;
5035 var = NULL;
5036 var_node_list = var;
5037 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5038 var_nodearraylist10 = var1;
5039 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5040 var_nodearraylist9 = var2;
5041 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5042 var_nodearraylist8 = var3;
5043 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5044 var_nodearraylist7 = var4;
5045 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5046 var_nodearraylist6 = var5;
5047 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5048 var_nodearraylist5 = var6;
5049 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5050 var_nodearraylist4 = var7;
5051 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5052 var_nodearraylist3 = var8;
5053 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5054 var_nodearraylist2 = var9;
5055 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5056 var_nodearraylist1 = var10;
5057 var_pdocnode2 = var_nodearraylist1;
5058 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5059 cltype = type_nullable_parser_nodes__ADoc.color;
5060 idtype = type_nullable_parser_nodes__ADoc.id;
5061 if(var_pdocnode2 == NULL) {
5062 var11 = 1;
5063 } else {
5064 if(cltype >= var_pdocnode2->type->table_size) {
5065 var11 = 0;
5066 } else {
5067 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
5068 }
5069 }
5070 if (!var11) {
5071 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19873);
5072 exit(1);
5073 }
5074 var_pablenode4 = var_nodearraylist6;
5075 /* <var_pablenode4:nullable Object> isa nullable AAble */
5076 cltype13 = type_nullable_parser_nodes__AAble.color;
5077 idtype14 = type_nullable_parser_nodes__AAble.id;
5078 if(var_pablenode4 == NULL) {
5079 var12 = 1;
5080 } else {
5081 if(cltype13 >= var_pablenode4->type->table_size) {
5082 var12 = 0;
5083 } else {
5084 var12 = var_pablenode4->type->type_table[cltype13] == idtype14;
5085 }
5086 }
5087 if (!var12) {
5088 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19875);
5089 exit(1);
5090 }
5091 var_pvisibilitynode6 = var_nodearraylist2;
5092 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
5093 cltype16 = type_nullable_parser_nodes__AVisibility.color;
5094 idtype17 = type_nullable_parser_nodes__AVisibility.id;
5095 if(var_pvisibilitynode6 == NULL) {
5096 var15 = 1;
5097 } else {
5098 if(cltype16 >= var_pvisibilitynode6->type->table_size) {
5099 var15 = 0;
5100 } else {
5101 var15 = var_pvisibilitynode6->type->type_table[cltype16] == idtype17;
5102 }
5103 }
5104 if (!var15) {
5105 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19877);
5106 exit(1);
5107 }
5108 var_tkwvarnode7 = var_nodearraylist3;
5109 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
5110 cltype19 = type_nullable_parser_nodes__TKwvar.color;
5111 idtype20 = type_nullable_parser_nodes__TKwvar.id;
5112 if(var_tkwvarnode7 == NULL) {
5113 var18 = 1;
5114 } else {
5115 if(cltype19 >= var_tkwvarnode7->type->table_size) {
5116 var18 = 0;
5117 } else {
5118 var18 = var_tkwvarnode7->type->type_table[cltype19] == idtype20;
5119 }
5120 }
5121 if (!var18) {
5122 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19879);
5123 exit(1);
5124 }
5125 var_tidnode9 = var_nodearraylist4;
5126 /* <var_tidnode9:nullable Object> isa nullable TId */
5127 cltype22 = type_nullable_parser_nodes__TId.color;
5128 idtype23 = type_nullable_parser_nodes__TId.id;
5129 if(var_tidnode9 == NULL) {
5130 var21 = 1;
5131 } else {
5132 if(cltype22 >= var_tidnode9->type->table_size) {
5133 var21 = 0;
5134 } else {
5135 var21 = var_tidnode9->type->type_table[cltype22] == idtype23;
5136 }
5137 }
5138 if (!var21) {
5139 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19881);
5140 exit(1);
5141 }
5142 var_ptypenode10 = var_nodearraylist5;
5143 /* <var_ptypenode10:nullable Object> isa nullable AType */
5144 cltype25 = type_nullable_parser_nodes__AType.color;
5145 idtype26 = type_nullable_parser_nodes__AType.id;
5146 if(var_ptypenode10 == NULL) {
5147 var24 = 1;
5148 } else {
5149 if(cltype25 >= var_ptypenode10->type->table_size) {
5150 var24 = 0;
5151 } else {
5152 var24 = var_ptypenode10->type->type_table[cltype25] == idtype26;
5153 }
5154 }
5155 if (!var24) {
5156 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19883);
5157 exit(1);
5158 }
5159 var_pannotationsnode11 = var_nodearraylist10;
5160 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
5161 cltype28 = type_nullable_parser_nodes__AAnnotations.color;
5162 idtype29 = type_nullable_parser_nodes__AAnnotations.id;
5163 if(var_pannotationsnode11 == NULL) {
5164 var27 = 1;
5165 } else {
5166 if(cltype28 >= var_pannotationsnode11->type->table_size) {
5167 var27 = 0;
5168 } else {
5169 var27 = var_pannotationsnode11->type->type_table[cltype28] == idtype29;
5170 }
5171 }
5172 if (!var27) {
5173 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19885);
5174 exit(1);
5175 }
5176 var_pexprnode12 = var_nodearraylist9;
5177 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
5178 cltype31 = type_nullable_parser_nodes__AExpr.color;
5179 idtype32 = type_nullable_parser_nodes__AExpr.id;
5180 if(var_pexprnode12 == NULL) {
5181 var30 = 1;
5182 } else {
5183 if(cltype31 >= var_pexprnode12->type->table_size) {
5184 var30 = 0;
5185 } else {
5186 var30 = var_pexprnode12->type->type_table[cltype31] == idtype32;
5187 }
5188 }
5189 if (!var30) {
5190 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19887);
5191 exit(1);
5192 }
5193 var33 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
5194 var34 = NULL;
5195 var35 = NULL;
5196 var36 = NULL;
5197 ((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>*/;
5198 CHECK_NEW_parser_nodes__AAttrPropdef(var33);
5199 var_ppropdefnode1 = var33;
5200 var_node_list = var_ppropdefnode1;
5201 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction443> */
5202 var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on <var_p:Parser>*/;
5203 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on <var_p:Parser>*/;
5204 RET_LABEL:;
5205 }
5206 /* method parser#ReduceAction443#action for (self: Object, Parser) */
5207 void VIRTUAL_parser__ReduceAction443__action(val* self, val* p0) {
5208 parser__ReduceAction443__action(self, p0);
5209 RET_LABEL:;
5210 }
5211 /* method parser#ReduceAction444#action for (self: ReduceAction444, Parser) */
5212 void parser__ReduceAction444__action(val* self, val* p0) {
5213 val* var_p /* var p: Parser */;
5214 val* var /* : null */;
5215 val* var_node_list /* var node_list: nullable Object */;
5216 val* var1 /* : nullable Object */;
5217 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
5218 val* var2 /* : nullable Object */;
5219 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5220 val* var3 /* : nullable Object */;
5221 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5222 val* var4 /* : nullable Object */;
5223 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5224 val* var5 /* : nullable Object */;
5225 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5226 val* var6 /* : nullable Object */;
5227 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5228 val* var7 /* : nullable Object */;
5229 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5230 val* var8 /* : nullable Object */;
5231 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5232 val* var9 /* : nullable Object */;
5233 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5234 val* var10 /* : nullable Object */;
5235 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5236 val* var11 /* : nullable Object */;
5237 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5238 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5239 short int var12 /* : Bool */;
5240 int cltype;
5241 int idtype;
5242 val* var_pablenode4 /* var pablenode4: nullable Object */;
5243 short int var13 /* : Bool */;
5244 int cltype14;
5245 int idtype15;
5246 val* var_tkwredefnode5 /* var tkwredefnode5: nullable Object */;
5247 short int var16 /* : Bool */;
5248 int cltype17;
5249 int idtype18;
5250 val* var_pvisibilitynode6 /* var pvisibilitynode6: nullable Object */;
5251 short int var19 /* : Bool */;
5252 int cltype20;
5253 int idtype21;
5254 val* var_tkwvarnode7 /* var tkwvarnode7: nullable Object */;
5255 short int var22 /* : Bool */;
5256 int cltype23;
5257 int idtype24;
5258 val* var_tidnode9 /* var tidnode9: nullable Object */;
5259 short int var25 /* : Bool */;
5260 int cltype26;
5261 int idtype27;
5262 val* var_ptypenode10 /* var ptypenode10: nullable Object */;
5263 short int var28 /* : Bool */;
5264 int cltype29;
5265 int idtype30;
5266 val* var_pannotationsnode11 /* var pannotationsnode11: nullable Object */;
5267 short int var31 /* : Bool */;
5268 int cltype32;
5269 int idtype33;
5270 val* var_pexprnode12 /* var pexprnode12: nullable Object */;
5271 short int var34 /* : Bool */;
5272 int cltype35;
5273 int idtype36;
5274 val* var37 /* : AAttrPropdef */;
5275 val* var38 /* : null */;
5276 val* var39 /* : null */;
5277 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AAttrPropdef */;
5278 long var40 /* : Int */;
5279 long var41 /* : Int */;
5280 var_p = p0;
5281 var = NULL;
5282 var_node_list = var;
5283 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5284 var_nodearraylist11 = var1;
5285 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5286 var_nodearraylist10 = var2;
5287 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5288 var_nodearraylist9 = var3;
5289 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5290 var_nodearraylist8 = var4;
5291 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5292 var_nodearraylist7 = var5;
5293 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5294 var_nodearraylist6 = var6;
5295 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5296 var_nodearraylist5 = var7;
5297 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5298 var_nodearraylist4 = var8;
5299 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5300 var_nodearraylist3 = var9;
5301 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5302 var_nodearraylist2 = var10;
5303 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5304 var_nodearraylist1 = var11;
5305 var_pdocnode2 = var_nodearraylist1;
5306 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5307 cltype = type_nullable_parser_nodes__ADoc.color;
5308 idtype = type_nullable_parser_nodes__ADoc.id;
5309 if(var_pdocnode2 == NULL) {
5310 var12 = 1;
5311 } else {
5312 if(cltype >= var_pdocnode2->type->table_size) {
5313 var12 = 0;
5314 } else {
5315 var12 = var_pdocnode2->type->type_table[cltype] == idtype;
5316 }
5317 }
5318 if (!var12) {
5319 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19922);
5320 exit(1);
5321 }
5322 var_pablenode4 = var_nodearraylist7;
5323 /* <var_pablenode4:nullable Object> isa nullable AAble */
5324 cltype14 = type_nullable_parser_nodes__AAble.color;
5325 idtype15 = type_nullable_parser_nodes__AAble.id;
5326 if(var_pablenode4 == NULL) {
5327 var13 = 1;
5328 } else {
5329 if(cltype14 >= var_pablenode4->type->table_size) {
5330 var13 = 0;
5331 } else {
5332 var13 = var_pablenode4->type->type_table[cltype14] == idtype15;
5333 }
5334 }
5335 if (!var13) {
5336 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19924);
5337 exit(1);
5338 }
5339 var_tkwredefnode5 = var_nodearraylist2;
5340 /* <var_tkwredefnode5:nullable Object> isa nullable TKwredef */
5341 cltype17 = type_nullable_parser_nodes__TKwredef.color;
5342 idtype18 = type_nullable_parser_nodes__TKwredef.id;
5343 if(var_tkwredefnode5 == NULL) {
5344 var16 = 1;
5345 } else {
5346 if(cltype17 >= var_tkwredefnode5->type->table_size) {
5347 var16 = 0;
5348 } else {
5349 var16 = var_tkwredefnode5->type->type_table[cltype17] == idtype18;
5350 }
5351 }
5352 if (!var16) {
5353 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19926);
5354 exit(1);
5355 }
5356 var_pvisibilitynode6 = var_nodearraylist3;
5357 /* <var_pvisibilitynode6:nullable Object> isa nullable AVisibility */
5358 cltype20 = type_nullable_parser_nodes__AVisibility.color;
5359 idtype21 = type_nullable_parser_nodes__AVisibility.id;
5360 if(var_pvisibilitynode6 == NULL) {
5361 var19 = 1;
5362 } else {
5363 if(cltype20 >= var_pvisibilitynode6->type->table_size) {
5364 var19 = 0;
5365 } else {
5366 var19 = var_pvisibilitynode6->type->type_table[cltype20] == idtype21;
5367 }
5368 }
5369 if (!var19) {
5370 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19928);
5371 exit(1);
5372 }
5373 var_tkwvarnode7 = var_nodearraylist4;
5374 /* <var_tkwvarnode7:nullable Object> isa nullable TKwvar */
5375 cltype23 = type_nullable_parser_nodes__TKwvar.color;
5376 idtype24 = type_nullable_parser_nodes__TKwvar.id;
5377 if(var_tkwvarnode7 == NULL) {
5378 var22 = 1;
5379 } else {
5380 if(cltype23 >= var_tkwvarnode7->type->table_size) {
5381 var22 = 0;
5382 } else {
5383 var22 = var_tkwvarnode7->type->type_table[cltype23] == idtype24;
5384 }
5385 }
5386 if (!var22) {
5387 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19930);
5388 exit(1);
5389 }
5390 var_tidnode9 = var_nodearraylist5;
5391 /* <var_tidnode9:nullable Object> isa nullable TId */
5392 cltype26 = type_nullable_parser_nodes__TId.color;
5393 idtype27 = type_nullable_parser_nodes__TId.id;
5394 if(var_tidnode9 == NULL) {
5395 var25 = 1;
5396 } else {
5397 if(cltype26 >= var_tidnode9->type->table_size) {
5398 var25 = 0;
5399 } else {
5400 var25 = var_tidnode9->type->type_table[cltype26] == idtype27;
5401 }
5402 }
5403 if (!var25) {
5404 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19932);
5405 exit(1);
5406 }
5407 var_ptypenode10 = var_nodearraylist6;
5408 /* <var_ptypenode10:nullable Object> isa nullable AType */
5409 cltype29 = type_nullable_parser_nodes__AType.color;
5410 idtype30 = type_nullable_parser_nodes__AType.id;
5411 if(var_ptypenode10 == NULL) {
5412 var28 = 1;
5413 } else {
5414 if(cltype29 >= var_ptypenode10->type->table_size) {
5415 var28 = 0;
5416 } else {
5417 var28 = var_ptypenode10->type->type_table[cltype29] == idtype30;
5418 }
5419 }
5420 if (!var28) {
5421 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19934);
5422 exit(1);
5423 }
5424 var_pannotationsnode11 = var_nodearraylist11;
5425 /* <var_pannotationsnode11:nullable Object> isa nullable AAnnotations */
5426 cltype32 = type_nullable_parser_nodes__AAnnotations.color;
5427 idtype33 = type_nullable_parser_nodes__AAnnotations.id;
5428 if(var_pannotationsnode11 == NULL) {
5429 var31 = 1;
5430 } else {
5431 if(cltype32 >= var_pannotationsnode11->type->table_size) {
5432 var31 = 0;
5433 } else {
5434 var31 = var_pannotationsnode11->type->type_table[cltype32] == idtype33;
5435 }
5436 }
5437 if (!var31) {
5438 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19936);
5439 exit(1);
5440 }
5441 var_pexprnode12 = var_nodearraylist10;
5442 /* <var_pexprnode12:nullable Object> isa nullable AExpr */
5443 cltype35 = type_nullable_parser_nodes__AExpr.color;
5444 idtype36 = type_nullable_parser_nodes__AExpr.id;
5445 if(var_pexprnode12 == NULL) {
5446 var34 = 1;
5447 } else {
5448 if(cltype35 >= var_pexprnode12->type->table_size) {
5449 var34 = 0;
5450 } else {
5451 var34 = var_pexprnode12->type->type_table[cltype35] == idtype36;
5452 }
5453 }
5454 if (!var34) {
5455 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19938);
5456 exit(1);
5457 }
5458 var37 = NEW_parser_nodes__AAttrPropdef(&type_parser_nodes__AAttrPropdef);
5459 var38 = NULL;
5460 var39 = NULL;
5461 ((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>*/;
5462 CHECK_NEW_parser_nodes__AAttrPropdef(var37);
5463 var_ppropdefnode1 = var37;
5464 var_node_list = var_ppropdefnode1;
5465 var40 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction444> */
5466 var41 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var40) /* go_to on <var_p:Parser>*/;
5467 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var41, var_node_list) /* push on <var_p:Parser>*/;
5468 RET_LABEL:;
5469 }
5470 /* method parser#ReduceAction444#action for (self: Object, Parser) */
5471 void VIRTUAL_parser__ReduceAction444__action(val* self, val* p0) {
5472 parser__ReduceAction444__action(self, p0);
5473 RET_LABEL:;
5474 }
5475 /* method parser#ReduceAction445#action for (self: ReduceAction445, Parser) */
5476 void parser__ReduceAction445__action(val* self, val* p0) {
5477 val* var_p /* var p: Parser */;
5478 val* var /* : null */;
5479 val* var_node_list /* var node_list: nullable Object */;
5480 val* var1 /* : nullable Object */;
5481 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5482 val* var2 /* : nullable Object */;
5483 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5484 val* var3 /* : nullable Object */;
5485 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5486 val* var4 /* : nullable Object */;
5487 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5488 val* var5 /* : nullable Object */;
5489 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5490 val* var6 /* : nullable Object */;
5491 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5492 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5493 short int var7 /* : Bool */;
5494 int cltype;
5495 int idtype;
5496 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5497 short int var8 /* : Bool */;
5498 int cltype9;
5499 int idtype10;
5500 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
5501 short int var11 /* : Bool */;
5502 int cltype12;
5503 int idtype13;
5504 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
5505 short int var14 /* : Bool */;
5506 int cltype15;
5507 int idtype16;
5508 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
5509 short int var17 /* : Bool */;
5510 int cltype18;
5511 int idtype19;
5512 val* var20 /* : AConcreteInitPropdef */;
5513 val* var21 /* : null */;
5514 val* var22 /* : null */;
5515 val* var23 /* : null */;
5516 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
5517 long var24 /* : Int */;
5518 long var25 /* : Int */;
5519 var_p = p0;
5520 var = NULL;
5521 var_node_list = var;
5522 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5523 var_nodearraylist6 = var1;
5524 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5525 var_nodearraylist5 = var2;
5526 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5527 var_nodearraylist4 = var3;
5528 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5529 var_nodearraylist3 = var4;
5530 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5531 var_nodearraylist2 = var5;
5532 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5533 var_nodearraylist1 = var6;
5534 var_pdocnode2 = var_nodearraylist1;
5535 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5536 cltype = type_nullable_parser_nodes__ADoc.color;
5537 idtype = type_nullable_parser_nodes__ADoc.id;
5538 if(var_pdocnode2 == NULL) {
5539 var7 = 1;
5540 } else {
5541 if(cltype >= var_pdocnode2->type->table_size) {
5542 var7 = 0;
5543 } else {
5544 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
5545 }
5546 }
5547 if (!var7) {
5548 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19968);
5549 exit(1);
5550 }
5551 var_pvisibilitynode4 = var_nodearraylist2;
5552 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5553 cltype9 = type_nullable_parser_nodes__AVisibility.color;
5554 idtype10 = type_nullable_parser_nodes__AVisibility.id;
5555 if(var_pvisibilitynode4 == NULL) {
5556 var8 = 1;
5557 } else {
5558 if(cltype9 >= var_pvisibilitynode4->type->table_size) {
5559 var8 = 0;
5560 } else {
5561 var8 = var_pvisibilitynode4->type->type_table[cltype9] == idtype10;
5562 }
5563 }
5564 if (!var8) {
5565 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19970);
5566 exit(1);
5567 }
5568 var_tkwinitnode5 = var_nodearraylist3;
5569 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
5570 cltype12 = type_nullable_parser_nodes__TKwinit.color;
5571 idtype13 = type_nullable_parser_nodes__TKwinit.id;
5572 if(var_tkwinitnode5 == NULL) {
5573 var11 = 1;
5574 } else {
5575 if(cltype12 >= var_tkwinitnode5->type->table_size) {
5576 var11 = 0;
5577 } else {
5578 var11 = var_tkwinitnode5->type->type_table[cltype12] == idtype13;
5579 }
5580 }
5581 if (!var11) {
5582 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19972);
5583 exit(1);
5584 }
5585 var_psignaturenode7 = var_nodearraylist4;
5586 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
5587 cltype15 = type_nullable_parser_nodes__ASignature.color;
5588 idtype16 = type_nullable_parser_nodes__ASignature.id;
5589 if(var_psignaturenode7 == NULL) {
5590 var14 = 1;
5591 } else {
5592 if(cltype15 >= var_psignaturenode7->type->table_size) {
5593 var14 = 0;
5594 } else {
5595 var14 = var_psignaturenode7->type->type_table[cltype15] == idtype16;
5596 }
5597 }
5598 if (!var14) {
5599 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19974);
5600 exit(1);
5601 }
5602 var_pexprnode9 = var_nodearraylist6;
5603 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
5604 cltype18 = type_nullable_parser_nodes__AExpr.color;
5605 idtype19 = type_nullable_parser_nodes__AExpr.id;
5606 if(var_pexprnode9 == NULL) {
5607 var17 = 1;
5608 } else {
5609 if(cltype18 >= var_pexprnode9->type->table_size) {
5610 var17 = 0;
5611 } else {
5612 var17 = var_pexprnode9->type->type_table[cltype18] == idtype19;
5613 }
5614 }
5615 if (!var17) {
5616 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 19976);
5617 exit(1);
5618 }
5619 var20 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
5620 var21 = NULL;
5621 var22 = NULL;
5622 var23 = NULL;
5623 ((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>*/;
5624 CHECK_NEW_parser_nodes__AConcreteInitPropdef(var20);
5625 var_ppropdefnode1 = var20;
5626 var_node_list = var_ppropdefnode1;
5627 var24 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction445> */
5628 var25 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var24) /* go_to on <var_p:Parser>*/;
5629 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var25, var_node_list) /* push on <var_p:Parser>*/;
5630 RET_LABEL:;
5631 }
5632 /* method parser#ReduceAction445#action for (self: Object, Parser) */
5633 void VIRTUAL_parser__ReduceAction445__action(val* self, val* p0) {
5634 parser__ReduceAction445__action(self, p0);
5635 RET_LABEL:;
5636 }
5637 /* method parser#ReduceAction446#action for (self: ReduceAction446, Parser) */
5638 void parser__ReduceAction446__action(val* self, val* p0) {
5639 val* var_p /* var p: Parser */;
5640 val* var /* : null */;
5641 val* var_node_list /* var node_list: nullable Object */;
5642 val* var1 /* : nullable Object */;
5643 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5644 val* var2 /* : nullable Object */;
5645 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5646 val* var3 /* : nullable Object */;
5647 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5648 val* var4 /* : nullable Object */;
5649 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5650 val* var5 /* : nullable Object */;
5651 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5652 val* var6 /* : nullable Object */;
5653 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5654 val* var7 /* : nullable Object */;
5655 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5656 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5657 short int var8 /* : Bool */;
5658 int cltype;
5659 int idtype;
5660 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
5661 short int var9 /* : Bool */;
5662 int cltype10;
5663 int idtype11;
5664 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5665 short int var12 /* : Bool */;
5666 int cltype13;
5667 int idtype14;
5668 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
5669 short int var15 /* : Bool */;
5670 int cltype16;
5671 int idtype17;
5672 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
5673 short int var18 /* : Bool */;
5674 int cltype19;
5675 int idtype20;
5676 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
5677 short int var21 /* : Bool */;
5678 int cltype22;
5679 int idtype23;
5680 val* var24 /* : AConcreteInitPropdef */;
5681 val* var25 /* : null */;
5682 val* var26 /* : null */;
5683 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
5684 long var27 /* : Int */;
5685 long var28 /* : Int */;
5686 var_p = p0;
5687 var = NULL;
5688 var_node_list = var;
5689 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5690 var_nodearraylist7 = var1;
5691 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5692 var_nodearraylist6 = var2;
5693 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5694 var_nodearraylist5 = var3;
5695 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5696 var_nodearraylist4 = var4;
5697 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5698 var_nodearraylist3 = var5;
5699 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5700 var_nodearraylist2 = var6;
5701 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5702 var_nodearraylist1 = var7;
5703 var_pdocnode2 = var_nodearraylist1;
5704 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5705 cltype = type_nullable_parser_nodes__ADoc.color;
5706 idtype = type_nullable_parser_nodes__ADoc.id;
5707 if(var_pdocnode2 == NULL) {
5708 var8 = 1;
5709 } else {
5710 if(cltype >= var_pdocnode2->type->table_size) {
5711 var8 = 0;
5712 } else {
5713 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
5714 }
5715 }
5716 if (!var8) {
5717 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20004);
5718 exit(1);
5719 }
5720 var_tkwredefnode3 = var_nodearraylist2;
5721 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
5722 cltype10 = type_nullable_parser_nodes__TKwredef.color;
5723 idtype11 = type_nullable_parser_nodes__TKwredef.id;
5724 if(var_tkwredefnode3 == NULL) {
5725 var9 = 1;
5726 } else {
5727 if(cltype10 >= var_tkwredefnode3->type->table_size) {
5728 var9 = 0;
5729 } else {
5730 var9 = var_tkwredefnode3->type->type_table[cltype10] == idtype11;
5731 }
5732 }
5733 if (!var9) {
5734 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20006);
5735 exit(1);
5736 }
5737 var_pvisibilitynode4 = var_nodearraylist3;
5738 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5739 cltype13 = type_nullable_parser_nodes__AVisibility.color;
5740 idtype14 = type_nullable_parser_nodes__AVisibility.id;
5741 if(var_pvisibilitynode4 == NULL) {
5742 var12 = 1;
5743 } else {
5744 if(cltype13 >= var_pvisibilitynode4->type->table_size) {
5745 var12 = 0;
5746 } else {
5747 var12 = var_pvisibilitynode4->type->type_table[cltype13] == idtype14;
5748 }
5749 }
5750 if (!var12) {
5751 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20008);
5752 exit(1);
5753 }
5754 var_tkwinitnode5 = var_nodearraylist4;
5755 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
5756 cltype16 = type_nullable_parser_nodes__TKwinit.color;
5757 idtype17 = type_nullable_parser_nodes__TKwinit.id;
5758 if(var_tkwinitnode5 == NULL) {
5759 var15 = 1;
5760 } else {
5761 if(cltype16 >= var_tkwinitnode5->type->table_size) {
5762 var15 = 0;
5763 } else {
5764 var15 = var_tkwinitnode5->type->type_table[cltype16] == idtype17;
5765 }
5766 }
5767 if (!var15) {
5768 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20010);
5769 exit(1);
5770 }
5771 var_psignaturenode7 = var_nodearraylist5;
5772 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
5773 cltype19 = type_nullable_parser_nodes__ASignature.color;
5774 idtype20 = type_nullable_parser_nodes__ASignature.id;
5775 if(var_psignaturenode7 == NULL) {
5776 var18 = 1;
5777 } else {
5778 if(cltype19 >= var_psignaturenode7->type->table_size) {
5779 var18 = 0;
5780 } else {
5781 var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20;
5782 }
5783 }
5784 if (!var18) {
5785 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20012);
5786 exit(1);
5787 }
5788 var_pexprnode9 = var_nodearraylist7;
5789 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
5790 cltype22 = type_nullable_parser_nodes__AExpr.color;
5791 idtype23 = type_nullable_parser_nodes__AExpr.id;
5792 if(var_pexprnode9 == NULL) {
5793 var21 = 1;
5794 } else {
5795 if(cltype22 >= var_pexprnode9->type->table_size) {
5796 var21 = 0;
5797 } else {
5798 var21 = var_pexprnode9->type->type_table[cltype22] == idtype23;
5799 }
5800 }
5801 if (!var21) {
5802 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20014);
5803 exit(1);
5804 }
5805 var24 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
5806 var25 = NULL;
5807 var26 = NULL;
5808 ((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>*/;
5809 CHECK_NEW_parser_nodes__AConcreteInitPropdef(var24);
5810 var_ppropdefnode1 = var24;
5811 var_node_list = var_ppropdefnode1;
5812 var27 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction446> */
5813 var28 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var27) /* go_to on <var_p:Parser>*/;
5814 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var28, var_node_list) /* push on <var_p:Parser>*/;
5815 RET_LABEL:;
5816 }
5817 /* method parser#ReduceAction446#action for (self: Object, Parser) */
5818 void VIRTUAL_parser__ReduceAction446__action(val* self, val* p0) {
5819 parser__ReduceAction446__action(self, p0);
5820 RET_LABEL:;
5821 }
5822 /* method parser#ReduceAction447#action for (self: ReduceAction447, Parser) */
5823 void parser__ReduceAction447__action(val* self, val* p0) {
5824 val* var_p /* var p: Parser */;
5825 val* var /* : null */;
5826 val* var_node_list /* var node_list: nullable Object */;
5827 val* var1 /* : nullable Object */;
5828 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5829 val* var2 /* : nullable Object */;
5830 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5831 val* var3 /* : nullable Object */;
5832 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5833 val* var4 /* : nullable Object */;
5834 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5835 val* var5 /* : nullable Object */;
5836 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5837 val* var6 /* : nullable Object */;
5838 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5839 val* var7 /* : nullable Object */;
5840 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5841 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5842 short int var8 /* : Bool */;
5843 int cltype;
5844 int idtype;
5845 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5846 short int var9 /* : Bool */;
5847 int cltype10;
5848 int idtype11;
5849 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
5850 short int var12 /* : Bool */;
5851 int cltype13;
5852 int idtype14;
5853 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
5854 short int var15 /* : Bool */;
5855 int cltype16;
5856 int idtype17;
5857 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
5858 short int var18 /* : Bool */;
5859 int cltype19;
5860 int idtype20;
5861 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
5862 short int var21 /* : Bool */;
5863 int cltype22;
5864 int idtype23;
5865 val* var24 /* : AConcreteInitPropdef */;
5866 val* var25 /* : null */;
5867 val* var26 /* : null */;
5868 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
5869 long var27 /* : Int */;
5870 long var28 /* : Int */;
5871 var_p = p0;
5872 var = NULL;
5873 var_node_list = var;
5874 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5875 var_nodearraylist7 = var1;
5876 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5877 var_nodearraylist6 = var2;
5878 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5879 var_nodearraylist5 = var3;
5880 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5881 var_nodearraylist4 = var4;
5882 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5883 var_nodearraylist3 = var5;
5884 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5885 var_nodearraylist2 = var6;
5886 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5887 var_nodearraylist1 = var7;
5888 var_pdocnode2 = var_nodearraylist1;
5889 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5890 cltype = type_nullable_parser_nodes__ADoc.color;
5891 idtype = type_nullable_parser_nodes__ADoc.id;
5892 if(var_pdocnode2 == NULL) {
5893 var8 = 1;
5894 } else {
5895 if(cltype >= var_pdocnode2->type->table_size) {
5896 var8 = 0;
5897 } else {
5898 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
5899 }
5900 }
5901 if (!var8) {
5902 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20042);
5903 exit(1);
5904 }
5905 var_pvisibilitynode4 = var_nodearraylist2;
5906 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5907 cltype10 = type_nullable_parser_nodes__AVisibility.color;
5908 idtype11 = type_nullable_parser_nodes__AVisibility.id;
5909 if(var_pvisibilitynode4 == NULL) {
5910 var9 = 1;
5911 } else {
5912 if(cltype10 >= var_pvisibilitynode4->type->table_size) {
5913 var9 = 0;
5914 } else {
5915 var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11;
5916 }
5917 }
5918 if (!var9) {
5919 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20044);
5920 exit(1);
5921 }
5922 var_tkwinitnode5 = var_nodearraylist3;
5923 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
5924 cltype13 = type_nullable_parser_nodes__TKwinit.color;
5925 idtype14 = type_nullable_parser_nodes__TKwinit.id;
5926 if(var_tkwinitnode5 == NULL) {
5927 var12 = 1;
5928 } else {
5929 if(cltype13 >= var_tkwinitnode5->type->table_size) {
5930 var12 = 0;
5931 } else {
5932 var12 = var_tkwinitnode5->type->type_table[cltype13] == idtype14;
5933 }
5934 }
5935 if (!var12) {
5936 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20046);
5937 exit(1);
5938 }
5939 var_pmethidnode6 = var_nodearraylist4;
5940 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
5941 cltype16 = type_nullable_parser_nodes__AMethid.color;
5942 idtype17 = type_nullable_parser_nodes__AMethid.id;
5943 if(var_pmethidnode6 == NULL) {
5944 var15 = 1;
5945 } else {
5946 if(cltype16 >= var_pmethidnode6->type->table_size) {
5947 var15 = 0;
5948 } else {
5949 var15 = var_pmethidnode6->type->type_table[cltype16] == idtype17;
5950 }
5951 }
5952 if (!var15) {
5953 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20048);
5954 exit(1);
5955 }
5956 var_psignaturenode7 = var_nodearraylist5;
5957 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
5958 cltype19 = type_nullable_parser_nodes__ASignature.color;
5959 idtype20 = type_nullable_parser_nodes__ASignature.id;
5960 if(var_psignaturenode7 == NULL) {
5961 var18 = 1;
5962 } else {
5963 if(cltype19 >= var_psignaturenode7->type->table_size) {
5964 var18 = 0;
5965 } else {
5966 var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20;
5967 }
5968 }
5969 if (!var18) {
5970 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20050);
5971 exit(1);
5972 }
5973 var_pexprnode9 = var_nodearraylist7;
5974 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
5975 cltype22 = type_nullable_parser_nodes__AExpr.color;
5976 idtype23 = type_nullable_parser_nodes__AExpr.id;
5977 if(var_pexprnode9 == NULL) {
5978 var21 = 1;
5979 } else {
5980 if(cltype22 >= var_pexprnode9->type->table_size) {
5981 var21 = 0;
5982 } else {
5983 var21 = var_pexprnode9->type->type_table[cltype22] == idtype23;
5984 }
5985 }
5986 if (!var21) {
5987 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20052);
5988 exit(1);
5989 }
5990 var24 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
5991 var25 = NULL;
5992 var26 = NULL;
5993 ((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>*/;
5994 CHECK_NEW_parser_nodes__AConcreteInitPropdef(var24);
5995 var_ppropdefnode1 = var24;
5996 var_node_list = var_ppropdefnode1;
5997 var27 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction447> */
5998 var28 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var27) /* go_to on <var_p:Parser>*/;
5999 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var28, var_node_list) /* push on <var_p:Parser>*/;
6000 RET_LABEL:;
6001 }
6002 /* method parser#ReduceAction447#action for (self: Object, Parser) */
6003 void VIRTUAL_parser__ReduceAction447__action(val* self, val* p0) {
6004 parser__ReduceAction447__action(self, p0);
6005 RET_LABEL:;
6006 }
6007 /* method parser#ReduceAction448#action for (self: ReduceAction448, Parser) */
6008 void parser__ReduceAction448__action(val* self, val* p0) {
6009 val* var_p /* var p: Parser */;
6010 val* var /* : null */;
6011 val* var_node_list /* var node_list: nullable Object */;
6012 val* var1 /* : nullable Object */;
6013 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6014 val* var2 /* : nullable Object */;
6015 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6016 val* var3 /* : nullable Object */;
6017 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6018 val* var4 /* : nullable Object */;
6019 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6020 val* var5 /* : nullable Object */;
6021 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6022 val* var6 /* : nullable Object */;
6023 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6024 val* var7 /* : nullable Object */;
6025 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6026 val* var8 /* : nullable Object */;
6027 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6028 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6029 short int var9 /* : Bool */;
6030 int cltype;
6031 int idtype;
6032 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
6033 short int var10 /* : Bool */;
6034 int cltype11;
6035 int idtype12;
6036 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6037 short int var13 /* : Bool */;
6038 int cltype14;
6039 int idtype15;
6040 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
6041 short int var16 /* : Bool */;
6042 int cltype17;
6043 int idtype18;
6044 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
6045 short int var19 /* : Bool */;
6046 int cltype20;
6047 int idtype21;
6048 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
6049 short int var22 /* : Bool */;
6050 int cltype23;
6051 int idtype24;
6052 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
6053 short int var25 /* : Bool */;
6054 int cltype26;
6055 int idtype27;
6056 val* var28 /* : AConcreteInitPropdef */;
6057 val* var29 /* : null */;
6058 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
6059 long var30 /* : Int */;
6060 long var31 /* : Int */;
6061 var_p = p0;
6062 var = NULL;
6063 var_node_list = var;
6064 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6065 var_nodearraylist8 = var1;
6066 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6067 var_nodearraylist7 = var2;
6068 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6069 var_nodearraylist6 = var3;
6070 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6071 var_nodearraylist5 = var4;
6072 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6073 var_nodearraylist4 = var5;
6074 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6075 var_nodearraylist3 = var6;
6076 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6077 var_nodearraylist2 = var7;
6078 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6079 var_nodearraylist1 = var8;
6080 var_pdocnode2 = var_nodearraylist1;
6081 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6082 cltype = type_nullable_parser_nodes__ADoc.color;
6083 idtype = type_nullable_parser_nodes__ADoc.id;
6084 if(var_pdocnode2 == NULL) {
6085 var9 = 1;
6086 } else {
6087 if(cltype >= var_pdocnode2->type->table_size) {
6088 var9 = 0;
6089 } else {
6090 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
6091 }
6092 }
6093 if (!var9) {
6094 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20081);
6095 exit(1);
6096 }
6097 var_tkwredefnode3 = var_nodearraylist2;
6098 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6099 cltype11 = type_nullable_parser_nodes__TKwredef.color;
6100 idtype12 = type_nullable_parser_nodes__TKwredef.id;
6101 if(var_tkwredefnode3 == NULL) {
6102 var10 = 1;
6103 } else {
6104 if(cltype11 >= var_tkwredefnode3->type->table_size) {
6105 var10 = 0;
6106 } else {
6107 var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12;
6108 }
6109 }
6110 if (!var10) {
6111 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20083);
6112 exit(1);
6113 }
6114 var_pvisibilitynode4 = var_nodearraylist3;
6115 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6116 cltype14 = type_nullable_parser_nodes__AVisibility.color;
6117 idtype15 = type_nullable_parser_nodes__AVisibility.id;
6118 if(var_pvisibilitynode4 == NULL) {
6119 var13 = 1;
6120 } else {
6121 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
6122 var13 = 0;
6123 } else {
6124 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
6125 }
6126 }
6127 if (!var13) {
6128 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20085);
6129 exit(1);
6130 }
6131 var_tkwinitnode5 = var_nodearraylist4;
6132 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
6133 cltype17 = type_nullable_parser_nodes__TKwinit.color;
6134 idtype18 = type_nullable_parser_nodes__TKwinit.id;
6135 if(var_tkwinitnode5 == NULL) {
6136 var16 = 1;
6137 } else {
6138 if(cltype17 >= var_tkwinitnode5->type->table_size) {
6139 var16 = 0;
6140 } else {
6141 var16 = var_tkwinitnode5->type->type_table[cltype17] == idtype18;
6142 }
6143 }
6144 if (!var16) {
6145 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20087);
6146 exit(1);
6147 }
6148 var_pmethidnode6 = var_nodearraylist5;
6149 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
6150 cltype20 = type_nullable_parser_nodes__AMethid.color;
6151 idtype21 = type_nullable_parser_nodes__AMethid.id;
6152 if(var_pmethidnode6 == NULL) {
6153 var19 = 1;
6154 } else {
6155 if(cltype20 >= var_pmethidnode6->type->table_size) {
6156 var19 = 0;
6157 } else {
6158 var19 = var_pmethidnode6->type->type_table[cltype20] == idtype21;
6159 }
6160 }
6161 if (!var19) {
6162 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20089);
6163 exit(1);
6164 }
6165 var_psignaturenode7 = var_nodearraylist6;
6166 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
6167 cltype23 = type_nullable_parser_nodes__ASignature.color;
6168 idtype24 = type_nullable_parser_nodes__ASignature.id;
6169 if(var_psignaturenode7 == NULL) {
6170 var22 = 1;
6171 } else {
6172 if(cltype23 >= var_psignaturenode7->type->table_size) {
6173 var22 = 0;
6174 } else {
6175 var22 = var_psignaturenode7->type->type_table[cltype23] == idtype24;
6176 }
6177 }
6178 if (!var22) {
6179 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20091);
6180 exit(1);
6181 }
6182 var_pexprnode9 = var_nodearraylist8;
6183 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
6184 cltype26 = type_nullable_parser_nodes__AExpr.color;
6185 idtype27 = type_nullable_parser_nodes__AExpr.id;
6186 if(var_pexprnode9 == NULL) {
6187 var25 = 1;
6188 } else {
6189 if(cltype26 >= var_pexprnode9->type->table_size) {
6190 var25 = 0;
6191 } else {
6192 var25 = var_pexprnode9->type->type_table[cltype26] == idtype27;
6193 }
6194 }
6195 if (!var25) {
6196 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20093);
6197 exit(1);
6198 }
6199 var28 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
6200 var29 = NULL;
6201 ((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>*/;
6202 CHECK_NEW_parser_nodes__AConcreteInitPropdef(var28);
6203 var_ppropdefnode1 = var28;
6204 var_node_list = var_ppropdefnode1;
6205 var30 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction448> */
6206 var31 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var30) /* go_to on <var_p:Parser>*/;
6207 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var31, var_node_list) /* push on <var_p:Parser>*/;
6208 RET_LABEL:;
6209 }
6210 /* method parser#ReduceAction448#action for (self: Object, Parser) */
6211 void VIRTUAL_parser__ReduceAction448__action(val* self, val* p0) {
6212 parser__ReduceAction448__action(self, p0);
6213 RET_LABEL:;
6214 }
6215 /* method parser#ReduceAction449#action for (self: ReduceAction449, Parser) */
6216 void parser__ReduceAction449__action(val* self, val* p0) {
6217 val* var_p /* var p: Parser */;
6218 val* var /* : null */;
6219 val* var_node_list /* var node_list: nullable Object */;
6220 val* var1 /* : nullable Object */;
6221 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6222 val* var2 /* : nullable Object */;
6223 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6224 val* var3 /* : nullable Object */;
6225 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6226 val* var4 /* : nullable Object */;
6227 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6228 val* var5 /* : nullable Object */;
6229 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6230 val* var6 /* : nullable Object */;
6231 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6232 val* var7 /* : nullable Object */;
6233 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6234 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6235 short int var8 /* : Bool */;
6236 int cltype;
6237 int idtype;
6238 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6239 short int var9 /* : Bool */;
6240 int cltype10;
6241 int idtype11;
6242 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
6243 short int var12 /* : Bool */;
6244 int cltype13;
6245 int idtype14;
6246 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
6247 short int var15 /* : Bool */;
6248 int cltype16;
6249 int idtype17;
6250 val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */;
6251 short int var18 /* : Bool */;
6252 int cltype19;
6253 int idtype20;
6254 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
6255 short int var21 /* : Bool */;
6256 int cltype22;
6257 int idtype23;
6258 val* var24 /* : AConcreteInitPropdef */;
6259 val* var25 /* : null */;
6260 val* var26 /* : null */;
6261 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
6262 long var27 /* : Int */;
6263 long var28 /* : Int */;
6264 var_p = p0;
6265 var = NULL;
6266 var_node_list = var;
6267 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6268 var_nodearraylist7 = var1;
6269 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6270 var_nodearraylist6 = var2;
6271 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6272 var_nodearraylist5 = var3;
6273 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6274 var_nodearraylist4 = var4;
6275 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6276 var_nodearraylist3 = var5;
6277 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6278 var_nodearraylist2 = var6;
6279 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6280 var_nodearraylist1 = var7;
6281 var_pdocnode2 = var_nodearraylist1;
6282 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6283 cltype = type_nullable_parser_nodes__ADoc.color;
6284 idtype = type_nullable_parser_nodes__ADoc.id;
6285 if(var_pdocnode2 == NULL) {
6286 var8 = 1;
6287 } else {
6288 if(cltype >= var_pdocnode2->type->table_size) {
6289 var8 = 0;
6290 } else {
6291 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
6292 }
6293 }
6294 if (!var8) {
6295 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20121);
6296 exit(1);
6297 }
6298 var_pvisibilitynode4 = var_nodearraylist2;
6299 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6300 cltype10 = type_nullable_parser_nodes__AVisibility.color;
6301 idtype11 = type_nullable_parser_nodes__AVisibility.id;
6302 if(var_pvisibilitynode4 == NULL) {
6303 var9 = 1;
6304 } else {
6305 if(cltype10 >= var_pvisibilitynode4->type->table_size) {
6306 var9 = 0;
6307 } else {
6308 var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11;
6309 }
6310 }
6311 if (!var9) {
6312 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20123);
6313 exit(1);
6314 }
6315 var_tkwinitnode5 = var_nodearraylist3;
6316 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
6317 cltype13 = type_nullable_parser_nodes__TKwinit.color;
6318 idtype14 = type_nullable_parser_nodes__TKwinit.id;
6319 if(var_tkwinitnode5 == NULL) {
6320 var12 = 1;
6321 } else {
6322 if(cltype13 >= var_tkwinitnode5->type->table_size) {
6323 var12 = 0;
6324 } else {
6325 var12 = var_tkwinitnode5->type->type_table[cltype13] == idtype14;
6326 }
6327 }
6328 if (!var12) {
6329 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20125);
6330 exit(1);
6331 }
6332 var_psignaturenode7 = var_nodearraylist4;
6333 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
6334 cltype16 = type_nullable_parser_nodes__ASignature.color;
6335 idtype17 = type_nullable_parser_nodes__ASignature.id;
6336 if(var_psignaturenode7 == NULL) {
6337 var15 = 1;
6338 } else {
6339 if(cltype16 >= var_psignaturenode7->type->table_size) {
6340 var15 = 0;
6341 } else {
6342 var15 = var_psignaturenode7->type->type_table[cltype16] == idtype17;
6343 }
6344 }
6345 if (!var15) {
6346 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20127);
6347 exit(1);
6348 }
6349 var_pannotationsnode8 = var_nodearraylist5;
6350 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
6351 cltype19 = type_nullable_parser_nodes__AAnnotations.color;
6352 idtype20 = type_nullable_parser_nodes__AAnnotations.id;
6353 if(var_pannotationsnode8 == NULL) {
6354 var18 = 1;
6355 } else {
6356 if(cltype19 >= var_pannotationsnode8->type->table_size) {
6357 var18 = 0;
6358 } else {
6359 var18 = var_pannotationsnode8->type->type_table[cltype19] == idtype20;
6360 }
6361 }
6362 if (!var18) {
6363 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20129);
6364 exit(1);
6365 }
6366 var_pexprnode9 = var_nodearraylist7;
6367 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
6368 cltype22 = type_nullable_parser_nodes__AExpr.color;
6369 idtype23 = type_nullable_parser_nodes__AExpr.id;
6370 if(var_pexprnode9 == NULL) {
6371 var21 = 1;
6372 } else {
6373 if(cltype22 >= var_pexprnode9->type->table_size) {
6374 var21 = 0;
6375 } else {
6376 var21 = var_pexprnode9->type->type_table[cltype22] == idtype23;
6377 }
6378 }
6379 if (!var21) {
6380 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20131);
6381 exit(1);
6382 }
6383 var24 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
6384 var25 = NULL;
6385 var26 = NULL;
6386 ((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>*/;
6387 CHECK_NEW_parser_nodes__AConcreteInitPropdef(var24);
6388 var_ppropdefnode1 = var24;
6389 var_node_list = var_ppropdefnode1;
6390 var27 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction449> */
6391 var28 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var27) /* go_to on <var_p:Parser>*/;
6392 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var28, var_node_list) /* push on <var_p:Parser>*/;
6393 RET_LABEL:;
6394 }
6395 /* method parser#ReduceAction449#action for (self: Object, Parser) */
6396 void VIRTUAL_parser__ReduceAction449__action(val* self, val* p0) {
6397 parser__ReduceAction449__action(self, p0);
6398 RET_LABEL:;
6399 }
6400 /* method parser#ReduceAction450#action for (self: ReduceAction450, Parser) */
6401 void parser__ReduceAction450__action(val* self, val* p0) {
6402 val* var_p /* var p: Parser */;
6403 val* var /* : null */;
6404 val* var_node_list /* var node_list: nullable Object */;
6405 val* var1 /* : nullable Object */;
6406 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6407 val* var2 /* : nullable Object */;
6408 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6409 val* var3 /* : nullable Object */;
6410 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6411 val* var4 /* : nullable Object */;
6412 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6413 val* var5 /* : nullable Object */;
6414 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6415 val* var6 /* : nullable Object */;
6416 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6417 val* var7 /* : nullable Object */;
6418 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6419 val* var8 /* : nullable Object */;
6420 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6421 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6422 short int var9 /* : Bool */;
6423 int cltype;
6424 int idtype;
6425 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
6426 short int var10 /* : Bool */;
6427 int cltype11;
6428 int idtype12;
6429 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6430 short int var13 /* : Bool */;
6431 int cltype14;
6432 int idtype15;
6433 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
6434 short int var16 /* : Bool */;
6435 int cltype17;
6436 int idtype18;
6437 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
6438 short int var19 /* : Bool */;
6439 int cltype20;
6440 int idtype21;
6441 val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */;
6442 short int var22 /* : Bool */;
6443 int cltype23;
6444 int idtype24;
6445 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
6446 short int var25 /* : Bool */;
6447 int cltype26;
6448 int idtype27;
6449 val* var28 /* : AConcreteInitPropdef */;
6450 val* var29 /* : null */;
6451 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
6452 long var30 /* : Int */;
6453 long var31 /* : Int */;
6454 var_p = p0;
6455 var = NULL;
6456 var_node_list = var;
6457 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6458 var_nodearraylist8 = var1;
6459 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6460 var_nodearraylist7 = var2;
6461 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6462 var_nodearraylist6 = var3;
6463 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6464 var_nodearraylist5 = var4;
6465 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6466 var_nodearraylist4 = var5;
6467 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6468 var_nodearraylist3 = var6;
6469 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6470 var_nodearraylist2 = var7;
6471 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6472 var_nodearraylist1 = var8;
6473 var_pdocnode2 = var_nodearraylist1;
6474 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6475 cltype = type_nullable_parser_nodes__ADoc.color;
6476 idtype = type_nullable_parser_nodes__ADoc.id;
6477 if(var_pdocnode2 == NULL) {
6478 var9 = 1;
6479 } else {
6480 if(cltype >= var_pdocnode2->type->table_size) {
6481 var9 = 0;
6482 } else {
6483 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
6484 }
6485 }
6486 if (!var9) {
6487 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20160);
6488 exit(1);
6489 }
6490 var_tkwredefnode3 = var_nodearraylist2;
6491 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6492 cltype11 = type_nullable_parser_nodes__TKwredef.color;
6493 idtype12 = type_nullable_parser_nodes__TKwredef.id;
6494 if(var_tkwredefnode3 == NULL) {
6495 var10 = 1;
6496 } else {
6497 if(cltype11 >= var_tkwredefnode3->type->table_size) {
6498 var10 = 0;
6499 } else {
6500 var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12;
6501 }
6502 }
6503 if (!var10) {
6504 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20162);
6505 exit(1);
6506 }
6507 var_pvisibilitynode4 = var_nodearraylist3;
6508 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6509 cltype14 = type_nullable_parser_nodes__AVisibility.color;
6510 idtype15 = type_nullable_parser_nodes__AVisibility.id;
6511 if(var_pvisibilitynode4 == NULL) {
6512 var13 = 1;
6513 } else {
6514 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
6515 var13 = 0;
6516 } else {
6517 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
6518 }
6519 }
6520 if (!var13) {
6521 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20164);
6522 exit(1);
6523 }
6524 var_tkwinitnode5 = var_nodearraylist4;
6525 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
6526 cltype17 = type_nullable_parser_nodes__TKwinit.color;
6527 idtype18 = type_nullable_parser_nodes__TKwinit.id;
6528 if(var_tkwinitnode5 == NULL) {
6529 var16 = 1;
6530 } else {
6531 if(cltype17 >= var_tkwinitnode5->type->table_size) {
6532 var16 = 0;
6533 } else {
6534 var16 = var_tkwinitnode5->type->type_table[cltype17] == idtype18;
6535 }
6536 }
6537 if (!var16) {
6538 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20166);
6539 exit(1);
6540 }
6541 var_psignaturenode7 = var_nodearraylist5;
6542 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
6543 cltype20 = type_nullable_parser_nodes__ASignature.color;
6544 idtype21 = type_nullable_parser_nodes__ASignature.id;
6545 if(var_psignaturenode7 == NULL) {
6546 var19 = 1;
6547 } else {
6548 if(cltype20 >= var_psignaturenode7->type->table_size) {
6549 var19 = 0;
6550 } else {
6551 var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
6552 }
6553 }
6554 if (!var19) {
6555 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20168);
6556 exit(1);
6557 }
6558 var_pannotationsnode8 = var_nodearraylist6;
6559 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
6560 cltype23 = type_nullable_parser_nodes__AAnnotations.color;
6561 idtype24 = type_nullable_parser_nodes__AAnnotations.id;
6562 if(var_pannotationsnode8 == NULL) {
6563 var22 = 1;
6564 } else {
6565 if(cltype23 >= var_pannotationsnode8->type->table_size) {
6566 var22 = 0;
6567 } else {
6568 var22 = var_pannotationsnode8->type->type_table[cltype23] == idtype24;
6569 }
6570 }
6571 if (!var22) {
6572 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20170);
6573 exit(1);
6574 }
6575 var_pexprnode9 = var_nodearraylist8;
6576 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
6577 cltype26 = type_nullable_parser_nodes__AExpr.color;
6578 idtype27 = type_nullable_parser_nodes__AExpr.id;
6579 if(var_pexprnode9 == NULL) {
6580 var25 = 1;
6581 } else {
6582 if(cltype26 >= var_pexprnode9->type->table_size) {
6583 var25 = 0;
6584 } else {
6585 var25 = var_pexprnode9->type->type_table[cltype26] == idtype27;
6586 }
6587 }
6588 if (!var25) {
6589 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20172);
6590 exit(1);
6591 }
6592 var28 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
6593 var29 = NULL;
6594 ((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>*/;
6595 CHECK_NEW_parser_nodes__AConcreteInitPropdef(var28);
6596 var_ppropdefnode1 = var28;
6597 var_node_list = var_ppropdefnode1;
6598 var30 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction450> */
6599 var31 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var30) /* go_to on <var_p:Parser>*/;
6600 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var31, var_node_list) /* push on <var_p:Parser>*/;
6601 RET_LABEL:;
6602 }
6603 /* method parser#ReduceAction450#action for (self: Object, Parser) */
6604 void VIRTUAL_parser__ReduceAction450__action(val* self, val* p0) {
6605 parser__ReduceAction450__action(self, p0);
6606 RET_LABEL:;
6607 }
6608 /* method parser#ReduceAction451#action for (self: ReduceAction451, Parser) */
6609 void parser__ReduceAction451__action(val* self, val* p0) {
6610 val* var_p /* var p: Parser */;
6611 val* var /* : null */;
6612 val* var_node_list /* var node_list: nullable Object */;
6613 val* var1 /* : nullable Object */;
6614 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6615 val* var2 /* : nullable Object */;
6616 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6617 val* var3 /* : nullable Object */;
6618 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6619 val* var4 /* : nullable Object */;
6620 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6621 val* var5 /* : nullable Object */;
6622 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6623 val* var6 /* : nullable Object */;
6624 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6625 val* var7 /* : nullable Object */;
6626 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6627 val* var8 /* : nullable Object */;
6628 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6629 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6630 short int var9 /* : Bool */;
6631 int cltype;
6632 int idtype;
6633 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6634 short int var10 /* : Bool */;
6635 int cltype11;
6636 int idtype12;
6637 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
6638 short int var13 /* : Bool */;
6639 int cltype14;
6640 int idtype15;
6641 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
6642 short int var16 /* : Bool */;
6643 int cltype17;
6644 int idtype18;
6645 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
6646 short int var19 /* : Bool */;
6647 int cltype20;
6648 int idtype21;
6649 val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */;
6650 short int var22 /* : Bool */;
6651 int cltype23;
6652 int idtype24;
6653 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
6654 short int var25 /* : Bool */;
6655 int cltype26;
6656 int idtype27;
6657 val* var28 /* : AConcreteInitPropdef */;
6658 val* var29 /* : null */;
6659 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
6660 long var30 /* : Int */;
6661 long var31 /* : Int */;
6662 var_p = p0;
6663 var = NULL;
6664 var_node_list = var;
6665 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6666 var_nodearraylist8 = var1;
6667 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6668 var_nodearraylist7 = var2;
6669 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6670 var_nodearraylist6 = var3;
6671 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6672 var_nodearraylist5 = var4;
6673 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6674 var_nodearraylist4 = var5;
6675 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6676 var_nodearraylist3 = var6;
6677 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6678 var_nodearraylist2 = var7;
6679 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6680 var_nodearraylist1 = var8;
6681 var_pdocnode2 = var_nodearraylist1;
6682 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6683 cltype = type_nullable_parser_nodes__ADoc.color;
6684 idtype = type_nullable_parser_nodes__ADoc.id;
6685 if(var_pdocnode2 == NULL) {
6686 var9 = 1;
6687 } else {
6688 if(cltype >= var_pdocnode2->type->table_size) {
6689 var9 = 0;
6690 } else {
6691 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
6692 }
6693 }
6694 if (!var9) {
6695 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20201);
6696 exit(1);
6697 }
6698 var_pvisibilitynode4 = var_nodearraylist2;
6699 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6700 cltype11 = type_nullable_parser_nodes__AVisibility.color;
6701 idtype12 = type_nullable_parser_nodes__AVisibility.id;
6702 if(var_pvisibilitynode4 == NULL) {
6703 var10 = 1;
6704 } else {
6705 if(cltype11 >= var_pvisibilitynode4->type->table_size) {
6706 var10 = 0;
6707 } else {
6708 var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
6709 }
6710 }
6711 if (!var10) {
6712 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20203);
6713 exit(1);
6714 }
6715 var_tkwinitnode5 = var_nodearraylist3;
6716 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
6717 cltype14 = type_nullable_parser_nodes__TKwinit.color;
6718 idtype15 = type_nullable_parser_nodes__TKwinit.id;
6719 if(var_tkwinitnode5 == NULL) {
6720 var13 = 1;
6721 } else {
6722 if(cltype14 >= var_tkwinitnode5->type->table_size) {
6723 var13 = 0;
6724 } else {
6725 var13 = var_tkwinitnode5->type->type_table[cltype14] == idtype15;
6726 }
6727 }
6728 if (!var13) {
6729 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20205);
6730 exit(1);
6731 }
6732 var_pmethidnode6 = var_nodearraylist4;
6733 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
6734 cltype17 = type_nullable_parser_nodes__AMethid.color;
6735 idtype18 = type_nullable_parser_nodes__AMethid.id;
6736 if(var_pmethidnode6 == NULL) {
6737 var16 = 1;
6738 } else {
6739 if(cltype17 >= var_pmethidnode6->type->table_size) {
6740 var16 = 0;
6741 } else {
6742 var16 = var_pmethidnode6->type->type_table[cltype17] == idtype18;
6743 }
6744 }
6745 if (!var16) {
6746 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20207);
6747 exit(1);
6748 }
6749 var_psignaturenode7 = var_nodearraylist5;
6750 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
6751 cltype20 = type_nullable_parser_nodes__ASignature.color;
6752 idtype21 = type_nullable_parser_nodes__ASignature.id;
6753 if(var_psignaturenode7 == NULL) {
6754 var19 = 1;
6755 } else {
6756 if(cltype20 >= var_psignaturenode7->type->table_size) {
6757 var19 = 0;
6758 } else {
6759 var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
6760 }
6761 }
6762 if (!var19) {
6763 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20209);
6764 exit(1);
6765 }
6766 var_pannotationsnode8 = var_nodearraylist6;
6767 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
6768 cltype23 = type_nullable_parser_nodes__AAnnotations.color;
6769 idtype24 = type_nullable_parser_nodes__AAnnotations.id;
6770 if(var_pannotationsnode8 == NULL) {
6771 var22 = 1;
6772 } else {
6773 if(cltype23 >= var_pannotationsnode8->type->table_size) {
6774 var22 = 0;
6775 } else {
6776 var22 = var_pannotationsnode8->type->type_table[cltype23] == idtype24;
6777 }
6778 }
6779 if (!var22) {
6780 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20211);
6781 exit(1);
6782 }
6783 var_pexprnode9 = var_nodearraylist8;
6784 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
6785 cltype26 = type_nullable_parser_nodes__AExpr.color;
6786 idtype27 = type_nullable_parser_nodes__AExpr.id;
6787 if(var_pexprnode9 == NULL) {
6788 var25 = 1;
6789 } else {
6790 if(cltype26 >= var_pexprnode9->type->table_size) {
6791 var25 = 0;
6792 } else {
6793 var25 = var_pexprnode9->type->type_table[cltype26] == idtype27;
6794 }
6795 }
6796 if (!var25) {
6797 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20213);
6798 exit(1);
6799 }
6800 var28 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
6801 var29 = NULL;
6802 ((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>*/;
6803 CHECK_NEW_parser_nodes__AConcreteInitPropdef(var28);
6804 var_ppropdefnode1 = var28;
6805 var_node_list = var_ppropdefnode1;
6806 var30 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction451> */
6807 var31 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var30) /* go_to on <var_p:Parser>*/;
6808 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var31, var_node_list) /* push on <var_p:Parser>*/;
6809 RET_LABEL:;
6810 }
6811 /* method parser#ReduceAction451#action for (self: Object, Parser) */
6812 void VIRTUAL_parser__ReduceAction451__action(val* self, val* p0) {
6813 parser__ReduceAction451__action(self, p0);
6814 RET_LABEL:;
6815 }
6816 /* method parser#ReduceAction452#action for (self: ReduceAction452, Parser) */
6817 void parser__ReduceAction452__action(val* self, val* p0) {
6818 val* var_p /* var p: Parser */;
6819 val* var /* : null */;
6820 val* var_node_list /* var node_list: nullable Object */;
6821 val* var1 /* : nullable Object */;
6822 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6823 val* var2 /* : nullable Object */;
6824 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6825 val* var3 /* : nullable Object */;
6826 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6827 val* var4 /* : nullable Object */;
6828 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6829 val* var5 /* : nullable Object */;
6830 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6831 val* var6 /* : nullable Object */;
6832 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6833 val* var7 /* : nullable Object */;
6834 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6835 val* var8 /* : nullable Object */;
6836 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6837 val* var9 /* : nullable Object */;
6838 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6839 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6840 short int var10 /* : Bool */;
6841 int cltype;
6842 int idtype;
6843 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
6844 short int var11 /* : Bool */;
6845 int cltype12;
6846 int idtype13;
6847 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6848 short int var14 /* : Bool */;
6849 int cltype15;
6850 int idtype16;
6851 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
6852 short int var17 /* : Bool */;
6853 int cltype18;
6854 int idtype19;
6855 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
6856 short int var20 /* : Bool */;
6857 int cltype21;
6858 int idtype22;
6859 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
6860 short int var23 /* : Bool */;
6861 int cltype24;
6862 int idtype25;
6863 val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */;
6864 short int var26 /* : Bool */;
6865 int cltype27;
6866 int idtype28;
6867 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
6868 short int var29 /* : Bool */;
6869 int cltype30;
6870 int idtype31;
6871 val* var32 /* : AConcreteInitPropdef */;
6872 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
6873 long var33 /* : Int */;
6874 long var34 /* : Int */;
6875 var_p = p0;
6876 var = NULL;
6877 var_node_list = var;
6878 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6879 var_nodearraylist9 = var1;
6880 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6881 var_nodearraylist8 = var2;
6882 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6883 var_nodearraylist7 = var3;
6884 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6885 var_nodearraylist6 = var4;
6886 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6887 var_nodearraylist5 = var5;
6888 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6889 var_nodearraylist4 = var6;
6890 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6891 var_nodearraylist3 = var7;
6892 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6893 var_nodearraylist2 = var8;
6894 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6895 var_nodearraylist1 = var9;
6896 var_pdocnode2 = var_nodearraylist1;
6897 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6898 cltype = type_nullable_parser_nodes__ADoc.color;
6899 idtype = type_nullable_parser_nodes__ADoc.id;
6900 if(var_pdocnode2 == NULL) {
6901 var10 = 1;
6902 } else {
6903 if(cltype >= var_pdocnode2->type->table_size) {
6904 var10 = 0;
6905 } else {
6906 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
6907 }
6908 }
6909 if (!var10) {
6910 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20243);
6911 exit(1);
6912 }
6913 var_tkwredefnode3 = var_nodearraylist2;
6914 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6915 cltype12 = type_nullable_parser_nodes__TKwredef.color;
6916 idtype13 = type_nullable_parser_nodes__TKwredef.id;
6917 if(var_tkwredefnode3 == NULL) {
6918 var11 = 1;
6919 } else {
6920 if(cltype12 >= var_tkwredefnode3->type->table_size) {
6921 var11 = 0;
6922 } else {
6923 var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
6924 }
6925 }
6926 if (!var11) {
6927 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20245);
6928 exit(1);
6929 }
6930 var_pvisibilitynode4 = var_nodearraylist3;
6931 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6932 cltype15 = type_nullable_parser_nodes__AVisibility.color;
6933 idtype16 = type_nullable_parser_nodes__AVisibility.id;
6934 if(var_pvisibilitynode4 == NULL) {
6935 var14 = 1;
6936 } else {
6937 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
6938 var14 = 0;
6939 } else {
6940 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
6941 }
6942 }
6943 if (!var14) {
6944 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20247);
6945 exit(1);
6946 }
6947 var_tkwinitnode5 = var_nodearraylist4;
6948 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
6949 cltype18 = type_nullable_parser_nodes__TKwinit.color;
6950 idtype19 = type_nullable_parser_nodes__TKwinit.id;
6951 if(var_tkwinitnode5 == NULL) {
6952 var17 = 1;
6953 } else {
6954 if(cltype18 >= var_tkwinitnode5->type->table_size) {
6955 var17 = 0;
6956 } else {
6957 var17 = var_tkwinitnode5->type->type_table[cltype18] == idtype19;
6958 }
6959 }
6960 if (!var17) {
6961 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20249);
6962 exit(1);
6963 }
6964 var_pmethidnode6 = var_nodearraylist5;
6965 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
6966 cltype21 = type_nullable_parser_nodes__AMethid.color;
6967 idtype22 = type_nullable_parser_nodes__AMethid.id;
6968 if(var_pmethidnode6 == NULL) {
6969 var20 = 1;
6970 } else {
6971 if(cltype21 >= var_pmethidnode6->type->table_size) {
6972 var20 = 0;
6973 } else {
6974 var20 = var_pmethidnode6->type->type_table[cltype21] == idtype22;
6975 }
6976 }
6977 if (!var20) {
6978 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20251);
6979 exit(1);
6980 }
6981 var_psignaturenode7 = var_nodearraylist6;
6982 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
6983 cltype24 = type_nullable_parser_nodes__ASignature.color;
6984 idtype25 = type_nullable_parser_nodes__ASignature.id;
6985 if(var_psignaturenode7 == NULL) {
6986 var23 = 1;
6987 } else {
6988 if(cltype24 >= var_psignaturenode7->type->table_size) {
6989 var23 = 0;
6990 } else {
6991 var23 = var_psignaturenode7->type->type_table[cltype24] == idtype25;
6992 }
6993 }
6994 if (!var23) {
6995 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20253);
6996 exit(1);
6997 }
6998 var_pannotationsnode8 = var_nodearraylist7;
6999 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
7000 cltype27 = type_nullable_parser_nodes__AAnnotations.color;
7001 idtype28 = type_nullable_parser_nodes__AAnnotations.id;
7002 if(var_pannotationsnode8 == NULL) {
7003 var26 = 1;
7004 } else {
7005 if(cltype27 >= var_pannotationsnode8->type->table_size) {
7006 var26 = 0;
7007 } else {
7008 var26 = var_pannotationsnode8->type->type_table[cltype27] == idtype28;
7009 }
7010 }
7011 if (!var26) {
7012 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20255);
7013 exit(1);
7014 }
7015 var_pexprnode9 = var_nodearraylist9;
7016 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
7017 cltype30 = type_nullable_parser_nodes__AExpr.color;
7018 idtype31 = type_nullable_parser_nodes__AExpr.id;
7019 if(var_pexprnode9 == NULL) {
7020 var29 = 1;
7021 } else {
7022 if(cltype30 >= var_pexprnode9->type->table_size) {
7023 var29 = 0;
7024 } else {
7025 var29 = var_pexprnode9->type->type_table[cltype30] == idtype31;
7026 }
7027 }
7028 if (!var29) {
7029 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20257);
7030 exit(1);
7031 }
7032 var32 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
7033 ((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>*/;
7034 CHECK_NEW_parser_nodes__AConcreteInitPropdef(var32);
7035 var_ppropdefnode1 = var32;
7036 var_node_list = var_ppropdefnode1;
7037 var33 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction452> */
7038 var34 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var33) /* go_to on <var_p:Parser>*/;
7039 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var34, var_node_list) /* push on <var_p:Parser>*/;
7040 RET_LABEL:;
7041 }
7042 /* method parser#ReduceAction452#action for (self: Object, Parser) */
7043 void VIRTUAL_parser__ReduceAction452__action(val* self, val* p0) {
7044 parser__ReduceAction452__action(self, p0);
7045 RET_LABEL:;
7046 }
7047 /* method parser#ReduceAction453#action for (self: ReduceAction453, Parser) */
7048 void parser__ReduceAction453__action(val* self, val* p0) {
7049 val* var_p /* var p: Parser */;
7050 val* var /* : null */;
7051 val* var_node_list /* var node_list: nullable Object */;
7052 val* var1 /* : nullable Object */;
7053 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7054 val* var2 /* : nullable Object */;
7055 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7056 val* var3 /* : nullable Object */;
7057 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7058 val* var4 /* : nullable Object */;
7059 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7060 val* var5 /* : nullable Object */;
7061 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7062 val* var6 /* : nullable Object */;
7063 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7064 val* var7 /* : nullable Object */;
7065 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7066 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7067 short int var8 /* : Bool */;
7068 int cltype;
7069 int idtype;
7070 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7071 short int var9 /* : Bool */;
7072 int cltype10;
7073 int idtype11;
7074 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
7075 short int var12 /* : Bool */;
7076 int cltype13;
7077 int idtype14;
7078 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
7079 short int var15 /* : Bool */;
7080 int cltype16;
7081 int idtype17;
7082 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
7083 short int var18 /* : Bool */;
7084 int cltype19;
7085 int idtype20;
7086 val* var21 /* : AConcreteInitPropdef */;
7087 val* var22 /* : null */;
7088 val* var23 /* : null */;
7089 val* var24 /* : null */;
7090 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
7091 long var25 /* : Int */;
7092 long var26 /* : Int */;
7093 var_p = p0;
7094 var = NULL;
7095 var_node_list = var;
7096 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7097 var_nodearraylist7 = var1;
7098 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7099 var_nodearraylist6 = var2;
7100 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7101 var_nodearraylist5 = var3;
7102 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7103 var_nodearraylist4 = var4;
7104 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7105 var_nodearraylist3 = var5;
7106 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7107 var_nodearraylist2 = var6;
7108 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7109 var_nodearraylist1 = var7;
7110 var_pdocnode2 = var_nodearraylist1;
7111 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7112 cltype = type_nullable_parser_nodes__ADoc.color;
7113 idtype = type_nullable_parser_nodes__ADoc.id;
7114 if(var_pdocnode2 == NULL) {
7115 var8 = 1;
7116 } else {
7117 if(cltype >= var_pdocnode2->type->table_size) {
7118 var8 = 0;
7119 } else {
7120 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
7121 }
7122 }
7123 if (!var8) {
7124 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20285);
7125 exit(1);
7126 }
7127 var_pvisibilitynode4 = var_nodearraylist2;
7128 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7129 cltype10 = type_nullable_parser_nodes__AVisibility.color;
7130 idtype11 = type_nullable_parser_nodes__AVisibility.id;
7131 if(var_pvisibilitynode4 == NULL) {
7132 var9 = 1;
7133 } else {
7134 if(cltype10 >= var_pvisibilitynode4->type->table_size) {
7135 var9 = 0;
7136 } else {
7137 var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11;
7138 }
7139 }
7140 if (!var9) {
7141 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20287);
7142 exit(1);
7143 }
7144 var_tkwinitnode5 = var_nodearraylist3;
7145 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
7146 cltype13 = type_nullable_parser_nodes__TKwinit.color;
7147 idtype14 = type_nullable_parser_nodes__TKwinit.id;
7148 if(var_tkwinitnode5 == NULL) {
7149 var12 = 1;
7150 } else {
7151 if(cltype13 >= var_tkwinitnode5->type->table_size) {
7152 var12 = 0;
7153 } else {
7154 var12 = var_tkwinitnode5->type->type_table[cltype13] == idtype14;
7155 }
7156 }
7157 if (!var12) {
7158 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20289);
7159 exit(1);
7160 }
7161 var_psignaturenode7 = var_nodearraylist4;
7162 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
7163 cltype16 = type_nullable_parser_nodes__ASignature.color;
7164 idtype17 = type_nullable_parser_nodes__ASignature.id;
7165 if(var_psignaturenode7 == NULL) {
7166 var15 = 1;
7167 } else {
7168 if(cltype16 >= var_psignaturenode7->type->table_size) {
7169 var15 = 0;
7170 } else {
7171 var15 = var_psignaturenode7->type->type_table[cltype16] == idtype17;
7172 }
7173 }
7174 if (!var15) {
7175 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20291);
7176 exit(1);
7177 }
7178 var_pexprnode9 = var_nodearraylist6;
7179 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
7180 cltype19 = type_nullable_parser_nodes__AExpr.color;
7181 idtype20 = type_nullable_parser_nodes__AExpr.id;
7182 if(var_pexprnode9 == NULL) {
7183 var18 = 1;
7184 } else {
7185 if(cltype19 >= var_pexprnode9->type->table_size) {
7186 var18 = 0;
7187 } else {
7188 var18 = var_pexprnode9->type->type_table[cltype19] == idtype20;
7189 }
7190 }
7191 if (!var18) {
7192 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20293);
7193 exit(1);
7194 }
7195 var21 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
7196 var22 = NULL;
7197 var23 = NULL;
7198 var24 = NULL;
7199 ((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>*/;
7200 CHECK_NEW_parser_nodes__AConcreteInitPropdef(var21);
7201 var_ppropdefnode1 = var21;
7202 var_node_list = var_ppropdefnode1;
7203 var25 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction453> */
7204 var26 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var25) /* go_to on <var_p:Parser>*/;
7205 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var26, var_node_list) /* push on <var_p:Parser>*/;
7206 RET_LABEL:;
7207 }
7208 /* method parser#ReduceAction453#action for (self: Object, Parser) */
7209 void VIRTUAL_parser__ReduceAction453__action(val* self, val* p0) {
7210 parser__ReduceAction453__action(self, p0);
7211 RET_LABEL:;
7212 }
7213 /* method parser#ReduceAction454#action for (self: ReduceAction454, Parser) */
7214 void parser__ReduceAction454__action(val* self, val* p0) {
7215 val* var_p /* var p: Parser */;
7216 val* var /* : null */;
7217 val* var_node_list /* var node_list: nullable Object */;
7218 val* var1 /* : nullable Object */;
7219 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7220 val* var2 /* : nullable Object */;
7221 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7222 val* var3 /* : nullable Object */;
7223 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7224 val* var4 /* : nullable Object */;
7225 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7226 val* var5 /* : nullable Object */;
7227 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7228 val* var6 /* : nullable Object */;
7229 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7230 val* var7 /* : nullable Object */;
7231 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7232 val* var8 /* : nullable Object */;
7233 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7234 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7235 short int var9 /* : Bool */;
7236 int cltype;
7237 int idtype;
7238 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
7239 short int var10 /* : Bool */;
7240 int cltype11;
7241 int idtype12;
7242 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7243 short int var13 /* : Bool */;
7244 int cltype14;
7245 int idtype15;
7246 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
7247 short int var16 /* : Bool */;
7248 int cltype17;
7249 int idtype18;
7250 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
7251 short int var19 /* : Bool */;
7252 int cltype20;
7253 int idtype21;
7254 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
7255 short int var22 /* : Bool */;
7256 int cltype23;
7257 int idtype24;
7258 val* var25 /* : AConcreteInitPropdef */;
7259 val* var26 /* : null */;
7260 val* var27 /* : null */;
7261 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
7262 long var28 /* : Int */;
7263 long var29 /* : Int */;
7264 var_p = p0;
7265 var = NULL;
7266 var_node_list = var;
7267 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7268 var_nodearraylist8 = var1;
7269 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7270 var_nodearraylist7 = var2;
7271 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7272 var_nodearraylist6 = var3;
7273 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7274 var_nodearraylist5 = var4;
7275 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7276 var_nodearraylist4 = var5;
7277 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7278 var_nodearraylist3 = var6;
7279 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7280 var_nodearraylist2 = var7;
7281 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7282 var_nodearraylist1 = var8;
7283 var_pdocnode2 = var_nodearraylist1;
7284 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7285 cltype = type_nullable_parser_nodes__ADoc.color;
7286 idtype = type_nullable_parser_nodes__ADoc.id;
7287 if(var_pdocnode2 == NULL) {
7288 var9 = 1;
7289 } else {
7290 if(cltype >= var_pdocnode2->type->table_size) {
7291 var9 = 0;
7292 } else {
7293 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
7294 }
7295 }
7296 if (!var9) {
7297 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20322);
7298 exit(1);
7299 }
7300 var_tkwredefnode3 = var_nodearraylist2;
7301 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7302 cltype11 = type_nullable_parser_nodes__TKwredef.color;
7303 idtype12 = type_nullable_parser_nodes__TKwredef.id;
7304 if(var_tkwredefnode3 == NULL) {
7305 var10 = 1;
7306 } else {
7307 if(cltype11 >= var_tkwredefnode3->type->table_size) {
7308 var10 = 0;
7309 } else {
7310 var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12;
7311 }
7312 }
7313 if (!var10) {
7314 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20324);
7315 exit(1);
7316 }
7317 var_pvisibilitynode4 = var_nodearraylist3;
7318 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7319 cltype14 = type_nullable_parser_nodes__AVisibility.color;
7320 idtype15 = type_nullable_parser_nodes__AVisibility.id;
7321 if(var_pvisibilitynode4 == NULL) {
7322 var13 = 1;
7323 } else {
7324 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
7325 var13 = 0;
7326 } else {
7327 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
7328 }
7329 }
7330 if (!var13) {
7331 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20326);
7332 exit(1);
7333 }
7334 var_tkwinitnode5 = var_nodearraylist4;
7335 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
7336 cltype17 = type_nullable_parser_nodes__TKwinit.color;
7337 idtype18 = type_nullable_parser_nodes__TKwinit.id;
7338 if(var_tkwinitnode5 == NULL) {
7339 var16 = 1;
7340 } else {
7341 if(cltype17 >= var_tkwinitnode5->type->table_size) {
7342 var16 = 0;
7343 } else {
7344 var16 = var_tkwinitnode5->type->type_table[cltype17] == idtype18;
7345 }
7346 }
7347 if (!var16) {
7348 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20328);
7349 exit(1);
7350 }
7351 var_psignaturenode7 = var_nodearraylist5;
7352 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
7353 cltype20 = type_nullable_parser_nodes__ASignature.color;
7354 idtype21 = type_nullable_parser_nodes__ASignature.id;
7355 if(var_psignaturenode7 == NULL) {
7356 var19 = 1;
7357 } else {
7358 if(cltype20 >= var_psignaturenode7->type->table_size) {
7359 var19 = 0;
7360 } else {
7361 var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
7362 }
7363 }
7364 if (!var19) {
7365 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20330);
7366 exit(1);
7367 }
7368 var_pexprnode9 = var_nodearraylist7;
7369 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
7370 cltype23 = type_nullable_parser_nodes__AExpr.color;
7371 idtype24 = type_nullable_parser_nodes__AExpr.id;
7372 if(var_pexprnode9 == NULL) {
7373 var22 = 1;
7374 } else {
7375 if(cltype23 >= var_pexprnode9->type->table_size) {
7376 var22 = 0;
7377 } else {
7378 var22 = var_pexprnode9->type->type_table[cltype23] == idtype24;
7379 }
7380 }
7381 if (!var22) {
7382 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20332);
7383 exit(1);
7384 }
7385 var25 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
7386 var26 = NULL;
7387 var27 = NULL;
7388 ((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>*/;
7389 CHECK_NEW_parser_nodes__AConcreteInitPropdef(var25);
7390 var_ppropdefnode1 = var25;
7391 var_node_list = var_ppropdefnode1;
7392 var28 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction454> */
7393 var29 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var28) /* go_to on <var_p:Parser>*/;
7394 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var29, var_node_list) /* push on <var_p:Parser>*/;
7395 RET_LABEL:;
7396 }
7397 /* method parser#ReduceAction454#action for (self: Object, Parser) */
7398 void VIRTUAL_parser__ReduceAction454__action(val* self, val* p0) {
7399 parser__ReduceAction454__action(self, p0);
7400 RET_LABEL:;
7401 }
7402 /* method parser#ReduceAction455#action for (self: ReduceAction455, Parser) */
7403 void parser__ReduceAction455__action(val* self, val* p0) {
7404 val* var_p /* var p: Parser */;
7405 val* var /* : null */;
7406 val* var_node_list /* var node_list: nullable Object */;
7407 val* var1 /* : nullable Object */;
7408 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7409 val* var2 /* : nullable Object */;
7410 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7411 val* var3 /* : nullable Object */;
7412 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7413 val* var4 /* : nullable Object */;
7414 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7415 val* var5 /* : nullable Object */;
7416 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7417 val* var6 /* : nullable Object */;
7418 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7419 val* var7 /* : nullable Object */;
7420 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7421 val* var8 /* : nullable Object */;
7422 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7423 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7424 short int var9 /* : Bool */;
7425 int cltype;
7426 int idtype;
7427 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7428 short int var10 /* : Bool */;
7429 int cltype11;
7430 int idtype12;
7431 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
7432 short int var13 /* : Bool */;
7433 int cltype14;
7434 int idtype15;
7435 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
7436 short int var16 /* : Bool */;
7437 int cltype17;
7438 int idtype18;
7439 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
7440 short int var19 /* : Bool */;
7441 int cltype20;
7442 int idtype21;
7443 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
7444 short int var22 /* : Bool */;
7445 int cltype23;
7446 int idtype24;
7447 val* var25 /* : AConcreteInitPropdef */;
7448 val* var26 /* : null */;
7449 val* var27 /* : null */;
7450 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
7451 long var28 /* : Int */;
7452 long var29 /* : Int */;
7453 var_p = p0;
7454 var = NULL;
7455 var_node_list = var;
7456 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7457 var_nodearraylist8 = var1;
7458 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7459 var_nodearraylist7 = var2;
7460 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7461 var_nodearraylist6 = var3;
7462 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7463 var_nodearraylist5 = var4;
7464 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7465 var_nodearraylist4 = var5;
7466 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7467 var_nodearraylist3 = var6;
7468 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7469 var_nodearraylist2 = var7;
7470 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7471 var_nodearraylist1 = var8;
7472 var_pdocnode2 = var_nodearraylist1;
7473 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7474 cltype = type_nullable_parser_nodes__ADoc.color;
7475 idtype = type_nullable_parser_nodes__ADoc.id;
7476 if(var_pdocnode2 == NULL) {
7477 var9 = 1;
7478 } else {
7479 if(cltype >= var_pdocnode2->type->table_size) {
7480 var9 = 0;
7481 } else {
7482 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
7483 }
7484 }
7485 if (!var9) {
7486 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20361);
7487 exit(1);
7488 }
7489 var_pvisibilitynode4 = var_nodearraylist2;
7490 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7491 cltype11 = type_nullable_parser_nodes__AVisibility.color;
7492 idtype12 = type_nullable_parser_nodes__AVisibility.id;
7493 if(var_pvisibilitynode4 == NULL) {
7494 var10 = 1;
7495 } else {
7496 if(cltype11 >= var_pvisibilitynode4->type->table_size) {
7497 var10 = 0;
7498 } else {
7499 var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
7500 }
7501 }
7502 if (!var10) {
7503 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20363);
7504 exit(1);
7505 }
7506 var_tkwinitnode5 = var_nodearraylist3;
7507 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
7508 cltype14 = type_nullable_parser_nodes__TKwinit.color;
7509 idtype15 = type_nullable_parser_nodes__TKwinit.id;
7510 if(var_tkwinitnode5 == NULL) {
7511 var13 = 1;
7512 } else {
7513 if(cltype14 >= var_tkwinitnode5->type->table_size) {
7514 var13 = 0;
7515 } else {
7516 var13 = var_tkwinitnode5->type->type_table[cltype14] == idtype15;
7517 }
7518 }
7519 if (!var13) {
7520 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20365);
7521 exit(1);
7522 }
7523 var_pmethidnode6 = var_nodearraylist4;
7524 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
7525 cltype17 = type_nullable_parser_nodes__AMethid.color;
7526 idtype18 = type_nullable_parser_nodes__AMethid.id;
7527 if(var_pmethidnode6 == NULL) {
7528 var16 = 1;
7529 } else {
7530 if(cltype17 >= var_pmethidnode6->type->table_size) {
7531 var16 = 0;
7532 } else {
7533 var16 = var_pmethidnode6->type->type_table[cltype17] == idtype18;
7534 }
7535 }
7536 if (!var16) {
7537 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20367);
7538 exit(1);
7539 }
7540 var_psignaturenode7 = var_nodearraylist5;
7541 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
7542 cltype20 = type_nullable_parser_nodes__ASignature.color;
7543 idtype21 = type_nullable_parser_nodes__ASignature.id;
7544 if(var_psignaturenode7 == NULL) {
7545 var19 = 1;
7546 } else {
7547 if(cltype20 >= var_psignaturenode7->type->table_size) {
7548 var19 = 0;
7549 } else {
7550 var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
7551 }
7552 }
7553 if (!var19) {
7554 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20369);
7555 exit(1);
7556 }
7557 var_pexprnode9 = var_nodearraylist7;
7558 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
7559 cltype23 = type_nullable_parser_nodes__AExpr.color;
7560 idtype24 = type_nullable_parser_nodes__AExpr.id;
7561 if(var_pexprnode9 == NULL) {
7562 var22 = 1;
7563 } else {
7564 if(cltype23 >= var_pexprnode9->type->table_size) {
7565 var22 = 0;
7566 } else {
7567 var22 = var_pexprnode9->type->type_table[cltype23] == idtype24;
7568 }
7569 }
7570 if (!var22) {
7571 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20371);
7572 exit(1);
7573 }
7574 var25 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
7575 var26 = NULL;
7576 var27 = NULL;
7577 ((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>*/;
7578 CHECK_NEW_parser_nodes__AConcreteInitPropdef(var25);
7579 var_ppropdefnode1 = var25;
7580 var_node_list = var_ppropdefnode1;
7581 var28 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction455> */
7582 var29 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var28) /* go_to on <var_p:Parser>*/;
7583 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var29, var_node_list) /* push on <var_p:Parser>*/;
7584 RET_LABEL:;
7585 }
7586 /* method parser#ReduceAction455#action for (self: Object, Parser) */
7587 void VIRTUAL_parser__ReduceAction455__action(val* self, val* p0) {
7588 parser__ReduceAction455__action(self, p0);
7589 RET_LABEL:;
7590 }
7591 /* method parser#ReduceAction456#action for (self: ReduceAction456, Parser) */
7592 void parser__ReduceAction456__action(val* self, val* p0) {
7593 val* var_p /* var p: Parser */;
7594 val* var /* : null */;
7595 val* var_node_list /* var node_list: nullable Object */;
7596 val* var1 /* : nullable Object */;
7597 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7598 val* var2 /* : nullable Object */;
7599 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7600 val* var3 /* : nullable Object */;
7601 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7602 val* var4 /* : nullable Object */;
7603 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7604 val* var5 /* : nullable Object */;
7605 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7606 val* var6 /* : nullable Object */;
7607 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7608 val* var7 /* : nullable Object */;
7609 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7610 val* var8 /* : nullable Object */;
7611 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7612 val* var9 /* : nullable Object */;
7613 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7614 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7615 short int var10 /* : Bool */;
7616 int cltype;
7617 int idtype;
7618 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
7619 short int var11 /* : Bool */;
7620 int cltype12;
7621 int idtype13;
7622 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7623 short int var14 /* : Bool */;
7624 int cltype15;
7625 int idtype16;
7626 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
7627 short int var17 /* : Bool */;
7628 int cltype18;
7629 int idtype19;
7630 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
7631 short int var20 /* : Bool */;
7632 int cltype21;
7633 int idtype22;
7634 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
7635 short int var23 /* : Bool */;
7636 int cltype24;
7637 int idtype25;
7638 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
7639 short int var26 /* : Bool */;
7640 int cltype27;
7641 int idtype28;
7642 val* var29 /* : AConcreteInitPropdef */;
7643 val* var30 /* : null */;
7644 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
7645 long var31 /* : Int */;
7646 long var32 /* : Int */;
7647 var_p = p0;
7648 var = NULL;
7649 var_node_list = var;
7650 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7651 var_nodearraylist9 = var1;
7652 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7653 var_nodearraylist8 = var2;
7654 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7655 var_nodearraylist7 = var3;
7656 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7657 var_nodearraylist6 = var4;
7658 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7659 var_nodearraylist5 = var5;
7660 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7661 var_nodearraylist4 = var6;
7662 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7663 var_nodearraylist3 = var7;
7664 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7665 var_nodearraylist2 = var8;
7666 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7667 var_nodearraylist1 = var9;
7668 var_pdocnode2 = var_nodearraylist1;
7669 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7670 cltype = type_nullable_parser_nodes__ADoc.color;
7671 idtype = type_nullable_parser_nodes__ADoc.id;
7672 if(var_pdocnode2 == NULL) {
7673 var10 = 1;
7674 } else {
7675 if(cltype >= var_pdocnode2->type->table_size) {
7676 var10 = 0;
7677 } else {
7678 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
7679 }
7680 }
7681 if (!var10) {
7682 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20401);
7683 exit(1);
7684 }
7685 var_tkwredefnode3 = var_nodearraylist2;
7686 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7687 cltype12 = type_nullable_parser_nodes__TKwredef.color;
7688 idtype13 = type_nullable_parser_nodes__TKwredef.id;
7689 if(var_tkwredefnode3 == NULL) {
7690 var11 = 1;
7691 } else {
7692 if(cltype12 >= var_tkwredefnode3->type->table_size) {
7693 var11 = 0;
7694 } else {
7695 var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
7696 }
7697 }
7698 if (!var11) {
7699 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20403);
7700 exit(1);
7701 }
7702 var_pvisibilitynode4 = var_nodearraylist3;
7703 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7704 cltype15 = type_nullable_parser_nodes__AVisibility.color;
7705 idtype16 = type_nullable_parser_nodes__AVisibility.id;
7706 if(var_pvisibilitynode4 == NULL) {
7707 var14 = 1;
7708 } else {
7709 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
7710 var14 = 0;
7711 } else {
7712 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
7713 }
7714 }
7715 if (!var14) {
7716 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20405);
7717 exit(1);
7718 }
7719 var_tkwinitnode5 = var_nodearraylist4;
7720 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
7721 cltype18 = type_nullable_parser_nodes__TKwinit.color;
7722 idtype19 = type_nullable_parser_nodes__TKwinit.id;
7723 if(var_tkwinitnode5 == NULL) {
7724 var17 = 1;
7725 } else {
7726 if(cltype18 >= var_tkwinitnode5->type->table_size) {
7727 var17 = 0;
7728 } else {
7729 var17 = var_tkwinitnode5->type->type_table[cltype18] == idtype19;
7730 }
7731 }
7732 if (!var17) {
7733 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20407);
7734 exit(1);
7735 }
7736 var_pmethidnode6 = var_nodearraylist5;
7737 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
7738 cltype21 = type_nullable_parser_nodes__AMethid.color;
7739 idtype22 = type_nullable_parser_nodes__AMethid.id;
7740 if(var_pmethidnode6 == NULL) {
7741 var20 = 1;
7742 } else {
7743 if(cltype21 >= var_pmethidnode6->type->table_size) {
7744 var20 = 0;
7745 } else {
7746 var20 = var_pmethidnode6->type->type_table[cltype21] == idtype22;
7747 }
7748 }
7749 if (!var20) {
7750 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20409);
7751 exit(1);
7752 }
7753 var_psignaturenode7 = var_nodearraylist6;
7754 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
7755 cltype24 = type_nullable_parser_nodes__ASignature.color;
7756 idtype25 = type_nullable_parser_nodes__ASignature.id;
7757 if(var_psignaturenode7 == NULL) {
7758 var23 = 1;
7759 } else {
7760 if(cltype24 >= var_psignaturenode7->type->table_size) {
7761 var23 = 0;
7762 } else {
7763 var23 = var_psignaturenode7->type->type_table[cltype24] == idtype25;
7764 }
7765 }
7766 if (!var23) {
7767 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20411);
7768 exit(1);
7769 }
7770 var_pexprnode9 = var_nodearraylist8;
7771 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
7772 cltype27 = type_nullable_parser_nodes__AExpr.color;
7773 idtype28 = type_nullable_parser_nodes__AExpr.id;
7774 if(var_pexprnode9 == NULL) {
7775 var26 = 1;
7776 } else {
7777 if(cltype27 >= var_pexprnode9->type->table_size) {
7778 var26 = 0;
7779 } else {
7780 var26 = var_pexprnode9->type->type_table[cltype27] == idtype28;
7781 }
7782 }
7783 if (!var26) {
7784 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20413);
7785 exit(1);
7786 }
7787 var29 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
7788 var30 = NULL;
7789 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef]))(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwinitnode5, var_pmethidnode6, var_psignaturenode7, var30, var_pexprnode9) /* init_aconcreteinitpropdef on <var29:AConcreteInitPropdef>*/;
7790 CHECK_NEW_parser_nodes__AConcreteInitPropdef(var29);
7791 var_ppropdefnode1 = var29;
7792 var_node_list = var_ppropdefnode1;
7793 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction456> */
7794 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
7795 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
7796 RET_LABEL:;
7797 }
7798 /* method parser#ReduceAction456#action for (self: Object, Parser) */
7799 void VIRTUAL_parser__ReduceAction456__action(val* self, val* p0) {
7800 parser__ReduceAction456__action(self, p0);
7801 RET_LABEL:;
7802 }
7803 /* method parser#ReduceAction457#action for (self: ReduceAction457, Parser) */
7804 void parser__ReduceAction457__action(val* self, val* p0) {
7805 val* var_p /* var p: Parser */;
7806 val* var /* : null */;
7807 val* var_node_list /* var node_list: nullable Object */;
7808 val* var1 /* : nullable Object */;
7809 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7810 val* var2 /* : nullable Object */;
7811 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7812 val* var3 /* : nullable Object */;
7813 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7814 val* var4 /* : nullable Object */;
7815 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7816 val* var5 /* : nullable Object */;
7817 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7818 val* var6 /* : nullable Object */;
7819 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7820 val* var7 /* : nullable Object */;
7821 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7822 val* var8 /* : nullable Object */;
7823 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7824 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7825 short int var9 /* : Bool */;
7826 int cltype;
7827 int idtype;
7828 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7829 short int var10 /* : Bool */;
7830 int cltype11;
7831 int idtype12;
7832 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
7833 short int var13 /* : Bool */;
7834 int cltype14;
7835 int idtype15;
7836 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
7837 short int var16 /* : Bool */;
7838 int cltype17;
7839 int idtype18;
7840 val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */;
7841 short int var19 /* : Bool */;
7842 int cltype20;
7843 int idtype21;
7844 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
7845 short int var22 /* : Bool */;
7846 int cltype23;
7847 int idtype24;
7848 val* var25 /* : AConcreteInitPropdef */;
7849 val* var26 /* : null */;
7850 val* var27 /* : null */;
7851 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
7852 long var28 /* : Int */;
7853 long var29 /* : Int */;
7854 var_p = p0;
7855 var = NULL;
7856 var_node_list = var;
7857 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7858 var_nodearraylist8 = var1;
7859 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7860 var_nodearraylist7 = var2;
7861 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7862 var_nodearraylist6 = var3;
7863 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7864 var_nodearraylist5 = var4;
7865 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7866 var_nodearraylist4 = var5;
7867 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7868 var_nodearraylist3 = var6;
7869 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7870 var_nodearraylist2 = var7;
7871 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7872 var_nodearraylist1 = var8;
7873 var_pdocnode2 = var_nodearraylist1;
7874 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7875 cltype = type_nullable_parser_nodes__ADoc.color;
7876 idtype = type_nullable_parser_nodes__ADoc.id;
7877 if(var_pdocnode2 == NULL) {
7878 var9 = 1;
7879 } else {
7880 if(cltype >= var_pdocnode2->type->table_size) {
7881 var9 = 0;
7882 } else {
7883 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
7884 }
7885 }
7886 if (!var9) {
7887 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20442);
7888 exit(1);
7889 }
7890 var_pvisibilitynode4 = var_nodearraylist2;
7891 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7892 cltype11 = type_nullable_parser_nodes__AVisibility.color;
7893 idtype12 = type_nullable_parser_nodes__AVisibility.id;
7894 if(var_pvisibilitynode4 == NULL) {
7895 var10 = 1;
7896 } else {
7897 if(cltype11 >= var_pvisibilitynode4->type->table_size) {
7898 var10 = 0;
7899 } else {
7900 var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
7901 }
7902 }
7903 if (!var10) {
7904 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20444);
7905 exit(1);
7906 }
7907 var_tkwinitnode5 = var_nodearraylist3;
7908 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
7909 cltype14 = type_nullable_parser_nodes__TKwinit.color;
7910 idtype15 = type_nullable_parser_nodes__TKwinit.id;
7911 if(var_tkwinitnode5 == NULL) {
7912 var13 = 1;
7913 } else {
7914 if(cltype14 >= var_tkwinitnode5->type->table_size) {
7915 var13 = 0;
7916 } else {
7917 var13 = var_tkwinitnode5->type->type_table[cltype14] == idtype15;
7918 }
7919 }
7920 if (!var13) {
7921 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20446);
7922 exit(1);
7923 }
7924 var_psignaturenode7 = var_nodearraylist4;
7925 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
7926 cltype17 = type_nullable_parser_nodes__ASignature.color;
7927 idtype18 = type_nullable_parser_nodes__ASignature.id;
7928 if(var_psignaturenode7 == NULL) {
7929 var16 = 1;
7930 } else {
7931 if(cltype17 >= var_psignaturenode7->type->table_size) {
7932 var16 = 0;
7933 } else {
7934 var16 = var_psignaturenode7->type->type_table[cltype17] == idtype18;
7935 }
7936 }
7937 if (!var16) {
7938 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20448);
7939 exit(1);
7940 }
7941 var_pannotationsnode8 = var_nodearraylist5;
7942 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
7943 cltype20 = type_nullable_parser_nodes__AAnnotations.color;
7944 idtype21 = type_nullable_parser_nodes__AAnnotations.id;
7945 if(var_pannotationsnode8 == NULL) {
7946 var19 = 1;
7947 } else {
7948 if(cltype20 >= var_pannotationsnode8->type->table_size) {
7949 var19 = 0;
7950 } else {
7951 var19 = var_pannotationsnode8->type->type_table[cltype20] == idtype21;
7952 }
7953 }
7954 if (!var19) {
7955 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20450);
7956 exit(1);
7957 }
7958 var_pexprnode9 = var_nodearraylist7;
7959 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
7960 cltype23 = type_nullable_parser_nodes__AExpr.color;
7961 idtype24 = type_nullable_parser_nodes__AExpr.id;
7962 if(var_pexprnode9 == NULL) {
7963 var22 = 1;
7964 } else {
7965 if(cltype23 >= var_pexprnode9->type->table_size) {
7966 var22 = 0;
7967 } else {
7968 var22 = var_pexprnode9->type->type_table[cltype23] == idtype24;
7969 }
7970 }
7971 if (!var22) {
7972 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20452);
7973 exit(1);
7974 }
7975 var25 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
7976 var26 = NULL;
7977 var27 = NULL;
7978 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef]))(var25, var_pdocnode2, var26, var_pvisibilitynode4, var_tkwinitnode5, var27, var_psignaturenode7, var_pannotationsnode8, var_pexprnode9) /* init_aconcreteinitpropdef on <var25:AConcreteInitPropdef>*/;
7979 CHECK_NEW_parser_nodes__AConcreteInitPropdef(var25);
7980 var_ppropdefnode1 = var25;
7981 var_node_list = var_ppropdefnode1;
7982 var28 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction457> */
7983 var29 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var28) /* go_to on <var_p:Parser>*/;
7984 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var29, var_node_list) /* push on <var_p:Parser>*/;
7985 RET_LABEL:;
7986 }
7987 /* method parser#ReduceAction457#action for (self: Object, Parser) */
7988 void VIRTUAL_parser__ReduceAction457__action(val* self, val* p0) {
7989 parser__ReduceAction457__action(self, p0);
7990 RET_LABEL:;
7991 }
7992 /* method parser#ReduceAction458#action for (self: ReduceAction458, Parser) */
7993 void parser__ReduceAction458__action(val* self, val* p0) {
7994 val* var_p /* var p: Parser */;
7995 val* var /* : null */;
7996 val* var_node_list /* var node_list: nullable Object */;
7997 val* var1 /* : nullable Object */;
7998 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7999 val* var2 /* : nullable Object */;
8000 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8001 val* var3 /* : nullable Object */;
8002 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8003 val* var4 /* : nullable Object */;
8004 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8005 val* var5 /* : nullable Object */;
8006 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8007 val* var6 /* : nullable Object */;
8008 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8009 val* var7 /* : nullable Object */;
8010 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8011 val* var8 /* : nullable Object */;
8012 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8013 val* var9 /* : nullable Object */;
8014 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8015 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8016 short int var10 /* : Bool */;
8017 int cltype;
8018 int idtype;
8019 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
8020 short int var11 /* : Bool */;
8021 int cltype12;
8022 int idtype13;
8023 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8024 short int var14 /* : Bool */;
8025 int cltype15;
8026 int idtype16;
8027 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
8028 short int var17 /* : Bool */;
8029 int cltype18;
8030 int idtype19;
8031 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
8032 short int var20 /* : Bool */;
8033 int cltype21;
8034 int idtype22;
8035 val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */;
8036 short int var23 /* : Bool */;
8037 int cltype24;
8038 int idtype25;
8039 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
8040 short int var26 /* : Bool */;
8041 int cltype27;
8042 int idtype28;
8043 val* var29 /* : AConcreteInitPropdef */;
8044 val* var30 /* : null */;
8045 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
8046 long var31 /* : Int */;
8047 long var32 /* : Int */;
8048 var_p = p0;
8049 var = NULL;
8050 var_node_list = var;
8051 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8052 var_nodearraylist9 = var1;
8053 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8054 var_nodearraylist8 = var2;
8055 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8056 var_nodearraylist7 = var3;
8057 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8058 var_nodearraylist6 = var4;
8059 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8060 var_nodearraylist5 = var5;
8061 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8062 var_nodearraylist4 = var6;
8063 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8064 var_nodearraylist3 = var7;
8065 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8066 var_nodearraylist2 = var8;
8067 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8068 var_nodearraylist1 = var9;
8069 var_pdocnode2 = var_nodearraylist1;
8070 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8071 cltype = type_nullable_parser_nodes__ADoc.color;
8072 idtype = type_nullable_parser_nodes__ADoc.id;
8073 if(var_pdocnode2 == NULL) {
8074 var10 = 1;
8075 } else {
8076 if(cltype >= var_pdocnode2->type->table_size) {
8077 var10 = 0;
8078 } else {
8079 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
8080 }
8081 }
8082 if (!var10) {
8083 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20482);
8084 exit(1);
8085 }
8086 var_tkwredefnode3 = var_nodearraylist2;
8087 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8088 cltype12 = type_nullable_parser_nodes__TKwredef.color;
8089 idtype13 = type_nullable_parser_nodes__TKwredef.id;
8090 if(var_tkwredefnode3 == NULL) {
8091 var11 = 1;
8092 } else {
8093 if(cltype12 >= var_tkwredefnode3->type->table_size) {
8094 var11 = 0;
8095 } else {
8096 var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
8097 }
8098 }
8099 if (!var11) {
8100 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20484);
8101 exit(1);
8102 }
8103 var_pvisibilitynode4 = var_nodearraylist3;
8104 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8105 cltype15 = type_nullable_parser_nodes__AVisibility.color;
8106 idtype16 = type_nullable_parser_nodes__AVisibility.id;
8107 if(var_pvisibilitynode4 == NULL) {
8108 var14 = 1;
8109 } else {
8110 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
8111 var14 = 0;
8112 } else {
8113 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
8114 }
8115 }
8116 if (!var14) {
8117 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20486);
8118 exit(1);
8119 }
8120 var_tkwinitnode5 = var_nodearraylist4;
8121 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
8122 cltype18 = type_nullable_parser_nodes__TKwinit.color;
8123 idtype19 = type_nullable_parser_nodes__TKwinit.id;
8124 if(var_tkwinitnode5 == NULL) {
8125 var17 = 1;
8126 } else {
8127 if(cltype18 >= var_tkwinitnode5->type->table_size) {
8128 var17 = 0;
8129 } else {
8130 var17 = var_tkwinitnode5->type->type_table[cltype18] == idtype19;
8131 }
8132 }
8133 if (!var17) {
8134 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20488);
8135 exit(1);
8136 }
8137 var_psignaturenode7 = var_nodearraylist5;
8138 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
8139 cltype21 = type_nullable_parser_nodes__ASignature.color;
8140 idtype22 = type_nullable_parser_nodes__ASignature.id;
8141 if(var_psignaturenode7 == NULL) {
8142 var20 = 1;
8143 } else {
8144 if(cltype21 >= var_psignaturenode7->type->table_size) {
8145 var20 = 0;
8146 } else {
8147 var20 = var_psignaturenode7->type->type_table[cltype21] == idtype22;
8148 }
8149 }
8150 if (!var20) {
8151 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20490);
8152 exit(1);
8153 }
8154 var_pannotationsnode8 = var_nodearraylist6;
8155 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
8156 cltype24 = type_nullable_parser_nodes__AAnnotations.color;
8157 idtype25 = type_nullable_parser_nodes__AAnnotations.id;
8158 if(var_pannotationsnode8 == NULL) {
8159 var23 = 1;
8160 } else {
8161 if(cltype24 >= var_pannotationsnode8->type->table_size) {
8162 var23 = 0;
8163 } else {
8164 var23 = var_pannotationsnode8->type->type_table[cltype24] == idtype25;
8165 }
8166 }
8167 if (!var23) {
8168 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20492);
8169 exit(1);
8170 }
8171 var_pexprnode9 = var_nodearraylist8;
8172 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
8173 cltype27 = type_nullable_parser_nodes__AExpr.color;
8174 idtype28 = type_nullable_parser_nodes__AExpr.id;
8175 if(var_pexprnode9 == NULL) {
8176 var26 = 1;
8177 } else {
8178 if(cltype27 >= var_pexprnode9->type->table_size) {
8179 var26 = 0;
8180 } else {
8181 var26 = var_pexprnode9->type->type_table[cltype27] == idtype28;
8182 }
8183 }
8184 if (!var26) {
8185 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20494);
8186 exit(1);
8187 }
8188 var29 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
8189 var30 = NULL;
8190 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef]))(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwinitnode5, var30, var_psignaturenode7, var_pannotationsnode8, var_pexprnode9) /* init_aconcreteinitpropdef on <var29:AConcreteInitPropdef>*/;
8191 CHECK_NEW_parser_nodes__AConcreteInitPropdef(var29);
8192 var_ppropdefnode1 = var29;
8193 var_node_list = var_ppropdefnode1;
8194 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction458> */
8195 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
8196 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
8197 RET_LABEL:;
8198 }
8199 /* method parser#ReduceAction458#action for (self: Object, Parser) */
8200 void VIRTUAL_parser__ReduceAction458__action(val* self, val* p0) {
8201 parser__ReduceAction458__action(self, p0);
8202 RET_LABEL:;
8203 }
8204 /* method parser#ReduceAction459#action for (self: ReduceAction459, Parser) */
8205 void parser__ReduceAction459__action(val* self, val* p0) {
8206 val* var_p /* var p: Parser */;
8207 val* var /* : null */;
8208 val* var_node_list /* var node_list: nullable Object */;
8209 val* var1 /* : nullable Object */;
8210 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8211 val* var2 /* : nullable Object */;
8212 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8213 val* var3 /* : nullable Object */;
8214 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8215 val* var4 /* : nullable Object */;
8216 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8217 val* var5 /* : nullable Object */;
8218 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8219 val* var6 /* : nullable Object */;
8220 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8221 val* var7 /* : nullable Object */;
8222 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8223 val* var8 /* : nullable Object */;
8224 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8225 val* var9 /* : nullable Object */;
8226 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8227 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8228 short int var10 /* : Bool */;
8229 int cltype;
8230 int idtype;
8231 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8232 short int var11 /* : Bool */;
8233 int cltype12;
8234 int idtype13;
8235 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
8236 short int var14 /* : Bool */;
8237 int cltype15;
8238 int idtype16;
8239 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
8240 short int var17 /* : Bool */;
8241 int cltype18;
8242 int idtype19;
8243 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
8244 short int var20 /* : Bool */;
8245 int cltype21;
8246 int idtype22;
8247 val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */;
8248 short int var23 /* : Bool */;
8249 int cltype24;
8250 int idtype25;
8251 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
8252 short int var26 /* : Bool */;
8253 int cltype27;
8254 int idtype28;
8255 val* var29 /* : AConcreteInitPropdef */;
8256 val* var30 /* : null */;
8257 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
8258 long var31 /* : Int */;
8259 long var32 /* : Int */;
8260 var_p = p0;
8261 var = NULL;
8262 var_node_list = var;
8263 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8264 var_nodearraylist9 = var1;
8265 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8266 var_nodearraylist8 = var2;
8267 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8268 var_nodearraylist7 = var3;
8269 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8270 var_nodearraylist6 = var4;
8271 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8272 var_nodearraylist5 = var5;
8273 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8274 var_nodearraylist4 = var6;
8275 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8276 var_nodearraylist3 = var7;
8277 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8278 var_nodearraylist2 = var8;
8279 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8280 var_nodearraylist1 = var9;
8281 var_pdocnode2 = var_nodearraylist1;
8282 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8283 cltype = type_nullable_parser_nodes__ADoc.color;
8284 idtype = type_nullable_parser_nodes__ADoc.id;
8285 if(var_pdocnode2 == NULL) {
8286 var10 = 1;
8287 } else {
8288 if(cltype >= var_pdocnode2->type->table_size) {
8289 var10 = 0;
8290 } else {
8291 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
8292 }
8293 }
8294 if (!var10) {
8295 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20524);
8296 exit(1);
8297 }
8298 var_pvisibilitynode4 = var_nodearraylist2;
8299 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8300 cltype12 = type_nullable_parser_nodes__AVisibility.color;
8301 idtype13 = type_nullable_parser_nodes__AVisibility.id;
8302 if(var_pvisibilitynode4 == NULL) {
8303 var11 = 1;
8304 } else {
8305 if(cltype12 >= var_pvisibilitynode4->type->table_size) {
8306 var11 = 0;
8307 } else {
8308 var11 = var_pvisibilitynode4->type->type_table[cltype12] == idtype13;
8309 }
8310 }
8311 if (!var11) {
8312 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20526);
8313 exit(1);
8314 }
8315 var_tkwinitnode5 = var_nodearraylist3;
8316 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
8317 cltype15 = type_nullable_parser_nodes__TKwinit.color;
8318 idtype16 = type_nullable_parser_nodes__TKwinit.id;
8319 if(var_tkwinitnode5 == NULL) {
8320 var14 = 1;
8321 } else {
8322 if(cltype15 >= var_tkwinitnode5->type->table_size) {
8323 var14 = 0;
8324 } else {
8325 var14 = var_tkwinitnode5->type->type_table[cltype15] == idtype16;
8326 }
8327 }
8328 if (!var14) {
8329 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20528);
8330 exit(1);
8331 }
8332 var_pmethidnode6 = var_nodearraylist4;
8333 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
8334 cltype18 = type_nullable_parser_nodes__AMethid.color;
8335 idtype19 = type_nullable_parser_nodes__AMethid.id;
8336 if(var_pmethidnode6 == NULL) {
8337 var17 = 1;
8338 } else {
8339 if(cltype18 >= var_pmethidnode6->type->table_size) {
8340 var17 = 0;
8341 } else {
8342 var17 = var_pmethidnode6->type->type_table[cltype18] == idtype19;
8343 }
8344 }
8345 if (!var17) {
8346 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20530);
8347 exit(1);
8348 }
8349 var_psignaturenode7 = var_nodearraylist5;
8350 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
8351 cltype21 = type_nullable_parser_nodes__ASignature.color;
8352 idtype22 = type_nullable_parser_nodes__ASignature.id;
8353 if(var_psignaturenode7 == NULL) {
8354 var20 = 1;
8355 } else {
8356 if(cltype21 >= var_psignaturenode7->type->table_size) {
8357 var20 = 0;
8358 } else {
8359 var20 = var_psignaturenode7->type->type_table[cltype21] == idtype22;
8360 }
8361 }
8362 if (!var20) {
8363 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20532);
8364 exit(1);
8365 }
8366 var_pannotationsnode8 = var_nodearraylist6;
8367 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
8368 cltype24 = type_nullable_parser_nodes__AAnnotations.color;
8369 idtype25 = type_nullable_parser_nodes__AAnnotations.id;
8370 if(var_pannotationsnode8 == NULL) {
8371 var23 = 1;
8372 } else {
8373 if(cltype24 >= var_pannotationsnode8->type->table_size) {
8374 var23 = 0;
8375 } else {
8376 var23 = var_pannotationsnode8->type->type_table[cltype24] == idtype25;
8377 }
8378 }
8379 if (!var23) {
8380 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20534);
8381 exit(1);
8382 }
8383 var_pexprnode9 = var_nodearraylist8;
8384 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
8385 cltype27 = type_nullable_parser_nodes__AExpr.color;
8386 idtype28 = type_nullable_parser_nodes__AExpr.id;
8387 if(var_pexprnode9 == NULL) {
8388 var26 = 1;
8389 } else {
8390 if(cltype27 >= var_pexprnode9->type->table_size) {
8391 var26 = 0;
8392 } else {
8393 var26 = var_pexprnode9->type->type_table[cltype27] == idtype28;
8394 }
8395 }
8396 if (!var26) {
8397 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20536);
8398 exit(1);
8399 }
8400 var29 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
8401 var30 = NULL;
8402 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef]))(var29, var_pdocnode2, var30, var_pvisibilitynode4, var_tkwinitnode5, var_pmethidnode6, var_psignaturenode7, var_pannotationsnode8, var_pexprnode9) /* init_aconcreteinitpropdef on <var29:AConcreteInitPropdef>*/;
8403 CHECK_NEW_parser_nodes__AConcreteInitPropdef(var29);
8404 var_ppropdefnode1 = var29;
8405 var_node_list = var_ppropdefnode1;
8406 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction459> */
8407 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
8408 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
8409 RET_LABEL:;
8410 }
8411 /* method parser#ReduceAction459#action for (self: Object, Parser) */
8412 void VIRTUAL_parser__ReduceAction459__action(val* self, val* p0) {
8413 parser__ReduceAction459__action(self, p0);
8414 RET_LABEL:;
8415 }
8416 /* method parser#ReduceAction460#action for (self: ReduceAction460, Parser) */
8417 void parser__ReduceAction460__action(val* self, val* p0) {
8418 val* var_p /* var p: Parser */;
8419 val* var /* : null */;
8420 val* var_node_list /* var node_list: nullable Object */;
8421 val* var1 /* : nullable Object */;
8422 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8423 val* var2 /* : nullable Object */;
8424 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8425 val* var3 /* : nullable Object */;
8426 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8427 val* var4 /* : nullable Object */;
8428 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8429 val* var5 /* : nullable Object */;
8430 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8431 val* var6 /* : nullable Object */;
8432 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8433 val* var7 /* : nullable Object */;
8434 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8435 val* var8 /* : nullable Object */;
8436 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8437 val* var9 /* : nullable Object */;
8438 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8439 val* var10 /* : nullable Object */;
8440 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8441 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8442 short int var11 /* : Bool */;
8443 int cltype;
8444 int idtype;
8445 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
8446 short int var12 /* : Bool */;
8447 int cltype13;
8448 int idtype14;
8449 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8450 short int var15 /* : Bool */;
8451 int cltype16;
8452 int idtype17;
8453 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
8454 short int var18 /* : Bool */;
8455 int cltype19;
8456 int idtype20;
8457 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
8458 short int var21 /* : Bool */;
8459 int cltype22;
8460 int idtype23;
8461 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
8462 short int var24 /* : Bool */;
8463 int cltype25;
8464 int idtype26;
8465 val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */;
8466 short int var27 /* : Bool */;
8467 int cltype28;
8468 int idtype29;
8469 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
8470 short int var30 /* : Bool */;
8471 int cltype31;
8472 int idtype32;
8473 val* var33 /* : AConcreteInitPropdef */;
8474 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
8475 long var34 /* : Int */;
8476 long var35 /* : Int */;
8477 var_p = p0;
8478 var = NULL;
8479 var_node_list = var;
8480 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8481 var_nodearraylist10 = var1;
8482 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8483 var_nodearraylist9 = var2;
8484 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8485 var_nodearraylist8 = var3;
8486 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8487 var_nodearraylist7 = var4;
8488 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8489 var_nodearraylist6 = var5;
8490 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8491 var_nodearraylist5 = var6;
8492 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8493 var_nodearraylist4 = var7;
8494 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8495 var_nodearraylist3 = var8;
8496 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8497 var_nodearraylist2 = var9;
8498 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8499 var_nodearraylist1 = var10;
8500 var_pdocnode2 = var_nodearraylist1;
8501 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8502 cltype = type_nullable_parser_nodes__ADoc.color;
8503 idtype = type_nullable_parser_nodes__ADoc.id;
8504 if(var_pdocnode2 == NULL) {
8505 var11 = 1;
8506 } else {
8507 if(cltype >= var_pdocnode2->type->table_size) {
8508 var11 = 0;
8509 } else {
8510 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
8511 }
8512 }
8513 if (!var11) {
8514 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20567);
8515 exit(1);
8516 }
8517 var_tkwredefnode3 = var_nodearraylist2;
8518 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8519 cltype13 = type_nullable_parser_nodes__TKwredef.color;
8520 idtype14 = type_nullable_parser_nodes__TKwredef.id;
8521 if(var_tkwredefnode3 == NULL) {
8522 var12 = 1;
8523 } else {
8524 if(cltype13 >= var_tkwredefnode3->type->table_size) {
8525 var12 = 0;
8526 } else {
8527 var12 = var_tkwredefnode3->type->type_table[cltype13] == idtype14;
8528 }
8529 }
8530 if (!var12) {
8531 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20569);
8532 exit(1);
8533 }
8534 var_pvisibilitynode4 = var_nodearraylist3;
8535 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8536 cltype16 = type_nullable_parser_nodes__AVisibility.color;
8537 idtype17 = type_nullable_parser_nodes__AVisibility.id;
8538 if(var_pvisibilitynode4 == NULL) {
8539 var15 = 1;
8540 } else {
8541 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
8542 var15 = 0;
8543 } else {
8544 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
8545 }
8546 }
8547 if (!var15) {
8548 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20571);
8549 exit(1);
8550 }
8551 var_tkwinitnode5 = var_nodearraylist4;
8552 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
8553 cltype19 = type_nullable_parser_nodes__TKwinit.color;
8554 idtype20 = type_nullable_parser_nodes__TKwinit.id;
8555 if(var_tkwinitnode5 == NULL) {
8556 var18 = 1;
8557 } else {
8558 if(cltype19 >= var_tkwinitnode5->type->table_size) {
8559 var18 = 0;
8560 } else {
8561 var18 = var_tkwinitnode5->type->type_table[cltype19] == idtype20;
8562 }
8563 }
8564 if (!var18) {
8565 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20573);
8566 exit(1);
8567 }
8568 var_pmethidnode6 = var_nodearraylist5;
8569 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
8570 cltype22 = type_nullable_parser_nodes__AMethid.color;
8571 idtype23 = type_nullable_parser_nodes__AMethid.id;
8572 if(var_pmethidnode6 == NULL) {
8573 var21 = 1;
8574 } else {
8575 if(cltype22 >= var_pmethidnode6->type->table_size) {
8576 var21 = 0;
8577 } else {
8578 var21 = var_pmethidnode6->type->type_table[cltype22] == idtype23;
8579 }
8580 }
8581 if (!var21) {
8582 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20575);
8583 exit(1);
8584 }
8585 var_psignaturenode7 = var_nodearraylist6;
8586 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
8587 cltype25 = type_nullable_parser_nodes__ASignature.color;
8588 idtype26 = type_nullable_parser_nodes__ASignature.id;
8589 if(var_psignaturenode7 == NULL) {
8590 var24 = 1;
8591 } else {
8592 if(cltype25 >= var_psignaturenode7->type->table_size) {
8593 var24 = 0;
8594 } else {
8595 var24 = var_psignaturenode7->type->type_table[cltype25] == idtype26;
8596 }
8597 }
8598 if (!var24) {
8599 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20577);
8600 exit(1);
8601 }
8602 var_pannotationsnode8 = var_nodearraylist7;
8603 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
8604 cltype28 = type_nullable_parser_nodes__AAnnotations.color;
8605 idtype29 = type_nullable_parser_nodes__AAnnotations.id;
8606 if(var_pannotationsnode8 == NULL) {
8607 var27 = 1;
8608 } else {
8609 if(cltype28 >= var_pannotationsnode8->type->table_size) {
8610 var27 = 0;
8611 } else {
8612 var27 = var_pannotationsnode8->type->type_table[cltype28] == idtype29;
8613 }
8614 }
8615 if (!var27) {
8616 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20579);
8617 exit(1);
8618 }
8619 var_pexprnode9 = var_nodearraylist9;
8620 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
8621 cltype31 = type_nullable_parser_nodes__AExpr.color;
8622 idtype32 = type_nullable_parser_nodes__AExpr.id;
8623 if(var_pexprnode9 == NULL) {
8624 var30 = 1;
8625 } else {
8626 if(cltype31 >= var_pexprnode9->type->table_size) {
8627 var30 = 0;
8628 } else {
8629 var30 = var_pexprnode9->type->type_table[cltype31] == idtype32;
8630 }
8631 }
8632 if (!var30) {
8633 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20581);
8634 exit(1);
8635 }
8636 var33 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
8637 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AConcreteInitPropdef__init_aconcreteinitpropdef]))(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwinitnode5, var_pmethidnode6, var_psignaturenode7, var_pannotationsnode8, var_pexprnode9) /* init_aconcreteinitpropdef on <var33:AConcreteInitPropdef>*/;
8638 CHECK_NEW_parser_nodes__AConcreteInitPropdef(var33);
8639 var_ppropdefnode1 = var33;
8640 var_node_list = var_ppropdefnode1;
8641 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction460> */
8642 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
8643 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
8644 RET_LABEL:;
8645 }
8646 /* method parser#ReduceAction460#action for (self: Object, Parser) */
8647 void VIRTUAL_parser__ReduceAction460__action(val* self, val* p0) {
8648 parser__ReduceAction460__action(self, p0);
8649 RET_LABEL:;
8650 }
8651 /* method parser#ReduceAction461#action for (self: ReduceAction461, Parser) */
8652 void parser__ReduceAction461__action(val* self, val* p0) {
8653 val* var_p /* var p: Parser */;
8654 val* var /* : null */;
8655 val* var_node_list /* var node_list: nullable Object */;
8656 val* var1 /* : nullable Object */;
8657 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8658 val* var2 /* : nullable Object */;
8659 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8660 val* var3 /* : nullable Object */;
8661 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8662 val* var4 /* : nullable Object */;
8663 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8664 val* var5 /* : nullable Object */;
8665 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8666 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8667 short int var6 /* : Bool */;
8668 int cltype;
8669 int idtype;
8670 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8671 short int var7 /* : Bool */;
8672 int cltype8;
8673 int idtype9;
8674 val* var_tkwtypenode5 /* var tkwtypenode5: nullable Object */;
8675 short int var10 /* : Bool */;
8676 int cltype11;
8677 int idtype12;
8678 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8679 short int var13 /* : Bool */;
8680 int cltype14;
8681 int idtype15;
8682 val* var_ptypenode7 /* var ptypenode7: nullable Object */;
8683 short int var16 /* : Bool */;
8684 int cltype17;
8685 int idtype18;
8686 val* var19 /* : ATypePropdef */;
8687 val* var20 /* : null */;
8688 val* var21 /* : null */;
8689 val* var_ppropdefnode1 /* var ppropdefnode1: nullable ATypePropdef */;
8690 long var22 /* : Int */;
8691 long var23 /* : Int */;
8692 var_p = p0;
8693 var = NULL;
8694 var_node_list = var;
8695 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8696 var_nodearraylist5 = var1;
8697 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8698 var_nodearraylist4 = var2;
8699 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8700 var_nodearraylist3 = var3;
8701 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8702 var_nodearraylist2 = var4;
8703 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8704 var_nodearraylist1 = var5;
8705 var_pdocnode2 = var_nodearraylist1;
8706 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8707 cltype = type_nullable_parser_nodes__ADoc.color;
8708 idtype = type_nullable_parser_nodes__ADoc.id;
8709 if(var_pdocnode2 == NULL) {
8710 var6 = 1;
8711 } else {
8712 if(cltype >= var_pdocnode2->type->table_size) {
8713 var6 = 0;
8714 } else {
8715 var6 = var_pdocnode2->type->type_table[cltype] == idtype;
8716 }
8717 }
8718 if (!var6) {
8719 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20607);
8720 exit(1);
8721 }
8722 var_pvisibilitynode4 = var_nodearraylist2;
8723 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8724 cltype8 = type_nullable_parser_nodes__AVisibility.color;
8725 idtype9 = type_nullable_parser_nodes__AVisibility.id;
8726 if(var_pvisibilitynode4 == NULL) {
8727 var7 = 1;
8728 } else {
8729 if(cltype8 >= var_pvisibilitynode4->type->table_size) {
8730 var7 = 0;
8731 } else {
8732 var7 = var_pvisibilitynode4->type->type_table[cltype8] == idtype9;
8733 }
8734 }
8735 if (!var7) {
8736 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20609);
8737 exit(1);
8738 }
8739 var_tkwtypenode5 = var_nodearraylist3;
8740 /* <var_tkwtypenode5:nullable Object> isa nullable TKwtype */
8741 cltype11 = type_nullable_parser_nodes__TKwtype.color;
8742 idtype12 = type_nullable_parser_nodes__TKwtype.id;
8743 if(var_tkwtypenode5 == NULL) {
8744 var10 = 1;
8745 } else {
8746 if(cltype11 >= var_tkwtypenode5->type->table_size) {
8747 var10 = 0;
8748 } else {
8749 var10 = var_tkwtypenode5->type->type_table[cltype11] == idtype12;
8750 }
8751 }
8752 if (!var10) {
8753 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20611);
8754 exit(1);
8755 }
8756 var_tclassidnode6 = var_nodearraylist4;
8757 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8758 cltype14 = type_nullable_parser_nodes__TClassid.color;
8759 idtype15 = type_nullable_parser_nodes__TClassid.id;
8760 if(var_tclassidnode6 == NULL) {
8761 var13 = 1;
8762 } else {
8763 if(cltype14 >= var_tclassidnode6->type->table_size) {
8764 var13 = 0;
8765 } else {
8766 var13 = var_tclassidnode6->type->type_table[cltype14] == idtype15;
8767 }
8768 }
8769 if (!var13) {
8770 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20613);
8771 exit(1);
8772 }
8773 var_ptypenode7 = var_nodearraylist5;
8774 /* <var_ptypenode7:nullable Object> isa nullable AType */
8775 cltype17 = type_nullable_parser_nodes__AType.color;
8776 idtype18 = type_nullable_parser_nodes__AType.id;
8777 if(var_ptypenode7 == NULL) {
8778 var16 = 1;
8779 } else {
8780 if(cltype17 >= var_ptypenode7->type->table_size) {
8781 var16 = 0;
8782 } else {
8783 var16 = var_ptypenode7->type->type_table[cltype17] == idtype18;
8784 }
8785 }
8786 if (!var16) {
8787 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20615);
8788 exit(1);
8789 }
8790 var19 = NEW_parser_nodes__ATypePropdef(&type_parser_nodes__ATypePropdef);
8791 var20 = NULL;
8792 var21 = NULL;
8793 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*))(var19->class->vft[COLOR_parser_prod__ATypePropdef__init_atypepropdef]))(var19, var_pdocnode2, var20, var_pvisibilitynode4, var_tkwtypenode5, var_tclassidnode6, var_ptypenode7, var21) /* init_atypepropdef on <var19:ATypePropdef>*/;
8794 CHECK_NEW_parser_nodes__ATypePropdef(var19);
8795 var_ppropdefnode1 = var19;
8796 var_node_list = var_ppropdefnode1;
8797 var22 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction461> */
8798 var23 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var22) /* go_to on <var_p:Parser>*/;
8799 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var23, var_node_list) /* push on <var_p:Parser>*/;
8800 RET_LABEL:;
8801 }
8802 /* method parser#ReduceAction461#action for (self: Object, Parser) */
8803 void VIRTUAL_parser__ReduceAction461__action(val* self, val* p0) {
8804 parser__ReduceAction461__action(self, p0);
8805 RET_LABEL:;
8806 }
8807 /* method parser#ReduceAction462#action for (self: ReduceAction462, Parser) */
8808 void parser__ReduceAction462__action(val* self, val* p0) {
8809 val* var_p /* var p: Parser */;
8810 val* var /* : null */;
8811 val* var_node_list /* var node_list: nullable Object */;
8812 val* var1 /* : nullable Object */;
8813 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8814 val* var2 /* : nullable Object */;
8815 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8816 val* var3 /* : nullable Object */;
8817 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8818 val* var4 /* : nullable Object */;
8819 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8820 val* var5 /* : nullable Object */;
8821 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8822 val* var6 /* : nullable Object */;
8823 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8824 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8825 short int var7 /* : Bool */;
8826 int cltype;
8827 int idtype;
8828 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
8829 short int var8 /* : Bool */;
8830 int cltype9;
8831 int idtype10;
8832 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8833 short int var11 /* : Bool */;
8834 int cltype12;
8835 int idtype13;
8836 val* var_tkwtypenode5 /* var tkwtypenode5: nullable Object */;
8837 short int var14 /* : Bool */;
8838 int cltype15;
8839 int idtype16;
8840 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8841 short int var17 /* : Bool */;
8842 int cltype18;
8843 int idtype19;
8844 val* var_ptypenode7 /* var ptypenode7: nullable Object */;
8845 short int var20 /* : Bool */;
8846 int cltype21;
8847 int idtype22;
8848 val* var23 /* : ATypePropdef */;
8849 val* var24 /* : null */;
8850 val* var_ppropdefnode1 /* var ppropdefnode1: nullable ATypePropdef */;
8851 long var25 /* : Int */;
8852 long var26 /* : Int */;
8853 var_p = p0;
8854 var = NULL;
8855 var_node_list = var;
8856 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8857 var_nodearraylist6 = var1;
8858 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8859 var_nodearraylist5 = var2;
8860 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8861 var_nodearraylist4 = var3;
8862 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8863 var_nodearraylist3 = var4;
8864 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8865 var_nodearraylist2 = var5;
8866 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8867 var_nodearraylist1 = var6;
8868 var_pdocnode2 = var_nodearraylist1;
8869 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8870 cltype = type_nullable_parser_nodes__ADoc.color;
8871 idtype = type_nullable_parser_nodes__ADoc.id;
8872 if(var_pdocnode2 == NULL) {
8873 var7 = 1;
8874 } else {
8875 if(cltype >= var_pdocnode2->type->table_size) {
8876 var7 = 0;
8877 } else {
8878 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
8879 }
8880 }
8881 if (!var7) {
8882 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20641);
8883 exit(1);
8884 }
8885 var_tkwredefnode3 = var_nodearraylist2;
8886 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8887 cltype9 = type_nullable_parser_nodes__TKwredef.color;
8888 idtype10 = type_nullable_parser_nodes__TKwredef.id;
8889 if(var_tkwredefnode3 == NULL) {
8890 var8 = 1;
8891 } else {
8892 if(cltype9 >= var_tkwredefnode3->type->table_size) {
8893 var8 = 0;
8894 } else {
8895 var8 = var_tkwredefnode3->type->type_table[cltype9] == idtype10;
8896 }
8897 }
8898 if (!var8) {
8899 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20643);
8900 exit(1);
8901 }
8902 var_pvisibilitynode4 = var_nodearraylist3;
8903 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8904 cltype12 = type_nullable_parser_nodes__AVisibility.color;
8905 idtype13 = type_nullable_parser_nodes__AVisibility.id;
8906 if(var_pvisibilitynode4 == NULL) {
8907 var11 = 1;
8908 } else {
8909 if(cltype12 >= var_pvisibilitynode4->type->table_size) {
8910 var11 = 0;
8911 } else {
8912 var11 = var_pvisibilitynode4->type->type_table[cltype12] == idtype13;
8913 }
8914 }
8915 if (!var11) {
8916 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20645);
8917 exit(1);
8918 }
8919 var_tkwtypenode5 = var_nodearraylist4;
8920 /* <var_tkwtypenode5:nullable Object> isa nullable TKwtype */
8921 cltype15 = type_nullable_parser_nodes__TKwtype.color;
8922 idtype16 = type_nullable_parser_nodes__TKwtype.id;
8923 if(var_tkwtypenode5 == NULL) {
8924 var14 = 1;
8925 } else {
8926 if(cltype15 >= var_tkwtypenode5->type->table_size) {
8927 var14 = 0;
8928 } else {
8929 var14 = var_tkwtypenode5->type->type_table[cltype15] == idtype16;
8930 }
8931 }
8932 if (!var14) {
8933 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20647);
8934 exit(1);
8935 }
8936 var_tclassidnode6 = var_nodearraylist5;
8937 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8938 cltype18 = type_nullable_parser_nodes__TClassid.color;
8939 idtype19 = type_nullable_parser_nodes__TClassid.id;
8940 if(var_tclassidnode6 == NULL) {
8941 var17 = 1;
8942 } else {
8943 if(cltype18 >= var_tclassidnode6->type->table_size) {
8944 var17 = 0;
8945 } else {
8946 var17 = var_tclassidnode6->type->type_table[cltype18] == idtype19;
8947 }
8948 }
8949 if (!var17) {
8950 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20649);
8951 exit(1);
8952 }
8953 var_ptypenode7 = var_nodearraylist6;
8954 /* <var_ptypenode7:nullable Object> isa nullable AType */
8955 cltype21 = type_nullable_parser_nodes__AType.color;
8956 idtype22 = type_nullable_parser_nodes__AType.id;
8957 if(var_ptypenode7 == NULL) {
8958 var20 = 1;
8959 } else {
8960 if(cltype21 >= var_ptypenode7->type->table_size) {
8961 var20 = 0;
8962 } else {
8963 var20 = var_ptypenode7->type->type_table[cltype21] == idtype22;
8964 }
8965 }
8966 if (!var20) {
8967 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20651);
8968 exit(1);
8969 }
8970 var23 = NEW_parser_nodes__ATypePropdef(&type_parser_nodes__ATypePropdef);
8971 var24 = NULL;
8972 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__ATypePropdef__init_atypepropdef]))(var23, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwtypenode5, var_tclassidnode6, var_ptypenode7, var24) /* init_atypepropdef on <var23:ATypePropdef>*/;
8973 CHECK_NEW_parser_nodes__ATypePropdef(var23);
8974 var_ppropdefnode1 = var23;
8975 var_node_list = var_ppropdefnode1;
8976 var25 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction462> */
8977 var26 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var25) /* go_to on <var_p:Parser>*/;
8978 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var26, var_node_list) /* push on <var_p:Parser>*/;
8979 RET_LABEL:;
8980 }
8981 /* method parser#ReduceAction462#action for (self: Object, Parser) */
8982 void VIRTUAL_parser__ReduceAction462__action(val* self, val* p0) {
8983 parser__ReduceAction462__action(self, p0);
8984 RET_LABEL:;
8985 }
8986 /* method parser#ReduceAction463#action for (self: ReduceAction463, Parser) */
8987 void parser__ReduceAction463__action(val* self, val* p0) {
8988 val* var_p /* var p: Parser */;
8989 val* var /* : null */;
8990 val* var_node_list /* var node_list: nullable Object */;
8991 val* var1 /* : nullable Object */;
8992 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8993 val* var2 /* : nullable Object */;
8994 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8995 val* var3 /* : nullable Object */;
8996 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8997 val* var4 /* : nullable Object */;
8998 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8999 val* var5 /* : nullable Object */;
9000 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9001 val* var6 /* : nullable Object */;
9002 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9003 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9004 short int var7 /* : Bool */;
9005 int cltype;
9006 int idtype;
9007 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9008 short int var8 /* : Bool */;
9009 int cltype9;
9010 int idtype10;
9011 val* var_tkwtypenode5 /* var tkwtypenode5: nullable Object */;
9012 short int var11 /* : Bool */;
9013 int cltype12;
9014 int idtype13;
9015 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9016 short int var14 /* : Bool */;
9017 int cltype15;
9018 int idtype16;
9019 val* var_ptypenode7 /* var ptypenode7: nullable Object */;
9020 short int var17 /* : Bool */;
9021 int cltype18;
9022 int idtype19;
9023 val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */;
9024 short int var20 /* : Bool */;
9025 int cltype21;
9026 int idtype22;
9027 val* var23 /* : ATypePropdef */;
9028 val* var24 /* : null */;
9029 val* var_ppropdefnode1 /* var ppropdefnode1: nullable ATypePropdef */;
9030 long var25 /* : Int */;
9031 long var26 /* : Int */;
9032 var_p = p0;
9033 var = NULL;
9034 var_node_list = var;
9035 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9036 var_nodearraylist6 = var1;
9037 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9038 var_nodearraylist5 = var2;
9039 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9040 var_nodearraylist4 = var3;
9041 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9042 var_nodearraylist3 = var4;
9043 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9044 var_nodearraylist2 = var5;
9045 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9046 var_nodearraylist1 = var6;
9047 var_pdocnode2 = var_nodearraylist1;
9048 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9049 cltype = type_nullable_parser_nodes__ADoc.color;
9050 idtype = type_nullable_parser_nodes__ADoc.id;
9051 if(var_pdocnode2 == NULL) {
9052 var7 = 1;
9053 } else {
9054 if(cltype >= var_pdocnode2->type->table_size) {
9055 var7 = 0;
9056 } else {
9057 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
9058 }
9059 }
9060 if (!var7) {
9061 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20677);
9062 exit(1);
9063 }
9064 var_pvisibilitynode4 = var_nodearraylist2;
9065 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9066 cltype9 = type_nullable_parser_nodes__AVisibility.color;
9067 idtype10 = type_nullable_parser_nodes__AVisibility.id;
9068 if(var_pvisibilitynode4 == NULL) {
9069 var8 = 1;
9070 } else {
9071 if(cltype9 >= var_pvisibilitynode4->type->table_size) {
9072 var8 = 0;
9073 } else {
9074 var8 = var_pvisibilitynode4->type->type_table[cltype9] == idtype10;
9075 }
9076 }
9077 if (!var8) {
9078 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20679);
9079 exit(1);
9080 }
9081 var_tkwtypenode5 = var_nodearraylist3;
9082 /* <var_tkwtypenode5:nullable Object> isa nullable TKwtype */
9083 cltype12 = type_nullable_parser_nodes__TKwtype.color;
9084 idtype13 = type_nullable_parser_nodes__TKwtype.id;
9085 if(var_tkwtypenode5 == NULL) {
9086 var11 = 1;
9087 } else {
9088 if(cltype12 >= var_tkwtypenode5->type->table_size) {
9089 var11 = 0;
9090 } else {
9091 var11 = var_tkwtypenode5->type->type_table[cltype12] == idtype13;
9092 }
9093 }
9094 if (!var11) {
9095 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20681);
9096 exit(1);
9097 }
9098 var_tclassidnode6 = var_nodearraylist4;
9099 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9100 cltype15 = type_nullable_parser_nodes__TClassid.color;
9101 idtype16 = type_nullable_parser_nodes__TClassid.id;
9102 if(var_tclassidnode6 == NULL) {
9103 var14 = 1;
9104 } else {
9105 if(cltype15 >= var_tclassidnode6->type->table_size) {
9106 var14 = 0;
9107 } else {
9108 var14 = var_tclassidnode6->type->type_table[cltype15] == idtype16;
9109 }
9110 }
9111 if (!var14) {
9112 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20683);
9113 exit(1);
9114 }
9115 var_ptypenode7 = var_nodearraylist5;
9116 /* <var_ptypenode7:nullable Object> isa nullable AType */
9117 cltype18 = type_nullable_parser_nodes__AType.color;
9118 idtype19 = type_nullable_parser_nodes__AType.id;
9119 if(var_ptypenode7 == NULL) {
9120 var17 = 1;
9121 } else {
9122 if(cltype18 >= var_ptypenode7->type->table_size) {
9123 var17 = 0;
9124 } else {
9125 var17 = var_ptypenode7->type->type_table[cltype18] == idtype19;
9126 }
9127 }
9128 if (!var17) {
9129 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20685);
9130 exit(1);
9131 }
9132 var_pannotationsnode8 = var_nodearraylist6;
9133 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
9134 cltype21 = type_nullable_parser_nodes__AAnnotations.color;
9135 idtype22 = type_nullable_parser_nodes__AAnnotations.id;
9136 if(var_pannotationsnode8 == NULL) {
9137 var20 = 1;
9138 } else {
9139 if(cltype21 >= var_pannotationsnode8->type->table_size) {
9140 var20 = 0;
9141 } else {
9142 var20 = var_pannotationsnode8->type->type_table[cltype21] == idtype22;
9143 }
9144 }
9145 if (!var20) {
9146 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20687);
9147 exit(1);
9148 }
9149 var23 = NEW_parser_nodes__ATypePropdef(&type_parser_nodes__ATypePropdef);
9150 var24 = NULL;
9151 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__ATypePropdef__init_atypepropdef]))(var23, var_pdocnode2, var24, var_pvisibilitynode4, var_tkwtypenode5, var_tclassidnode6, var_ptypenode7, var_pannotationsnode8) /* init_atypepropdef on <var23:ATypePropdef>*/;
9152 CHECK_NEW_parser_nodes__ATypePropdef(var23);
9153 var_ppropdefnode1 = var23;
9154 var_node_list = var_ppropdefnode1;
9155 var25 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction463> */
9156 var26 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var25) /* go_to on <var_p:Parser>*/;
9157 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var26, var_node_list) /* push on <var_p:Parser>*/;
9158 RET_LABEL:;
9159 }
9160 /* method parser#ReduceAction463#action for (self: Object, Parser) */
9161 void VIRTUAL_parser__ReduceAction463__action(val* self, val* p0) {
9162 parser__ReduceAction463__action(self, p0);
9163 RET_LABEL:;
9164 }
9165 /* method parser#ReduceAction464#action for (self: ReduceAction464, Parser) */
9166 void parser__ReduceAction464__action(val* self, val* p0) {
9167 val* var_p /* var p: Parser */;
9168 val* var /* : null */;
9169 val* var_node_list /* var node_list: nullable Object */;
9170 val* var1 /* : nullable Object */;
9171 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9172 val* var2 /* : nullable Object */;
9173 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9174 val* var3 /* : nullable Object */;
9175 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9176 val* var4 /* : nullable Object */;
9177 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9178 val* var5 /* : nullable Object */;
9179 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9180 val* var6 /* : nullable Object */;
9181 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9182 val* var7 /* : nullable Object */;
9183 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9184 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9185 short int var8 /* : Bool */;
9186 int cltype;
9187 int idtype;
9188 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
9189 short int var9 /* : Bool */;
9190 int cltype10;
9191 int idtype11;
9192 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9193 short int var12 /* : Bool */;
9194 int cltype13;
9195 int idtype14;
9196 val* var_tkwtypenode5 /* var tkwtypenode5: nullable Object */;
9197 short int var15 /* : Bool */;
9198 int cltype16;
9199 int idtype17;
9200 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9201 short int var18 /* : Bool */;
9202 int cltype19;
9203 int idtype20;
9204 val* var_ptypenode7 /* var ptypenode7: nullable Object */;
9205 short int var21 /* : Bool */;
9206 int cltype22;
9207 int idtype23;
9208 val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */;
9209 short int var24 /* : Bool */;
9210 int cltype25;
9211 int idtype26;
9212 val* var27 /* : ATypePropdef */;
9213 val* var_ppropdefnode1 /* var ppropdefnode1: nullable ATypePropdef */;
9214 long var28 /* : Int */;
9215 long var29 /* : Int */;
9216 var_p = p0;
9217 var = NULL;
9218 var_node_list = var;
9219 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9220 var_nodearraylist7 = var1;
9221 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9222 var_nodearraylist6 = var2;
9223 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9224 var_nodearraylist5 = var3;
9225 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9226 var_nodearraylist4 = var4;
9227 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9228 var_nodearraylist3 = var5;
9229 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9230 var_nodearraylist2 = var6;
9231 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9232 var_nodearraylist1 = var7;
9233 var_pdocnode2 = var_nodearraylist1;
9234 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9235 cltype = type_nullable_parser_nodes__ADoc.color;
9236 idtype = type_nullable_parser_nodes__ADoc.id;
9237 if(var_pdocnode2 == NULL) {
9238 var8 = 1;
9239 } else {
9240 if(cltype >= var_pdocnode2->type->table_size) {
9241 var8 = 0;
9242 } else {
9243 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
9244 }
9245 }
9246 if (!var8) {
9247 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20714);
9248 exit(1);
9249 }
9250 var_tkwredefnode3 = var_nodearraylist2;
9251 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
9252 cltype10 = type_nullable_parser_nodes__TKwredef.color;
9253 idtype11 = type_nullable_parser_nodes__TKwredef.id;
9254 if(var_tkwredefnode3 == NULL) {
9255 var9 = 1;
9256 } else {
9257 if(cltype10 >= var_tkwredefnode3->type->table_size) {
9258 var9 = 0;
9259 } else {
9260 var9 = var_tkwredefnode3->type->type_table[cltype10] == idtype11;
9261 }
9262 }
9263 if (!var9) {
9264 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20716);
9265 exit(1);
9266 }
9267 var_pvisibilitynode4 = var_nodearraylist3;
9268 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9269 cltype13 = type_nullable_parser_nodes__AVisibility.color;
9270 idtype14 = type_nullable_parser_nodes__AVisibility.id;
9271 if(var_pvisibilitynode4 == NULL) {
9272 var12 = 1;
9273 } else {
9274 if(cltype13 >= var_pvisibilitynode4->type->table_size) {
9275 var12 = 0;
9276 } else {
9277 var12 = var_pvisibilitynode4->type->type_table[cltype13] == idtype14;
9278 }
9279 }
9280 if (!var12) {
9281 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20718);
9282 exit(1);
9283 }
9284 var_tkwtypenode5 = var_nodearraylist4;
9285 /* <var_tkwtypenode5:nullable Object> isa nullable TKwtype */
9286 cltype16 = type_nullable_parser_nodes__TKwtype.color;
9287 idtype17 = type_nullable_parser_nodes__TKwtype.id;
9288 if(var_tkwtypenode5 == NULL) {
9289 var15 = 1;
9290 } else {
9291 if(cltype16 >= var_tkwtypenode5->type->table_size) {
9292 var15 = 0;
9293 } else {
9294 var15 = var_tkwtypenode5->type->type_table[cltype16] == idtype17;
9295 }
9296 }
9297 if (!var15) {
9298 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20720);
9299 exit(1);
9300 }
9301 var_tclassidnode6 = var_nodearraylist5;
9302 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9303 cltype19 = type_nullable_parser_nodes__TClassid.color;
9304 idtype20 = type_nullable_parser_nodes__TClassid.id;
9305 if(var_tclassidnode6 == NULL) {
9306 var18 = 1;
9307 } else {
9308 if(cltype19 >= var_tclassidnode6->type->table_size) {
9309 var18 = 0;
9310 } else {
9311 var18 = var_tclassidnode6->type->type_table[cltype19] == idtype20;
9312 }
9313 }
9314 if (!var18) {
9315 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20722);
9316 exit(1);
9317 }
9318 var_ptypenode7 = var_nodearraylist6;
9319 /* <var_ptypenode7:nullable Object> isa nullable AType */
9320 cltype22 = type_nullable_parser_nodes__AType.color;
9321 idtype23 = type_nullable_parser_nodes__AType.id;
9322 if(var_ptypenode7 == NULL) {
9323 var21 = 1;
9324 } else {
9325 if(cltype22 >= var_ptypenode7->type->table_size) {
9326 var21 = 0;
9327 } else {
9328 var21 = var_ptypenode7->type->type_table[cltype22] == idtype23;
9329 }
9330 }
9331 if (!var21) {
9332 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20724);
9333 exit(1);
9334 }
9335 var_pannotationsnode8 = var_nodearraylist7;
9336 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
9337 cltype25 = type_nullable_parser_nodes__AAnnotations.color;
9338 idtype26 = type_nullable_parser_nodes__AAnnotations.id;
9339 if(var_pannotationsnode8 == NULL) {
9340 var24 = 1;
9341 } else {
9342 if(cltype25 >= var_pannotationsnode8->type->table_size) {
9343 var24 = 0;
9344 } else {
9345 var24 = var_pannotationsnode8->type->type_table[cltype25] == idtype26;
9346 }
9347 }
9348 if (!var24) {
9349 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20726);
9350 exit(1);
9351 }
9352 var27 = NEW_parser_nodes__ATypePropdef(&type_parser_nodes__ATypePropdef);
9353 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__ATypePropdef__init_atypepropdef]))(var27, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwtypenode5, var_tclassidnode6, var_ptypenode7, var_pannotationsnode8) /* init_atypepropdef on <var27:ATypePropdef>*/;
9354 CHECK_NEW_parser_nodes__ATypePropdef(var27);
9355 var_ppropdefnode1 = var27;
9356 var_node_list = var_ppropdefnode1;
9357 var28 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction464> */
9358 var29 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var28) /* go_to on <var_p:Parser>*/;
9359 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var29, var_node_list) /* push on <var_p:Parser>*/;
9360 RET_LABEL:;
9361 }
9362 /* method parser#ReduceAction464#action for (self: Object, Parser) */
9363 void VIRTUAL_parser__ReduceAction464__action(val* self, val* p0) {
9364 parser__ReduceAction464__action(self, p0);
9365 RET_LABEL:;
9366 }
9367 /* method parser#ReduceAction465#action for (self: ReduceAction465, Parser) */
9368 void parser__ReduceAction465__action(val* self, val* p0) {
9369 val* var_p /* var p: Parser */;
9370 val* var /* : null */;
9371 val* var_node_list /* var node_list: nullable Object */;
9372 val* var1 /* : nullable Object */;
9373 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9374 val* var2 /* : nullable Object */;
9375 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9376 val* var3 /* : nullable Object */;
9377 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9378 val* var4 /* : nullable Object */;
9379 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9380 val* var5 /* : nullable Object */;
9381 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9382 val* var6 /* : nullable Object */;
9383 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9384 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9385 short int var7 /* : Bool */;
9386 int cltype;
9387 int idtype;
9388 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9389 short int var8 /* : Bool */;
9390 int cltype9;
9391 int idtype10;
9392 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
9393 short int var11 /* : Bool */;
9394 int cltype12;
9395 int idtype13;
9396 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
9397 short int var14 /* : Bool */;
9398 int cltype15;
9399 int idtype16;
9400 val* var17 /* : AExternInitPropdef */;
9401 val* var18 /* : null */;
9402 val* var19 /* : null */;
9403 val* var20 /* : null */;
9404 val* var21 /* : null */;
9405 val* var22 /* : null */;
9406 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
9407 long var23 /* : Int */;
9408 long var24 /* : Int */;
9409 var_p = p0;
9410 var = NULL;
9411 var_node_list = var;
9412 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9413 var_nodearraylist6 = var1;
9414 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9415 var_nodearraylist5 = var2;
9416 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9417 var_nodearraylist4 = var3;
9418 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9419 var_nodearraylist3 = var4;
9420 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9421 var_nodearraylist2 = var5;
9422 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9423 var_nodearraylist1 = var6;
9424 var_pdocnode2 = var_nodearraylist1;
9425 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9426 cltype = type_nullable_parser_nodes__ADoc.color;
9427 idtype = type_nullable_parser_nodes__ADoc.id;
9428 if(var_pdocnode2 == NULL) {
9429 var7 = 1;
9430 } else {
9431 if(cltype >= var_pdocnode2->type->table_size) {
9432 var7 = 0;
9433 } else {
9434 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
9435 }
9436 }
9437 if (!var7) {
9438 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20752);
9439 exit(1);
9440 }
9441 var_pvisibilitynode4 = var_nodearraylist2;
9442 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9443 cltype9 = type_nullable_parser_nodes__AVisibility.color;
9444 idtype10 = type_nullable_parser_nodes__AVisibility.id;
9445 if(var_pvisibilitynode4 == NULL) {
9446 var8 = 1;
9447 } else {
9448 if(cltype9 >= var_pvisibilitynode4->type->table_size) {
9449 var8 = 0;
9450 } else {
9451 var8 = var_pvisibilitynode4->type->type_table[cltype9] == idtype10;
9452 }
9453 }
9454 if (!var8) {
9455 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20754);
9456 exit(1);
9457 }
9458 var_tkwnewnode5 = var_nodearraylist3;
9459 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
9460 cltype12 = type_nullable_parser_nodes__TKwnew.color;
9461 idtype13 = type_nullable_parser_nodes__TKwnew.id;
9462 if(var_tkwnewnode5 == NULL) {
9463 var11 = 1;
9464 } else {
9465 if(cltype12 >= var_tkwnewnode5->type->table_size) {
9466 var11 = 0;
9467 } else {
9468 var11 = var_tkwnewnode5->type->type_table[cltype12] == idtype13;
9469 }
9470 }
9471 if (!var11) {
9472 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20756);
9473 exit(1);
9474 }
9475 var_psignaturenode7 = var_nodearraylist4;
9476 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
9477 cltype15 = type_nullable_parser_nodes__ASignature.color;
9478 idtype16 = type_nullable_parser_nodes__ASignature.id;
9479 if(var_psignaturenode7 == NULL) {
9480 var14 = 1;
9481 } else {
9482 if(cltype15 >= var_psignaturenode7->type->table_size) {
9483 var14 = 0;
9484 } else {
9485 var14 = var_psignaturenode7->type->type_table[cltype15] == idtype16;
9486 }
9487 }
9488 if (!var14) {
9489 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20758);
9490 exit(1);
9491 }
9492 var17 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
9493 var18 = NULL;
9494 var19 = NULL;
9495 var20 = NULL;
9496 var21 = NULL;
9497 var22 = NULL;
9498 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var17->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var17, var_pdocnode2, var18, var_pvisibilitynode4, var_tkwnewnode5, var19, var_psignaturenode7, var20, var21, var22) /* init_aexterninitpropdef on <var17:AExternInitPropdef>*/;
9499 CHECK_NEW_parser_nodes__AExternInitPropdef(var17);
9500 var_ppropdefnode1 = var17;
9501 var_node_list = var_ppropdefnode1;
9502 var23 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction465> */
9503 var24 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var23) /* go_to on <var_p:Parser>*/;
9504 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var24, var_node_list) /* push on <var_p:Parser>*/;
9505 RET_LABEL:;
9506 }
9507 /* method parser#ReduceAction465#action for (self: Object, Parser) */
9508 void VIRTUAL_parser__ReduceAction465__action(val* self, val* p0) {
9509 parser__ReduceAction465__action(self, p0);
9510 RET_LABEL:;
9511 }
9512 /* method parser#ReduceAction466#action for (self: ReduceAction466, Parser) */
9513 void parser__ReduceAction466__action(val* self, val* p0) {
9514 val* var_p /* var p: Parser */;
9515 val* var /* : null */;
9516 val* var_node_list /* var node_list: nullable Object */;
9517 val* var1 /* : nullable Object */;
9518 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9519 val* var2 /* : nullable Object */;
9520 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9521 val* var3 /* : nullable Object */;
9522 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9523 val* var4 /* : nullable Object */;
9524 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9525 val* var5 /* : nullable Object */;
9526 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9527 val* var6 /* : nullable Object */;
9528 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9529 val* var7 /* : nullable Object */;
9530 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9531 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9532 short int var8 /* : Bool */;
9533 int cltype;
9534 int idtype;
9535 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
9536 short int var9 /* : Bool */;
9537 int cltype10;
9538 int idtype11;
9539 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9540 short int var12 /* : Bool */;
9541 int cltype13;
9542 int idtype14;
9543 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
9544 short int var15 /* : Bool */;
9545 int cltype16;
9546 int idtype17;
9547 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
9548 short int var18 /* : Bool */;
9549 int cltype19;
9550 int idtype20;
9551 val* var21 /* : AExternInitPropdef */;
9552 val* var22 /* : null */;
9553 val* var23 /* : null */;
9554 val* var24 /* : null */;
9555 val* var25 /* : null */;
9556 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
9557 long var26 /* : Int */;
9558 long var27 /* : Int */;
9559 var_p = p0;
9560 var = NULL;
9561 var_node_list = var;
9562 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9563 var_nodearraylist7 = var1;
9564 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9565 var_nodearraylist6 = var2;
9566 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9567 var_nodearraylist5 = var3;
9568 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9569 var_nodearraylist4 = var4;
9570 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9571 var_nodearraylist3 = var5;
9572 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9573 var_nodearraylist2 = var6;
9574 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9575 var_nodearraylist1 = var7;
9576 var_pdocnode2 = var_nodearraylist1;
9577 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9578 cltype = type_nullable_parser_nodes__ADoc.color;
9579 idtype = type_nullable_parser_nodes__ADoc.id;
9580 if(var_pdocnode2 == NULL) {
9581 var8 = 1;
9582 } else {
9583 if(cltype >= var_pdocnode2->type->table_size) {
9584 var8 = 0;
9585 } else {
9586 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
9587 }
9588 }
9589 if (!var8) {
9590 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20787);
9591 exit(1);
9592 }
9593 var_tkwredefnode3 = var_nodearraylist2;
9594 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
9595 cltype10 = type_nullable_parser_nodes__TKwredef.color;
9596 idtype11 = type_nullable_parser_nodes__TKwredef.id;
9597 if(var_tkwredefnode3 == NULL) {
9598 var9 = 1;
9599 } else {
9600 if(cltype10 >= var_tkwredefnode3->type->table_size) {
9601 var9 = 0;
9602 } else {
9603 var9 = var_tkwredefnode3->type->type_table[cltype10] == idtype11;
9604 }
9605 }
9606 if (!var9) {
9607 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20789);
9608 exit(1);
9609 }
9610 var_pvisibilitynode4 = var_nodearraylist3;
9611 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9612 cltype13 = type_nullable_parser_nodes__AVisibility.color;
9613 idtype14 = type_nullable_parser_nodes__AVisibility.id;
9614 if(var_pvisibilitynode4 == NULL) {
9615 var12 = 1;
9616 } else {
9617 if(cltype13 >= var_pvisibilitynode4->type->table_size) {
9618 var12 = 0;
9619 } else {
9620 var12 = var_pvisibilitynode4->type->type_table[cltype13] == idtype14;
9621 }
9622 }
9623 if (!var12) {
9624 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20791);
9625 exit(1);
9626 }
9627 var_tkwnewnode5 = var_nodearraylist4;
9628 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
9629 cltype16 = type_nullable_parser_nodes__TKwnew.color;
9630 idtype17 = type_nullable_parser_nodes__TKwnew.id;
9631 if(var_tkwnewnode5 == NULL) {
9632 var15 = 1;
9633 } else {
9634 if(cltype16 >= var_tkwnewnode5->type->table_size) {
9635 var15 = 0;
9636 } else {
9637 var15 = var_tkwnewnode5->type->type_table[cltype16] == idtype17;
9638 }
9639 }
9640 if (!var15) {
9641 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20793);
9642 exit(1);
9643 }
9644 var_psignaturenode7 = var_nodearraylist5;
9645 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
9646 cltype19 = type_nullable_parser_nodes__ASignature.color;
9647 idtype20 = type_nullable_parser_nodes__ASignature.id;
9648 if(var_psignaturenode7 == NULL) {
9649 var18 = 1;
9650 } else {
9651 if(cltype19 >= var_psignaturenode7->type->table_size) {
9652 var18 = 0;
9653 } else {
9654 var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20;
9655 }
9656 }
9657 if (!var18) {
9658 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20795);
9659 exit(1);
9660 }
9661 var21 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
9662 var22 = NULL;
9663 var23 = NULL;
9664 var24 = NULL;
9665 var25 = NULL;
9666 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var21->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var21, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var22, var_psignaturenode7, var23, var24, var25) /* init_aexterninitpropdef on <var21:AExternInitPropdef>*/;
9667 CHECK_NEW_parser_nodes__AExternInitPropdef(var21);
9668 var_ppropdefnode1 = var21;
9669 var_node_list = var_ppropdefnode1;
9670 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction466> */
9671 var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on <var_p:Parser>*/;
9672 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on <var_p:Parser>*/;
9673 RET_LABEL:;
9674 }
9675 /* method parser#ReduceAction466#action for (self: Object, Parser) */
9676 void VIRTUAL_parser__ReduceAction466__action(val* self, val* p0) {
9677 parser__ReduceAction466__action(self, p0);
9678 RET_LABEL:;
9679 }
9680 /* method parser#ReduceAction467#action for (self: ReduceAction467, Parser) */
9681 void parser__ReduceAction467__action(val* self, val* p0) {
9682 val* var_p /* var p: Parser */;
9683 val* var /* : null */;
9684 val* var_node_list /* var node_list: nullable Object */;
9685 val* var1 /* : nullable Object */;
9686 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9687 val* var2 /* : nullable Object */;
9688 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9689 val* var3 /* : nullable Object */;
9690 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9691 val* var4 /* : nullable Object */;
9692 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9693 val* var5 /* : nullable Object */;
9694 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9695 val* var6 /* : nullable Object */;
9696 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9697 val* var7 /* : nullable Object */;
9698 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9699 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9700 short int var8 /* : Bool */;
9701 int cltype;
9702 int idtype;
9703 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9704 short int var9 /* : Bool */;
9705 int cltype10;
9706 int idtype11;
9707 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
9708 short int var12 /* : Bool */;
9709 int cltype13;
9710 int idtype14;
9711 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
9712 short int var15 /* : Bool */;
9713 int cltype16;
9714 int idtype17;
9715 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
9716 short int var18 /* : Bool */;
9717 int cltype19;
9718 int idtype20;
9719 val* var21 /* : AExternInitPropdef */;
9720 val* var22 /* : null */;
9721 val* var23 /* : null */;
9722 val* var24 /* : null */;
9723 val* var25 /* : null */;
9724 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
9725 long var26 /* : Int */;
9726 long var27 /* : 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_nodearraylist7 = var1;
9732 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9733 var_nodearraylist6 = var2;
9734 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9735 var_nodearraylist5 = var3;
9736 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9737 var_nodearraylist4 = var4;
9738 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9739 var_nodearraylist3 = var5;
9740 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9741 var_nodearraylist2 = var6;
9742 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9743 var_nodearraylist1 = var7;
9744 var_pdocnode2 = var_nodearraylist1;
9745 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9746 cltype = type_nullable_parser_nodes__ADoc.color;
9747 idtype = type_nullable_parser_nodes__ADoc.id;
9748 if(var_pdocnode2 == NULL) {
9749 var8 = 1;
9750 } else {
9751 if(cltype >= var_pdocnode2->type->table_size) {
9752 var8 = 0;
9753 } else {
9754 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
9755 }
9756 }
9757 if (!var8) {
9758 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20824);
9759 exit(1);
9760 }
9761 var_pvisibilitynode4 = var_nodearraylist2;
9762 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9763 cltype10 = type_nullable_parser_nodes__AVisibility.color;
9764 idtype11 = type_nullable_parser_nodes__AVisibility.id;
9765 if(var_pvisibilitynode4 == NULL) {
9766 var9 = 1;
9767 } else {
9768 if(cltype10 >= var_pvisibilitynode4->type->table_size) {
9769 var9 = 0;
9770 } else {
9771 var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11;
9772 }
9773 }
9774 if (!var9) {
9775 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20826);
9776 exit(1);
9777 }
9778 var_tkwnewnode5 = var_nodearraylist3;
9779 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
9780 cltype13 = type_nullable_parser_nodes__TKwnew.color;
9781 idtype14 = type_nullable_parser_nodes__TKwnew.id;
9782 if(var_tkwnewnode5 == NULL) {
9783 var12 = 1;
9784 } else {
9785 if(cltype13 >= var_tkwnewnode5->type->table_size) {
9786 var12 = 0;
9787 } else {
9788 var12 = var_tkwnewnode5->type->type_table[cltype13] == idtype14;
9789 }
9790 }
9791 if (!var12) {
9792 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20828);
9793 exit(1);
9794 }
9795 var_pmethidnode6 = var_nodearraylist4;
9796 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
9797 cltype16 = type_nullable_parser_nodes__AMethid.color;
9798 idtype17 = type_nullable_parser_nodes__AMethid.id;
9799 if(var_pmethidnode6 == NULL) {
9800 var15 = 1;
9801 } else {
9802 if(cltype16 >= var_pmethidnode6->type->table_size) {
9803 var15 = 0;
9804 } else {
9805 var15 = var_pmethidnode6->type->type_table[cltype16] == idtype17;
9806 }
9807 }
9808 if (!var15) {
9809 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20830);
9810 exit(1);
9811 }
9812 var_psignaturenode7 = var_nodearraylist5;
9813 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
9814 cltype19 = type_nullable_parser_nodes__ASignature.color;
9815 idtype20 = type_nullable_parser_nodes__ASignature.id;
9816 if(var_psignaturenode7 == NULL) {
9817 var18 = 1;
9818 } else {
9819 if(cltype19 >= var_psignaturenode7->type->table_size) {
9820 var18 = 0;
9821 } else {
9822 var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20;
9823 }
9824 }
9825 if (!var18) {
9826 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 20832);
9827 exit(1);
9828 }
9829 var21 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
9830 var22 = NULL;
9831 var23 = NULL;
9832 var24 = NULL;
9833 var25 = NULL;
9834 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var21->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var21, var_pdocnode2, var22, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var23, var24, var25) /* init_aexterninitpropdef on <var21:AExternInitPropdef>*/;
9835 CHECK_NEW_parser_nodes__AExternInitPropdef(var21);
9836 var_ppropdefnode1 = var21;
9837 var_node_list = var_ppropdefnode1;
9838 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction467> */
9839 var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on <var_p:Parser>*/;
9840 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on <var_p:Parser>*/;
9841 RET_LABEL:;
9842 }
9843 /* method parser#ReduceAction467#action for (self: Object, Parser) */
9844 void VIRTUAL_parser__ReduceAction467__action(val* self, val* p0) {
9845 parser__ReduceAction467__action(self, p0);
9846 RET_LABEL:;
9847 }