c_src: update for kill is
[nit.git] / c_src / parser.sep.12.c
1 #include "parser.sep.0.h"
2 /* method parser#ReduceAction456#action for (self: ReduceAction456, Parser) */
3 void parser__ReduceAction456__action(val* self, val* p0) {
4 val* var_p /* var p: Parser */;
5 val* var /* : null */;
6 val* var_node_list /* var node_list: nullable Object */;
7 val* var1 /* : nullable Object */;
8 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9 val* var2 /* : nullable Object */;
10 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
11 val* var3 /* : nullable Object */;
12 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
13 val* var4 /* : nullable Object */;
14 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
15 val* var5 /* : nullable Object */;
16 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
17 val* var6 /* : nullable Object */;
18 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
19 val* var7 /* : nullable Object */;
20 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
21 val* var8 /* : nullable Object */;
22 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
23 val* var9 /* : nullable Object */;
24 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
25 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
26 short int var10 /* : Bool */;
27 int cltype;
28 int idtype;
29 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
30 short int var11 /* : Bool */;
31 int cltype12;
32 int idtype13;
33 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
34 short int var14 /* : Bool */;
35 int cltype15;
36 int idtype16;
37 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
38 short int var17 /* : Bool */;
39 int cltype18;
40 int idtype19;
41 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
42 short int var20 /* : Bool */;
43 int cltype21;
44 int idtype22;
45 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
46 short int var23 /* : Bool */;
47 int cltype24;
48 int idtype25;
49 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
50 short int var26 /* : Bool */;
51 int cltype27;
52 int idtype28;
53 val* var29 /* : AConcreteInitPropdef */;
54 val* var30 /* : null */;
55 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
56 long var31 /* : Int */;
57 long var32 /* : Int */;
58 var_p = p0;
59 var = NULL;
60 var_node_list = var;
61 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
62 var_nodearraylist9 = var1;
63 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
64 var_nodearraylist8 = var2;
65 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
66 var_nodearraylist7 = var3;
67 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
68 var_nodearraylist6 = var4;
69 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
70 var_nodearraylist5 = var5;
71 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
72 var_nodearraylist4 = var6;
73 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
74 var_nodearraylist3 = var7;
75 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
76 var_nodearraylist2 = var8;
77 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
78 var_nodearraylist1 = var9;
79 var_pdocnode2 = var_nodearraylist1;
80 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
81 cltype = type_nullable_parser_nodes__ADoc.color;
82 idtype = type_nullable_parser_nodes__ADoc.id;
83 if(var_pdocnode2 == NULL) {
84 var10 = 1;
85 } else {
86 if(cltype >= var_pdocnode2->type->table_size) {
87 var10 = 0;
88 } else {
89 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
90 }
91 }
92 if (!var10) {
93 fprintf(stderr, "Runtime error: %s", "Assert failed");
94 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20165);
95 exit(1);
96 }
97 var_tkwredefnode3 = var_nodearraylist2;
98 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
99 cltype12 = type_nullable_parser_nodes__TKwredef.color;
100 idtype13 = type_nullable_parser_nodes__TKwredef.id;
101 if(var_tkwredefnode3 == NULL) {
102 var11 = 1;
103 } else {
104 if(cltype12 >= var_tkwredefnode3->type->table_size) {
105 var11 = 0;
106 } else {
107 var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
108 }
109 }
110 if (!var11) {
111 fprintf(stderr, "Runtime error: %s", "Assert failed");
112 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20167);
113 exit(1);
114 }
115 var_pvisibilitynode4 = var_nodearraylist3;
116 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
117 cltype15 = type_nullable_parser_nodes__AVisibility.color;
118 idtype16 = type_nullable_parser_nodes__AVisibility.id;
119 if(var_pvisibilitynode4 == NULL) {
120 var14 = 1;
121 } else {
122 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
123 var14 = 0;
124 } else {
125 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
126 }
127 }
128 if (!var14) {
129 fprintf(stderr, "Runtime error: %s", "Assert failed");
130 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20169);
131 exit(1);
132 }
133 var_tkwinitnode5 = var_nodearraylist4;
134 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
135 cltype18 = type_nullable_parser_nodes__TKwinit.color;
136 idtype19 = type_nullable_parser_nodes__TKwinit.id;
137 if(var_tkwinitnode5 == NULL) {
138 var17 = 1;
139 } else {
140 if(cltype18 >= var_tkwinitnode5->type->table_size) {
141 var17 = 0;
142 } else {
143 var17 = var_tkwinitnode5->type->type_table[cltype18] == idtype19;
144 }
145 }
146 if (!var17) {
147 fprintf(stderr, "Runtime error: %s", "Assert failed");
148 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20171);
149 exit(1);
150 }
151 var_pmethidnode6 = var_nodearraylist5;
152 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
153 cltype21 = type_nullable_parser_nodes__AMethid.color;
154 idtype22 = type_nullable_parser_nodes__AMethid.id;
155 if(var_pmethidnode6 == NULL) {
156 var20 = 1;
157 } else {
158 if(cltype21 >= var_pmethidnode6->type->table_size) {
159 var20 = 0;
160 } else {
161 var20 = var_pmethidnode6->type->type_table[cltype21] == idtype22;
162 }
163 }
164 if (!var20) {
165 fprintf(stderr, "Runtime error: %s", "Assert failed");
166 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20173);
167 exit(1);
168 }
169 var_psignaturenode7 = var_nodearraylist6;
170 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
171 cltype24 = type_nullable_parser_nodes__ASignature.color;
172 idtype25 = type_nullable_parser_nodes__ASignature.id;
173 if(var_psignaturenode7 == NULL) {
174 var23 = 1;
175 } else {
176 if(cltype24 >= var_psignaturenode7->type->table_size) {
177 var23 = 0;
178 } else {
179 var23 = var_psignaturenode7->type->type_table[cltype24] == idtype25;
180 }
181 }
182 if (!var23) {
183 fprintf(stderr, "Runtime error: %s", "Assert failed");
184 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20175);
185 exit(1);
186 }
187 var_pexprnode9 = var_nodearraylist8;
188 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
189 cltype27 = type_nullable_parser_nodes__AExpr.color;
190 idtype28 = type_nullable_parser_nodes__AExpr.id;
191 if(var_pexprnode9 == NULL) {
192 var26 = 1;
193 } else {
194 if(cltype27 >= var_pexprnode9->type->table_size) {
195 var26 = 0;
196 } else {
197 var26 = var_pexprnode9->type->type_table[cltype27] == idtype28;
198 }
199 }
200 if (!var26) {
201 fprintf(stderr, "Runtime error: %s", "Assert failed");
202 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20177);
203 exit(1);
204 }
205 var29 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
206 var30 = NULL;
207 ((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>*/;
208 CHECK_NEW_parser_nodes__AConcreteInitPropdef(var29);
209 var_ppropdefnode1 = var29;
210 var_node_list = var_ppropdefnode1;
211 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction456> */
212 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
213 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
214 RET_LABEL:;
215 }
216 /* method parser#ReduceAction456#action for (self: Object, Parser) */
217 void VIRTUAL_parser__ReduceAction456__action(val* self, val* p0) {
218 parser__ReduceAction456__action(self, p0);
219 RET_LABEL:;
220 }
221 /* method parser#ReduceAction457#action for (self: ReduceAction457, Parser) */
222 void parser__ReduceAction457__action(val* self, val* p0) {
223 val* var_p /* var p: Parser */;
224 val* var /* : null */;
225 val* var_node_list /* var node_list: nullable Object */;
226 val* var1 /* : nullable Object */;
227 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
228 val* var2 /* : nullable Object */;
229 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
230 val* var3 /* : nullable Object */;
231 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
232 val* var4 /* : nullable Object */;
233 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
234 val* var5 /* : nullable Object */;
235 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
236 val* var6 /* : nullable Object */;
237 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
238 val* var7 /* : nullable Object */;
239 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
240 val* var8 /* : nullable Object */;
241 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
242 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
243 short int var9 /* : Bool */;
244 int cltype;
245 int idtype;
246 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
247 short int var10 /* : Bool */;
248 int cltype11;
249 int idtype12;
250 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
251 short int var13 /* : Bool */;
252 int cltype14;
253 int idtype15;
254 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
255 short int var16 /* : Bool */;
256 int cltype17;
257 int idtype18;
258 val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */;
259 short int var19 /* : Bool */;
260 int cltype20;
261 int idtype21;
262 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
263 short int var22 /* : Bool */;
264 int cltype23;
265 int idtype24;
266 val* var25 /* : AConcreteInitPropdef */;
267 val* var26 /* : null */;
268 val* var27 /* : null */;
269 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
270 long var28 /* : Int */;
271 long var29 /* : Int */;
272 var_p = p0;
273 var = NULL;
274 var_node_list = var;
275 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
276 var_nodearraylist8 = var1;
277 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
278 var_nodearraylist7 = var2;
279 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
280 var_nodearraylist6 = var3;
281 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
282 var_nodearraylist5 = var4;
283 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
284 var_nodearraylist4 = var5;
285 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
286 var_nodearraylist3 = var6;
287 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
288 var_nodearraylist2 = var7;
289 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
290 var_nodearraylist1 = var8;
291 var_pdocnode2 = var_nodearraylist1;
292 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
293 cltype = type_nullable_parser_nodes__ADoc.color;
294 idtype = type_nullable_parser_nodes__ADoc.id;
295 if(var_pdocnode2 == NULL) {
296 var9 = 1;
297 } else {
298 if(cltype >= var_pdocnode2->type->table_size) {
299 var9 = 0;
300 } else {
301 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
302 }
303 }
304 if (!var9) {
305 fprintf(stderr, "Runtime error: %s", "Assert failed");
306 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20206);
307 exit(1);
308 }
309 var_pvisibilitynode4 = var_nodearraylist2;
310 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
311 cltype11 = type_nullable_parser_nodes__AVisibility.color;
312 idtype12 = type_nullable_parser_nodes__AVisibility.id;
313 if(var_pvisibilitynode4 == NULL) {
314 var10 = 1;
315 } else {
316 if(cltype11 >= var_pvisibilitynode4->type->table_size) {
317 var10 = 0;
318 } else {
319 var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
320 }
321 }
322 if (!var10) {
323 fprintf(stderr, "Runtime error: %s", "Assert failed");
324 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20208);
325 exit(1);
326 }
327 var_tkwinitnode5 = var_nodearraylist3;
328 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
329 cltype14 = type_nullable_parser_nodes__TKwinit.color;
330 idtype15 = type_nullable_parser_nodes__TKwinit.id;
331 if(var_tkwinitnode5 == NULL) {
332 var13 = 1;
333 } else {
334 if(cltype14 >= var_tkwinitnode5->type->table_size) {
335 var13 = 0;
336 } else {
337 var13 = var_tkwinitnode5->type->type_table[cltype14] == idtype15;
338 }
339 }
340 if (!var13) {
341 fprintf(stderr, "Runtime error: %s", "Assert failed");
342 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20210);
343 exit(1);
344 }
345 var_psignaturenode7 = var_nodearraylist4;
346 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
347 cltype17 = type_nullable_parser_nodes__ASignature.color;
348 idtype18 = type_nullable_parser_nodes__ASignature.id;
349 if(var_psignaturenode7 == NULL) {
350 var16 = 1;
351 } else {
352 if(cltype17 >= var_psignaturenode7->type->table_size) {
353 var16 = 0;
354 } else {
355 var16 = var_psignaturenode7->type->type_table[cltype17] == idtype18;
356 }
357 }
358 if (!var16) {
359 fprintf(stderr, "Runtime error: %s", "Assert failed");
360 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20212);
361 exit(1);
362 }
363 var_pannotationsnode8 = var_nodearraylist5;
364 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
365 cltype20 = type_nullable_parser_nodes__AAnnotations.color;
366 idtype21 = type_nullable_parser_nodes__AAnnotations.id;
367 if(var_pannotationsnode8 == NULL) {
368 var19 = 1;
369 } else {
370 if(cltype20 >= var_pannotationsnode8->type->table_size) {
371 var19 = 0;
372 } else {
373 var19 = var_pannotationsnode8->type->type_table[cltype20] == idtype21;
374 }
375 }
376 if (!var19) {
377 fprintf(stderr, "Runtime error: %s", "Assert failed");
378 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20214);
379 exit(1);
380 }
381 var_pexprnode9 = var_nodearraylist7;
382 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
383 cltype23 = type_nullable_parser_nodes__AExpr.color;
384 idtype24 = type_nullable_parser_nodes__AExpr.id;
385 if(var_pexprnode9 == NULL) {
386 var22 = 1;
387 } else {
388 if(cltype23 >= var_pexprnode9->type->table_size) {
389 var22 = 0;
390 } else {
391 var22 = var_pexprnode9->type->type_table[cltype23] == idtype24;
392 }
393 }
394 if (!var22) {
395 fprintf(stderr, "Runtime error: %s", "Assert failed");
396 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20216);
397 exit(1);
398 }
399 var25 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
400 var26 = NULL;
401 var27 = NULL;
402 ((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>*/;
403 CHECK_NEW_parser_nodes__AConcreteInitPropdef(var25);
404 var_ppropdefnode1 = var25;
405 var_node_list = var_ppropdefnode1;
406 var28 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction457> */
407 var29 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var28) /* go_to on <var_p:Parser>*/;
408 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var29, var_node_list) /* push on <var_p:Parser>*/;
409 RET_LABEL:;
410 }
411 /* method parser#ReduceAction457#action for (self: Object, Parser) */
412 void VIRTUAL_parser__ReduceAction457__action(val* self, val* p0) {
413 parser__ReduceAction457__action(self, p0);
414 RET_LABEL:;
415 }
416 /* method parser#ReduceAction458#action for (self: ReduceAction458, Parser) */
417 void parser__ReduceAction458__action(val* self, val* p0) {
418 val* var_p /* var p: Parser */;
419 val* var /* : null */;
420 val* var_node_list /* var node_list: nullable Object */;
421 val* var1 /* : nullable Object */;
422 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
423 val* var2 /* : nullable Object */;
424 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
425 val* var3 /* : nullable Object */;
426 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
427 val* var4 /* : nullable Object */;
428 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
429 val* var5 /* : nullable Object */;
430 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
431 val* var6 /* : nullable Object */;
432 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
433 val* var7 /* : nullable Object */;
434 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
435 val* var8 /* : nullable Object */;
436 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
437 val* var9 /* : nullable Object */;
438 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
439 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
440 short int var10 /* : Bool */;
441 int cltype;
442 int idtype;
443 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
444 short int var11 /* : Bool */;
445 int cltype12;
446 int idtype13;
447 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
448 short int var14 /* : Bool */;
449 int cltype15;
450 int idtype16;
451 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
452 short int var17 /* : Bool */;
453 int cltype18;
454 int idtype19;
455 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
456 short int var20 /* : Bool */;
457 int cltype21;
458 int idtype22;
459 val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */;
460 short int var23 /* : Bool */;
461 int cltype24;
462 int idtype25;
463 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
464 short int var26 /* : Bool */;
465 int cltype27;
466 int idtype28;
467 val* var29 /* : AConcreteInitPropdef */;
468 val* var30 /* : null */;
469 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
470 long var31 /* : Int */;
471 long var32 /* : Int */;
472 var_p = p0;
473 var = NULL;
474 var_node_list = var;
475 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
476 var_nodearraylist9 = var1;
477 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
478 var_nodearraylist8 = var2;
479 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
480 var_nodearraylist7 = var3;
481 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
482 var_nodearraylist6 = var4;
483 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
484 var_nodearraylist5 = var5;
485 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
486 var_nodearraylist4 = var6;
487 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
488 var_nodearraylist3 = var7;
489 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
490 var_nodearraylist2 = var8;
491 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
492 var_nodearraylist1 = var9;
493 var_pdocnode2 = var_nodearraylist1;
494 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
495 cltype = type_nullable_parser_nodes__ADoc.color;
496 idtype = type_nullable_parser_nodes__ADoc.id;
497 if(var_pdocnode2 == NULL) {
498 var10 = 1;
499 } else {
500 if(cltype >= var_pdocnode2->type->table_size) {
501 var10 = 0;
502 } else {
503 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
504 }
505 }
506 if (!var10) {
507 fprintf(stderr, "Runtime error: %s", "Assert failed");
508 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20246);
509 exit(1);
510 }
511 var_tkwredefnode3 = var_nodearraylist2;
512 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
513 cltype12 = type_nullable_parser_nodes__TKwredef.color;
514 idtype13 = type_nullable_parser_nodes__TKwredef.id;
515 if(var_tkwredefnode3 == NULL) {
516 var11 = 1;
517 } else {
518 if(cltype12 >= var_tkwredefnode3->type->table_size) {
519 var11 = 0;
520 } else {
521 var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
522 }
523 }
524 if (!var11) {
525 fprintf(stderr, "Runtime error: %s", "Assert failed");
526 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20248);
527 exit(1);
528 }
529 var_pvisibilitynode4 = var_nodearraylist3;
530 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
531 cltype15 = type_nullable_parser_nodes__AVisibility.color;
532 idtype16 = type_nullable_parser_nodes__AVisibility.id;
533 if(var_pvisibilitynode4 == NULL) {
534 var14 = 1;
535 } else {
536 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
537 var14 = 0;
538 } else {
539 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
540 }
541 }
542 if (!var14) {
543 fprintf(stderr, "Runtime error: %s", "Assert failed");
544 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20250);
545 exit(1);
546 }
547 var_tkwinitnode5 = var_nodearraylist4;
548 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
549 cltype18 = type_nullable_parser_nodes__TKwinit.color;
550 idtype19 = type_nullable_parser_nodes__TKwinit.id;
551 if(var_tkwinitnode5 == NULL) {
552 var17 = 1;
553 } else {
554 if(cltype18 >= var_tkwinitnode5->type->table_size) {
555 var17 = 0;
556 } else {
557 var17 = var_tkwinitnode5->type->type_table[cltype18] == idtype19;
558 }
559 }
560 if (!var17) {
561 fprintf(stderr, "Runtime error: %s", "Assert failed");
562 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20252);
563 exit(1);
564 }
565 var_psignaturenode7 = var_nodearraylist5;
566 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
567 cltype21 = type_nullable_parser_nodes__ASignature.color;
568 idtype22 = type_nullable_parser_nodes__ASignature.id;
569 if(var_psignaturenode7 == NULL) {
570 var20 = 1;
571 } else {
572 if(cltype21 >= var_psignaturenode7->type->table_size) {
573 var20 = 0;
574 } else {
575 var20 = var_psignaturenode7->type->type_table[cltype21] == idtype22;
576 }
577 }
578 if (!var20) {
579 fprintf(stderr, "Runtime error: %s", "Assert failed");
580 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20254);
581 exit(1);
582 }
583 var_pannotationsnode8 = var_nodearraylist6;
584 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
585 cltype24 = type_nullable_parser_nodes__AAnnotations.color;
586 idtype25 = type_nullable_parser_nodes__AAnnotations.id;
587 if(var_pannotationsnode8 == NULL) {
588 var23 = 1;
589 } else {
590 if(cltype24 >= var_pannotationsnode8->type->table_size) {
591 var23 = 0;
592 } else {
593 var23 = var_pannotationsnode8->type->type_table[cltype24] == idtype25;
594 }
595 }
596 if (!var23) {
597 fprintf(stderr, "Runtime error: %s", "Assert failed");
598 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20256);
599 exit(1);
600 }
601 var_pexprnode9 = var_nodearraylist8;
602 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
603 cltype27 = type_nullable_parser_nodes__AExpr.color;
604 idtype28 = type_nullable_parser_nodes__AExpr.id;
605 if(var_pexprnode9 == NULL) {
606 var26 = 1;
607 } else {
608 if(cltype27 >= var_pexprnode9->type->table_size) {
609 var26 = 0;
610 } else {
611 var26 = var_pexprnode9->type->type_table[cltype27] == idtype28;
612 }
613 }
614 if (!var26) {
615 fprintf(stderr, "Runtime error: %s", "Assert failed");
616 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20258);
617 exit(1);
618 }
619 var29 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
620 var30 = NULL;
621 ((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>*/;
622 CHECK_NEW_parser_nodes__AConcreteInitPropdef(var29);
623 var_ppropdefnode1 = var29;
624 var_node_list = var_ppropdefnode1;
625 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction458> */
626 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
627 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
628 RET_LABEL:;
629 }
630 /* method parser#ReduceAction458#action for (self: Object, Parser) */
631 void VIRTUAL_parser__ReduceAction458__action(val* self, val* p0) {
632 parser__ReduceAction458__action(self, p0);
633 RET_LABEL:;
634 }
635 /* method parser#ReduceAction459#action for (self: ReduceAction459, Parser) */
636 void parser__ReduceAction459__action(val* self, val* p0) {
637 val* var_p /* var p: Parser */;
638 val* var /* : null */;
639 val* var_node_list /* var node_list: nullable Object */;
640 val* var1 /* : nullable Object */;
641 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
642 val* var2 /* : nullable Object */;
643 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
644 val* var3 /* : nullable Object */;
645 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
646 val* var4 /* : nullable Object */;
647 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
648 val* var5 /* : nullable Object */;
649 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
650 val* var6 /* : nullable Object */;
651 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
652 val* var7 /* : nullable Object */;
653 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
654 val* var8 /* : nullable Object */;
655 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
656 val* var9 /* : nullable Object */;
657 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
658 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
659 short int var10 /* : Bool */;
660 int cltype;
661 int idtype;
662 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
663 short int var11 /* : Bool */;
664 int cltype12;
665 int idtype13;
666 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
667 short int var14 /* : Bool */;
668 int cltype15;
669 int idtype16;
670 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
671 short int var17 /* : Bool */;
672 int cltype18;
673 int idtype19;
674 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
675 short int var20 /* : Bool */;
676 int cltype21;
677 int idtype22;
678 val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */;
679 short int var23 /* : Bool */;
680 int cltype24;
681 int idtype25;
682 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
683 short int var26 /* : Bool */;
684 int cltype27;
685 int idtype28;
686 val* var29 /* : AConcreteInitPropdef */;
687 val* var30 /* : null */;
688 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
689 long var31 /* : Int */;
690 long var32 /* : Int */;
691 var_p = p0;
692 var = NULL;
693 var_node_list = var;
694 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
695 var_nodearraylist9 = var1;
696 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
697 var_nodearraylist8 = var2;
698 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
699 var_nodearraylist7 = var3;
700 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
701 var_nodearraylist6 = var4;
702 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
703 var_nodearraylist5 = var5;
704 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
705 var_nodearraylist4 = var6;
706 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
707 var_nodearraylist3 = var7;
708 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
709 var_nodearraylist2 = var8;
710 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
711 var_nodearraylist1 = var9;
712 var_pdocnode2 = var_nodearraylist1;
713 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
714 cltype = type_nullable_parser_nodes__ADoc.color;
715 idtype = type_nullable_parser_nodes__ADoc.id;
716 if(var_pdocnode2 == NULL) {
717 var10 = 1;
718 } else {
719 if(cltype >= var_pdocnode2->type->table_size) {
720 var10 = 0;
721 } else {
722 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
723 }
724 }
725 if (!var10) {
726 fprintf(stderr, "Runtime error: %s", "Assert failed");
727 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20288);
728 exit(1);
729 }
730 var_pvisibilitynode4 = var_nodearraylist2;
731 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
732 cltype12 = type_nullable_parser_nodes__AVisibility.color;
733 idtype13 = type_nullable_parser_nodes__AVisibility.id;
734 if(var_pvisibilitynode4 == NULL) {
735 var11 = 1;
736 } else {
737 if(cltype12 >= var_pvisibilitynode4->type->table_size) {
738 var11 = 0;
739 } else {
740 var11 = var_pvisibilitynode4->type->type_table[cltype12] == idtype13;
741 }
742 }
743 if (!var11) {
744 fprintf(stderr, "Runtime error: %s", "Assert failed");
745 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20290);
746 exit(1);
747 }
748 var_tkwinitnode5 = var_nodearraylist3;
749 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
750 cltype15 = type_nullable_parser_nodes__TKwinit.color;
751 idtype16 = type_nullable_parser_nodes__TKwinit.id;
752 if(var_tkwinitnode5 == NULL) {
753 var14 = 1;
754 } else {
755 if(cltype15 >= var_tkwinitnode5->type->table_size) {
756 var14 = 0;
757 } else {
758 var14 = var_tkwinitnode5->type->type_table[cltype15] == idtype16;
759 }
760 }
761 if (!var14) {
762 fprintf(stderr, "Runtime error: %s", "Assert failed");
763 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20292);
764 exit(1);
765 }
766 var_pmethidnode6 = var_nodearraylist4;
767 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
768 cltype18 = type_nullable_parser_nodes__AMethid.color;
769 idtype19 = type_nullable_parser_nodes__AMethid.id;
770 if(var_pmethidnode6 == NULL) {
771 var17 = 1;
772 } else {
773 if(cltype18 >= var_pmethidnode6->type->table_size) {
774 var17 = 0;
775 } else {
776 var17 = var_pmethidnode6->type->type_table[cltype18] == idtype19;
777 }
778 }
779 if (!var17) {
780 fprintf(stderr, "Runtime error: %s", "Assert failed");
781 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20294);
782 exit(1);
783 }
784 var_psignaturenode7 = var_nodearraylist5;
785 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
786 cltype21 = type_nullable_parser_nodes__ASignature.color;
787 idtype22 = type_nullable_parser_nodes__ASignature.id;
788 if(var_psignaturenode7 == NULL) {
789 var20 = 1;
790 } else {
791 if(cltype21 >= var_psignaturenode7->type->table_size) {
792 var20 = 0;
793 } else {
794 var20 = var_psignaturenode7->type->type_table[cltype21] == idtype22;
795 }
796 }
797 if (!var20) {
798 fprintf(stderr, "Runtime error: %s", "Assert failed");
799 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20296);
800 exit(1);
801 }
802 var_pannotationsnode8 = var_nodearraylist6;
803 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
804 cltype24 = type_nullable_parser_nodes__AAnnotations.color;
805 idtype25 = type_nullable_parser_nodes__AAnnotations.id;
806 if(var_pannotationsnode8 == NULL) {
807 var23 = 1;
808 } else {
809 if(cltype24 >= var_pannotationsnode8->type->table_size) {
810 var23 = 0;
811 } else {
812 var23 = var_pannotationsnode8->type->type_table[cltype24] == idtype25;
813 }
814 }
815 if (!var23) {
816 fprintf(stderr, "Runtime error: %s", "Assert failed");
817 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20298);
818 exit(1);
819 }
820 var_pexprnode9 = var_nodearraylist8;
821 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
822 cltype27 = type_nullable_parser_nodes__AExpr.color;
823 idtype28 = type_nullable_parser_nodes__AExpr.id;
824 if(var_pexprnode9 == NULL) {
825 var26 = 1;
826 } else {
827 if(cltype27 >= var_pexprnode9->type->table_size) {
828 var26 = 0;
829 } else {
830 var26 = var_pexprnode9->type->type_table[cltype27] == idtype28;
831 }
832 }
833 if (!var26) {
834 fprintf(stderr, "Runtime error: %s", "Assert failed");
835 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20300);
836 exit(1);
837 }
838 var29 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
839 var30 = NULL;
840 ((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>*/;
841 CHECK_NEW_parser_nodes__AConcreteInitPropdef(var29);
842 var_ppropdefnode1 = var29;
843 var_node_list = var_ppropdefnode1;
844 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction459> */
845 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
846 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
847 RET_LABEL:;
848 }
849 /* method parser#ReduceAction459#action for (self: Object, Parser) */
850 void VIRTUAL_parser__ReduceAction459__action(val* self, val* p0) {
851 parser__ReduceAction459__action(self, p0);
852 RET_LABEL:;
853 }
854 /* method parser#ReduceAction460#action for (self: ReduceAction460, Parser) */
855 void parser__ReduceAction460__action(val* self, val* p0) {
856 val* var_p /* var p: Parser */;
857 val* var /* : null */;
858 val* var_node_list /* var node_list: nullable Object */;
859 val* var1 /* : nullable Object */;
860 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
861 val* var2 /* : nullable Object */;
862 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
863 val* var3 /* : nullable Object */;
864 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
865 val* var4 /* : nullable Object */;
866 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
867 val* var5 /* : nullable Object */;
868 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
869 val* var6 /* : nullable Object */;
870 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
871 val* var7 /* : nullable Object */;
872 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
873 val* var8 /* : nullable Object */;
874 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
875 val* var9 /* : nullable Object */;
876 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
877 val* var10 /* : nullable Object */;
878 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
879 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
880 short int var11 /* : Bool */;
881 int cltype;
882 int idtype;
883 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
884 short int var12 /* : Bool */;
885 int cltype13;
886 int idtype14;
887 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
888 short int var15 /* : Bool */;
889 int cltype16;
890 int idtype17;
891 val* var_tkwinitnode5 /* var tkwinitnode5: nullable Object */;
892 short int var18 /* : Bool */;
893 int cltype19;
894 int idtype20;
895 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
896 short int var21 /* : Bool */;
897 int cltype22;
898 int idtype23;
899 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
900 short int var24 /* : Bool */;
901 int cltype25;
902 int idtype26;
903 val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */;
904 short int var27 /* : Bool */;
905 int cltype28;
906 int idtype29;
907 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
908 short int var30 /* : Bool */;
909 int cltype31;
910 int idtype32;
911 val* var33 /* : AConcreteInitPropdef */;
912 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteInitPropdef */;
913 long var34 /* : Int */;
914 long var35 /* : Int */;
915 var_p = p0;
916 var = NULL;
917 var_node_list = var;
918 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
919 var_nodearraylist10 = var1;
920 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
921 var_nodearraylist9 = var2;
922 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
923 var_nodearraylist8 = var3;
924 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
925 var_nodearraylist7 = var4;
926 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
927 var_nodearraylist6 = var5;
928 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
929 var_nodearraylist5 = var6;
930 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
931 var_nodearraylist4 = var7;
932 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
933 var_nodearraylist3 = var8;
934 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
935 var_nodearraylist2 = var9;
936 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
937 var_nodearraylist1 = var10;
938 var_pdocnode2 = var_nodearraylist1;
939 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
940 cltype = type_nullable_parser_nodes__ADoc.color;
941 idtype = type_nullable_parser_nodes__ADoc.id;
942 if(var_pdocnode2 == NULL) {
943 var11 = 1;
944 } else {
945 if(cltype >= var_pdocnode2->type->table_size) {
946 var11 = 0;
947 } else {
948 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
949 }
950 }
951 if (!var11) {
952 fprintf(stderr, "Runtime error: %s", "Assert failed");
953 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20331);
954 exit(1);
955 }
956 var_tkwredefnode3 = var_nodearraylist2;
957 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
958 cltype13 = type_nullable_parser_nodes__TKwredef.color;
959 idtype14 = type_nullable_parser_nodes__TKwredef.id;
960 if(var_tkwredefnode3 == NULL) {
961 var12 = 1;
962 } else {
963 if(cltype13 >= var_tkwredefnode3->type->table_size) {
964 var12 = 0;
965 } else {
966 var12 = var_tkwredefnode3->type->type_table[cltype13] == idtype14;
967 }
968 }
969 if (!var12) {
970 fprintf(stderr, "Runtime error: %s", "Assert failed");
971 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20333);
972 exit(1);
973 }
974 var_pvisibilitynode4 = var_nodearraylist3;
975 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
976 cltype16 = type_nullable_parser_nodes__AVisibility.color;
977 idtype17 = type_nullable_parser_nodes__AVisibility.id;
978 if(var_pvisibilitynode4 == NULL) {
979 var15 = 1;
980 } else {
981 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
982 var15 = 0;
983 } else {
984 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
985 }
986 }
987 if (!var15) {
988 fprintf(stderr, "Runtime error: %s", "Assert failed");
989 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20335);
990 exit(1);
991 }
992 var_tkwinitnode5 = var_nodearraylist4;
993 /* <var_tkwinitnode5:nullable Object> isa nullable TKwinit */
994 cltype19 = type_nullable_parser_nodes__TKwinit.color;
995 idtype20 = type_nullable_parser_nodes__TKwinit.id;
996 if(var_tkwinitnode5 == NULL) {
997 var18 = 1;
998 } else {
999 if(cltype19 >= var_tkwinitnode5->type->table_size) {
1000 var18 = 0;
1001 } else {
1002 var18 = var_tkwinitnode5->type->type_table[cltype19] == idtype20;
1003 }
1004 }
1005 if (!var18) {
1006 fprintf(stderr, "Runtime error: %s", "Assert failed");
1007 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20337);
1008 exit(1);
1009 }
1010 var_pmethidnode6 = var_nodearraylist5;
1011 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
1012 cltype22 = type_nullable_parser_nodes__AMethid.color;
1013 idtype23 = type_nullable_parser_nodes__AMethid.id;
1014 if(var_pmethidnode6 == NULL) {
1015 var21 = 1;
1016 } else {
1017 if(cltype22 >= var_pmethidnode6->type->table_size) {
1018 var21 = 0;
1019 } else {
1020 var21 = var_pmethidnode6->type->type_table[cltype22] == idtype23;
1021 }
1022 }
1023 if (!var21) {
1024 fprintf(stderr, "Runtime error: %s", "Assert failed");
1025 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20339);
1026 exit(1);
1027 }
1028 var_psignaturenode7 = var_nodearraylist6;
1029 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
1030 cltype25 = type_nullable_parser_nodes__ASignature.color;
1031 idtype26 = type_nullable_parser_nodes__ASignature.id;
1032 if(var_psignaturenode7 == NULL) {
1033 var24 = 1;
1034 } else {
1035 if(cltype25 >= var_psignaturenode7->type->table_size) {
1036 var24 = 0;
1037 } else {
1038 var24 = var_psignaturenode7->type->type_table[cltype25] == idtype26;
1039 }
1040 }
1041 if (!var24) {
1042 fprintf(stderr, "Runtime error: %s", "Assert failed");
1043 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20341);
1044 exit(1);
1045 }
1046 var_pannotationsnode8 = var_nodearraylist7;
1047 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
1048 cltype28 = type_nullable_parser_nodes__AAnnotations.color;
1049 idtype29 = type_nullable_parser_nodes__AAnnotations.id;
1050 if(var_pannotationsnode8 == NULL) {
1051 var27 = 1;
1052 } else {
1053 if(cltype28 >= var_pannotationsnode8->type->table_size) {
1054 var27 = 0;
1055 } else {
1056 var27 = var_pannotationsnode8->type->type_table[cltype28] == idtype29;
1057 }
1058 }
1059 if (!var27) {
1060 fprintf(stderr, "Runtime error: %s", "Assert failed");
1061 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20343);
1062 exit(1);
1063 }
1064 var_pexprnode9 = var_nodearraylist9;
1065 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
1066 cltype31 = type_nullable_parser_nodes__AExpr.color;
1067 idtype32 = type_nullable_parser_nodes__AExpr.id;
1068 if(var_pexprnode9 == NULL) {
1069 var30 = 1;
1070 } else {
1071 if(cltype31 >= var_pexprnode9->type->table_size) {
1072 var30 = 0;
1073 } else {
1074 var30 = var_pexprnode9->type->type_table[cltype31] == idtype32;
1075 }
1076 }
1077 if (!var30) {
1078 fprintf(stderr, "Runtime error: %s", "Assert failed");
1079 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20345);
1080 exit(1);
1081 }
1082 var33 = NEW_parser_nodes__AConcreteInitPropdef(&type_parser_nodes__AConcreteInitPropdef);
1083 ((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>*/;
1084 CHECK_NEW_parser_nodes__AConcreteInitPropdef(var33);
1085 var_ppropdefnode1 = var33;
1086 var_node_list = var_ppropdefnode1;
1087 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction460> */
1088 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
1089 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
1090 RET_LABEL:;
1091 }
1092 /* method parser#ReduceAction460#action for (self: Object, Parser) */
1093 void VIRTUAL_parser__ReduceAction460__action(val* self, val* p0) {
1094 parser__ReduceAction460__action(self, p0);
1095 RET_LABEL:;
1096 }
1097 /* method parser#ReduceAction461#action for (self: ReduceAction461, Parser) */
1098 void parser__ReduceAction461__action(val* self, val* p0) {
1099 val* var_p /* var p: Parser */;
1100 val* var /* : null */;
1101 val* var_node_list /* var node_list: nullable Object */;
1102 val* var1 /* : nullable Object */;
1103 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1104 val* var2 /* : nullable Object */;
1105 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1106 val* var3 /* : nullable Object */;
1107 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1108 val* var4 /* : nullable Object */;
1109 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1110 val* var5 /* : nullable Object */;
1111 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1112 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1113 short int var6 /* : Bool */;
1114 int cltype;
1115 int idtype;
1116 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1117 short int var7 /* : Bool */;
1118 int cltype8;
1119 int idtype9;
1120 val* var_tkwtypenode5 /* var tkwtypenode5: nullable Object */;
1121 short int var10 /* : Bool */;
1122 int cltype11;
1123 int idtype12;
1124 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1125 short int var13 /* : Bool */;
1126 int cltype14;
1127 int idtype15;
1128 val* var_ptypenode7 /* var ptypenode7: nullable Object */;
1129 short int var16 /* : Bool */;
1130 int cltype17;
1131 int idtype18;
1132 val* var19 /* : ATypePropdef */;
1133 val* var20 /* : null */;
1134 val* var21 /* : null */;
1135 val* var_ppropdefnode1 /* var ppropdefnode1: nullable ATypePropdef */;
1136 long var22 /* : Int */;
1137 long var23 /* : Int */;
1138 var_p = p0;
1139 var = NULL;
1140 var_node_list = var;
1141 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1142 var_nodearraylist5 = var1;
1143 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1144 var_nodearraylist4 = var2;
1145 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1146 var_nodearraylist3 = var3;
1147 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1148 var_nodearraylist2 = var4;
1149 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1150 var_nodearraylist1 = var5;
1151 var_pdocnode2 = var_nodearraylist1;
1152 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1153 cltype = type_nullable_parser_nodes__ADoc.color;
1154 idtype = type_nullable_parser_nodes__ADoc.id;
1155 if(var_pdocnode2 == NULL) {
1156 var6 = 1;
1157 } else {
1158 if(cltype >= var_pdocnode2->type->table_size) {
1159 var6 = 0;
1160 } else {
1161 var6 = var_pdocnode2->type->type_table[cltype] == idtype;
1162 }
1163 }
1164 if (!var6) {
1165 fprintf(stderr, "Runtime error: %s", "Assert failed");
1166 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20371);
1167 exit(1);
1168 }
1169 var_pvisibilitynode4 = var_nodearraylist2;
1170 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1171 cltype8 = type_nullable_parser_nodes__AVisibility.color;
1172 idtype9 = type_nullable_parser_nodes__AVisibility.id;
1173 if(var_pvisibilitynode4 == NULL) {
1174 var7 = 1;
1175 } else {
1176 if(cltype8 >= var_pvisibilitynode4->type->table_size) {
1177 var7 = 0;
1178 } else {
1179 var7 = var_pvisibilitynode4->type->type_table[cltype8] == idtype9;
1180 }
1181 }
1182 if (!var7) {
1183 fprintf(stderr, "Runtime error: %s", "Assert failed");
1184 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20373);
1185 exit(1);
1186 }
1187 var_tkwtypenode5 = var_nodearraylist3;
1188 /* <var_tkwtypenode5:nullable Object> isa nullable TKwtype */
1189 cltype11 = type_nullable_parser_nodes__TKwtype.color;
1190 idtype12 = type_nullable_parser_nodes__TKwtype.id;
1191 if(var_tkwtypenode5 == NULL) {
1192 var10 = 1;
1193 } else {
1194 if(cltype11 >= var_tkwtypenode5->type->table_size) {
1195 var10 = 0;
1196 } else {
1197 var10 = var_tkwtypenode5->type->type_table[cltype11] == idtype12;
1198 }
1199 }
1200 if (!var10) {
1201 fprintf(stderr, "Runtime error: %s", "Assert failed");
1202 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20375);
1203 exit(1);
1204 }
1205 var_tclassidnode6 = var_nodearraylist4;
1206 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1207 cltype14 = type_nullable_parser_nodes__TClassid.color;
1208 idtype15 = type_nullable_parser_nodes__TClassid.id;
1209 if(var_tclassidnode6 == NULL) {
1210 var13 = 1;
1211 } else {
1212 if(cltype14 >= var_tclassidnode6->type->table_size) {
1213 var13 = 0;
1214 } else {
1215 var13 = var_tclassidnode6->type->type_table[cltype14] == idtype15;
1216 }
1217 }
1218 if (!var13) {
1219 fprintf(stderr, "Runtime error: %s", "Assert failed");
1220 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20377);
1221 exit(1);
1222 }
1223 var_ptypenode7 = var_nodearraylist5;
1224 /* <var_ptypenode7:nullable Object> isa nullable AType */
1225 cltype17 = type_nullable_parser_nodes__AType.color;
1226 idtype18 = type_nullable_parser_nodes__AType.id;
1227 if(var_ptypenode7 == NULL) {
1228 var16 = 1;
1229 } else {
1230 if(cltype17 >= var_ptypenode7->type->table_size) {
1231 var16 = 0;
1232 } else {
1233 var16 = var_ptypenode7->type->type_table[cltype17] == idtype18;
1234 }
1235 }
1236 if (!var16) {
1237 fprintf(stderr, "Runtime error: %s", "Assert failed");
1238 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20379);
1239 exit(1);
1240 }
1241 var19 = NEW_parser_nodes__ATypePropdef(&type_parser_nodes__ATypePropdef);
1242 var20 = NULL;
1243 var21 = NULL;
1244 ((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>*/;
1245 CHECK_NEW_parser_nodes__ATypePropdef(var19);
1246 var_ppropdefnode1 = var19;
1247 var_node_list = var_ppropdefnode1;
1248 var22 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction461> */
1249 var23 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var22) /* go_to on <var_p:Parser>*/;
1250 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var23, var_node_list) /* push on <var_p:Parser>*/;
1251 RET_LABEL:;
1252 }
1253 /* method parser#ReduceAction461#action for (self: Object, Parser) */
1254 void VIRTUAL_parser__ReduceAction461__action(val* self, val* p0) {
1255 parser__ReduceAction461__action(self, p0);
1256 RET_LABEL:;
1257 }
1258 /* method parser#ReduceAction462#action for (self: ReduceAction462, Parser) */
1259 void parser__ReduceAction462__action(val* self, val* p0) {
1260 val* var_p /* var p: Parser */;
1261 val* var /* : null */;
1262 val* var_node_list /* var node_list: nullable Object */;
1263 val* var1 /* : nullable Object */;
1264 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1265 val* var2 /* : nullable Object */;
1266 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1267 val* var3 /* : nullable Object */;
1268 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1269 val* var4 /* : nullable Object */;
1270 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1271 val* var5 /* : nullable Object */;
1272 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1273 val* var6 /* : nullable Object */;
1274 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1275 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1276 short int var7 /* : Bool */;
1277 int cltype;
1278 int idtype;
1279 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
1280 short int var8 /* : Bool */;
1281 int cltype9;
1282 int idtype10;
1283 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1284 short int var11 /* : Bool */;
1285 int cltype12;
1286 int idtype13;
1287 val* var_tkwtypenode5 /* var tkwtypenode5: nullable Object */;
1288 short int var14 /* : Bool */;
1289 int cltype15;
1290 int idtype16;
1291 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1292 short int var17 /* : Bool */;
1293 int cltype18;
1294 int idtype19;
1295 val* var_ptypenode7 /* var ptypenode7: nullable Object */;
1296 short int var20 /* : Bool */;
1297 int cltype21;
1298 int idtype22;
1299 val* var23 /* : ATypePropdef */;
1300 val* var24 /* : null */;
1301 val* var_ppropdefnode1 /* var ppropdefnode1: nullable ATypePropdef */;
1302 long var25 /* : Int */;
1303 long var26 /* : Int */;
1304 var_p = p0;
1305 var = NULL;
1306 var_node_list = var;
1307 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1308 var_nodearraylist6 = var1;
1309 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1310 var_nodearraylist5 = var2;
1311 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1312 var_nodearraylist4 = var3;
1313 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1314 var_nodearraylist3 = var4;
1315 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1316 var_nodearraylist2 = var5;
1317 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1318 var_nodearraylist1 = var6;
1319 var_pdocnode2 = var_nodearraylist1;
1320 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1321 cltype = type_nullable_parser_nodes__ADoc.color;
1322 idtype = type_nullable_parser_nodes__ADoc.id;
1323 if(var_pdocnode2 == NULL) {
1324 var7 = 1;
1325 } else {
1326 if(cltype >= var_pdocnode2->type->table_size) {
1327 var7 = 0;
1328 } else {
1329 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
1330 }
1331 }
1332 if (!var7) {
1333 fprintf(stderr, "Runtime error: %s", "Assert failed");
1334 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20405);
1335 exit(1);
1336 }
1337 var_tkwredefnode3 = var_nodearraylist2;
1338 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1339 cltype9 = type_nullable_parser_nodes__TKwredef.color;
1340 idtype10 = type_nullable_parser_nodes__TKwredef.id;
1341 if(var_tkwredefnode3 == NULL) {
1342 var8 = 1;
1343 } else {
1344 if(cltype9 >= var_tkwredefnode3->type->table_size) {
1345 var8 = 0;
1346 } else {
1347 var8 = var_tkwredefnode3->type->type_table[cltype9] == idtype10;
1348 }
1349 }
1350 if (!var8) {
1351 fprintf(stderr, "Runtime error: %s", "Assert failed");
1352 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20407);
1353 exit(1);
1354 }
1355 var_pvisibilitynode4 = var_nodearraylist3;
1356 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1357 cltype12 = type_nullable_parser_nodes__AVisibility.color;
1358 idtype13 = type_nullable_parser_nodes__AVisibility.id;
1359 if(var_pvisibilitynode4 == NULL) {
1360 var11 = 1;
1361 } else {
1362 if(cltype12 >= var_pvisibilitynode4->type->table_size) {
1363 var11 = 0;
1364 } else {
1365 var11 = var_pvisibilitynode4->type->type_table[cltype12] == idtype13;
1366 }
1367 }
1368 if (!var11) {
1369 fprintf(stderr, "Runtime error: %s", "Assert failed");
1370 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20409);
1371 exit(1);
1372 }
1373 var_tkwtypenode5 = var_nodearraylist4;
1374 /* <var_tkwtypenode5:nullable Object> isa nullable TKwtype */
1375 cltype15 = type_nullable_parser_nodes__TKwtype.color;
1376 idtype16 = type_nullable_parser_nodes__TKwtype.id;
1377 if(var_tkwtypenode5 == NULL) {
1378 var14 = 1;
1379 } else {
1380 if(cltype15 >= var_tkwtypenode5->type->table_size) {
1381 var14 = 0;
1382 } else {
1383 var14 = var_tkwtypenode5->type->type_table[cltype15] == idtype16;
1384 }
1385 }
1386 if (!var14) {
1387 fprintf(stderr, "Runtime error: %s", "Assert failed");
1388 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20411);
1389 exit(1);
1390 }
1391 var_tclassidnode6 = var_nodearraylist5;
1392 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1393 cltype18 = type_nullable_parser_nodes__TClassid.color;
1394 idtype19 = type_nullable_parser_nodes__TClassid.id;
1395 if(var_tclassidnode6 == NULL) {
1396 var17 = 1;
1397 } else {
1398 if(cltype18 >= var_tclassidnode6->type->table_size) {
1399 var17 = 0;
1400 } else {
1401 var17 = var_tclassidnode6->type->type_table[cltype18] == idtype19;
1402 }
1403 }
1404 if (!var17) {
1405 fprintf(stderr, "Runtime error: %s", "Assert failed");
1406 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20413);
1407 exit(1);
1408 }
1409 var_ptypenode7 = var_nodearraylist6;
1410 /* <var_ptypenode7:nullable Object> isa nullable AType */
1411 cltype21 = type_nullable_parser_nodes__AType.color;
1412 idtype22 = type_nullable_parser_nodes__AType.id;
1413 if(var_ptypenode7 == NULL) {
1414 var20 = 1;
1415 } else {
1416 if(cltype21 >= var_ptypenode7->type->table_size) {
1417 var20 = 0;
1418 } else {
1419 var20 = var_ptypenode7->type->type_table[cltype21] == idtype22;
1420 }
1421 }
1422 if (!var20) {
1423 fprintf(stderr, "Runtime error: %s", "Assert failed");
1424 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20415);
1425 exit(1);
1426 }
1427 var23 = NEW_parser_nodes__ATypePropdef(&type_parser_nodes__ATypePropdef);
1428 var24 = NULL;
1429 ((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>*/;
1430 CHECK_NEW_parser_nodes__ATypePropdef(var23);
1431 var_ppropdefnode1 = var23;
1432 var_node_list = var_ppropdefnode1;
1433 var25 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction462> */
1434 var26 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var25) /* go_to on <var_p:Parser>*/;
1435 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var26, var_node_list) /* push on <var_p:Parser>*/;
1436 RET_LABEL:;
1437 }
1438 /* method parser#ReduceAction462#action for (self: Object, Parser) */
1439 void VIRTUAL_parser__ReduceAction462__action(val* self, val* p0) {
1440 parser__ReduceAction462__action(self, p0);
1441 RET_LABEL:;
1442 }
1443 /* method parser#ReduceAction463#action for (self: ReduceAction463, Parser) */
1444 void parser__ReduceAction463__action(val* self, val* p0) {
1445 val* var_p /* var p: Parser */;
1446 val* var /* : null */;
1447 val* var_node_list /* var node_list: nullable Object */;
1448 val* var1 /* : nullable Object */;
1449 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1450 val* var2 /* : nullable Object */;
1451 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1452 val* var3 /* : nullable Object */;
1453 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1454 val* var4 /* : nullable Object */;
1455 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1456 val* var5 /* : nullable Object */;
1457 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1458 val* var6 /* : nullable Object */;
1459 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1460 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1461 short int var7 /* : Bool */;
1462 int cltype;
1463 int idtype;
1464 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1465 short int var8 /* : Bool */;
1466 int cltype9;
1467 int idtype10;
1468 val* var_tkwtypenode5 /* var tkwtypenode5: nullable Object */;
1469 short int var11 /* : Bool */;
1470 int cltype12;
1471 int idtype13;
1472 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1473 short int var14 /* : Bool */;
1474 int cltype15;
1475 int idtype16;
1476 val* var_ptypenode7 /* var ptypenode7: nullable Object */;
1477 short int var17 /* : Bool */;
1478 int cltype18;
1479 int idtype19;
1480 val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */;
1481 short int var20 /* : Bool */;
1482 int cltype21;
1483 int idtype22;
1484 val* var23 /* : ATypePropdef */;
1485 val* var24 /* : null */;
1486 val* var_ppropdefnode1 /* var ppropdefnode1: nullable ATypePropdef */;
1487 long var25 /* : Int */;
1488 long var26 /* : Int */;
1489 var_p = p0;
1490 var = NULL;
1491 var_node_list = var;
1492 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1493 var_nodearraylist6 = var1;
1494 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1495 var_nodearraylist5 = var2;
1496 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1497 var_nodearraylist4 = var3;
1498 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1499 var_nodearraylist3 = var4;
1500 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1501 var_nodearraylist2 = var5;
1502 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1503 var_nodearraylist1 = var6;
1504 var_pdocnode2 = var_nodearraylist1;
1505 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1506 cltype = type_nullable_parser_nodes__ADoc.color;
1507 idtype = type_nullable_parser_nodes__ADoc.id;
1508 if(var_pdocnode2 == NULL) {
1509 var7 = 1;
1510 } else {
1511 if(cltype >= var_pdocnode2->type->table_size) {
1512 var7 = 0;
1513 } else {
1514 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
1515 }
1516 }
1517 if (!var7) {
1518 fprintf(stderr, "Runtime error: %s", "Assert failed");
1519 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20441);
1520 exit(1);
1521 }
1522 var_pvisibilitynode4 = var_nodearraylist2;
1523 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1524 cltype9 = type_nullable_parser_nodes__AVisibility.color;
1525 idtype10 = type_nullable_parser_nodes__AVisibility.id;
1526 if(var_pvisibilitynode4 == NULL) {
1527 var8 = 1;
1528 } else {
1529 if(cltype9 >= var_pvisibilitynode4->type->table_size) {
1530 var8 = 0;
1531 } else {
1532 var8 = var_pvisibilitynode4->type->type_table[cltype9] == idtype10;
1533 }
1534 }
1535 if (!var8) {
1536 fprintf(stderr, "Runtime error: %s", "Assert failed");
1537 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20443);
1538 exit(1);
1539 }
1540 var_tkwtypenode5 = var_nodearraylist3;
1541 /* <var_tkwtypenode5:nullable Object> isa nullable TKwtype */
1542 cltype12 = type_nullable_parser_nodes__TKwtype.color;
1543 idtype13 = type_nullable_parser_nodes__TKwtype.id;
1544 if(var_tkwtypenode5 == NULL) {
1545 var11 = 1;
1546 } else {
1547 if(cltype12 >= var_tkwtypenode5->type->table_size) {
1548 var11 = 0;
1549 } else {
1550 var11 = var_tkwtypenode5->type->type_table[cltype12] == idtype13;
1551 }
1552 }
1553 if (!var11) {
1554 fprintf(stderr, "Runtime error: %s", "Assert failed");
1555 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20445);
1556 exit(1);
1557 }
1558 var_tclassidnode6 = var_nodearraylist4;
1559 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1560 cltype15 = type_nullable_parser_nodes__TClassid.color;
1561 idtype16 = type_nullable_parser_nodes__TClassid.id;
1562 if(var_tclassidnode6 == NULL) {
1563 var14 = 1;
1564 } else {
1565 if(cltype15 >= var_tclassidnode6->type->table_size) {
1566 var14 = 0;
1567 } else {
1568 var14 = var_tclassidnode6->type->type_table[cltype15] == idtype16;
1569 }
1570 }
1571 if (!var14) {
1572 fprintf(stderr, "Runtime error: %s", "Assert failed");
1573 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20447);
1574 exit(1);
1575 }
1576 var_ptypenode7 = var_nodearraylist5;
1577 /* <var_ptypenode7:nullable Object> isa nullable AType */
1578 cltype18 = type_nullable_parser_nodes__AType.color;
1579 idtype19 = type_nullable_parser_nodes__AType.id;
1580 if(var_ptypenode7 == NULL) {
1581 var17 = 1;
1582 } else {
1583 if(cltype18 >= var_ptypenode7->type->table_size) {
1584 var17 = 0;
1585 } else {
1586 var17 = var_ptypenode7->type->type_table[cltype18] == idtype19;
1587 }
1588 }
1589 if (!var17) {
1590 fprintf(stderr, "Runtime error: %s", "Assert failed");
1591 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20449);
1592 exit(1);
1593 }
1594 var_pannotationsnode8 = var_nodearraylist6;
1595 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
1596 cltype21 = type_nullable_parser_nodes__AAnnotations.color;
1597 idtype22 = type_nullable_parser_nodes__AAnnotations.id;
1598 if(var_pannotationsnode8 == NULL) {
1599 var20 = 1;
1600 } else {
1601 if(cltype21 >= var_pannotationsnode8->type->table_size) {
1602 var20 = 0;
1603 } else {
1604 var20 = var_pannotationsnode8->type->type_table[cltype21] == idtype22;
1605 }
1606 }
1607 if (!var20) {
1608 fprintf(stderr, "Runtime error: %s", "Assert failed");
1609 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20451);
1610 exit(1);
1611 }
1612 var23 = NEW_parser_nodes__ATypePropdef(&type_parser_nodes__ATypePropdef);
1613 var24 = NULL;
1614 ((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>*/;
1615 CHECK_NEW_parser_nodes__ATypePropdef(var23);
1616 var_ppropdefnode1 = var23;
1617 var_node_list = var_ppropdefnode1;
1618 var25 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction463> */
1619 var26 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var25) /* go_to on <var_p:Parser>*/;
1620 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var26, var_node_list) /* push on <var_p:Parser>*/;
1621 RET_LABEL:;
1622 }
1623 /* method parser#ReduceAction463#action for (self: Object, Parser) */
1624 void VIRTUAL_parser__ReduceAction463__action(val* self, val* p0) {
1625 parser__ReduceAction463__action(self, p0);
1626 RET_LABEL:;
1627 }
1628 /* method parser#ReduceAction464#action for (self: ReduceAction464, Parser) */
1629 void parser__ReduceAction464__action(val* self, val* p0) {
1630 val* var_p /* var p: Parser */;
1631 val* var /* : null */;
1632 val* var_node_list /* var node_list: nullable Object */;
1633 val* var1 /* : nullable Object */;
1634 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1635 val* var2 /* : nullable Object */;
1636 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1637 val* var3 /* : nullable Object */;
1638 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1639 val* var4 /* : nullable Object */;
1640 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1641 val* var5 /* : nullable Object */;
1642 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1643 val* var6 /* : nullable Object */;
1644 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1645 val* var7 /* : nullable Object */;
1646 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1647 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1648 short int var8 /* : Bool */;
1649 int cltype;
1650 int idtype;
1651 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
1652 short int var9 /* : Bool */;
1653 int cltype10;
1654 int idtype11;
1655 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1656 short int var12 /* : Bool */;
1657 int cltype13;
1658 int idtype14;
1659 val* var_tkwtypenode5 /* var tkwtypenode5: nullable Object */;
1660 short int var15 /* : Bool */;
1661 int cltype16;
1662 int idtype17;
1663 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1664 short int var18 /* : Bool */;
1665 int cltype19;
1666 int idtype20;
1667 val* var_ptypenode7 /* var ptypenode7: nullable Object */;
1668 short int var21 /* : Bool */;
1669 int cltype22;
1670 int idtype23;
1671 val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */;
1672 short int var24 /* : Bool */;
1673 int cltype25;
1674 int idtype26;
1675 val* var27 /* : ATypePropdef */;
1676 val* var_ppropdefnode1 /* var ppropdefnode1: nullable ATypePropdef */;
1677 long var28 /* : Int */;
1678 long var29 /* : Int */;
1679 var_p = p0;
1680 var = NULL;
1681 var_node_list = var;
1682 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1683 var_nodearraylist7 = var1;
1684 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1685 var_nodearraylist6 = var2;
1686 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1687 var_nodearraylist5 = var3;
1688 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1689 var_nodearraylist4 = var4;
1690 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1691 var_nodearraylist3 = var5;
1692 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1693 var_nodearraylist2 = var6;
1694 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1695 var_nodearraylist1 = var7;
1696 var_pdocnode2 = var_nodearraylist1;
1697 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1698 cltype = type_nullable_parser_nodes__ADoc.color;
1699 idtype = type_nullable_parser_nodes__ADoc.id;
1700 if(var_pdocnode2 == NULL) {
1701 var8 = 1;
1702 } else {
1703 if(cltype >= var_pdocnode2->type->table_size) {
1704 var8 = 0;
1705 } else {
1706 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
1707 }
1708 }
1709 if (!var8) {
1710 fprintf(stderr, "Runtime error: %s", "Assert failed");
1711 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20478);
1712 exit(1);
1713 }
1714 var_tkwredefnode3 = var_nodearraylist2;
1715 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1716 cltype10 = type_nullable_parser_nodes__TKwredef.color;
1717 idtype11 = type_nullable_parser_nodes__TKwredef.id;
1718 if(var_tkwredefnode3 == NULL) {
1719 var9 = 1;
1720 } else {
1721 if(cltype10 >= var_tkwredefnode3->type->table_size) {
1722 var9 = 0;
1723 } else {
1724 var9 = var_tkwredefnode3->type->type_table[cltype10] == idtype11;
1725 }
1726 }
1727 if (!var9) {
1728 fprintf(stderr, "Runtime error: %s", "Assert failed");
1729 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20480);
1730 exit(1);
1731 }
1732 var_pvisibilitynode4 = var_nodearraylist3;
1733 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1734 cltype13 = type_nullable_parser_nodes__AVisibility.color;
1735 idtype14 = type_nullable_parser_nodes__AVisibility.id;
1736 if(var_pvisibilitynode4 == NULL) {
1737 var12 = 1;
1738 } else {
1739 if(cltype13 >= var_pvisibilitynode4->type->table_size) {
1740 var12 = 0;
1741 } else {
1742 var12 = var_pvisibilitynode4->type->type_table[cltype13] == idtype14;
1743 }
1744 }
1745 if (!var12) {
1746 fprintf(stderr, "Runtime error: %s", "Assert failed");
1747 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20482);
1748 exit(1);
1749 }
1750 var_tkwtypenode5 = var_nodearraylist4;
1751 /* <var_tkwtypenode5:nullable Object> isa nullable TKwtype */
1752 cltype16 = type_nullable_parser_nodes__TKwtype.color;
1753 idtype17 = type_nullable_parser_nodes__TKwtype.id;
1754 if(var_tkwtypenode5 == NULL) {
1755 var15 = 1;
1756 } else {
1757 if(cltype16 >= var_tkwtypenode5->type->table_size) {
1758 var15 = 0;
1759 } else {
1760 var15 = var_tkwtypenode5->type->type_table[cltype16] == idtype17;
1761 }
1762 }
1763 if (!var15) {
1764 fprintf(stderr, "Runtime error: %s", "Assert failed");
1765 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20484);
1766 exit(1);
1767 }
1768 var_tclassidnode6 = var_nodearraylist5;
1769 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1770 cltype19 = type_nullable_parser_nodes__TClassid.color;
1771 idtype20 = type_nullable_parser_nodes__TClassid.id;
1772 if(var_tclassidnode6 == NULL) {
1773 var18 = 1;
1774 } else {
1775 if(cltype19 >= var_tclassidnode6->type->table_size) {
1776 var18 = 0;
1777 } else {
1778 var18 = var_tclassidnode6->type->type_table[cltype19] == idtype20;
1779 }
1780 }
1781 if (!var18) {
1782 fprintf(stderr, "Runtime error: %s", "Assert failed");
1783 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20486);
1784 exit(1);
1785 }
1786 var_ptypenode7 = var_nodearraylist6;
1787 /* <var_ptypenode7:nullable Object> isa nullable AType */
1788 cltype22 = type_nullable_parser_nodes__AType.color;
1789 idtype23 = type_nullable_parser_nodes__AType.id;
1790 if(var_ptypenode7 == NULL) {
1791 var21 = 1;
1792 } else {
1793 if(cltype22 >= var_ptypenode7->type->table_size) {
1794 var21 = 0;
1795 } else {
1796 var21 = var_ptypenode7->type->type_table[cltype22] == idtype23;
1797 }
1798 }
1799 if (!var21) {
1800 fprintf(stderr, "Runtime error: %s", "Assert failed");
1801 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20488);
1802 exit(1);
1803 }
1804 var_pannotationsnode8 = var_nodearraylist7;
1805 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
1806 cltype25 = type_nullable_parser_nodes__AAnnotations.color;
1807 idtype26 = type_nullable_parser_nodes__AAnnotations.id;
1808 if(var_pannotationsnode8 == NULL) {
1809 var24 = 1;
1810 } else {
1811 if(cltype25 >= var_pannotationsnode8->type->table_size) {
1812 var24 = 0;
1813 } else {
1814 var24 = var_pannotationsnode8->type->type_table[cltype25] == idtype26;
1815 }
1816 }
1817 if (!var24) {
1818 fprintf(stderr, "Runtime error: %s", "Assert failed");
1819 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20490);
1820 exit(1);
1821 }
1822 var27 = NEW_parser_nodes__ATypePropdef(&type_parser_nodes__ATypePropdef);
1823 ((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>*/;
1824 CHECK_NEW_parser_nodes__ATypePropdef(var27);
1825 var_ppropdefnode1 = var27;
1826 var_node_list = var_ppropdefnode1;
1827 var28 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction464> */
1828 var29 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var28) /* go_to on <var_p:Parser>*/;
1829 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var29, var_node_list) /* push on <var_p:Parser>*/;
1830 RET_LABEL:;
1831 }
1832 /* method parser#ReduceAction464#action for (self: Object, Parser) */
1833 void VIRTUAL_parser__ReduceAction464__action(val* self, val* p0) {
1834 parser__ReduceAction464__action(self, p0);
1835 RET_LABEL:;
1836 }
1837 /* method parser#ReduceAction465#action for (self: ReduceAction465, Parser) */
1838 void parser__ReduceAction465__action(val* self, val* p0) {
1839 val* var_p /* var p: Parser */;
1840 val* var /* : null */;
1841 val* var_node_list /* var node_list: nullable Object */;
1842 val* var1 /* : nullable Object */;
1843 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1844 val* var2 /* : nullable Object */;
1845 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1846 val* var3 /* : nullable Object */;
1847 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1848 val* var4 /* : nullable Object */;
1849 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1850 val* var5 /* : nullable Object */;
1851 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1852 val* var6 /* : nullable Object */;
1853 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1854 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1855 short int var7 /* : Bool */;
1856 int cltype;
1857 int idtype;
1858 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1859 short int var8 /* : Bool */;
1860 int cltype9;
1861 int idtype10;
1862 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
1863 short int var11 /* : Bool */;
1864 int cltype12;
1865 int idtype13;
1866 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
1867 short int var14 /* : Bool */;
1868 int cltype15;
1869 int idtype16;
1870 val* var17 /* : AExternInitPropdef */;
1871 val* var18 /* : null */;
1872 val* var19 /* : null */;
1873 val* var20 /* : null */;
1874 val* var21 /* : null */;
1875 val* var22 /* : null */;
1876 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
1877 long var23 /* : Int */;
1878 long var24 /* : Int */;
1879 var_p = p0;
1880 var = NULL;
1881 var_node_list = var;
1882 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1883 var_nodearraylist6 = var1;
1884 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1885 var_nodearraylist5 = var2;
1886 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1887 var_nodearraylist4 = var3;
1888 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1889 var_nodearraylist3 = var4;
1890 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1891 var_nodearraylist2 = var5;
1892 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1893 var_nodearraylist1 = var6;
1894 var_pdocnode2 = var_nodearraylist1;
1895 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1896 cltype = type_nullable_parser_nodes__ADoc.color;
1897 idtype = type_nullable_parser_nodes__ADoc.id;
1898 if(var_pdocnode2 == NULL) {
1899 var7 = 1;
1900 } else {
1901 if(cltype >= var_pdocnode2->type->table_size) {
1902 var7 = 0;
1903 } else {
1904 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
1905 }
1906 }
1907 if (!var7) {
1908 fprintf(stderr, "Runtime error: %s", "Assert failed");
1909 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20516);
1910 exit(1);
1911 }
1912 var_pvisibilitynode4 = var_nodearraylist2;
1913 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1914 cltype9 = type_nullable_parser_nodes__AVisibility.color;
1915 idtype10 = type_nullable_parser_nodes__AVisibility.id;
1916 if(var_pvisibilitynode4 == NULL) {
1917 var8 = 1;
1918 } else {
1919 if(cltype9 >= var_pvisibilitynode4->type->table_size) {
1920 var8 = 0;
1921 } else {
1922 var8 = var_pvisibilitynode4->type->type_table[cltype9] == idtype10;
1923 }
1924 }
1925 if (!var8) {
1926 fprintf(stderr, "Runtime error: %s", "Assert failed");
1927 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20518);
1928 exit(1);
1929 }
1930 var_tkwnewnode5 = var_nodearraylist3;
1931 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
1932 cltype12 = type_nullable_parser_nodes__TKwnew.color;
1933 idtype13 = type_nullable_parser_nodes__TKwnew.id;
1934 if(var_tkwnewnode5 == NULL) {
1935 var11 = 1;
1936 } else {
1937 if(cltype12 >= var_tkwnewnode5->type->table_size) {
1938 var11 = 0;
1939 } else {
1940 var11 = var_tkwnewnode5->type->type_table[cltype12] == idtype13;
1941 }
1942 }
1943 if (!var11) {
1944 fprintf(stderr, "Runtime error: %s", "Assert failed");
1945 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20520);
1946 exit(1);
1947 }
1948 var_psignaturenode7 = var_nodearraylist4;
1949 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
1950 cltype15 = type_nullable_parser_nodes__ASignature.color;
1951 idtype16 = type_nullable_parser_nodes__ASignature.id;
1952 if(var_psignaturenode7 == NULL) {
1953 var14 = 1;
1954 } else {
1955 if(cltype15 >= var_psignaturenode7->type->table_size) {
1956 var14 = 0;
1957 } else {
1958 var14 = var_psignaturenode7->type->type_table[cltype15] == idtype16;
1959 }
1960 }
1961 if (!var14) {
1962 fprintf(stderr, "Runtime error: %s", "Assert failed");
1963 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20522);
1964 exit(1);
1965 }
1966 var17 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
1967 var18 = NULL;
1968 var19 = NULL;
1969 var20 = NULL;
1970 var21 = NULL;
1971 var22 = NULL;
1972 ((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>*/;
1973 CHECK_NEW_parser_nodes__AExternInitPropdef(var17);
1974 var_ppropdefnode1 = var17;
1975 var_node_list = var_ppropdefnode1;
1976 var23 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction465> */
1977 var24 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var23) /* go_to on <var_p:Parser>*/;
1978 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var24, var_node_list) /* push on <var_p:Parser>*/;
1979 RET_LABEL:;
1980 }
1981 /* method parser#ReduceAction465#action for (self: Object, Parser) */
1982 void VIRTUAL_parser__ReduceAction465__action(val* self, val* p0) {
1983 parser__ReduceAction465__action(self, p0);
1984 RET_LABEL:;
1985 }
1986 /* method parser#ReduceAction466#action for (self: ReduceAction466, Parser) */
1987 void parser__ReduceAction466__action(val* self, val* p0) {
1988 val* var_p /* var p: Parser */;
1989 val* var /* : null */;
1990 val* var_node_list /* var node_list: nullable Object */;
1991 val* var1 /* : nullable Object */;
1992 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1993 val* var2 /* : nullable Object */;
1994 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1995 val* var3 /* : nullable Object */;
1996 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1997 val* var4 /* : nullable Object */;
1998 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1999 val* var5 /* : nullable Object */;
2000 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2001 val* var6 /* : nullable Object */;
2002 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2003 val* var7 /* : nullable Object */;
2004 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2005 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2006 short int var8 /* : Bool */;
2007 int cltype;
2008 int idtype;
2009 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
2010 short int var9 /* : Bool */;
2011 int cltype10;
2012 int idtype11;
2013 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2014 short int var12 /* : Bool */;
2015 int cltype13;
2016 int idtype14;
2017 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
2018 short int var15 /* : Bool */;
2019 int cltype16;
2020 int idtype17;
2021 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
2022 short int var18 /* : Bool */;
2023 int cltype19;
2024 int idtype20;
2025 val* var21 /* : AExternInitPropdef */;
2026 val* var22 /* : null */;
2027 val* var23 /* : null */;
2028 val* var24 /* : null */;
2029 val* var25 /* : null */;
2030 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
2031 long var26 /* : Int */;
2032 long var27 /* : Int */;
2033 var_p = p0;
2034 var = NULL;
2035 var_node_list = var;
2036 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2037 var_nodearraylist7 = var1;
2038 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2039 var_nodearraylist6 = var2;
2040 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2041 var_nodearraylist5 = var3;
2042 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2043 var_nodearraylist4 = var4;
2044 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2045 var_nodearraylist3 = var5;
2046 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2047 var_nodearraylist2 = var6;
2048 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2049 var_nodearraylist1 = var7;
2050 var_pdocnode2 = var_nodearraylist1;
2051 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2052 cltype = type_nullable_parser_nodes__ADoc.color;
2053 idtype = type_nullable_parser_nodes__ADoc.id;
2054 if(var_pdocnode2 == NULL) {
2055 var8 = 1;
2056 } else {
2057 if(cltype >= var_pdocnode2->type->table_size) {
2058 var8 = 0;
2059 } else {
2060 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
2061 }
2062 }
2063 if (!var8) {
2064 fprintf(stderr, "Runtime error: %s", "Assert failed");
2065 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20551);
2066 exit(1);
2067 }
2068 var_tkwredefnode3 = var_nodearraylist2;
2069 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2070 cltype10 = type_nullable_parser_nodes__TKwredef.color;
2071 idtype11 = type_nullable_parser_nodes__TKwredef.id;
2072 if(var_tkwredefnode3 == NULL) {
2073 var9 = 1;
2074 } else {
2075 if(cltype10 >= var_tkwredefnode3->type->table_size) {
2076 var9 = 0;
2077 } else {
2078 var9 = var_tkwredefnode3->type->type_table[cltype10] == idtype11;
2079 }
2080 }
2081 if (!var9) {
2082 fprintf(stderr, "Runtime error: %s", "Assert failed");
2083 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20553);
2084 exit(1);
2085 }
2086 var_pvisibilitynode4 = var_nodearraylist3;
2087 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2088 cltype13 = type_nullable_parser_nodes__AVisibility.color;
2089 idtype14 = type_nullable_parser_nodes__AVisibility.id;
2090 if(var_pvisibilitynode4 == NULL) {
2091 var12 = 1;
2092 } else {
2093 if(cltype13 >= var_pvisibilitynode4->type->table_size) {
2094 var12 = 0;
2095 } else {
2096 var12 = var_pvisibilitynode4->type->type_table[cltype13] == idtype14;
2097 }
2098 }
2099 if (!var12) {
2100 fprintf(stderr, "Runtime error: %s", "Assert failed");
2101 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20555);
2102 exit(1);
2103 }
2104 var_tkwnewnode5 = var_nodearraylist4;
2105 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
2106 cltype16 = type_nullable_parser_nodes__TKwnew.color;
2107 idtype17 = type_nullable_parser_nodes__TKwnew.id;
2108 if(var_tkwnewnode5 == NULL) {
2109 var15 = 1;
2110 } else {
2111 if(cltype16 >= var_tkwnewnode5->type->table_size) {
2112 var15 = 0;
2113 } else {
2114 var15 = var_tkwnewnode5->type->type_table[cltype16] == idtype17;
2115 }
2116 }
2117 if (!var15) {
2118 fprintf(stderr, "Runtime error: %s", "Assert failed");
2119 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20557);
2120 exit(1);
2121 }
2122 var_psignaturenode7 = var_nodearraylist5;
2123 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
2124 cltype19 = type_nullable_parser_nodes__ASignature.color;
2125 idtype20 = type_nullable_parser_nodes__ASignature.id;
2126 if(var_psignaturenode7 == NULL) {
2127 var18 = 1;
2128 } else {
2129 if(cltype19 >= var_psignaturenode7->type->table_size) {
2130 var18 = 0;
2131 } else {
2132 var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20;
2133 }
2134 }
2135 if (!var18) {
2136 fprintf(stderr, "Runtime error: %s", "Assert failed");
2137 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20559);
2138 exit(1);
2139 }
2140 var21 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
2141 var22 = NULL;
2142 var23 = NULL;
2143 var24 = NULL;
2144 var25 = NULL;
2145 ((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>*/;
2146 CHECK_NEW_parser_nodes__AExternInitPropdef(var21);
2147 var_ppropdefnode1 = var21;
2148 var_node_list = var_ppropdefnode1;
2149 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction466> */
2150 var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on <var_p:Parser>*/;
2151 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on <var_p:Parser>*/;
2152 RET_LABEL:;
2153 }
2154 /* method parser#ReduceAction466#action for (self: Object, Parser) */
2155 void VIRTUAL_parser__ReduceAction466__action(val* self, val* p0) {
2156 parser__ReduceAction466__action(self, p0);
2157 RET_LABEL:;
2158 }
2159 /* method parser#ReduceAction467#action for (self: ReduceAction467, Parser) */
2160 void parser__ReduceAction467__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_nodearraylist7 /* var nodearraylist7: nullable Object */;
2166 val* var2 /* : nullable Object */;
2167 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2168 val* var3 /* : nullable Object */;
2169 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2170 val* var4 /* : nullable Object */;
2171 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2172 val* var5 /* : nullable Object */;
2173 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2174 val* var6 /* : nullable Object */;
2175 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2176 val* var7 /* : nullable Object */;
2177 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2178 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2179 short int var8 /* : Bool */;
2180 int cltype;
2181 int idtype;
2182 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2183 short int var9 /* : Bool */;
2184 int cltype10;
2185 int idtype11;
2186 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
2187 short int var12 /* : Bool */;
2188 int cltype13;
2189 int idtype14;
2190 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
2191 short int var15 /* : Bool */;
2192 int cltype16;
2193 int idtype17;
2194 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
2195 short int var18 /* : Bool */;
2196 int cltype19;
2197 int idtype20;
2198 val* var21 /* : AExternInitPropdef */;
2199 val* var22 /* : null */;
2200 val* var23 /* : null */;
2201 val* var24 /* : null */;
2202 val* var25 /* : null */;
2203 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
2204 long var26 /* : Int */;
2205 long var27 /* : Int */;
2206 var_p = p0;
2207 var = NULL;
2208 var_node_list = var;
2209 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2210 var_nodearraylist7 = var1;
2211 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2212 var_nodearraylist6 = var2;
2213 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2214 var_nodearraylist5 = var3;
2215 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2216 var_nodearraylist4 = var4;
2217 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2218 var_nodearraylist3 = var5;
2219 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2220 var_nodearraylist2 = var6;
2221 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2222 var_nodearraylist1 = var7;
2223 var_pdocnode2 = var_nodearraylist1;
2224 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2225 cltype = type_nullable_parser_nodes__ADoc.color;
2226 idtype = type_nullable_parser_nodes__ADoc.id;
2227 if(var_pdocnode2 == NULL) {
2228 var8 = 1;
2229 } else {
2230 if(cltype >= var_pdocnode2->type->table_size) {
2231 var8 = 0;
2232 } else {
2233 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
2234 }
2235 }
2236 if (!var8) {
2237 fprintf(stderr, "Runtime error: %s", "Assert failed");
2238 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20588);
2239 exit(1);
2240 }
2241 var_pvisibilitynode4 = var_nodearraylist2;
2242 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2243 cltype10 = type_nullable_parser_nodes__AVisibility.color;
2244 idtype11 = type_nullable_parser_nodes__AVisibility.id;
2245 if(var_pvisibilitynode4 == NULL) {
2246 var9 = 1;
2247 } else {
2248 if(cltype10 >= var_pvisibilitynode4->type->table_size) {
2249 var9 = 0;
2250 } else {
2251 var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11;
2252 }
2253 }
2254 if (!var9) {
2255 fprintf(stderr, "Runtime error: %s", "Assert failed");
2256 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20590);
2257 exit(1);
2258 }
2259 var_tkwnewnode5 = var_nodearraylist3;
2260 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
2261 cltype13 = type_nullable_parser_nodes__TKwnew.color;
2262 idtype14 = type_nullable_parser_nodes__TKwnew.id;
2263 if(var_tkwnewnode5 == NULL) {
2264 var12 = 1;
2265 } else {
2266 if(cltype13 >= var_tkwnewnode5->type->table_size) {
2267 var12 = 0;
2268 } else {
2269 var12 = var_tkwnewnode5->type->type_table[cltype13] == idtype14;
2270 }
2271 }
2272 if (!var12) {
2273 fprintf(stderr, "Runtime error: %s", "Assert failed");
2274 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20592);
2275 exit(1);
2276 }
2277 var_pmethidnode6 = var_nodearraylist4;
2278 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
2279 cltype16 = type_nullable_parser_nodes__AMethid.color;
2280 idtype17 = type_nullable_parser_nodes__AMethid.id;
2281 if(var_pmethidnode6 == NULL) {
2282 var15 = 1;
2283 } else {
2284 if(cltype16 >= var_pmethidnode6->type->table_size) {
2285 var15 = 0;
2286 } else {
2287 var15 = var_pmethidnode6->type->type_table[cltype16] == idtype17;
2288 }
2289 }
2290 if (!var15) {
2291 fprintf(stderr, "Runtime error: %s", "Assert failed");
2292 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20594);
2293 exit(1);
2294 }
2295 var_psignaturenode7 = var_nodearraylist5;
2296 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
2297 cltype19 = type_nullable_parser_nodes__ASignature.color;
2298 idtype20 = type_nullable_parser_nodes__ASignature.id;
2299 if(var_psignaturenode7 == NULL) {
2300 var18 = 1;
2301 } else {
2302 if(cltype19 >= var_psignaturenode7->type->table_size) {
2303 var18 = 0;
2304 } else {
2305 var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20;
2306 }
2307 }
2308 if (!var18) {
2309 fprintf(stderr, "Runtime error: %s", "Assert failed");
2310 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20596);
2311 exit(1);
2312 }
2313 var21 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
2314 var22 = NULL;
2315 var23 = NULL;
2316 var24 = NULL;
2317 var25 = NULL;
2318 ((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>*/;
2319 CHECK_NEW_parser_nodes__AExternInitPropdef(var21);
2320 var_ppropdefnode1 = var21;
2321 var_node_list = var_ppropdefnode1;
2322 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction467> */
2323 var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on <var_p:Parser>*/;
2324 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on <var_p:Parser>*/;
2325 RET_LABEL:;
2326 }
2327 /* method parser#ReduceAction467#action for (self: Object, Parser) */
2328 void VIRTUAL_parser__ReduceAction467__action(val* self, val* p0) {
2329 parser__ReduceAction467__action(self, p0);
2330 RET_LABEL:;
2331 }
2332 /* method parser#ReduceAction468#action for (self: ReduceAction468, Parser) */
2333 void parser__ReduceAction468__action(val* self, val* p0) {
2334 val* var_p /* var p: Parser */;
2335 val* var /* : null */;
2336 val* var_node_list /* var node_list: nullable Object */;
2337 val* var1 /* : nullable Object */;
2338 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2339 val* var2 /* : nullable Object */;
2340 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2341 val* var3 /* : nullable Object */;
2342 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2343 val* var4 /* : nullable Object */;
2344 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2345 val* var5 /* : nullable Object */;
2346 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2347 val* var6 /* : nullable Object */;
2348 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2349 val* var7 /* : nullable Object */;
2350 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2351 val* var8 /* : nullable Object */;
2352 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2353 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2354 short int var9 /* : Bool */;
2355 int cltype;
2356 int idtype;
2357 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
2358 short int var10 /* : Bool */;
2359 int cltype11;
2360 int idtype12;
2361 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2362 short int var13 /* : Bool */;
2363 int cltype14;
2364 int idtype15;
2365 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
2366 short int var16 /* : Bool */;
2367 int cltype17;
2368 int idtype18;
2369 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
2370 short int var19 /* : Bool */;
2371 int cltype20;
2372 int idtype21;
2373 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
2374 short int var22 /* : Bool */;
2375 int cltype23;
2376 int idtype24;
2377 val* var25 /* : AExternInitPropdef */;
2378 val* var26 /* : null */;
2379 val* var27 /* : null */;
2380 val* var28 /* : null */;
2381 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
2382 long var29 /* : Int */;
2383 long var30 /* : Int */;
2384 var_p = p0;
2385 var = NULL;
2386 var_node_list = var;
2387 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2388 var_nodearraylist8 = var1;
2389 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2390 var_nodearraylist7 = var2;
2391 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2392 var_nodearraylist6 = var3;
2393 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2394 var_nodearraylist5 = var4;
2395 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2396 var_nodearraylist4 = var5;
2397 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2398 var_nodearraylist3 = var6;
2399 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2400 var_nodearraylist2 = var7;
2401 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2402 var_nodearraylist1 = var8;
2403 var_pdocnode2 = var_nodearraylist1;
2404 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2405 cltype = type_nullable_parser_nodes__ADoc.color;
2406 idtype = type_nullable_parser_nodes__ADoc.id;
2407 if(var_pdocnode2 == NULL) {
2408 var9 = 1;
2409 } else {
2410 if(cltype >= var_pdocnode2->type->table_size) {
2411 var9 = 0;
2412 } else {
2413 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
2414 }
2415 }
2416 if (!var9) {
2417 fprintf(stderr, "Runtime error: %s", "Assert failed");
2418 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20626);
2419 exit(1);
2420 }
2421 var_tkwredefnode3 = var_nodearraylist2;
2422 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2423 cltype11 = type_nullable_parser_nodes__TKwredef.color;
2424 idtype12 = type_nullable_parser_nodes__TKwredef.id;
2425 if(var_tkwredefnode3 == NULL) {
2426 var10 = 1;
2427 } else {
2428 if(cltype11 >= var_tkwredefnode3->type->table_size) {
2429 var10 = 0;
2430 } else {
2431 var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12;
2432 }
2433 }
2434 if (!var10) {
2435 fprintf(stderr, "Runtime error: %s", "Assert failed");
2436 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20628);
2437 exit(1);
2438 }
2439 var_pvisibilitynode4 = var_nodearraylist3;
2440 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2441 cltype14 = type_nullable_parser_nodes__AVisibility.color;
2442 idtype15 = type_nullable_parser_nodes__AVisibility.id;
2443 if(var_pvisibilitynode4 == NULL) {
2444 var13 = 1;
2445 } else {
2446 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
2447 var13 = 0;
2448 } else {
2449 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
2450 }
2451 }
2452 if (!var13) {
2453 fprintf(stderr, "Runtime error: %s", "Assert failed");
2454 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20630);
2455 exit(1);
2456 }
2457 var_tkwnewnode5 = var_nodearraylist4;
2458 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
2459 cltype17 = type_nullable_parser_nodes__TKwnew.color;
2460 idtype18 = type_nullable_parser_nodes__TKwnew.id;
2461 if(var_tkwnewnode5 == NULL) {
2462 var16 = 1;
2463 } else {
2464 if(cltype17 >= var_tkwnewnode5->type->table_size) {
2465 var16 = 0;
2466 } else {
2467 var16 = var_tkwnewnode5->type->type_table[cltype17] == idtype18;
2468 }
2469 }
2470 if (!var16) {
2471 fprintf(stderr, "Runtime error: %s", "Assert failed");
2472 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20632);
2473 exit(1);
2474 }
2475 var_pmethidnode6 = var_nodearraylist5;
2476 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
2477 cltype20 = type_nullable_parser_nodes__AMethid.color;
2478 idtype21 = type_nullable_parser_nodes__AMethid.id;
2479 if(var_pmethidnode6 == NULL) {
2480 var19 = 1;
2481 } else {
2482 if(cltype20 >= var_pmethidnode6->type->table_size) {
2483 var19 = 0;
2484 } else {
2485 var19 = var_pmethidnode6->type->type_table[cltype20] == idtype21;
2486 }
2487 }
2488 if (!var19) {
2489 fprintf(stderr, "Runtime error: %s", "Assert failed");
2490 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20634);
2491 exit(1);
2492 }
2493 var_psignaturenode7 = var_nodearraylist6;
2494 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
2495 cltype23 = type_nullable_parser_nodes__ASignature.color;
2496 idtype24 = type_nullable_parser_nodes__ASignature.id;
2497 if(var_psignaturenode7 == NULL) {
2498 var22 = 1;
2499 } else {
2500 if(cltype23 >= var_psignaturenode7->type->table_size) {
2501 var22 = 0;
2502 } else {
2503 var22 = var_psignaturenode7->type->type_table[cltype23] == idtype24;
2504 }
2505 }
2506 if (!var22) {
2507 fprintf(stderr, "Runtime error: %s", "Assert failed");
2508 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20636);
2509 exit(1);
2510 }
2511 var25 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
2512 var26 = NULL;
2513 var27 = NULL;
2514 var28 = NULL;
2515 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var25, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var26, var27, var28) /* init_aexterninitpropdef on <var25:AExternInitPropdef>*/;
2516 CHECK_NEW_parser_nodes__AExternInitPropdef(var25);
2517 var_ppropdefnode1 = var25;
2518 var_node_list = var_ppropdefnode1;
2519 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction468> */
2520 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
2521 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
2522 RET_LABEL:;
2523 }
2524 /* method parser#ReduceAction468#action for (self: Object, Parser) */
2525 void VIRTUAL_parser__ReduceAction468__action(val* self, val* p0) {
2526 parser__ReduceAction468__action(self, p0);
2527 RET_LABEL:;
2528 }
2529 /* method parser#ReduceAction469#action for (self: ReduceAction469, Parser) */
2530 void parser__ReduceAction469__action(val* self, val* p0) {
2531 val* var_p /* var p: Parser */;
2532 val* var /* : null */;
2533 val* var_node_list /* var node_list: nullable Object */;
2534 val* var1 /* : nullable Object */;
2535 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2536 val* var2 /* : nullable Object */;
2537 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2538 val* var3 /* : nullable Object */;
2539 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2540 val* var4 /* : nullable Object */;
2541 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2542 val* var5 /* : nullable Object */;
2543 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2544 val* var6 /* : nullable Object */;
2545 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2546 val* var7 /* : nullable Object */;
2547 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2548 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2549 short int var8 /* : Bool */;
2550 int cltype;
2551 int idtype;
2552 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2553 short int var9 /* : Bool */;
2554 int cltype10;
2555 int idtype11;
2556 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
2557 short int var12 /* : Bool */;
2558 int cltype13;
2559 int idtype14;
2560 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
2561 short int var15 /* : Bool */;
2562 int cltype16;
2563 int idtype17;
2564 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
2565 short int var18 /* : Bool */;
2566 int cltype19;
2567 int idtype20;
2568 val* var21 /* : AExternInitPropdef */;
2569 val* var22 /* : null */;
2570 val* var23 /* : null */;
2571 val* var24 /* : null */;
2572 val* var25 /* : null */;
2573 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
2574 long var26 /* : Int */;
2575 long var27 /* : Int */;
2576 var_p = p0;
2577 var = NULL;
2578 var_node_list = var;
2579 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2580 var_nodearraylist7 = var1;
2581 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2582 var_nodearraylist6 = var2;
2583 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2584 var_nodearraylist5 = var3;
2585 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2586 var_nodearraylist4 = var4;
2587 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2588 var_nodearraylist3 = var5;
2589 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2590 var_nodearraylist2 = var6;
2591 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2592 var_nodearraylist1 = var7;
2593 var_pdocnode2 = var_nodearraylist1;
2594 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2595 cltype = type_nullable_parser_nodes__ADoc.color;
2596 idtype = type_nullable_parser_nodes__ADoc.id;
2597 if(var_pdocnode2 == NULL) {
2598 var8 = 1;
2599 } else {
2600 if(cltype >= var_pdocnode2->type->table_size) {
2601 var8 = 0;
2602 } else {
2603 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
2604 }
2605 }
2606 if (!var8) {
2607 fprintf(stderr, "Runtime error: %s", "Assert failed");
2608 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20665);
2609 exit(1);
2610 }
2611 var_pvisibilitynode4 = var_nodearraylist2;
2612 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2613 cltype10 = type_nullable_parser_nodes__AVisibility.color;
2614 idtype11 = type_nullable_parser_nodes__AVisibility.id;
2615 if(var_pvisibilitynode4 == NULL) {
2616 var9 = 1;
2617 } else {
2618 if(cltype10 >= var_pvisibilitynode4->type->table_size) {
2619 var9 = 0;
2620 } else {
2621 var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11;
2622 }
2623 }
2624 if (!var9) {
2625 fprintf(stderr, "Runtime error: %s", "Assert failed");
2626 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20667);
2627 exit(1);
2628 }
2629 var_tkwnewnode5 = var_nodearraylist3;
2630 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
2631 cltype13 = type_nullable_parser_nodes__TKwnew.color;
2632 idtype14 = type_nullable_parser_nodes__TKwnew.id;
2633 if(var_tkwnewnode5 == NULL) {
2634 var12 = 1;
2635 } else {
2636 if(cltype13 >= var_tkwnewnode5->type->table_size) {
2637 var12 = 0;
2638 } else {
2639 var12 = var_tkwnewnode5->type->type_table[cltype13] == idtype14;
2640 }
2641 }
2642 if (!var12) {
2643 fprintf(stderr, "Runtime error: %s", "Assert failed");
2644 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20669);
2645 exit(1);
2646 }
2647 var_psignaturenode7 = var_nodearraylist4;
2648 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
2649 cltype16 = type_nullable_parser_nodes__ASignature.color;
2650 idtype17 = type_nullable_parser_nodes__ASignature.id;
2651 if(var_psignaturenode7 == NULL) {
2652 var15 = 1;
2653 } else {
2654 if(cltype16 >= var_psignaturenode7->type->table_size) {
2655 var15 = 0;
2656 } else {
2657 var15 = var_psignaturenode7->type->type_table[cltype16] == idtype17;
2658 }
2659 }
2660 if (!var15) {
2661 fprintf(stderr, "Runtime error: %s", "Assert failed");
2662 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20671);
2663 exit(1);
2664 }
2665 var_tstringnode8 = var_nodearraylist7;
2666 /* <var_tstringnode8:nullable Object> isa nullable TString */
2667 cltype19 = type_nullable_parser_nodes__TString.color;
2668 idtype20 = type_nullable_parser_nodes__TString.id;
2669 if(var_tstringnode8 == NULL) {
2670 var18 = 1;
2671 } else {
2672 if(cltype19 >= var_tstringnode8->type->table_size) {
2673 var18 = 0;
2674 } else {
2675 var18 = var_tstringnode8->type->type_table[cltype19] == idtype20;
2676 }
2677 }
2678 if (!var18) {
2679 fprintf(stderr, "Runtime error: %s", "Assert failed");
2680 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20673);
2681 exit(1);
2682 }
2683 var21 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
2684 var22 = NULL;
2685 var23 = NULL;
2686 var24 = NULL;
2687 var25 = NULL;
2688 ((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, var23, var_psignaturenode7, var_tstringnode8, var24, var25) /* init_aexterninitpropdef on <var21:AExternInitPropdef>*/;
2689 CHECK_NEW_parser_nodes__AExternInitPropdef(var21);
2690 var_ppropdefnode1 = var21;
2691 var_node_list = var_ppropdefnode1;
2692 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction469> */
2693 var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on <var_p:Parser>*/;
2694 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on <var_p:Parser>*/;
2695 RET_LABEL:;
2696 }
2697 /* method parser#ReduceAction469#action for (self: Object, Parser) */
2698 void VIRTUAL_parser__ReduceAction469__action(val* self, val* p0) {
2699 parser__ReduceAction469__action(self, p0);
2700 RET_LABEL:;
2701 }
2702 /* method parser#ReduceAction470#action for (self: ReduceAction470, Parser) */
2703 void parser__ReduceAction470__action(val* self, val* p0) {
2704 val* var_p /* var p: Parser */;
2705 val* var /* : null */;
2706 val* var_node_list /* var node_list: nullable Object */;
2707 val* var1 /* : nullable Object */;
2708 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2709 val* var2 /* : nullable Object */;
2710 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2711 val* var3 /* : nullable Object */;
2712 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2713 val* var4 /* : nullable Object */;
2714 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2715 val* var5 /* : nullable Object */;
2716 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2717 val* var6 /* : nullable Object */;
2718 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2719 val* var7 /* : nullable Object */;
2720 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2721 val* var8 /* : nullable Object */;
2722 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2723 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2724 short int var9 /* : Bool */;
2725 int cltype;
2726 int idtype;
2727 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
2728 short int var10 /* : Bool */;
2729 int cltype11;
2730 int idtype12;
2731 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2732 short int var13 /* : Bool */;
2733 int cltype14;
2734 int idtype15;
2735 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
2736 short int var16 /* : Bool */;
2737 int cltype17;
2738 int idtype18;
2739 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
2740 short int var19 /* : Bool */;
2741 int cltype20;
2742 int idtype21;
2743 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
2744 short int var22 /* : Bool */;
2745 int cltype23;
2746 int idtype24;
2747 val* var25 /* : AExternInitPropdef */;
2748 val* var26 /* : null */;
2749 val* var27 /* : null */;
2750 val* var28 /* : null */;
2751 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
2752 long var29 /* : Int */;
2753 long var30 /* : Int */;
2754 var_p = p0;
2755 var = NULL;
2756 var_node_list = var;
2757 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2758 var_nodearraylist8 = var1;
2759 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2760 var_nodearraylist7 = var2;
2761 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2762 var_nodearraylist6 = var3;
2763 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2764 var_nodearraylist5 = var4;
2765 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2766 var_nodearraylist4 = var5;
2767 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2768 var_nodearraylist3 = var6;
2769 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2770 var_nodearraylist2 = var7;
2771 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2772 var_nodearraylist1 = var8;
2773 var_pdocnode2 = var_nodearraylist1;
2774 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2775 cltype = type_nullable_parser_nodes__ADoc.color;
2776 idtype = type_nullable_parser_nodes__ADoc.id;
2777 if(var_pdocnode2 == NULL) {
2778 var9 = 1;
2779 } else {
2780 if(cltype >= var_pdocnode2->type->table_size) {
2781 var9 = 0;
2782 } else {
2783 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
2784 }
2785 }
2786 if (!var9) {
2787 fprintf(stderr, "Runtime error: %s", "Assert failed");
2788 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20703);
2789 exit(1);
2790 }
2791 var_tkwredefnode3 = var_nodearraylist2;
2792 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2793 cltype11 = type_nullable_parser_nodes__TKwredef.color;
2794 idtype12 = type_nullable_parser_nodes__TKwredef.id;
2795 if(var_tkwredefnode3 == NULL) {
2796 var10 = 1;
2797 } else {
2798 if(cltype11 >= var_tkwredefnode3->type->table_size) {
2799 var10 = 0;
2800 } else {
2801 var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12;
2802 }
2803 }
2804 if (!var10) {
2805 fprintf(stderr, "Runtime error: %s", "Assert failed");
2806 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20705);
2807 exit(1);
2808 }
2809 var_pvisibilitynode4 = var_nodearraylist3;
2810 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2811 cltype14 = type_nullable_parser_nodes__AVisibility.color;
2812 idtype15 = type_nullable_parser_nodes__AVisibility.id;
2813 if(var_pvisibilitynode4 == NULL) {
2814 var13 = 1;
2815 } else {
2816 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
2817 var13 = 0;
2818 } else {
2819 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
2820 }
2821 }
2822 if (!var13) {
2823 fprintf(stderr, "Runtime error: %s", "Assert failed");
2824 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20707);
2825 exit(1);
2826 }
2827 var_tkwnewnode5 = var_nodearraylist4;
2828 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
2829 cltype17 = type_nullable_parser_nodes__TKwnew.color;
2830 idtype18 = type_nullable_parser_nodes__TKwnew.id;
2831 if(var_tkwnewnode5 == NULL) {
2832 var16 = 1;
2833 } else {
2834 if(cltype17 >= var_tkwnewnode5->type->table_size) {
2835 var16 = 0;
2836 } else {
2837 var16 = var_tkwnewnode5->type->type_table[cltype17] == idtype18;
2838 }
2839 }
2840 if (!var16) {
2841 fprintf(stderr, "Runtime error: %s", "Assert failed");
2842 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20709);
2843 exit(1);
2844 }
2845 var_psignaturenode7 = var_nodearraylist5;
2846 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
2847 cltype20 = type_nullable_parser_nodes__ASignature.color;
2848 idtype21 = type_nullable_parser_nodes__ASignature.id;
2849 if(var_psignaturenode7 == NULL) {
2850 var19 = 1;
2851 } else {
2852 if(cltype20 >= var_psignaturenode7->type->table_size) {
2853 var19 = 0;
2854 } else {
2855 var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
2856 }
2857 }
2858 if (!var19) {
2859 fprintf(stderr, "Runtime error: %s", "Assert failed");
2860 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20711);
2861 exit(1);
2862 }
2863 var_tstringnode8 = var_nodearraylist8;
2864 /* <var_tstringnode8:nullable Object> isa nullable TString */
2865 cltype23 = type_nullable_parser_nodes__TString.color;
2866 idtype24 = type_nullable_parser_nodes__TString.id;
2867 if(var_tstringnode8 == NULL) {
2868 var22 = 1;
2869 } else {
2870 if(cltype23 >= var_tstringnode8->type->table_size) {
2871 var22 = 0;
2872 } else {
2873 var22 = var_tstringnode8->type->type_table[cltype23] == idtype24;
2874 }
2875 }
2876 if (!var22) {
2877 fprintf(stderr, "Runtime error: %s", "Assert failed");
2878 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20713);
2879 exit(1);
2880 }
2881 var25 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
2882 var26 = NULL;
2883 var27 = NULL;
2884 var28 = NULL;
2885 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var25, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var26, var_psignaturenode7, var_tstringnode8, var27, var28) /* init_aexterninitpropdef on <var25:AExternInitPropdef>*/;
2886 CHECK_NEW_parser_nodes__AExternInitPropdef(var25);
2887 var_ppropdefnode1 = var25;
2888 var_node_list = var_ppropdefnode1;
2889 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction470> */
2890 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
2891 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
2892 RET_LABEL:;
2893 }
2894 /* method parser#ReduceAction470#action for (self: Object, Parser) */
2895 void VIRTUAL_parser__ReduceAction470__action(val* self, val* p0) {
2896 parser__ReduceAction470__action(self, p0);
2897 RET_LABEL:;
2898 }
2899 /* method parser#ReduceAction471#action for (self: ReduceAction471, Parser) */
2900 void parser__ReduceAction471__action(val* self, val* p0) {
2901 val* var_p /* var p: Parser */;
2902 val* var /* : null */;
2903 val* var_node_list /* var node_list: nullable Object */;
2904 val* var1 /* : nullable Object */;
2905 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2906 val* var2 /* : nullable Object */;
2907 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2908 val* var3 /* : nullable Object */;
2909 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2910 val* var4 /* : nullable Object */;
2911 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2912 val* var5 /* : nullable Object */;
2913 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2914 val* var6 /* : nullable Object */;
2915 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2916 val* var7 /* : nullable Object */;
2917 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2918 val* var8 /* : nullable Object */;
2919 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2920 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2921 short int var9 /* : Bool */;
2922 int cltype;
2923 int idtype;
2924 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2925 short int var10 /* : Bool */;
2926 int cltype11;
2927 int idtype12;
2928 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
2929 short int var13 /* : Bool */;
2930 int cltype14;
2931 int idtype15;
2932 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
2933 short int var16 /* : Bool */;
2934 int cltype17;
2935 int idtype18;
2936 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
2937 short int var19 /* : Bool */;
2938 int cltype20;
2939 int idtype21;
2940 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
2941 short int var22 /* : Bool */;
2942 int cltype23;
2943 int idtype24;
2944 val* var25 /* : AExternInitPropdef */;
2945 val* var26 /* : null */;
2946 val* var27 /* : null */;
2947 val* var28 /* : null */;
2948 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
2949 long var29 /* : Int */;
2950 long var30 /* : Int */;
2951 var_p = p0;
2952 var = NULL;
2953 var_node_list = var;
2954 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2955 var_nodearraylist8 = var1;
2956 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2957 var_nodearraylist7 = var2;
2958 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2959 var_nodearraylist6 = var3;
2960 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2961 var_nodearraylist5 = var4;
2962 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2963 var_nodearraylist4 = var5;
2964 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2965 var_nodearraylist3 = var6;
2966 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2967 var_nodearraylist2 = var7;
2968 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2969 var_nodearraylist1 = var8;
2970 var_pdocnode2 = var_nodearraylist1;
2971 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2972 cltype = type_nullable_parser_nodes__ADoc.color;
2973 idtype = type_nullable_parser_nodes__ADoc.id;
2974 if(var_pdocnode2 == NULL) {
2975 var9 = 1;
2976 } else {
2977 if(cltype >= var_pdocnode2->type->table_size) {
2978 var9 = 0;
2979 } else {
2980 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
2981 }
2982 }
2983 if (!var9) {
2984 fprintf(stderr, "Runtime error: %s", "Assert failed");
2985 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20743);
2986 exit(1);
2987 }
2988 var_pvisibilitynode4 = var_nodearraylist2;
2989 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2990 cltype11 = type_nullable_parser_nodes__AVisibility.color;
2991 idtype12 = type_nullable_parser_nodes__AVisibility.id;
2992 if(var_pvisibilitynode4 == NULL) {
2993 var10 = 1;
2994 } else {
2995 if(cltype11 >= var_pvisibilitynode4->type->table_size) {
2996 var10 = 0;
2997 } else {
2998 var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
2999 }
3000 }
3001 if (!var10) {
3002 fprintf(stderr, "Runtime error: %s", "Assert failed");
3003 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20745);
3004 exit(1);
3005 }
3006 var_tkwnewnode5 = var_nodearraylist3;
3007 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
3008 cltype14 = type_nullable_parser_nodes__TKwnew.color;
3009 idtype15 = type_nullable_parser_nodes__TKwnew.id;
3010 if(var_tkwnewnode5 == NULL) {
3011 var13 = 1;
3012 } else {
3013 if(cltype14 >= var_tkwnewnode5->type->table_size) {
3014 var13 = 0;
3015 } else {
3016 var13 = var_tkwnewnode5->type->type_table[cltype14] == idtype15;
3017 }
3018 }
3019 if (!var13) {
3020 fprintf(stderr, "Runtime error: %s", "Assert failed");
3021 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20747);
3022 exit(1);
3023 }
3024 var_pmethidnode6 = var_nodearraylist4;
3025 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
3026 cltype17 = type_nullable_parser_nodes__AMethid.color;
3027 idtype18 = type_nullable_parser_nodes__AMethid.id;
3028 if(var_pmethidnode6 == NULL) {
3029 var16 = 1;
3030 } else {
3031 if(cltype17 >= var_pmethidnode6->type->table_size) {
3032 var16 = 0;
3033 } else {
3034 var16 = var_pmethidnode6->type->type_table[cltype17] == idtype18;
3035 }
3036 }
3037 if (!var16) {
3038 fprintf(stderr, "Runtime error: %s", "Assert failed");
3039 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20749);
3040 exit(1);
3041 }
3042 var_psignaturenode7 = var_nodearraylist5;
3043 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
3044 cltype20 = type_nullable_parser_nodes__ASignature.color;
3045 idtype21 = type_nullable_parser_nodes__ASignature.id;
3046 if(var_psignaturenode7 == NULL) {
3047 var19 = 1;
3048 } else {
3049 if(cltype20 >= var_psignaturenode7->type->table_size) {
3050 var19 = 0;
3051 } else {
3052 var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
3053 }
3054 }
3055 if (!var19) {
3056 fprintf(stderr, "Runtime error: %s", "Assert failed");
3057 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20751);
3058 exit(1);
3059 }
3060 var_tstringnode8 = var_nodearraylist8;
3061 /* <var_tstringnode8:nullable Object> isa nullable TString */
3062 cltype23 = type_nullable_parser_nodes__TString.color;
3063 idtype24 = type_nullable_parser_nodes__TString.id;
3064 if(var_tstringnode8 == NULL) {
3065 var22 = 1;
3066 } else {
3067 if(cltype23 >= var_tstringnode8->type->table_size) {
3068 var22 = 0;
3069 } else {
3070 var22 = var_tstringnode8->type->type_table[cltype23] == idtype24;
3071 }
3072 }
3073 if (!var22) {
3074 fprintf(stderr, "Runtime error: %s", "Assert failed");
3075 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20753);
3076 exit(1);
3077 }
3078 var25 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
3079 var26 = NULL;
3080 var27 = NULL;
3081 var28 = NULL;
3082 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var25, var_pdocnode2, var26, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var27, var28) /* init_aexterninitpropdef on <var25:AExternInitPropdef>*/;
3083 CHECK_NEW_parser_nodes__AExternInitPropdef(var25);
3084 var_ppropdefnode1 = var25;
3085 var_node_list = var_ppropdefnode1;
3086 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction471> */
3087 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
3088 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
3089 RET_LABEL:;
3090 }
3091 /* method parser#ReduceAction471#action for (self: Object, Parser) */
3092 void VIRTUAL_parser__ReduceAction471__action(val* self, val* p0) {
3093 parser__ReduceAction471__action(self, p0);
3094 RET_LABEL:;
3095 }
3096 /* method parser#ReduceAction472#action for (self: ReduceAction472, Parser) */
3097 void parser__ReduceAction472__action(val* self, val* p0) {
3098 val* var_p /* var p: Parser */;
3099 val* var /* : null */;
3100 val* var_node_list /* var node_list: nullable Object */;
3101 val* var1 /* : nullable Object */;
3102 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3103 val* var2 /* : nullable Object */;
3104 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3105 val* var3 /* : nullable Object */;
3106 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3107 val* var4 /* : nullable Object */;
3108 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3109 val* var5 /* : nullable Object */;
3110 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3111 val* var6 /* : nullable Object */;
3112 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3113 val* var7 /* : nullable Object */;
3114 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3115 val* var8 /* : nullable Object */;
3116 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3117 val* var9 /* : nullable Object */;
3118 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3119 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3120 short int var10 /* : Bool */;
3121 int cltype;
3122 int idtype;
3123 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
3124 short int var11 /* : Bool */;
3125 int cltype12;
3126 int idtype13;
3127 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3128 short int var14 /* : Bool */;
3129 int cltype15;
3130 int idtype16;
3131 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
3132 short int var17 /* : Bool */;
3133 int cltype18;
3134 int idtype19;
3135 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
3136 short int var20 /* : Bool */;
3137 int cltype21;
3138 int idtype22;
3139 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
3140 short int var23 /* : Bool */;
3141 int cltype24;
3142 int idtype25;
3143 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
3144 short int var26 /* : Bool */;
3145 int cltype27;
3146 int idtype28;
3147 val* var29 /* : AExternInitPropdef */;
3148 val* var30 /* : null */;
3149 val* var31 /* : null */;
3150 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
3151 long var32 /* : Int */;
3152 long var33 /* : Int */;
3153 var_p = p0;
3154 var = NULL;
3155 var_node_list = var;
3156 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3157 var_nodearraylist9 = var1;
3158 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3159 var_nodearraylist8 = var2;
3160 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3161 var_nodearraylist7 = var3;
3162 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3163 var_nodearraylist6 = var4;
3164 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3165 var_nodearraylist5 = var5;
3166 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3167 var_nodearraylist4 = var6;
3168 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3169 var_nodearraylist3 = var7;
3170 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3171 var_nodearraylist2 = var8;
3172 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3173 var_nodearraylist1 = var9;
3174 var_pdocnode2 = var_nodearraylist1;
3175 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3176 cltype = type_nullable_parser_nodes__ADoc.color;
3177 idtype = type_nullable_parser_nodes__ADoc.id;
3178 if(var_pdocnode2 == NULL) {
3179 var10 = 1;
3180 } else {
3181 if(cltype >= var_pdocnode2->type->table_size) {
3182 var10 = 0;
3183 } else {
3184 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
3185 }
3186 }
3187 if (!var10) {
3188 fprintf(stderr, "Runtime error: %s", "Assert failed");
3189 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20784);
3190 exit(1);
3191 }
3192 var_tkwredefnode3 = var_nodearraylist2;
3193 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3194 cltype12 = type_nullable_parser_nodes__TKwredef.color;
3195 idtype13 = type_nullable_parser_nodes__TKwredef.id;
3196 if(var_tkwredefnode3 == NULL) {
3197 var11 = 1;
3198 } else {
3199 if(cltype12 >= var_tkwredefnode3->type->table_size) {
3200 var11 = 0;
3201 } else {
3202 var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
3203 }
3204 }
3205 if (!var11) {
3206 fprintf(stderr, "Runtime error: %s", "Assert failed");
3207 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20786);
3208 exit(1);
3209 }
3210 var_pvisibilitynode4 = var_nodearraylist3;
3211 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3212 cltype15 = type_nullable_parser_nodes__AVisibility.color;
3213 idtype16 = type_nullable_parser_nodes__AVisibility.id;
3214 if(var_pvisibilitynode4 == NULL) {
3215 var14 = 1;
3216 } else {
3217 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
3218 var14 = 0;
3219 } else {
3220 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
3221 }
3222 }
3223 if (!var14) {
3224 fprintf(stderr, "Runtime error: %s", "Assert failed");
3225 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20788);
3226 exit(1);
3227 }
3228 var_tkwnewnode5 = var_nodearraylist4;
3229 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
3230 cltype18 = type_nullable_parser_nodes__TKwnew.color;
3231 idtype19 = type_nullable_parser_nodes__TKwnew.id;
3232 if(var_tkwnewnode5 == NULL) {
3233 var17 = 1;
3234 } else {
3235 if(cltype18 >= var_tkwnewnode5->type->table_size) {
3236 var17 = 0;
3237 } else {
3238 var17 = var_tkwnewnode5->type->type_table[cltype18] == idtype19;
3239 }
3240 }
3241 if (!var17) {
3242 fprintf(stderr, "Runtime error: %s", "Assert failed");
3243 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20790);
3244 exit(1);
3245 }
3246 var_pmethidnode6 = var_nodearraylist5;
3247 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
3248 cltype21 = type_nullable_parser_nodes__AMethid.color;
3249 idtype22 = type_nullable_parser_nodes__AMethid.id;
3250 if(var_pmethidnode6 == NULL) {
3251 var20 = 1;
3252 } else {
3253 if(cltype21 >= var_pmethidnode6->type->table_size) {
3254 var20 = 0;
3255 } else {
3256 var20 = var_pmethidnode6->type->type_table[cltype21] == idtype22;
3257 }
3258 }
3259 if (!var20) {
3260 fprintf(stderr, "Runtime error: %s", "Assert failed");
3261 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20792);
3262 exit(1);
3263 }
3264 var_psignaturenode7 = var_nodearraylist6;
3265 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
3266 cltype24 = type_nullable_parser_nodes__ASignature.color;
3267 idtype25 = type_nullable_parser_nodes__ASignature.id;
3268 if(var_psignaturenode7 == NULL) {
3269 var23 = 1;
3270 } else {
3271 if(cltype24 >= var_psignaturenode7->type->table_size) {
3272 var23 = 0;
3273 } else {
3274 var23 = var_psignaturenode7->type->type_table[cltype24] == idtype25;
3275 }
3276 }
3277 if (!var23) {
3278 fprintf(stderr, "Runtime error: %s", "Assert failed");
3279 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20794);
3280 exit(1);
3281 }
3282 var_tstringnode8 = var_nodearraylist9;
3283 /* <var_tstringnode8:nullable Object> isa nullable TString */
3284 cltype27 = type_nullable_parser_nodes__TString.color;
3285 idtype28 = type_nullable_parser_nodes__TString.id;
3286 if(var_tstringnode8 == NULL) {
3287 var26 = 1;
3288 } else {
3289 if(cltype27 >= var_tstringnode8->type->table_size) {
3290 var26 = 0;
3291 } else {
3292 var26 = var_tstringnode8->type->type_table[cltype27] == idtype28;
3293 }
3294 }
3295 if (!var26) {
3296 fprintf(stderr, "Runtime error: %s", "Assert failed");
3297 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20796);
3298 exit(1);
3299 }
3300 var29 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
3301 var30 = NULL;
3302 var31 = NULL;
3303 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var30, var31) /* init_aexterninitpropdef on <var29:AExternInitPropdef>*/;
3304 CHECK_NEW_parser_nodes__AExternInitPropdef(var29);
3305 var_ppropdefnode1 = var29;
3306 var_node_list = var_ppropdefnode1;
3307 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction472> */
3308 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
3309 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
3310 RET_LABEL:;
3311 }
3312 /* method parser#ReduceAction472#action for (self: Object, Parser) */
3313 void VIRTUAL_parser__ReduceAction472__action(val* self, val* p0) {
3314 parser__ReduceAction472__action(self, p0);
3315 RET_LABEL:;
3316 }
3317 /* method parser#ReduceAction473#action for (self: ReduceAction473, Parser) */
3318 void parser__ReduceAction473__action(val* self, val* p0) {
3319 val* var_p /* var p: Parser */;
3320 val* var /* : null */;
3321 val* var_node_list /* var node_list: nullable Object */;
3322 val* var1 /* : nullable Object */;
3323 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3324 val* var2 /* : nullable Object */;
3325 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3326 val* var3 /* : nullable Object */;
3327 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3328 val* var4 /* : nullable Object */;
3329 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3330 val* var5 /* : nullable Object */;
3331 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3332 val* var6 /* : nullable Object */;
3333 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3334 val* var7 /* : nullable Object */;
3335 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3336 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3337 short int var8 /* : Bool */;
3338 int cltype;
3339 int idtype;
3340 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3341 short int var9 /* : Bool */;
3342 int cltype10;
3343 int idtype11;
3344 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
3345 short int var12 /* : Bool */;
3346 int cltype13;
3347 int idtype14;
3348 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
3349 short int var15 /* : Bool */;
3350 int cltype16;
3351 int idtype17;
3352 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
3353 short int var18 /* : Bool */;
3354 int cltype19;
3355 int idtype20;
3356 val* var21 /* : AExternInitPropdef */;
3357 val* var22 /* : null */;
3358 val* var23 /* : null */;
3359 val* var24 /* : null */;
3360 val* var25 /* : null */;
3361 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
3362 long var26 /* : Int */;
3363 long var27 /* : Int */;
3364 var_p = p0;
3365 var = NULL;
3366 var_node_list = var;
3367 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3368 var_nodearraylist7 = var1;
3369 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3370 var_nodearraylist6 = var2;
3371 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3372 var_nodearraylist5 = var3;
3373 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3374 var_nodearraylist4 = var4;
3375 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3376 var_nodearraylist3 = var5;
3377 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3378 var_nodearraylist2 = var6;
3379 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3380 var_nodearraylist1 = var7;
3381 var_pdocnode2 = var_nodearraylist1;
3382 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3383 cltype = type_nullable_parser_nodes__ADoc.color;
3384 idtype = type_nullable_parser_nodes__ADoc.id;
3385 if(var_pdocnode2 == NULL) {
3386 var8 = 1;
3387 } else {
3388 if(cltype >= var_pdocnode2->type->table_size) {
3389 var8 = 0;
3390 } else {
3391 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
3392 }
3393 }
3394 if (!var8) {
3395 fprintf(stderr, "Runtime error: %s", "Assert failed");
3396 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20825);
3397 exit(1);
3398 }
3399 var_pvisibilitynode4 = var_nodearraylist2;
3400 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3401 cltype10 = type_nullable_parser_nodes__AVisibility.color;
3402 idtype11 = type_nullable_parser_nodes__AVisibility.id;
3403 if(var_pvisibilitynode4 == NULL) {
3404 var9 = 1;
3405 } else {
3406 if(cltype10 >= var_pvisibilitynode4->type->table_size) {
3407 var9 = 0;
3408 } else {
3409 var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11;
3410 }
3411 }
3412 if (!var9) {
3413 fprintf(stderr, "Runtime error: %s", "Assert failed");
3414 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20827);
3415 exit(1);
3416 }
3417 var_tkwnewnode5 = var_nodearraylist3;
3418 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
3419 cltype13 = type_nullable_parser_nodes__TKwnew.color;
3420 idtype14 = type_nullable_parser_nodes__TKwnew.id;
3421 if(var_tkwnewnode5 == NULL) {
3422 var12 = 1;
3423 } else {
3424 if(cltype13 >= var_tkwnewnode5->type->table_size) {
3425 var12 = 0;
3426 } else {
3427 var12 = var_tkwnewnode5->type->type_table[cltype13] == idtype14;
3428 }
3429 }
3430 if (!var12) {
3431 fprintf(stderr, "Runtime error: %s", "Assert failed");
3432 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20829);
3433 exit(1);
3434 }
3435 var_psignaturenode7 = var_nodearraylist4;
3436 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
3437 cltype16 = type_nullable_parser_nodes__ASignature.color;
3438 idtype17 = type_nullable_parser_nodes__ASignature.id;
3439 if(var_psignaturenode7 == NULL) {
3440 var15 = 1;
3441 } else {
3442 if(cltype16 >= var_psignaturenode7->type->table_size) {
3443 var15 = 0;
3444 } else {
3445 var15 = var_psignaturenode7->type->type_table[cltype16] == idtype17;
3446 }
3447 }
3448 if (!var15) {
3449 fprintf(stderr, "Runtime error: %s", "Assert failed");
3450 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20831);
3451 exit(1);
3452 }
3453 var_pexterncallsnode9 = var_nodearraylist7;
3454 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
3455 cltype19 = type_nullable_parser_nodes__AExternCalls.color;
3456 idtype20 = type_nullable_parser_nodes__AExternCalls.id;
3457 if(var_pexterncallsnode9 == NULL) {
3458 var18 = 1;
3459 } else {
3460 if(cltype19 >= var_pexterncallsnode9->type->table_size) {
3461 var18 = 0;
3462 } else {
3463 var18 = var_pexterncallsnode9->type->type_table[cltype19] == idtype20;
3464 }
3465 }
3466 if (!var18) {
3467 fprintf(stderr, "Runtime error: %s", "Assert failed");
3468 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20833);
3469 exit(1);
3470 }
3471 var21 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
3472 var22 = NULL;
3473 var23 = NULL;
3474 var24 = NULL;
3475 var25 = NULL;
3476 ((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, var23, var_psignaturenode7, var24, var_pexterncallsnode9, var25) /* init_aexterninitpropdef on <var21:AExternInitPropdef>*/;
3477 CHECK_NEW_parser_nodes__AExternInitPropdef(var21);
3478 var_ppropdefnode1 = var21;
3479 var_node_list = var_ppropdefnode1;
3480 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction473> */
3481 var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on <var_p:Parser>*/;
3482 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on <var_p:Parser>*/;
3483 RET_LABEL:;
3484 }
3485 /* method parser#ReduceAction473#action for (self: Object, Parser) */
3486 void VIRTUAL_parser__ReduceAction473__action(val* self, val* p0) {
3487 parser__ReduceAction473__action(self, p0);
3488 RET_LABEL:;
3489 }
3490 /* method parser#ReduceAction474#action for (self: ReduceAction474, Parser) */
3491 void parser__ReduceAction474__action(val* self, val* p0) {
3492 val* var_p /* var p: Parser */;
3493 val* var /* : null */;
3494 val* var_node_list /* var node_list: nullable Object */;
3495 val* var1 /* : nullable Object */;
3496 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3497 val* var2 /* : nullable Object */;
3498 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3499 val* var3 /* : nullable Object */;
3500 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3501 val* var4 /* : nullable Object */;
3502 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3503 val* var5 /* : nullable Object */;
3504 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3505 val* var6 /* : nullable Object */;
3506 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3507 val* var7 /* : nullable Object */;
3508 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3509 val* var8 /* : nullable Object */;
3510 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3511 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3512 short int var9 /* : Bool */;
3513 int cltype;
3514 int idtype;
3515 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
3516 short int var10 /* : Bool */;
3517 int cltype11;
3518 int idtype12;
3519 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3520 short int var13 /* : Bool */;
3521 int cltype14;
3522 int idtype15;
3523 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
3524 short int var16 /* : Bool */;
3525 int cltype17;
3526 int idtype18;
3527 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
3528 short int var19 /* : Bool */;
3529 int cltype20;
3530 int idtype21;
3531 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
3532 short int var22 /* : Bool */;
3533 int cltype23;
3534 int idtype24;
3535 val* var25 /* : AExternInitPropdef */;
3536 val* var26 /* : null */;
3537 val* var27 /* : null */;
3538 val* var28 /* : null */;
3539 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
3540 long var29 /* : Int */;
3541 long var30 /* : Int */;
3542 var_p = p0;
3543 var = NULL;
3544 var_node_list = var;
3545 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3546 var_nodearraylist8 = var1;
3547 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3548 var_nodearraylist7 = var2;
3549 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3550 var_nodearraylist6 = var3;
3551 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3552 var_nodearraylist5 = var4;
3553 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3554 var_nodearraylist4 = var5;
3555 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3556 var_nodearraylist3 = var6;
3557 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3558 var_nodearraylist2 = var7;
3559 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3560 var_nodearraylist1 = var8;
3561 var_pdocnode2 = var_nodearraylist1;
3562 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3563 cltype = type_nullable_parser_nodes__ADoc.color;
3564 idtype = type_nullable_parser_nodes__ADoc.id;
3565 if(var_pdocnode2 == NULL) {
3566 var9 = 1;
3567 } else {
3568 if(cltype >= var_pdocnode2->type->table_size) {
3569 var9 = 0;
3570 } else {
3571 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
3572 }
3573 }
3574 if (!var9) {
3575 fprintf(stderr, "Runtime error: %s", "Assert failed");
3576 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20863);
3577 exit(1);
3578 }
3579 var_tkwredefnode3 = var_nodearraylist2;
3580 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3581 cltype11 = type_nullable_parser_nodes__TKwredef.color;
3582 idtype12 = type_nullable_parser_nodes__TKwredef.id;
3583 if(var_tkwredefnode3 == NULL) {
3584 var10 = 1;
3585 } else {
3586 if(cltype11 >= var_tkwredefnode3->type->table_size) {
3587 var10 = 0;
3588 } else {
3589 var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12;
3590 }
3591 }
3592 if (!var10) {
3593 fprintf(stderr, "Runtime error: %s", "Assert failed");
3594 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20865);
3595 exit(1);
3596 }
3597 var_pvisibilitynode4 = var_nodearraylist3;
3598 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3599 cltype14 = type_nullable_parser_nodes__AVisibility.color;
3600 idtype15 = type_nullable_parser_nodes__AVisibility.id;
3601 if(var_pvisibilitynode4 == NULL) {
3602 var13 = 1;
3603 } else {
3604 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
3605 var13 = 0;
3606 } else {
3607 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
3608 }
3609 }
3610 if (!var13) {
3611 fprintf(stderr, "Runtime error: %s", "Assert failed");
3612 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20867);
3613 exit(1);
3614 }
3615 var_tkwnewnode5 = var_nodearraylist4;
3616 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
3617 cltype17 = type_nullable_parser_nodes__TKwnew.color;
3618 idtype18 = type_nullable_parser_nodes__TKwnew.id;
3619 if(var_tkwnewnode5 == NULL) {
3620 var16 = 1;
3621 } else {
3622 if(cltype17 >= var_tkwnewnode5->type->table_size) {
3623 var16 = 0;
3624 } else {
3625 var16 = var_tkwnewnode5->type->type_table[cltype17] == idtype18;
3626 }
3627 }
3628 if (!var16) {
3629 fprintf(stderr, "Runtime error: %s", "Assert failed");
3630 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20869);
3631 exit(1);
3632 }
3633 var_psignaturenode7 = var_nodearraylist5;
3634 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
3635 cltype20 = type_nullable_parser_nodes__ASignature.color;
3636 idtype21 = type_nullable_parser_nodes__ASignature.id;
3637 if(var_psignaturenode7 == NULL) {
3638 var19 = 1;
3639 } else {
3640 if(cltype20 >= var_psignaturenode7->type->table_size) {
3641 var19 = 0;
3642 } else {
3643 var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
3644 }
3645 }
3646 if (!var19) {
3647 fprintf(stderr, "Runtime error: %s", "Assert failed");
3648 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20871);
3649 exit(1);
3650 }
3651 var_pexterncallsnode9 = var_nodearraylist8;
3652 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
3653 cltype23 = type_nullable_parser_nodes__AExternCalls.color;
3654 idtype24 = type_nullable_parser_nodes__AExternCalls.id;
3655 if(var_pexterncallsnode9 == NULL) {
3656 var22 = 1;
3657 } else {
3658 if(cltype23 >= var_pexterncallsnode9->type->table_size) {
3659 var22 = 0;
3660 } else {
3661 var22 = var_pexterncallsnode9->type->type_table[cltype23] == idtype24;
3662 }
3663 }
3664 if (!var22) {
3665 fprintf(stderr, "Runtime error: %s", "Assert failed");
3666 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20873);
3667 exit(1);
3668 }
3669 var25 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
3670 var26 = NULL;
3671 var27 = NULL;
3672 var28 = NULL;
3673 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var25, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var26, var_psignaturenode7, var27, var_pexterncallsnode9, var28) /* init_aexterninitpropdef on <var25:AExternInitPropdef>*/;
3674 CHECK_NEW_parser_nodes__AExternInitPropdef(var25);
3675 var_ppropdefnode1 = var25;
3676 var_node_list = var_ppropdefnode1;
3677 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction474> */
3678 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
3679 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
3680 RET_LABEL:;
3681 }
3682 /* method parser#ReduceAction474#action for (self: Object, Parser) */
3683 void VIRTUAL_parser__ReduceAction474__action(val* self, val* p0) {
3684 parser__ReduceAction474__action(self, p0);
3685 RET_LABEL:;
3686 }
3687 /* method parser#ReduceAction475#action for (self: ReduceAction475, Parser) */
3688 void parser__ReduceAction475__action(val* self, val* p0) {
3689 val* var_p /* var p: Parser */;
3690 val* var /* : null */;
3691 val* var_node_list /* var node_list: nullable Object */;
3692 val* var1 /* : nullable Object */;
3693 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3694 val* var2 /* : nullable Object */;
3695 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3696 val* var3 /* : nullable Object */;
3697 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3698 val* var4 /* : nullable Object */;
3699 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3700 val* var5 /* : nullable Object */;
3701 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3702 val* var6 /* : nullable Object */;
3703 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3704 val* var7 /* : nullable Object */;
3705 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3706 val* var8 /* : nullable Object */;
3707 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3708 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3709 short int var9 /* : Bool */;
3710 int cltype;
3711 int idtype;
3712 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3713 short int var10 /* : Bool */;
3714 int cltype11;
3715 int idtype12;
3716 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
3717 short int var13 /* : Bool */;
3718 int cltype14;
3719 int idtype15;
3720 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
3721 short int var16 /* : Bool */;
3722 int cltype17;
3723 int idtype18;
3724 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
3725 short int var19 /* : Bool */;
3726 int cltype20;
3727 int idtype21;
3728 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
3729 short int var22 /* : Bool */;
3730 int cltype23;
3731 int idtype24;
3732 val* var25 /* : AExternInitPropdef */;
3733 val* var26 /* : null */;
3734 val* var27 /* : null */;
3735 val* var28 /* : null */;
3736 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
3737 long var29 /* : Int */;
3738 long var30 /* : Int */;
3739 var_p = p0;
3740 var = NULL;
3741 var_node_list = var;
3742 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3743 var_nodearraylist8 = var1;
3744 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3745 var_nodearraylist7 = var2;
3746 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3747 var_nodearraylist6 = var3;
3748 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3749 var_nodearraylist5 = var4;
3750 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3751 var_nodearraylist4 = var5;
3752 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3753 var_nodearraylist3 = var6;
3754 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3755 var_nodearraylist2 = var7;
3756 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3757 var_nodearraylist1 = var8;
3758 var_pdocnode2 = var_nodearraylist1;
3759 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3760 cltype = type_nullable_parser_nodes__ADoc.color;
3761 idtype = type_nullable_parser_nodes__ADoc.id;
3762 if(var_pdocnode2 == NULL) {
3763 var9 = 1;
3764 } else {
3765 if(cltype >= var_pdocnode2->type->table_size) {
3766 var9 = 0;
3767 } else {
3768 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
3769 }
3770 }
3771 if (!var9) {
3772 fprintf(stderr, "Runtime error: %s", "Assert failed");
3773 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20903);
3774 exit(1);
3775 }
3776 var_pvisibilitynode4 = var_nodearraylist2;
3777 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3778 cltype11 = type_nullable_parser_nodes__AVisibility.color;
3779 idtype12 = type_nullable_parser_nodes__AVisibility.id;
3780 if(var_pvisibilitynode4 == NULL) {
3781 var10 = 1;
3782 } else {
3783 if(cltype11 >= var_pvisibilitynode4->type->table_size) {
3784 var10 = 0;
3785 } else {
3786 var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
3787 }
3788 }
3789 if (!var10) {
3790 fprintf(stderr, "Runtime error: %s", "Assert failed");
3791 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20905);
3792 exit(1);
3793 }
3794 var_tkwnewnode5 = var_nodearraylist3;
3795 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
3796 cltype14 = type_nullable_parser_nodes__TKwnew.color;
3797 idtype15 = type_nullable_parser_nodes__TKwnew.id;
3798 if(var_tkwnewnode5 == NULL) {
3799 var13 = 1;
3800 } else {
3801 if(cltype14 >= var_tkwnewnode5->type->table_size) {
3802 var13 = 0;
3803 } else {
3804 var13 = var_tkwnewnode5->type->type_table[cltype14] == idtype15;
3805 }
3806 }
3807 if (!var13) {
3808 fprintf(stderr, "Runtime error: %s", "Assert failed");
3809 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20907);
3810 exit(1);
3811 }
3812 var_pmethidnode6 = var_nodearraylist4;
3813 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
3814 cltype17 = type_nullable_parser_nodes__AMethid.color;
3815 idtype18 = type_nullable_parser_nodes__AMethid.id;
3816 if(var_pmethidnode6 == NULL) {
3817 var16 = 1;
3818 } else {
3819 if(cltype17 >= var_pmethidnode6->type->table_size) {
3820 var16 = 0;
3821 } else {
3822 var16 = var_pmethidnode6->type->type_table[cltype17] == idtype18;
3823 }
3824 }
3825 if (!var16) {
3826 fprintf(stderr, "Runtime error: %s", "Assert failed");
3827 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20909);
3828 exit(1);
3829 }
3830 var_psignaturenode7 = var_nodearraylist5;
3831 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
3832 cltype20 = type_nullable_parser_nodes__ASignature.color;
3833 idtype21 = type_nullable_parser_nodes__ASignature.id;
3834 if(var_psignaturenode7 == NULL) {
3835 var19 = 1;
3836 } else {
3837 if(cltype20 >= var_psignaturenode7->type->table_size) {
3838 var19 = 0;
3839 } else {
3840 var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
3841 }
3842 }
3843 if (!var19) {
3844 fprintf(stderr, "Runtime error: %s", "Assert failed");
3845 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20911);
3846 exit(1);
3847 }
3848 var_pexterncallsnode9 = var_nodearraylist8;
3849 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
3850 cltype23 = type_nullable_parser_nodes__AExternCalls.color;
3851 idtype24 = type_nullable_parser_nodes__AExternCalls.id;
3852 if(var_pexterncallsnode9 == NULL) {
3853 var22 = 1;
3854 } else {
3855 if(cltype23 >= var_pexterncallsnode9->type->table_size) {
3856 var22 = 0;
3857 } else {
3858 var22 = var_pexterncallsnode9->type->type_table[cltype23] == idtype24;
3859 }
3860 }
3861 if (!var22) {
3862 fprintf(stderr, "Runtime error: %s", "Assert failed");
3863 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20913);
3864 exit(1);
3865 }
3866 var25 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
3867 var26 = NULL;
3868 var27 = NULL;
3869 var28 = NULL;
3870 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var25, var_pdocnode2, var26, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var27, var_pexterncallsnode9, var28) /* init_aexterninitpropdef on <var25:AExternInitPropdef>*/;
3871 CHECK_NEW_parser_nodes__AExternInitPropdef(var25);
3872 var_ppropdefnode1 = var25;
3873 var_node_list = var_ppropdefnode1;
3874 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction475> */
3875 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
3876 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
3877 RET_LABEL:;
3878 }
3879 /* method parser#ReduceAction475#action for (self: Object, Parser) */
3880 void VIRTUAL_parser__ReduceAction475__action(val* self, val* p0) {
3881 parser__ReduceAction475__action(self, p0);
3882 RET_LABEL:;
3883 }
3884 /* method parser#ReduceAction476#action for (self: ReduceAction476, Parser) */
3885 void parser__ReduceAction476__action(val* self, val* p0) {
3886 val* var_p /* var p: Parser */;
3887 val* var /* : null */;
3888 val* var_node_list /* var node_list: nullable Object */;
3889 val* var1 /* : nullable Object */;
3890 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3891 val* var2 /* : nullable Object */;
3892 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3893 val* var3 /* : nullable Object */;
3894 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3895 val* var4 /* : nullable Object */;
3896 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3897 val* var5 /* : nullable Object */;
3898 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3899 val* var6 /* : nullable Object */;
3900 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3901 val* var7 /* : nullable Object */;
3902 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3903 val* var8 /* : nullable Object */;
3904 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3905 val* var9 /* : nullable Object */;
3906 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3907 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3908 short int var10 /* : Bool */;
3909 int cltype;
3910 int idtype;
3911 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
3912 short int var11 /* : Bool */;
3913 int cltype12;
3914 int idtype13;
3915 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3916 short int var14 /* : Bool */;
3917 int cltype15;
3918 int idtype16;
3919 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
3920 short int var17 /* : Bool */;
3921 int cltype18;
3922 int idtype19;
3923 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
3924 short int var20 /* : Bool */;
3925 int cltype21;
3926 int idtype22;
3927 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
3928 short int var23 /* : Bool */;
3929 int cltype24;
3930 int idtype25;
3931 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
3932 short int var26 /* : Bool */;
3933 int cltype27;
3934 int idtype28;
3935 val* var29 /* : AExternInitPropdef */;
3936 val* var30 /* : null */;
3937 val* var31 /* : null */;
3938 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
3939 long var32 /* : Int */;
3940 long var33 /* : Int */;
3941 var_p = p0;
3942 var = NULL;
3943 var_node_list = var;
3944 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3945 var_nodearraylist9 = var1;
3946 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3947 var_nodearraylist8 = var2;
3948 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3949 var_nodearraylist7 = var3;
3950 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3951 var_nodearraylist6 = var4;
3952 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3953 var_nodearraylist5 = var5;
3954 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3955 var_nodearraylist4 = var6;
3956 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3957 var_nodearraylist3 = var7;
3958 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3959 var_nodearraylist2 = var8;
3960 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3961 var_nodearraylist1 = var9;
3962 var_pdocnode2 = var_nodearraylist1;
3963 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3964 cltype = type_nullable_parser_nodes__ADoc.color;
3965 idtype = type_nullable_parser_nodes__ADoc.id;
3966 if(var_pdocnode2 == NULL) {
3967 var10 = 1;
3968 } else {
3969 if(cltype >= var_pdocnode2->type->table_size) {
3970 var10 = 0;
3971 } else {
3972 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
3973 }
3974 }
3975 if (!var10) {
3976 fprintf(stderr, "Runtime error: %s", "Assert failed");
3977 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20944);
3978 exit(1);
3979 }
3980 var_tkwredefnode3 = var_nodearraylist2;
3981 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3982 cltype12 = type_nullable_parser_nodes__TKwredef.color;
3983 idtype13 = type_nullable_parser_nodes__TKwredef.id;
3984 if(var_tkwredefnode3 == NULL) {
3985 var11 = 1;
3986 } else {
3987 if(cltype12 >= var_tkwredefnode3->type->table_size) {
3988 var11 = 0;
3989 } else {
3990 var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
3991 }
3992 }
3993 if (!var11) {
3994 fprintf(stderr, "Runtime error: %s", "Assert failed");
3995 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20946);
3996 exit(1);
3997 }
3998 var_pvisibilitynode4 = var_nodearraylist3;
3999 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4000 cltype15 = type_nullable_parser_nodes__AVisibility.color;
4001 idtype16 = type_nullable_parser_nodes__AVisibility.id;
4002 if(var_pvisibilitynode4 == NULL) {
4003 var14 = 1;
4004 } else {
4005 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
4006 var14 = 0;
4007 } else {
4008 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
4009 }
4010 }
4011 if (!var14) {
4012 fprintf(stderr, "Runtime error: %s", "Assert failed");
4013 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20948);
4014 exit(1);
4015 }
4016 var_tkwnewnode5 = var_nodearraylist4;
4017 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
4018 cltype18 = type_nullable_parser_nodes__TKwnew.color;
4019 idtype19 = type_nullable_parser_nodes__TKwnew.id;
4020 if(var_tkwnewnode5 == NULL) {
4021 var17 = 1;
4022 } else {
4023 if(cltype18 >= var_tkwnewnode5->type->table_size) {
4024 var17 = 0;
4025 } else {
4026 var17 = var_tkwnewnode5->type->type_table[cltype18] == idtype19;
4027 }
4028 }
4029 if (!var17) {
4030 fprintf(stderr, "Runtime error: %s", "Assert failed");
4031 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20950);
4032 exit(1);
4033 }
4034 var_pmethidnode6 = var_nodearraylist5;
4035 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
4036 cltype21 = type_nullable_parser_nodes__AMethid.color;
4037 idtype22 = type_nullable_parser_nodes__AMethid.id;
4038 if(var_pmethidnode6 == NULL) {
4039 var20 = 1;
4040 } else {
4041 if(cltype21 >= var_pmethidnode6->type->table_size) {
4042 var20 = 0;
4043 } else {
4044 var20 = var_pmethidnode6->type->type_table[cltype21] == idtype22;
4045 }
4046 }
4047 if (!var20) {
4048 fprintf(stderr, "Runtime error: %s", "Assert failed");
4049 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20952);
4050 exit(1);
4051 }
4052 var_psignaturenode7 = var_nodearraylist6;
4053 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
4054 cltype24 = type_nullable_parser_nodes__ASignature.color;
4055 idtype25 = type_nullable_parser_nodes__ASignature.id;
4056 if(var_psignaturenode7 == NULL) {
4057 var23 = 1;
4058 } else {
4059 if(cltype24 >= var_psignaturenode7->type->table_size) {
4060 var23 = 0;
4061 } else {
4062 var23 = var_psignaturenode7->type->type_table[cltype24] == idtype25;
4063 }
4064 }
4065 if (!var23) {
4066 fprintf(stderr, "Runtime error: %s", "Assert failed");
4067 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20954);
4068 exit(1);
4069 }
4070 var_pexterncallsnode9 = var_nodearraylist9;
4071 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
4072 cltype27 = type_nullable_parser_nodes__AExternCalls.color;
4073 idtype28 = type_nullable_parser_nodes__AExternCalls.id;
4074 if(var_pexterncallsnode9 == NULL) {
4075 var26 = 1;
4076 } else {
4077 if(cltype27 >= var_pexterncallsnode9->type->table_size) {
4078 var26 = 0;
4079 } else {
4080 var26 = var_pexterncallsnode9->type->type_table[cltype27] == idtype28;
4081 }
4082 }
4083 if (!var26) {
4084 fprintf(stderr, "Runtime error: %s", "Assert failed");
4085 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20956);
4086 exit(1);
4087 }
4088 var29 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
4089 var30 = NULL;
4090 var31 = NULL;
4091 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var30, var_pexterncallsnode9, var31) /* init_aexterninitpropdef on <var29:AExternInitPropdef>*/;
4092 CHECK_NEW_parser_nodes__AExternInitPropdef(var29);
4093 var_ppropdefnode1 = var29;
4094 var_node_list = var_ppropdefnode1;
4095 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction476> */
4096 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
4097 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
4098 RET_LABEL:;
4099 }
4100 /* method parser#ReduceAction476#action for (self: Object, Parser) */
4101 void VIRTUAL_parser__ReduceAction476__action(val* self, val* p0) {
4102 parser__ReduceAction476__action(self, p0);
4103 RET_LABEL:;
4104 }
4105 /* method parser#ReduceAction477#action for (self: ReduceAction477, Parser) */
4106 void parser__ReduceAction477__action(val* self, val* p0) {
4107 val* var_p /* var p: Parser */;
4108 val* var /* : null */;
4109 val* var_node_list /* var node_list: nullable Object */;
4110 val* var1 /* : nullable Object */;
4111 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4112 val* var2 /* : nullable Object */;
4113 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4114 val* var3 /* : nullable Object */;
4115 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4116 val* var4 /* : nullable Object */;
4117 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4118 val* var5 /* : nullable Object */;
4119 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4120 val* var6 /* : nullable Object */;
4121 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4122 val* var7 /* : nullable Object */;
4123 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4124 val* var8 /* : nullable Object */;
4125 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4126 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4127 short int var9 /* : Bool */;
4128 int cltype;
4129 int idtype;
4130 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4131 short int var10 /* : Bool */;
4132 int cltype11;
4133 int idtype12;
4134 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
4135 short int var13 /* : Bool */;
4136 int cltype14;
4137 int idtype15;
4138 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
4139 short int var16 /* : Bool */;
4140 int cltype17;
4141 int idtype18;
4142 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
4143 short int var19 /* : Bool */;
4144 int cltype20;
4145 int idtype21;
4146 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
4147 short int var22 /* : Bool */;
4148 int cltype23;
4149 int idtype24;
4150 val* var25 /* : AExternInitPropdef */;
4151 val* var26 /* : null */;
4152 val* var27 /* : null */;
4153 val* var28 /* : null */;
4154 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
4155 long var29 /* : Int */;
4156 long var30 /* : Int */;
4157 var_p = p0;
4158 var = NULL;
4159 var_node_list = var;
4160 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4161 var_nodearraylist8 = var1;
4162 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4163 var_nodearraylist7 = var2;
4164 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4165 var_nodearraylist6 = var3;
4166 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4167 var_nodearraylist5 = var4;
4168 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4169 var_nodearraylist4 = var5;
4170 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4171 var_nodearraylist3 = var6;
4172 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4173 var_nodearraylist2 = var7;
4174 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4175 var_nodearraylist1 = var8;
4176 var_pdocnode2 = var_nodearraylist1;
4177 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4178 cltype = type_nullable_parser_nodes__ADoc.color;
4179 idtype = type_nullable_parser_nodes__ADoc.id;
4180 if(var_pdocnode2 == NULL) {
4181 var9 = 1;
4182 } else {
4183 if(cltype >= var_pdocnode2->type->table_size) {
4184 var9 = 0;
4185 } else {
4186 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
4187 }
4188 }
4189 if (!var9) {
4190 fprintf(stderr, "Runtime error: %s", "Assert failed");
4191 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20986);
4192 exit(1);
4193 }
4194 var_pvisibilitynode4 = var_nodearraylist2;
4195 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4196 cltype11 = type_nullable_parser_nodes__AVisibility.color;
4197 idtype12 = type_nullable_parser_nodes__AVisibility.id;
4198 if(var_pvisibilitynode4 == NULL) {
4199 var10 = 1;
4200 } else {
4201 if(cltype11 >= var_pvisibilitynode4->type->table_size) {
4202 var10 = 0;
4203 } else {
4204 var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
4205 }
4206 }
4207 if (!var10) {
4208 fprintf(stderr, "Runtime error: %s", "Assert failed");
4209 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20988);
4210 exit(1);
4211 }
4212 var_tkwnewnode5 = var_nodearraylist3;
4213 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
4214 cltype14 = type_nullable_parser_nodes__TKwnew.color;
4215 idtype15 = type_nullable_parser_nodes__TKwnew.id;
4216 if(var_tkwnewnode5 == NULL) {
4217 var13 = 1;
4218 } else {
4219 if(cltype14 >= var_tkwnewnode5->type->table_size) {
4220 var13 = 0;
4221 } else {
4222 var13 = var_tkwnewnode5->type->type_table[cltype14] == idtype15;
4223 }
4224 }
4225 if (!var13) {
4226 fprintf(stderr, "Runtime error: %s", "Assert failed");
4227 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20990);
4228 exit(1);
4229 }
4230 var_psignaturenode7 = var_nodearraylist4;
4231 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
4232 cltype17 = type_nullable_parser_nodes__ASignature.color;
4233 idtype18 = type_nullable_parser_nodes__ASignature.id;
4234 if(var_psignaturenode7 == NULL) {
4235 var16 = 1;
4236 } else {
4237 if(cltype17 >= var_psignaturenode7->type->table_size) {
4238 var16 = 0;
4239 } else {
4240 var16 = var_psignaturenode7->type->type_table[cltype17] == idtype18;
4241 }
4242 }
4243 if (!var16) {
4244 fprintf(stderr, "Runtime error: %s", "Assert failed");
4245 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20992);
4246 exit(1);
4247 }
4248 var_tstringnode8 = var_nodearraylist7;
4249 /* <var_tstringnode8:nullable Object> isa nullable TString */
4250 cltype20 = type_nullable_parser_nodes__TString.color;
4251 idtype21 = type_nullable_parser_nodes__TString.id;
4252 if(var_tstringnode8 == NULL) {
4253 var19 = 1;
4254 } else {
4255 if(cltype20 >= var_tstringnode8->type->table_size) {
4256 var19 = 0;
4257 } else {
4258 var19 = var_tstringnode8->type->type_table[cltype20] == idtype21;
4259 }
4260 }
4261 if (!var19) {
4262 fprintf(stderr, "Runtime error: %s", "Assert failed");
4263 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20994);
4264 exit(1);
4265 }
4266 var_pexterncallsnode9 = var_nodearraylist8;
4267 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
4268 cltype23 = type_nullable_parser_nodes__AExternCalls.color;
4269 idtype24 = type_nullable_parser_nodes__AExternCalls.id;
4270 if(var_pexterncallsnode9 == NULL) {
4271 var22 = 1;
4272 } else {
4273 if(cltype23 >= var_pexterncallsnode9->type->table_size) {
4274 var22 = 0;
4275 } else {
4276 var22 = var_pexterncallsnode9->type->type_table[cltype23] == idtype24;
4277 }
4278 }
4279 if (!var22) {
4280 fprintf(stderr, "Runtime error: %s", "Assert failed");
4281 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20996);
4282 exit(1);
4283 }
4284 var25 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
4285 var26 = NULL;
4286 var27 = NULL;
4287 var28 = NULL;
4288 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var25, var_pdocnode2, var26, var_pvisibilitynode4, var_tkwnewnode5, var27, var_psignaturenode7, var_tstringnode8, var_pexterncallsnode9, var28) /* init_aexterninitpropdef on <var25:AExternInitPropdef>*/;
4289 CHECK_NEW_parser_nodes__AExternInitPropdef(var25);
4290 var_ppropdefnode1 = var25;
4291 var_node_list = var_ppropdefnode1;
4292 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction477> */
4293 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
4294 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
4295 RET_LABEL:;
4296 }
4297 /* method parser#ReduceAction477#action for (self: Object, Parser) */
4298 void VIRTUAL_parser__ReduceAction477__action(val* self, val* p0) {
4299 parser__ReduceAction477__action(self, p0);
4300 RET_LABEL:;
4301 }
4302 /* method parser#ReduceAction478#action for (self: ReduceAction478, Parser) */
4303 void parser__ReduceAction478__action(val* self, val* p0) {
4304 val* var_p /* var p: Parser */;
4305 val* var /* : null */;
4306 val* var_node_list /* var node_list: nullable Object */;
4307 val* var1 /* : nullable Object */;
4308 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4309 val* var2 /* : nullable Object */;
4310 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4311 val* var3 /* : nullable Object */;
4312 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4313 val* var4 /* : nullable Object */;
4314 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4315 val* var5 /* : nullable Object */;
4316 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4317 val* var6 /* : nullable Object */;
4318 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4319 val* var7 /* : nullable Object */;
4320 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4321 val* var8 /* : nullable Object */;
4322 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4323 val* var9 /* : nullable Object */;
4324 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4325 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4326 short int var10 /* : Bool */;
4327 int cltype;
4328 int idtype;
4329 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
4330 short int var11 /* : Bool */;
4331 int cltype12;
4332 int idtype13;
4333 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4334 short int var14 /* : Bool */;
4335 int cltype15;
4336 int idtype16;
4337 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
4338 short int var17 /* : Bool */;
4339 int cltype18;
4340 int idtype19;
4341 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
4342 short int var20 /* : Bool */;
4343 int cltype21;
4344 int idtype22;
4345 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
4346 short int var23 /* : Bool */;
4347 int cltype24;
4348 int idtype25;
4349 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
4350 short int var26 /* : Bool */;
4351 int cltype27;
4352 int idtype28;
4353 val* var29 /* : AExternInitPropdef */;
4354 val* var30 /* : null */;
4355 val* var31 /* : null */;
4356 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
4357 long var32 /* : Int */;
4358 long var33 /* : Int */;
4359 var_p = p0;
4360 var = NULL;
4361 var_node_list = var;
4362 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4363 var_nodearraylist9 = var1;
4364 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4365 var_nodearraylist8 = var2;
4366 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4367 var_nodearraylist7 = var3;
4368 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4369 var_nodearraylist6 = var4;
4370 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4371 var_nodearraylist5 = var5;
4372 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4373 var_nodearraylist4 = var6;
4374 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4375 var_nodearraylist3 = var7;
4376 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4377 var_nodearraylist2 = var8;
4378 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4379 var_nodearraylist1 = var9;
4380 var_pdocnode2 = var_nodearraylist1;
4381 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4382 cltype = type_nullable_parser_nodes__ADoc.color;
4383 idtype = type_nullable_parser_nodes__ADoc.id;
4384 if(var_pdocnode2 == NULL) {
4385 var10 = 1;
4386 } else {
4387 if(cltype >= var_pdocnode2->type->table_size) {
4388 var10 = 0;
4389 } else {
4390 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
4391 }
4392 }
4393 if (!var10) {
4394 fprintf(stderr, "Runtime error: %s", "Assert failed");
4395 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21027);
4396 exit(1);
4397 }
4398 var_tkwredefnode3 = var_nodearraylist2;
4399 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4400 cltype12 = type_nullable_parser_nodes__TKwredef.color;
4401 idtype13 = type_nullable_parser_nodes__TKwredef.id;
4402 if(var_tkwredefnode3 == NULL) {
4403 var11 = 1;
4404 } else {
4405 if(cltype12 >= var_tkwredefnode3->type->table_size) {
4406 var11 = 0;
4407 } else {
4408 var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
4409 }
4410 }
4411 if (!var11) {
4412 fprintf(stderr, "Runtime error: %s", "Assert failed");
4413 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21029);
4414 exit(1);
4415 }
4416 var_pvisibilitynode4 = var_nodearraylist3;
4417 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4418 cltype15 = type_nullable_parser_nodes__AVisibility.color;
4419 idtype16 = type_nullable_parser_nodes__AVisibility.id;
4420 if(var_pvisibilitynode4 == NULL) {
4421 var14 = 1;
4422 } else {
4423 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
4424 var14 = 0;
4425 } else {
4426 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
4427 }
4428 }
4429 if (!var14) {
4430 fprintf(stderr, "Runtime error: %s", "Assert failed");
4431 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21031);
4432 exit(1);
4433 }
4434 var_tkwnewnode5 = var_nodearraylist4;
4435 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
4436 cltype18 = type_nullable_parser_nodes__TKwnew.color;
4437 idtype19 = type_nullable_parser_nodes__TKwnew.id;
4438 if(var_tkwnewnode5 == NULL) {
4439 var17 = 1;
4440 } else {
4441 if(cltype18 >= var_tkwnewnode5->type->table_size) {
4442 var17 = 0;
4443 } else {
4444 var17 = var_tkwnewnode5->type->type_table[cltype18] == idtype19;
4445 }
4446 }
4447 if (!var17) {
4448 fprintf(stderr, "Runtime error: %s", "Assert failed");
4449 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21033);
4450 exit(1);
4451 }
4452 var_psignaturenode7 = var_nodearraylist5;
4453 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
4454 cltype21 = type_nullable_parser_nodes__ASignature.color;
4455 idtype22 = type_nullable_parser_nodes__ASignature.id;
4456 if(var_psignaturenode7 == NULL) {
4457 var20 = 1;
4458 } else {
4459 if(cltype21 >= var_psignaturenode7->type->table_size) {
4460 var20 = 0;
4461 } else {
4462 var20 = var_psignaturenode7->type->type_table[cltype21] == idtype22;
4463 }
4464 }
4465 if (!var20) {
4466 fprintf(stderr, "Runtime error: %s", "Assert failed");
4467 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21035);
4468 exit(1);
4469 }
4470 var_tstringnode8 = var_nodearraylist8;
4471 /* <var_tstringnode8:nullable Object> isa nullable TString */
4472 cltype24 = type_nullable_parser_nodes__TString.color;
4473 idtype25 = type_nullable_parser_nodes__TString.id;
4474 if(var_tstringnode8 == NULL) {
4475 var23 = 1;
4476 } else {
4477 if(cltype24 >= var_tstringnode8->type->table_size) {
4478 var23 = 0;
4479 } else {
4480 var23 = var_tstringnode8->type->type_table[cltype24] == idtype25;
4481 }
4482 }
4483 if (!var23) {
4484 fprintf(stderr, "Runtime error: %s", "Assert failed");
4485 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21037);
4486 exit(1);
4487 }
4488 var_pexterncallsnode9 = var_nodearraylist9;
4489 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
4490 cltype27 = type_nullable_parser_nodes__AExternCalls.color;
4491 idtype28 = type_nullable_parser_nodes__AExternCalls.id;
4492 if(var_pexterncallsnode9 == NULL) {
4493 var26 = 1;
4494 } else {
4495 if(cltype27 >= var_pexterncallsnode9->type->table_size) {
4496 var26 = 0;
4497 } else {
4498 var26 = var_pexterncallsnode9->type->type_table[cltype27] == idtype28;
4499 }
4500 }
4501 if (!var26) {
4502 fprintf(stderr, "Runtime error: %s", "Assert failed");
4503 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21039);
4504 exit(1);
4505 }
4506 var29 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
4507 var30 = NULL;
4508 var31 = NULL;
4509 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var30, var_psignaturenode7, var_tstringnode8, var_pexterncallsnode9, var31) /* init_aexterninitpropdef on <var29:AExternInitPropdef>*/;
4510 CHECK_NEW_parser_nodes__AExternInitPropdef(var29);
4511 var_ppropdefnode1 = var29;
4512 var_node_list = var_ppropdefnode1;
4513 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction478> */
4514 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
4515 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
4516 RET_LABEL:;
4517 }
4518 /* method parser#ReduceAction478#action for (self: Object, Parser) */
4519 void VIRTUAL_parser__ReduceAction478__action(val* self, val* p0) {
4520 parser__ReduceAction478__action(self, p0);
4521 RET_LABEL:;
4522 }
4523 /* method parser#ReduceAction479#action for (self: ReduceAction479, Parser) */
4524 void parser__ReduceAction479__action(val* self, val* p0) {
4525 val* var_p /* var p: Parser */;
4526 val* var /* : null */;
4527 val* var_node_list /* var node_list: nullable Object */;
4528 val* var1 /* : nullable Object */;
4529 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4530 val* var2 /* : nullable Object */;
4531 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4532 val* var3 /* : nullable Object */;
4533 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4534 val* var4 /* : nullable Object */;
4535 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4536 val* var5 /* : nullable Object */;
4537 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4538 val* var6 /* : nullable Object */;
4539 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4540 val* var7 /* : nullable Object */;
4541 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4542 val* var8 /* : nullable Object */;
4543 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4544 val* var9 /* : nullable Object */;
4545 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4546 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4547 short int var10 /* : Bool */;
4548 int cltype;
4549 int idtype;
4550 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4551 short int var11 /* : Bool */;
4552 int cltype12;
4553 int idtype13;
4554 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
4555 short int var14 /* : Bool */;
4556 int cltype15;
4557 int idtype16;
4558 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
4559 short int var17 /* : Bool */;
4560 int cltype18;
4561 int idtype19;
4562 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
4563 short int var20 /* : Bool */;
4564 int cltype21;
4565 int idtype22;
4566 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
4567 short int var23 /* : Bool */;
4568 int cltype24;
4569 int idtype25;
4570 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
4571 short int var26 /* : Bool */;
4572 int cltype27;
4573 int idtype28;
4574 val* var29 /* : AExternInitPropdef */;
4575 val* var30 /* : null */;
4576 val* var31 /* : null */;
4577 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
4578 long var32 /* : Int */;
4579 long var33 /* : Int */;
4580 var_p = p0;
4581 var = NULL;
4582 var_node_list = var;
4583 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4584 var_nodearraylist9 = var1;
4585 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4586 var_nodearraylist8 = var2;
4587 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4588 var_nodearraylist7 = var3;
4589 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4590 var_nodearraylist6 = var4;
4591 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4592 var_nodearraylist5 = var5;
4593 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4594 var_nodearraylist4 = var6;
4595 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4596 var_nodearraylist3 = var7;
4597 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4598 var_nodearraylist2 = var8;
4599 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4600 var_nodearraylist1 = var9;
4601 var_pdocnode2 = var_nodearraylist1;
4602 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4603 cltype = type_nullable_parser_nodes__ADoc.color;
4604 idtype = type_nullable_parser_nodes__ADoc.id;
4605 if(var_pdocnode2 == NULL) {
4606 var10 = 1;
4607 } else {
4608 if(cltype >= var_pdocnode2->type->table_size) {
4609 var10 = 0;
4610 } else {
4611 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
4612 }
4613 }
4614 if (!var10) {
4615 fprintf(stderr, "Runtime error: %s", "Assert failed");
4616 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21070);
4617 exit(1);
4618 }
4619 var_pvisibilitynode4 = var_nodearraylist2;
4620 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4621 cltype12 = type_nullable_parser_nodes__AVisibility.color;
4622 idtype13 = type_nullable_parser_nodes__AVisibility.id;
4623 if(var_pvisibilitynode4 == NULL) {
4624 var11 = 1;
4625 } else {
4626 if(cltype12 >= var_pvisibilitynode4->type->table_size) {
4627 var11 = 0;
4628 } else {
4629 var11 = var_pvisibilitynode4->type->type_table[cltype12] == idtype13;
4630 }
4631 }
4632 if (!var11) {
4633 fprintf(stderr, "Runtime error: %s", "Assert failed");
4634 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21072);
4635 exit(1);
4636 }
4637 var_tkwnewnode5 = var_nodearraylist3;
4638 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
4639 cltype15 = type_nullable_parser_nodes__TKwnew.color;
4640 idtype16 = type_nullable_parser_nodes__TKwnew.id;
4641 if(var_tkwnewnode5 == NULL) {
4642 var14 = 1;
4643 } else {
4644 if(cltype15 >= var_tkwnewnode5->type->table_size) {
4645 var14 = 0;
4646 } else {
4647 var14 = var_tkwnewnode5->type->type_table[cltype15] == idtype16;
4648 }
4649 }
4650 if (!var14) {
4651 fprintf(stderr, "Runtime error: %s", "Assert failed");
4652 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21074);
4653 exit(1);
4654 }
4655 var_pmethidnode6 = var_nodearraylist4;
4656 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
4657 cltype18 = type_nullable_parser_nodes__AMethid.color;
4658 idtype19 = type_nullable_parser_nodes__AMethid.id;
4659 if(var_pmethidnode6 == NULL) {
4660 var17 = 1;
4661 } else {
4662 if(cltype18 >= var_pmethidnode6->type->table_size) {
4663 var17 = 0;
4664 } else {
4665 var17 = var_pmethidnode6->type->type_table[cltype18] == idtype19;
4666 }
4667 }
4668 if (!var17) {
4669 fprintf(stderr, "Runtime error: %s", "Assert failed");
4670 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21076);
4671 exit(1);
4672 }
4673 var_psignaturenode7 = var_nodearraylist5;
4674 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
4675 cltype21 = type_nullable_parser_nodes__ASignature.color;
4676 idtype22 = type_nullable_parser_nodes__ASignature.id;
4677 if(var_psignaturenode7 == NULL) {
4678 var20 = 1;
4679 } else {
4680 if(cltype21 >= var_psignaturenode7->type->table_size) {
4681 var20 = 0;
4682 } else {
4683 var20 = var_psignaturenode7->type->type_table[cltype21] == idtype22;
4684 }
4685 }
4686 if (!var20) {
4687 fprintf(stderr, "Runtime error: %s", "Assert failed");
4688 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21078);
4689 exit(1);
4690 }
4691 var_tstringnode8 = var_nodearraylist8;
4692 /* <var_tstringnode8:nullable Object> isa nullable TString */
4693 cltype24 = type_nullable_parser_nodes__TString.color;
4694 idtype25 = type_nullable_parser_nodes__TString.id;
4695 if(var_tstringnode8 == NULL) {
4696 var23 = 1;
4697 } else {
4698 if(cltype24 >= var_tstringnode8->type->table_size) {
4699 var23 = 0;
4700 } else {
4701 var23 = var_tstringnode8->type->type_table[cltype24] == idtype25;
4702 }
4703 }
4704 if (!var23) {
4705 fprintf(stderr, "Runtime error: %s", "Assert failed");
4706 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21080);
4707 exit(1);
4708 }
4709 var_pexterncallsnode9 = var_nodearraylist9;
4710 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
4711 cltype27 = type_nullable_parser_nodes__AExternCalls.color;
4712 idtype28 = type_nullable_parser_nodes__AExternCalls.id;
4713 if(var_pexterncallsnode9 == NULL) {
4714 var26 = 1;
4715 } else {
4716 if(cltype27 >= var_pexterncallsnode9->type->table_size) {
4717 var26 = 0;
4718 } else {
4719 var26 = var_pexterncallsnode9->type->type_table[cltype27] == idtype28;
4720 }
4721 }
4722 if (!var26) {
4723 fprintf(stderr, "Runtime error: %s", "Assert failed");
4724 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21082);
4725 exit(1);
4726 }
4727 var29 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
4728 var30 = NULL;
4729 var31 = NULL;
4730 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var29, var_pdocnode2, var30, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var_pexterncallsnode9, var31) /* init_aexterninitpropdef on <var29:AExternInitPropdef>*/;
4731 CHECK_NEW_parser_nodes__AExternInitPropdef(var29);
4732 var_ppropdefnode1 = var29;
4733 var_node_list = var_ppropdefnode1;
4734 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction479> */
4735 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
4736 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
4737 RET_LABEL:;
4738 }
4739 /* method parser#ReduceAction479#action for (self: Object, Parser) */
4740 void VIRTUAL_parser__ReduceAction479__action(val* self, val* p0) {
4741 parser__ReduceAction479__action(self, p0);
4742 RET_LABEL:;
4743 }
4744 /* method parser#ReduceAction480#action for (self: ReduceAction480, Parser) */
4745 void parser__ReduceAction480__action(val* self, val* p0) {
4746 val* var_p /* var p: Parser */;
4747 val* var /* : null */;
4748 val* var_node_list /* var node_list: nullable Object */;
4749 val* var1 /* : nullable Object */;
4750 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4751 val* var2 /* : nullable Object */;
4752 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4753 val* var3 /* : nullable Object */;
4754 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4755 val* var4 /* : nullable Object */;
4756 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4757 val* var5 /* : nullable Object */;
4758 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4759 val* var6 /* : nullable Object */;
4760 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4761 val* var7 /* : nullable Object */;
4762 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4763 val* var8 /* : nullable Object */;
4764 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4765 val* var9 /* : nullable Object */;
4766 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4767 val* var10 /* : nullable Object */;
4768 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4769 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4770 short int var11 /* : Bool */;
4771 int cltype;
4772 int idtype;
4773 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
4774 short int var12 /* : Bool */;
4775 int cltype13;
4776 int idtype14;
4777 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4778 short int var15 /* : Bool */;
4779 int cltype16;
4780 int idtype17;
4781 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
4782 short int var18 /* : Bool */;
4783 int cltype19;
4784 int idtype20;
4785 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
4786 short int var21 /* : Bool */;
4787 int cltype22;
4788 int idtype23;
4789 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
4790 short int var24 /* : Bool */;
4791 int cltype25;
4792 int idtype26;
4793 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
4794 short int var27 /* : Bool */;
4795 int cltype28;
4796 int idtype29;
4797 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
4798 short int var30 /* : Bool */;
4799 int cltype31;
4800 int idtype32;
4801 val* var33 /* : AExternInitPropdef */;
4802 val* var34 /* : null */;
4803 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
4804 long var35 /* : Int */;
4805 long var36 /* : Int */;
4806 var_p = p0;
4807 var = NULL;
4808 var_node_list = var;
4809 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4810 var_nodearraylist10 = var1;
4811 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4812 var_nodearraylist9 = var2;
4813 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4814 var_nodearraylist8 = var3;
4815 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4816 var_nodearraylist7 = var4;
4817 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4818 var_nodearraylist6 = var5;
4819 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4820 var_nodearraylist5 = var6;
4821 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4822 var_nodearraylist4 = var7;
4823 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4824 var_nodearraylist3 = var8;
4825 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4826 var_nodearraylist2 = var9;
4827 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4828 var_nodearraylist1 = var10;
4829 var_pdocnode2 = var_nodearraylist1;
4830 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4831 cltype = type_nullable_parser_nodes__ADoc.color;
4832 idtype = type_nullable_parser_nodes__ADoc.id;
4833 if(var_pdocnode2 == NULL) {
4834 var11 = 1;
4835 } else {
4836 if(cltype >= var_pdocnode2->type->table_size) {
4837 var11 = 0;
4838 } else {
4839 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
4840 }
4841 }
4842 if (!var11) {
4843 fprintf(stderr, "Runtime error: %s", "Assert failed");
4844 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21114);
4845 exit(1);
4846 }
4847 var_tkwredefnode3 = var_nodearraylist2;
4848 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4849 cltype13 = type_nullable_parser_nodes__TKwredef.color;
4850 idtype14 = type_nullable_parser_nodes__TKwredef.id;
4851 if(var_tkwredefnode3 == NULL) {
4852 var12 = 1;
4853 } else {
4854 if(cltype13 >= var_tkwredefnode3->type->table_size) {
4855 var12 = 0;
4856 } else {
4857 var12 = var_tkwredefnode3->type->type_table[cltype13] == idtype14;
4858 }
4859 }
4860 if (!var12) {
4861 fprintf(stderr, "Runtime error: %s", "Assert failed");
4862 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21116);
4863 exit(1);
4864 }
4865 var_pvisibilitynode4 = var_nodearraylist3;
4866 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4867 cltype16 = type_nullable_parser_nodes__AVisibility.color;
4868 idtype17 = type_nullable_parser_nodes__AVisibility.id;
4869 if(var_pvisibilitynode4 == NULL) {
4870 var15 = 1;
4871 } else {
4872 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
4873 var15 = 0;
4874 } else {
4875 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
4876 }
4877 }
4878 if (!var15) {
4879 fprintf(stderr, "Runtime error: %s", "Assert failed");
4880 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21118);
4881 exit(1);
4882 }
4883 var_tkwnewnode5 = var_nodearraylist4;
4884 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
4885 cltype19 = type_nullable_parser_nodes__TKwnew.color;
4886 idtype20 = type_nullable_parser_nodes__TKwnew.id;
4887 if(var_tkwnewnode5 == NULL) {
4888 var18 = 1;
4889 } else {
4890 if(cltype19 >= var_tkwnewnode5->type->table_size) {
4891 var18 = 0;
4892 } else {
4893 var18 = var_tkwnewnode5->type->type_table[cltype19] == idtype20;
4894 }
4895 }
4896 if (!var18) {
4897 fprintf(stderr, "Runtime error: %s", "Assert failed");
4898 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21120);
4899 exit(1);
4900 }
4901 var_pmethidnode6 = var_nodearraylist5;
4902 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
4903 cltype22 = type_nullable_parser_nodes__AMethid.color;
4904 idtype23 = type_nullable_parser_nodes__AMethid.id;
4905 if(var_pmethidnode6 == NULL) {
4906 var21 = 1;
4907 } else {
4908 if(cltype22 >= var_pmethidnode6->type->table_size) {
4909 var21 = 0;
4910 } else {
4911 var21 = var_pmethidnode6->type->type_table[cltype22] == idtype23;
4912 }
4913 }
4914 if (!var21) {
4915 fprintf(stderr, "Runtime error: %s", "Assert failed");
4916 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21122);
4917 exit(1);
4918 }
4919 var_psignaturenode7 = var_nodearraylist6;
4920 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
4921 cltype25 = type_nullable_parser_nodes__ASignature.color;
4922 idtype26 = type_nullable_parser_nodes__ASignature.id;
4923 if(var_psignaturenode7 == NULL) {
4924 var24 = 1;
4925 } else {
4926 if(cltype25 >= var_psignaturenode7->type->table_size) {
4927 var24 = 0;
4928 } else {
4929 var24 = var_psignaturenode7->type->type_table[cltype25] == idtype26;
4930 }
4931 }
4932 if (!var24) {
4933 fprintf(stderr, "Runtime error: %s", "Assert failed");
4934 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21124);
4935 exit(1);
4936 }
4937 var_tstringnode8 = var_nodearraylist9;
4938 /* <var_tstringnode8:nullable Object> isa nullable TString */
4939 cltype28 = type_nullable_parser_nodes__TString.color;
4940 idtype29 = type_nullable_parser_nodes__TString.id;
4941 if(var_tstringnode8 == NULL) {
4942 var27 = 1;
4943 } else {
4944 if(cltype28 >= var_tstringnode8->type->table_size) {
4945 var27 = 0;
4946 } else {
4947 var27 = var_tstringnode8->type->type_table[cltype28] == idtype29;
4948 }
4949 }
4950 if (!var27) {
4951 fprintf(stderr, "Runtime error: %s", "Assert failed");
4952 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21126);
4953 exit(1);
4954 }
4955 var_pexterncallsnode9 = var_nodearraylist10;
4956 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
4957 cltype31 = type_nullable_parser_nodes__AExternCalls.color;
4958 idtype32 = type_nullable_parser_nodes__AExternCalls.id;
4959 if(var_pexterncallsnode9 == NULL) {
4960 var30 = 1;
4961 } else {
4962 if(cltype31 >= var_pexterncallsnode9->type->table_size) {
4963 var30 = 0;
4964 } else {
4965 var30 = var_pexterncallsnode9->type->type_table[cltype31] == idtype32;
4966 }
4967 }
4968 if (!var30) {
4969 fprintf(stderr, "Runtime error: %s", "Assert failed");
4970 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21128);
4971 exit(1);
4972 }
4973 var33 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
4974 var34 = NULL;
4975 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var_pexterncallsnode9, var34) /* init_aexterninitpropdef on <var33:AExternInitPropdef>*/;
4976 CHECK_NEW_parser_nodes__AExternInitPropdef(var33);
4977 var_ppropdefnode1 = var33;
4978 var_node_list = var_ppropdefnode1;
4979 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction480> */
4980 var36 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var35) /* go_to on <var_p:Parser>*/;
4981 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var36, var_node_list) /* push on <var_p:Parser>*/;
4982 RET_LABEL:;
4983 }
4984 /* method parser#ReduceAction480#action for (self: Object, Parser) */
4985 void VIRTUAL_parser__ReduceAction480__action(val* self, val* p0) {
4986 parser__ReduceAction480__action(self, p0);
4987 RET_LABEL:;
4988 }
4989 /* method parser#ReduceAction481#action for (self: ReduceAction481, Parser) */
4990 void parser__ReduceAction481__action(val* self, val* p0) {
4991 val* var_p /* var p: Parser */;
4992 val* var /* : null */;
4993 val* var_node_list /* var node_list: nullable Object */;
4994 val* var1 /* : nullable Object */;
4995 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4996 val* var2 /* : nullable Object */;
4997 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4998 val* var3 /* : nullable Object */;
4999 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5000 val* var4 /* : nullable Object */;
5001 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5002 val* var5 /* : nullable Object */;
5003 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5004 val* var6 /* : nullable Object */;
5005 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5006 val* var7 /* : nullable Object */;
5007 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5008 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5009 short int var8 /* : Bool */;
5010 int cltype;
5011 int idtype;
5012 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5013 short int var9 /* : Bool */;
5014 int cltype10;
5015 int idtype11;
5016 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
5017 short int var12 /* : Bool */;
5018 int cltype13;
5019 int idtype14;
5020 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
5021 short int var15 /* : Bool */;
5022 int cltype16;
5023 int idtype17;
5024 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
5025 short int var18 /* : Bool */;
5026 int cltype19;
5027 int idtype20;
5028 val* var21 /* : AExternInitPropdef */;
5029 val* var22 /* : null */;
5030 val* var23 /* : null */;
5031 val* var24 /* : null */;
5032 val* var25 /* : null */;
5033 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
5034 long var26 /* : Int */;
5035 long var27 /* : Int */;
5036 var_p = p0;
5037 var = NULL;
5038 var_node_list = var;
5039 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5040 var_nodearraylist7 = var1;
5041 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5042 var_nodearraylist6 = var2;
5043 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5044 var_nodearraylist5 = var3;
5045 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5046 var_nodearraylist4 = var4;
5047 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5048 var_nodearraylist3 = var5;
5049 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5050 var_nodearraylist2 = var6;
5051 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5052 var_nodearraylist1 = var7;
5053 var_pdocnode2 = var_nodearraylist1;
5054 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5055 cltype = type_nullable_parser_nodes__ADoc.color;
5056 idtype = type_nullable_parser_nodes__ADoc.id;
5057 if(var_pdocnode2 == NULL) {
5058 var8 = 1;
5059 } else {
5060 if(cltype >= var_pdocnode2->type->table_size) {
5061 var8 = 0;
5062 } else {
5063 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
5064 }
5065 }
5066 if (!var8) {
5067 fprintf(stderr, "Runtime error: %s", "Assert failed");
5068 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21157);
5069 exit(1);
5070 }
5071 var_pvisibilitynode4 = var_nodearraylist2;
5072 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5073 cltype10 = type_nullable_parser_nodes__AVisibility.color;
5074 idtype11 = type_nullable_parser_nodes__AVisibility.id;
5075 if(var_pvisibilitynode4 == NULL) {
5076 var9 = 1;
5077 } else {
5078 if(cltype10 >= var_pvisibilitynode4->type->table_size) {
5079 var9 = 0;
5080 } else {
5081 var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11;
5082 }
5083 }
5084 if (!var9) {
5085 fprintf(stderr, "Runtime error: %s", "Assert failed");
5086 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21159);
5087 exit(1);
5088 }
5089 var_tkwnewnode5 = var_nodearraylist3;
5090 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
5091 cltype13 = type_nullable_parser_nodes__TKwnew.color;
5092 idtype14 = type_nullable_parser_nodes__TKwnew.id;
5093 if(var_tkwnewnode5 == NULL) {
5094 var12 = 1;
5095 } else {
5096 if(cltype13 >= var_tkwnewnode5->type->table_size) {
5097 var12 = 0;
5098 } else {
5099 var12 = var_tkwnewnode5->type->type_table[cltype13] == idtype14;
5100 }
5101 }
5102 if (!var12) {
5103 fprintf(stderr, "Runtime error: %s", "Assert failed");
5104 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21161);
5105 exit(1);
5106 }
5107 var_psignaturenode7 = var_nodearraylist4;
5108 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
5109 cltype16 = type_nullable_parser_nodes__ASignature.color;
5110 idtype17 = type_nullable_parser_nodes__ASignature.id;
5111 if(var_psignaturenode7 == NULL) {
5112 var15 = 1;
5113 } else {
5114 if(cltype16 >= var_psignaturenode7->type->table_size) {
5115 var15 = 0;
5116 } else {
5117 var15 = var_psignaturenode7->type->type_table[cltype16] == idtype17;
5118 }
5119 }
5120 if (!var15) {
5121 fprintf(stderr, "Runtime error: %s", "Assert failed");
5122 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21163);
5123 exit(1);
5124 }
5125 var_pexterncodeblocknode10 = var_nodearraylist7;
5126 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
5127 cltype19 = type_nullable_parser_nodes__AExternCodeBlock.color;
5128 idtype20 = type_nullable_parser_nodes__AExternCodeBlock.id;
5129 if(var_pexterncodeblocknode10 == NULL) {
5130 var18 = 1;
5131 } else {
5132 if(cltype19 >= var_pexterncodeblocknode10->type->table_size) {
5133 var18 = 0;
5134 } else {
5135 var18 = var_pexterncodeblocknode10->type->type_table[cltype19] == idtype20;
5136 }
5137 }
5138 if (!var18) {
5139 fprintf(stderr, "Runtime error: %s", "Assert failed");
5140 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21165);
5141 exit(1);
5142 }
5143 var21 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
5144 var22 = NULL;
5145 var23 = NULL;
5146 var24 = NULL;
5147 var25 = NULL;
5148 ((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, var23, var_psignaturenode7, var24, var25, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var21:AExternInitPropdef>*/;
5149 CHECK_NEW_parser_nodes__AExternInitPropdef(var21);
5150 var_ppropdefnode1 = var21;
5151 var_node_list = var_ppropdefnode1;
5152 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction481> */
5153 var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on <var_p:Parser>*/;
5154 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on <var_p:Parser>*/;
5155 RET_LABEL:;
5156 }
5157 /* method parser#ReduceAction481#action for (self: Object, Parser) */
5158 void VIRTUAL_parser__ReduceAction481__action(val* self, val* p0) {
5159 parser__ReduceAction481__action(self, p0);
5160 RET_LABEL:;
5161 }
5162 /* method parser#ReduceAction482#action for (self: ReduceAction482, Parser) */
5163 void parser__ReduceAction482__action(val* self, val* p0) {
5164 val* var_p /* var p: Parser */;
5165 val* var /* : null */;
5166 val* var_node_list /* var node_list: nullable Object */;
5167 val* var1 /* : nullable Object */;
5168 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5169 val* var2 /* : nullable Object */;
5170 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5171 val* var3 /* : nullable Object */;
5172 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5173 val* var4 /* : nullable Object */;
5174 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5175 val* var5 /* : nullable Object */;
5176 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5177 val* var6 /* : nullable Object */;
5178 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5179 val* var7 /* : nullable Object */;
5180 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5181 val* var8 /* : nullable Object */;
5182 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5183 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5184 short int var9 /* : Bool */;
5185 int cltype;
5186 int idtype;
5187 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
5188 short int var10 /* : Bool */;
5189 int cltype11;
5190 int idtype12;
5191 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5192 short int var13 /* : Bool */;
5193 int cltype14;
5194 int idtype15;
5195 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
5196 short int var16 /* : Bool */;
5197 int cltype17;
5198 int idtype18;
5199 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
5200 short int var19 /* : Bool */;
5201 int cltype20;
5202 int idtype21;
5203 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
5204 short int var22 /* : Bool */;
5205 int cltype23;
5206 int idtype24;
5207 val* var25 /* : AExternInitPropdef */;
5208 val* var26 /* : null */;
5209 val* var27 /* : null */;
5210 val* var28 /* : null */;
5211 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
5212 long var29 /* : Int */;
5213 long var30 /* : Int */;
5214 var_p = p0;
5215 var = NULL;
5216 var_node_list = var;
5217 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5218 var_nodearraylist8 = var1;
5219 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5220 var_nodearraylist7 = var2;
5221 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5222 var_nodearraylist6 = var3;
5223 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5224 var_nodearraylist5 = var4;
5225 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5226 var_nodearraylist4 = var5;
5227 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5228 var_nodearraylist3 = var6;
5229 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5230 var_nodearraylist2 = var7;
5231 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5232 var_nodearraylist1 = var8;
5233 var_pdocnode2 = var_nodearraylist1;
5234 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5235 cltype = type_nullable_parser_nodes__ADoc.color;
5236 idtype = type_nullable_parser_nodes__ADoc.id;
5237 if(var_pdocnode2 == NULL) {
5238 var9 = 1;
5239 } else {
5240 if(cltype >= var_pdocnode2->type->table_size) {
5241 var9 = 0;
5242 } else {
5243 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
5244 }
5245 }
5246 if (!var9) {
5247 fprintf(stderr, "Runtime error: %s", "Assert failed");
5248 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21195);
5249 exit(1);
5250 }
5251 var_tkwredefnode3 = var_nodearraylist2;
5252 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
5253 cltype11 = type_nullable_parser_nodes__TKwredef.color;
5254 idtype12 = type_nullable_parser_nodes__TKwredef.id;
5255 if(var_tkwredefnode3 == NULL) {
5256 var10 = 1;
5257 } else {
5258 if(cltype11 >= var_tkwredefnode3->type->table_size) {
5259 var10 = 0;
5260 } else {
5261 var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12;
5262 }
5263 }
5264 if (!var10) {
5265 fprintf(stderr, "Runtime error: %s", "Assert failed");
5266 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21197);
5267 exit(1);
5268 }
5269 var_pvisibilitynode4 = var_nodearraylist3;
5270 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5271 cltype14 = type_nullable_parser_nodes__AVisibility.color;
5272 idtype15 = type_nullable_parser_nodes__AVisibility.id;
5273 if(var_pvisibilitynode4 == NULL) {
5274 var13 = 1;
5275 } else {
5276 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
5277 var13 = 0;
5278 } else {
5279 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
5280 }
5281 }
5282 if (!var13) {
5283 fprintf(stderr, "Runtime error: %s", "Assert failed");
5284 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21199);
5285 exit(1);
5286 }
5287 var_tkwnewnode5 = var_nodearraylist4;
5288 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
5289 cltype17 = type_nullable_parser_nodes__TKwnew.color;
5290 idtype18 = type_nullable_parser_nodes__TKwnew.id;
5291 if(var_tkwnewnode5 == NULL) {
5292 var16 = 1;
5293 } else {
5294 if(cltype17 >= var_tkwnewnode5->type->table_size) {
5295 var16 = 0;
5296 } else {
5297 var16 = var_tkwnewnode5->type->type_table[cltype17] == idtype18;
5298 }
5299 }
5300 if (!var16) {
5301 fprintf(stderr, "Runtime error: %s", "Assert failed");
5302 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21201);
5303 exit(1);
5304 }
5305 var_psignaturenode7 = var_nodearraylist5;
5306 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
5307 cltype20 = type_nullable_parser_nodes__ASignature.color;
5308 idtype21 = type_nullable_parser_nodes__ASignature.id;
5309 if(var_psignaturenode7 == NULL) {
5310 var19 = 1;
5311 } else {
5312 if(cltype20 >= var_psignaturenode7->type->table_size) {
5313 var19 = 0;
5314 } else {
5315 var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
5316 }
5317 }
5318 if (!var19) {
5319 fprintf(stderr, "Runtime error: %s", "Assert failed");
5320 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21203);
5321 exit(1);
5322 }
5323 var_pexterncodeblocknode10 = var_nodearraylist8;
5324 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
5325 cltype23 = type_nullable_parser_nodes__AExternCodeBlock.color;
5326 idtype24 = type_nullable_parser_nodes__AExternCodeBlock.id;
5327 if(var_pexterncodeblocknode10 == NULL) {
5328 var22 = 1;
5329 } else {
5330 if(cltype23 >= var_pexterncodeblocknode10->type->table_size) {
5331 var22 = 0;
5332 } else {
5333 var22 = var_pexterncodeblocknode10->type->type_table[cltype23] == idtype24;
5334 }
5335 }
5336 if (!var22) {
5337 fprintf(stderr, "Runtime error: %s", "Assert failed");
5338 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21205);
5339 exit(1);
5340 }
5341 var25 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
5342 var26 = NULL;
5343 var27 = NULL;
5344 var28 = NULL;
5345 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var25, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var26, var_psignaturenode7, var27, var28, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var25:AExternInitPropdef>*/;
5346 CHECK_NEW_parser_nodes__AExternInitPropdef(var25);
5347 var_ppropdefnode1 = var25;
5348 var_node_list = var_ppropdefnode1;
5349 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction482> */
5350 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
5351 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
5352 RET_LABEL:;
5353 }
5354 /* method parser#ReduceAction482#action for (self: Object, Parser) */
5355 void VIRTUAL_parser__ReduceAction482__action(val* self, val* p0) {
5356 parser__ReduceAction482__action(self, p0);
5357 RET_LABEL:;
5358 }
5359 /* method parser#ReduceAction483#action for (self: ReduceAction483, Parser) */
5360 void parser__ReduceAction483__action(val* self, val* p0) {
5361 val* var_p /* var p: Parser */;
5362 val* var /* : null */;
5363 val* var_node_list /* var node_list: nullable Object */;
5364 val* var1 /* : nullable Object */;
5365 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5366 val* var2 /* : nullable Object */;
5367 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5368 val* var3 /* : nullable Object */;
5369 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5370 val* var4 /* : nullable Object */;
5371 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5372 val* var5 /* : nullable Object */;
5373 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5374 val* var6 /* : nullable Object */;
5375 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5376 val* var7 /* : nullable Object */;
5377 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5378 val* var8 /* : nullable Object */;
5379 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5380 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5381 short int var9 /* : Bool */;
5382 int cltype;
5383 int idtype;
5384 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5385 short int var10 /* : Bool */;
5386 int cltype11;
5387 int idtype12;
5388 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
5389 short int var13 /* : Bool */;
5390 int cltype14;
5391 int idtype15;
5392 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
5393 short int var16 /* : Bool */;
5394 int cltype17;
5395 int idtype18;
5396 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
5397 short int var19 /* : Bool */;
5398 int cltype20;
5399 int idtype21;
5400 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
5401 short int var22 /* : Bool */;
5402 int cltype23;
5403 int idtype24;
5404 val* var25 /* : AExternInitPropdef */;
5405 val* var26 /* : null */;
5406 val* var27 /* : null */;
5407 val* var28 /* : null */;
5408 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
5409 long var29 /* : Int */;
5410 long var30 /* : Int */;
5411 var_p = p0;
5412 var = NULL;
5413 var_node_list = var;
5414 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5415 var_nodearraylist8 = var1;
5416 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5417 var_nodearraylist7 = var2;
5418 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5419 var_nodearraylist6 = var3;
5420 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5421 var_nodearraylist5 = var4;
5422 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5423 var_nodearraylist4 = var5;
5424 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5425 var_nodearraylist3 = var6;
5426 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5427 var_nodearraylist2 = var7;
5428 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5429 var_nodearraylist1 = var8;
5430 var_pdocnode2 = var_nodearraylist1;
5431 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5432 cltype = type_nullable_parser_nodes__ADoc.color;
5433 idtype = type_nullable_parser_nodes__ADoc.id;
5434 if(var_pdocnode2 == NULL) {
5435 var9 = 1;
5436 } else {
5437 if(cltype >= var_pdocnode2->type->table_size) {
5438 var9 = 0;
5439 } else {
5440 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
5441 }
5442 }
5443 if (!var9) {
5444 fprintf(stderr, "Runtime error: %s", "Assert failed");
5445 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21235);
5446 exit(1);
5447 }
5448 var_pvisibilitynode4 = var_nodearraylist2;
5449 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5450 cltype11 = type_nullable_parser_nodes__AVisibility.color;
5451 idtype12 = type_nullable_parser_nodes__AVisibility.id;
5452 if(var_pvisibilitynode4 == NULL) {
5453 var10 = 1;
5454 } else {
5455 if(cltype11 >= var_pvisibilitynode4->type->table_size) {
5456 var10 = 0;
5457 } else {
5458 var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
5459 }
5460 }
5461 if (!var10) {
5462 fprintf(stderr, "Runtime error: %s", "Assert failed");
5463 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21237);
5464 exit(1);
5465 }
5466 var_tkwnewnode5 = var_nodearraylist3;
5467 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
5468 cltype14 = type_nullable_parser_nodes__TKwnew.color;
5469 idtype15 = type_nullable_parser_nodes__TKwnew.id;
5470 if(var_tkwnewnode5 == NULL) {
5471 var13 = 1;
5472 } else {
5473 if(cltype14 >= var_tkwnewnode5->type->table_size) {
5474 var13 = 0;
5475 } else {
5476 var13 = var_tkwnewnode5->type->type_table[cltype14] == idtype15;
5477 }
5478 }
5479 if (!var13) {
5480 fprintf(stderr, "Runtime error: %s", "Assert failed");
5481 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21239);
5482 exit(1);
5483 }
5484 var_pmethidnode6 = var_nodearraylist4;
5485 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
5486 cltype17 = type_nullable_parser_nodes__AMethid.color;
5487 idtype18 = type_nullable_parser_nodes__AMethid.id;
5488 if(var_pmethidnode6 == NULL) {
5489 var16 = 1;
5490 } else {
5491 if(cltype17 >= var_pmethidnode6->type->table_size) {
5492 var16 = 0;
5493 } else {
5494 var16 = var_pmethidnode6->type->type_table[cltype17] == idtype18;
5495 }
5496 }
5497 if (!var16) {
5498 fprintf(stderr, "Runtime error: %s", "Assert failed");
5499 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21241);
5500 exit(1);
5501 }
5502 var_psignaturenode7 = var_nodearraylist5;
5503 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
5504 cltype20 = type_nullable_parser_nodes__ASignature.color;
5505 idtype21 = type_nullable_parser_nodes__ASignature.id;
5506 if(var_psignaturenode7 == NULL) {
5507 var19 = 1;
5508 } else {
5509 if(cltype20 >= var_psignaturenode7->type->table_size) {
5510 var19 = 0;
5511 } else {
5512 var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
5513 }
5514 }
5515 if (!var19) {
5516 fprintf(stderr, "Runtime error: %s", "Assert failed");
5517 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21243);
5518 exit(1);
5519 }
5520 var_pexterncodeblocknode10 = var_nodearraylist8;
5521 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
5522 cltype23 = type_nullable_parser_nodes__AExternCodeBlock.color;
5523 idtype24 = type_nullable_parser_nodes__AExternCodeBlock.id;
5524 if(var_pexterncodeblocknode10 == NULL) {
5525 var22 = 1;
5526 } else {
5527 if(cltype23 >= var_pexterncodeblocknode10->type->table_size) {
5528 var22 = 0;
5529 } else {
5530 var22 = var_pexterncodeblocknode10->type->type_table[cltype23] == idtype24;
5531 }
5532 }
5533 if (!var22) {
5534 fprintf(stderr, "Runtime error: %s", "Assert failed");
5535 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21245);
5536 exit(1);
5537 }
5538 var25 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
5539 var26 = NULL;
5540 var27 = NULL;
5541 var28 = NULL;
5542 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var25, var_pdocnode2, var26, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var27, var28, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var25:AExternInitPropdef>*/;
5543 CHECK_NEW_parser_nodes__AExternInitPropdef(var25);
5544 var_ppropdefnode1 = var25;
5545 var_node_list = var_ppropdefnode1;
5546 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction483> */
5547 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
5548 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
5549 RET_LABEL:;
5550 }
5551 /* method parser#ReduceAction483#action for (self: Object, Parser) */
5552 void VIRTUAL_parser__ReduceAction483__action(val* self, val* p0) {
5553 parser__ReduceAction483__action(self, p0);
5554 RET_LABEL:;
5555 }
5556 /* method parser#ReduceAction484#action for (self: ReduceAction484, Parser) */
5557 void parser__ReduceAction484__action(val* self, val* p0) {
5558 val* var_p /* var p: Parser */;
5559 val* var /* : null */;
5560 val* var_node_list /* var node_list: nullable Object */;
5561 val* var1 /* : nullable Object */;
5562 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5563 val* var2 /* : nullable Object */;
5564 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5565 val* var3 /* : nullable Object */;
5566 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5567 val* var4 /* : nullable Object */;
5568 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5569 val* var5 /* : nullable Object */;
5570 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5571 val* var6 /* : nullable Object */;
5572 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5573 val* var7 /* : nullable Object */;
5574 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5575 val* var8 /* : nullable Object */;
5576 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5577 val* var9 /* : nullable Object */;
5578 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5579 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5580 short int var10 /* : Bool */;
5581 int cltype;
5582 int idtype;
5583 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
5584 short int var11 /* : Bool */;
5585 int cltype12;
5586 int idtype13;
5587 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5588 short int var14 /* : Bool */;
5589 int cltype15;
5590 int idtype16;
5591 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
5592 short int var17 /* : Bool */;
5593 int cltype18;
5594 int idtype19;
5595 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
5596 short int var20 /* : Bool */;
5597 int cltype21;
5598 int idtype22;
5599 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
5600 short int var23 /* : Bool */;
5601 int cltype24;
5602 int idtype25;
5603 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
5604 short int var26 /* : Bool */;
5605 int cltype27;
5606 int idtype28;
5607 val* var29 /* : AExternInitPropdef */;
5608 val* var30 /* : null */;
5609 val* var31 /* : null */;
5610 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
5611 long var32 /* : Int */;
5612 long var33 /* : Int */;
5613 var_p = p0;
5614 var = NULL;
5615 var_node_list = var;
5616 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5617 var_nodearraylist9 = var1;
5618 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5619 var_nodearraylist8 = var2;
5620 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5621 var_nodearraylist7 = var3;
5622 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5623 var_nodearraylist6 = var4;
5624 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5625 var_nodearraylist5 = var5;
5626 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5627 var_nodearraylist4 = var6;
5628 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5629 var_nodearraylist3 = var7;
5630 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5631 var_nodearraylist2 = var8;
5632 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5633 var_nodearraylist1 = var9;
5634 var_pdocnode2 = var_nodearraylist1;
5635 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5636 cltype = type_nullable_parser_nodes__ADoc.color;
5637 idtype = type_nullable_parser_nodes__ADoc.id;
5638 if(var_pdocnode2 == NULL) {
5639 var10 = 1;
5640 } else {
5641 if(cltype >= var_pdocnode2->type->table_size) {
5642 var10 = 0;
5643 } else {
5644 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
5645 }
5646 }
5647 if (!var10) {
5648 fprintf(stderr, "Runtime error: %s", "Assert failed");
5649 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21276);
5650 exit(1);
5651 }
5652 var_tkwredefnode3 = var_nodearraylist2;
5653 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
5654 cltype12 = type_nullable_parser_nodes__TKwredef.color;
5655 idtype13 = type_nullable_parser_nodes__TKwredef.id;
5656 if(var_tkwredefnode3 == NULL) {
5657 var11 = 1;
5658 } else {
5659 if(cltype12 >= var_tkwredefnode3->type->table_size) {
5660 var11 = 0;
5661 } else {
5662 var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
5663 }
5664 }
5665 if (!var11) {
5666 fprintf(stderr, "Runtime error: %s", "Assert failed");
5667 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21278);
5668 exit(1);
5669 }
5670 var_pvisibilitynode4 = var_nodearraylist3;
5671 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5672 cltype15 = type_nullable_parser_nodes__AVisibility.color;
5673 idtype16 = type_nullable_parser_nodes__AVisibility.id;
5674 if(var_pvisibilitynode4 == NULL) {
5675 var14 = 1;
5676 } else {
5677 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
5678 var14 = 0;
5679 } else {
5680 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
5681 }
5682 }
5683 if (!var14) {
5684 fprintf(stderr, "Runtime error: %s", "Assert failed");
5685 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21280);
5686 exit(1);
5687 }
5688 var_tkwnewnode5 = var_nodearraylist4;
5689 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
5690 cltype18 = type_nullable_parser_nodes__TKwnew.color;
5691 idtype19 = type_nullable_parser_nodes__TKwnew.id;
5692 if(var_tkwnewnode5 == NULL) {
5693 var17 = 1;
5694 } else {
5695 if(cltype18 >= var_tkwnewnode5->type->table_size) {
5696 var17 = 0;
5697 } else {
5698 var17 = var_tkwnewnode5->type->type_table[cltype18] == idtype19;
5699 }
5700 }
5701 if (!var17) {
5702 fprintf(stderr, "Runtime error: %s", "Assert failed");
5703 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21282);
5704 exit(1);
5705 }
5706 var_pmethidnode6 = var_nodearraylist5;
5707 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
5708 cltype21 = type_nullable_parser_nodes__AMethid.color;
5709 idtype22 = type_nullable_parser_nodes__AMethid.id;
5710 if(var_pmethidnode6 == NULL) {
5711 var20 = 1;
5712 } else {
5713 if(cltype21 >= var_pmethidnode6->type->table_size) {
5714 var20 = 0;
5715 } else {
5716 var20 = var_pmethidnode6->type->type_table[cltype21] == idtype22;
5717 }
5718 }
5719 if (!var20) {
5720 fprintf(stderr, "Runtime error: %s", "Assert failed");
5721 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21284);
5722 exit(1);
5723 }
5724 var_psignaturenode7 = var_nodearraylist6;
5725 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
5726 cltype24 = type_nullable_parser_nodes__ASignature.color;
5727 idtype25 = type_nullable_parser_nodes__ASignature.id;
5728 if(var_psignaturenode7 == NULL) {
5729 var23 = 1;
5730 } else {
5731 if(cltype24 >= var_psignaturenode7->type->table_size) {
5732 var23 = 0;
5733 } else {
5734 var23 = var_psignaturenode7->type->type_table[cltype24] == idtype25;
5735 }
5736 }
5737 if (!var23) {
5738 fprintf(stderr, "Runtime error: %s", "Assert failed");
5739 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21286);
5740 exit(1);
5741 }
5742 var_pexterncodeblocknode10 = var_nodearraylist9;
5743 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
5744 cltype27 = type_nullable_parser_nodes__AExternCodeBlock.color;
5745 idtype28 = type_nullable_parser_nodes__AExternCodeBlock.id;
5746 if(var_pexterncodeblocknode10 == NULL) {
5747 var26 = 1;
5748 } else {
5749 if(cltype27 >= var_pexterncodeblocknode10->type->table_size) {
5750 var26 = 0;
5751 } else {
5752 var26 = var_pexterncodeblocknode10->type->type_table[cltype27] == idtype28;
5753 }
5754 }
5755 if (!var26) {
5756 fprintf(stderr, "Runtime error: %s", "Assert failed");
5757 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21288);
5758 exit(1);
5759 }
5760 var29 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
5761 var30 = NULL;
5762 var31 = NULL;
5763 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var30, var31, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var29:AExternInitPropdef>*/;
5764 CHECK_NEW_parser_nodes__AExternInitPropdef(var29);
5765 var_ppropdefnode1 = var29;
5766 var_node_list = var_ppropdefnode1;
5767 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction484> */
5768 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
5769 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
5770 RET_LABEL:;
5771 }
5772 /* method parser#ReduceAction484#action for (self: Object, Parser) */
5773 void VIRTUAL_parser__ReduceAction484__action(val* self, val* p0) {
5774 parser__ReduceAction484__action(self, p0);
5775 RET_LABEL:;
5776 }
5777 /* method parser#ReduceAction485#action for (self: ReduceAction485, Parser) */
5778 void parser__ReduceAction485__action(val* self, val* p0) {
5779 val* var_p /* var p: Parser */;
5780 val* var /* : null */;
5781 val* var_node_list /* var node_list: nullable Object */;
5782 val* var1 /* : nullable Object */;
5783 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5784 val* var2 /* : nullable Object */;
5785 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5786 val* var3 /* : nullable Object */;
5787 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5788 val* var4 /* : nullable Object */;
5789 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5790 val* var5 /* : nullable Object */;
5791 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5792 val* var6 /* : nullable Object */;
5793 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5794 val* var7 /* : nullable Object */;
5795 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5796 val* var8 /* : nullable Object */;
5797 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5798 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5799 short int var9 /* : Bool */;
5800 int cltype;
5801 int idtype;
5802 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5803 short int var10 /* : Bool */;
5804 int cltype11;
5805 int idtype12;
5806 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
5807 short int var13 /* : Bool */;
5808 int cltype14;
5809 int idtype15;
5810 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
5811 short int var16 /* : Bool */;
5812 int cltype17;
5813 int idtype18;
5814 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
5815 short int var19 /* : Bool */;
5816 int cltype20;
5817 int idtype21;
5818 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
5819 short int var22 /* : Bool */;
5820 int cltype23;
5821 int idtype24;
5822 val* var25 /* : AExternInitPropdef */;
5823 val* var26 /* : null */;
5824 val* var27 /* : null */;
5825 val* var28 /* : null */;
5826 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
5827 long var29 /* : Int */;
5828 long var30 /* : Int */;
5829 var_p = p0;
5830 var = NULL;
5831 var_node_list = var;
5832 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5833 var_nodearraylist8 = var1;
5834 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5835 var_nodearraylist7 = var2;
5836 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5837 var_nodearraylist6 = var3;
5838 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5839 var_nodearraylist5 = var4;
5840 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5841 var_nodearraylist4 = var5;
5842 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5843 var_nodearraylist3 = var6;
5844 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5845 var_nodearraylist2 = var7;
5846 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5847 var_nodearraylist1 = var8;
5848 var_pdocnode2 = var_nodearraylist1;
5849 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5850 cltype = type_nullable_parser_nodes__ADoc.color;
5851 idtype = type_nullable_parser_nodes__ADoc.id;
5852 if(var_pdocnode2 == NULL) {
5853 var9 = 1;
5854 } else {
5855 if(cltype >= var_pdocnode2->type->table_size) {
5856 var9 = 0;
5857 } else {
5858 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
5859 }
5860 }
5861 if (!var9) {
5862 fprintf(stderr, "Runtime error: %s", "Assert failed");
5863 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21318);
5864 exit(1);
5865 }
5866 var_pvisibilitynode4 = var_nodearraylist2;
5867 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5868 cltype11 = type_nullable_parser_nodes__AVisibility.color;
5869 idtype12 = type_nullable_parser_nodes__AVisibility.id;
5870 if(var_pvisibilitynode4 == NULL) {
5871 var10 = 1;
5872 } else {
5873 if(cltype11 >= var_pvisibilitynode4->type->table_size) {
5874 var10 = 0;
5875 } else {
5876 var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
5877 }
5878 }
5879 if (!var10) {
5880 fprintf(stderr, "Runtime error: %s", "Assert failed");
5881 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21320);
5882 exit(1);
5883 }
5884 var_tkwnewnode5 = var_nodearraylist3;
5885 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
5886 cltype14 = type_nullable_parser_nodes__TKwnew.color;
5887 idtype15 = type_nullable_parser_nodes__TKwnew.id;
5888 if(var_tkwnewnode5 == NULL) {
5889 var13 = 1;
5890 } else {
5891 if(cltype14 >= var_tkwnewnode5->type->table_size) {
5892 var13 = 0;
5893 } else {
5894 var13 = var_tkwnewnode5->type->type_table[cltype14] == idtype15;
5895 }
5896 }
5897 if (!var13) {
5898 fprintf(stderr, "Runtime error: %s", "Assert failed");
5899 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21322);
5900 exit(1);
5901 }
5902 var_psignaturenode7 = var_nodearraylist4;
5903 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
5904 cltype17 = type_nullable_parser_nodes__ASignature.color;
5905 idtype18 = type_nullable_parser_nodes__ASignature.id;
5906 if(var_psignaturenode7 == NULL) {
5907 var16 = 1;
5908 } else {
5909 if(cltype17 >= var_psignaturenode7->type->table_size) {
5910 var16 = 0;
5911 } else {
5912 var16 = var_psignaturenode7->type->type_table[cltype17] == idtype18;
5913 }
5914 }
5915 if (!var16) {
5916 fprintf(stderr, "Runtime error: %s", "Assert failed");
5917 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21324);
5918 exit(1);
5919 }
5920 var_tstringnode8 = var_nodearraylist7;
5921 /* <var_tstringnode8:nullable Object> isa nullable TString */
5922 cltype20 = type_nullable_parser_nodes__TString.color;
5923 idtype21 = type_nullable_parser_nodes__TString.id;
5924 if(var_tstringnode8 == NULL) {
5925 var19 = 1;
5926 } else {
5927 if(cltype20 >= var_tstringnode8->type->table_size) {
5928 var19 = 0;
5929 } else {
5930 var19 = var_tstringnode8->type->type_table[cltype20] == idtype21;
5931 }
5932 }
5933 if (!var19) {
5934 fprintf(stderr, "Runtime error: %s", "Assert failed");
5935 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21326);
5936 exit(1);
5937 }
5938 var_pexterncodeblocknode10 = var_nodearraylist8;
5939 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
5940 cltype23 = type_nullable_parser_nodes__AExternCodeBlock.color;
5941 idtype24 = type_nullable_parser_nodes__AExternCodeBlock.id;
5942 if(var_pexterncodeblocknode10 == NULL) {
5943 var22 = 1;
5944 } else {
5945 if(cltype23 >= var_pexterncodeblocknode10->type->table_size) {
5946 var22 = 0;
5947 } else {
5948 var22 = var_pexterncodeblocknode10->type->type_table[cltype23] == idtype24;
5949 }
5950 }
5951 if (!var22) {
5952 fprintf(stderr, "Runtime error: %s", "Assert failed");
5953 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21328);
5954 exit(1);
5955 }
5956 var25 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
5957 var26 = NULL;
5958 var27 = NULL;
5959 var28 = NULL;
5960 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var25, var_pdocnode2, var26, var_pvisibilitynode4, var_tkwnewnode5, var27, var_psignaturenode7, var_tstringnode8, var28, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var25:AExternInitPropdef>*/;
5961 CHECK_NEW_parser_nodes__AExternInitPropdef(var25);
5962 var_ppropdefnode1 = var25;
5963 var_node_list = var_ppropdefnode1;
5964 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction485> */
5965 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
5966 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
5967 RET_LABEL:;
5968 }
5969 /* method parser#ReduceAction485#action for (self: Object, Parser) */
5970 void VIRTUAL_parser__ReduceAction485__action(val* self, val* p0) {
5971 parser__ReduceAction485__action(self, p0);
5972 RET_LABEL:;
5973 }
5974 /* method parser#ReduceAction486#action for (self: ReduceAction486, Parser) */
5975 void parser__ReduceAction486__action(val* self, val* p0) {
5976 val* var_p /* var p: Parser */;
5977 val* var /* : null */;
5978 val* var_node_list /* var node_list: nullable Object */;
5979 val* var1 /* : nullable Object */;
5980 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5981 val* var2 /* : nullable Object */;
5982 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5983 val* var3 /* : nullable Object */;
5984 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5985 val* var4 /* : nullable Object */;
5986 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5987 val* var5 /* : nullable Object */;
5988 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5989 val* var6 /* : nullable Object */;
5990 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5991 val* var7 /* : nullable Object */;
5992 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5993 val* var8 /* : nullable Object */;
5994 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5995 val* var9 /* : nullable Object */;
5996 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5997 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5998 short int var10 /* : Bool */;
5999 int cltype;
6000 int idtype;
6001 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
6002 short int var11 /* : Bool */;
6003 int cltype12;
6004 int idtype13;
6005 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6006 short int var14 /* : Bool */;
6007 int cltype15;
6008 int idtype16;
6009 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
6010 short int var17 /* : Bool */;
6011 int cltype18;
6012 int idtype19;
6013 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
6014 short int var20 /* : Bool */;
6015 int cltype21;
6016 int idtype22;
6017 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
6018 short int var23 /* : Bool */;
6019 int cltype24;
6020 int idtype25;
6021 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
6022 short int var26 /* : Bool */;
6023 int cltype27;
6024 int idtype28;
6025 val* var29 /* : AExternInitPropdef */;
6026 val* var30 /* : null */;
6027 val* var31 /* : null */;
6028 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
6029 long var32 /* : Int */;
6030 long var33 /* : Int */;
6031 var_p = p0;
6032 var = NULL;
6033 var_node_list = var;
6034 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6035 var_nodearraylist9 = var1;
6036 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6037 var_nodearraylist8 = var2;
6038 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6039 var_nodearraylist7 = var3;
6040 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6041 var_nodearraylist6 = var4;
6042 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6043 var_nodearraylist5 = var5;
6044 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6045 var_nodearraylist4 = var6;
6046 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6047 var_nodearraylist3 = var7;
6048 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6049 var_nodearraylist2 = var8;
6050 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6051 var_nodearraylist1 = var9;
6052 var_pdocnode2 = var_nodearraylist1;
6053 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6054 cltype = type_nullable_parser_nodes__ADoc.color;
6055 idtype = type_nullable_parser_nodes__ADoc.id;
6056 if(var_pdocnode2 == NULL) {
6057 var10 = 1;
6058 } else {
6059 if(cltype >= var_pdocnode2->type->table_size) {
6060 var10 = 0;
6061 } else {
6062 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
6063 }
6064 }
6065 if (!var10) {
6066 fprintf(stderr, "Runtime error: %s", "Assert failed");
6067 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21359);
6068 exit(1);
6069 }
6070 var_tkwredefnode3 = var_nodearraylist2;
6071 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6072 cltype12 = type_nullable_parser_nodes__TKwredef.color;
6073 idtype13 = type_nullable_parser_nodes__TKwredef.id;
6074 if(var_tkwredefnode3 == NULL) {
6075 var11 = 1;
6076 } else {
6077 if(cltype12 >= var_tkwredefnode3->type->table_size) {
6078 var11 = 0;
6079 } else {
6080 var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
6081 }
6082 }
6083 if (!var11) {
6084 fprintf(stderr, "Runtime error: %s", "Assert failed");
6085 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21361);
6086 exit(1);
6087 }
6088 var_pvisibilitynode4 = var_nodearraylist3;
6089 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6090 cltype15 = type_nullable_parser_nodes__AVisibility.color;
6091 idtype16 = type_nullable_parser_nodes__AVisibility.id;
6092 if(var_pvisibilitynode4 == NULL) {
6093 var14 = 1;
6094 } else {
6095 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
6096 var14 = 0;
6097 } else {
6098 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
6099 }
6100 }
6101 if (!var14) {
6102 fprintf(stderr, "Runtime error: %s", "Assert failed");
6103 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21363);
6104 exit(1);
6105 }
6106 var_tkwnewnode5 = var_nodearraylist4;
6107 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
6108 cltype18 = type_nullable_parser_nodes__TKwnew.color;
6109 idtype19 = type_nullable_parser_nodes__TKwnew.id;
6110 if(var_tkwnewnode5 == NULL) {
6111 var17 = 1;
6112 } else {
6113 if(cltype18 >= var_tkwnewnode5->type->table_size) {
6114 var17 = 0;
6115 } else {
6116 var17 = var_tkwnewnode5->type->type_table[cltype18] == idtype19;
6117 }
6118 }
6119 if (!var17) {
6120 fprintf(stderr, "Runtime error: %s", "Assert failed");
6121 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21365);
6122 exit(1);
6123 }
6124 var_psignaturenode7 = var_nodearraylist5;
6125 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
6126 cltype21 = type_nullable_parser_nodes__ASignature.color;
6127 idtype22 = type_nullable_parser_nodes__ASignature.id;
6128 if(var_psignaturenode7 == NULL) {
6129 var20 = 1;
6130 } else {
6131 if(cltype21 >= var_psignaturenode7->type->table_size) {
6132 var20 = 0;
6133 } else {
6134 var20 = var_psignaturenode7->type->type_table[cltype21] == idtype22;
6135 }
6136 }
6137 if (!var20) {
6138 fprintf(stderr, "Runtime error: %s", "Assert failed");
6139 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21367);
6140 exit(1);
6141 }
6142 var_tstringnode8 = var_nodearraylist8;
6143 /* <var_tstringnode8:nullable Object> isa nullable TString */
6144 cltype24 = type_nullable_parser_nodes__TString.color;
6145 idtype25 = type_nullable_parser_nodes__TString.id;
6146 if(var_tstringnode8 == NULL) {
6147 var23 = 1;
6148 } else {
6149 if(cltype24 >= var_tstringnode8->type->table_size) {
6150 var23 = 0;
6151 } else {
6152 var23 = var_tstringnode8->type->type_table[cltype24] == idtype25;
6153 }
6154 }
6155 if (!var23) {
6156 fprintf(stderr, "Runtime error: %s", "Assert failed");
6157 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21369);
6158 exit(1);
6159 }
6160 var_pexterncodeblocknode10 = var_nodearraylist9;
6161 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
6162 cltype27 = type_nullable_parser_nodes__AExternCodeBlock.color;
6163 idtype28 = type_nullable_parser_nodes__AExternCodeBlock.id;
6164 if(var_pexterncodeblocknode10 == NULL) {
6165 var26 = 1;
6166 } else {
6167 if(cltype27 >= var_pexterncodeblocknode10->type->table_size) {
6168 var26 = 0;
6169 } else {
6170 var26 = var_pexterncodeblocknode10->type->type_table[cltype27] == idtype28;
6171 }
6172 }
6173 if (!var26) {
6174 fprintf(stderr, "Runtime error: %s", "Assert failed");
6175 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21371);
6176 exit(1);
6177 }
6178 var29 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
6179 var30 = NULL;
6180 var31 = NULL;
6181 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var30, var_psignaturenode7, var_tstringnode8, var31, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var29:AExternInitPropdef>*/;
6182 CHECK_NEW_parser_nodes__AExternInitPropdef(var29);
6183 var_ppropdefnode1 = var29;
6184 var_node_list = var_ppropdefnode1;
6185 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction486> */
6186 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
6187 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
6188 RET_LABEL:;
6189 }
6190 /* method parser#ReduceAction486#action for (self: Object, Parser) */
6191 void VIRTUAL_parser__ReduceAction486__action(val* self, val* p0) {
6192 parser__ReduceAction486__action(self, p0);
6193 RET_LABEL:;
6194 }
6195 /* method parser#ReduceAction487#action for (self: ReduceAction487, Parser) */
6196 void parser__ReduceAction487__action(val* self, val* p0) {
6197 val* var_p /* var p: Parser */;
6198 val* var /* : null */;
6199 val* var_node_list /* var node_list: nullable Object */;
6200 val* var1 /* : nullable Object */;
6201 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6202 val* var2 /* : nullable Object */;
6203 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6204 val* var3 /* : nullable Object */;
6205 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6206 val* var4 /* : nullable Object */;
6207 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6208 val* var5 /* : nullable Object */;
6209 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6210 val* var6 /* : nullable Object */;
6211 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6212 val* var7 /* : nullable Object */;
6213 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6214 val* var8 /* : nullable Object */;
6215 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6216 val* var9 /* : nullable Object */;
6217 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6218 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6219 short int var10 /* : Bool */;
6220 int cltype;
6221 int idtype;
6222 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6223 short int var11 /* : Bool */;
6224 int cltype12;
6225 int idtype13;
6226 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
6227 short int var14 /* : Bool */;
6228 int cltype15;
6229 int idtype16;
6230 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
6231 short int var17 /* : Bool */;
6232 int cltype18;
6233 int idtype19;
6234 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
6235 short int var20 /* : Bool */;
6236 int cltype21;
6237 int idtype22;
6238 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
6239 short int var23 /* : Bool */;
6240 int cltype24;
6241 int idtype25;
6242 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
6243 short int var26 /* : Bool */;
6244 int cltype27;
6245 int idtype28;
6246 val* var29 /* : AExternInitPropdef */;
6247 val* var30 /* : null */;
6248 val* var31 /* : null */;
6249 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
6250 long var32 /* : Int */;
6251 long var33 /* : Int */;
6252 var_p = p0;
6253 var = NULL;
6254 var_node_list = var;
6255 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6256 var_nodearraylist9 = var1;
6257 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6258 var_nodearraylist8 = var2;
6259 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6260 var_nodearraylist7 = var3;
6261 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6262 var_nodearraylist6 = var4;
6263 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6264 var_nodearraylist5 = var5;
6265 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6266 var_nodearraylist4 = var6;
6267 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6268 var_nodearraylist3 = var7;
6269 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6270 var_nodearraylist2 = var8;
6271 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6272 var_nodearraylist1 = var9;
6273 var_pdocnode2 = var_nodearraylist1;
6274 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6275 cltype = type_nullable_parser_nodes__ADoc.color;
6276 idtype = type_nullable_parser_nodes__ADoc.id;
6277 if(var_pdocnode2 == NULL) {
6278 var10 = 1;
6279 } else {
6280 if(cltype >= var_pdocnode2->type->table_size) {
6281 var10 = 0;
6282 } else {
6283 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
6284 }
6285 }
6286 if (!var10) {
6287 fprintf(stderr, "Runtime error: %s", "Assert failed");
6288 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21402);
6289 exit(1);
6290 }
6291 var_pvisibilitynode4 = var_nodearraylist2;
6292 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6293 cltype12 = type_nullable_parser_nodes__AVisibility.color;
6294 idtype13 = type_nullable_parser_nodes__AVisibility.id;
6295 if(var_pvisibilitynode4 == NULL) {
6296 var11 = 1;
6297 } else {
6298 if(cltype12 >= var_pvisibilitynode4->type->table_size) {
6299 var11 = 0;
6300 } else {
6301 var11 = var_pvisibilitynode4->type->type_table[cltype12] == idtype13;
6302 }
6303 }
6304 if (!var11) {
6305 fprintf(stderr, "Runtime error: %s", "Assert failed");
6306 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21404);
6307 exit(1);
6308 }
6309 var_tkwnewnode5 = var_nodearraylist3;
6310 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
6311 cltype15 = type_nullable_parser_nodes__TKwnew.color;
6312 idtype16 = type_nullable_parser_nodes__TKwnew.id;
6313 if(var_tkwnewnode5 == NULL) {
6314 var14 = 1;
6315 } else {
6316 if(cltype15 >= var_tkwnewnode5->type->table_size) {
6317 var14 = 0;
6318 } else {
6319 var14 = var_tkwnewnode5->type->type_table[cltype15] == idtype16;
6320 }
6321 }
6322 if (!var14) {
6323 fprintf(stderr, "Runtime error: %s", "Assert failed");
6324 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21406);
6325 exit(1);
6326 }
6327 var_pmethidnode6 = var_nodearraylist4;
6328 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
6329 cltype18 = type_nullable_parser_nodes__AMethid.color;
6330 idtype19 = type_nullable_parser_nodes__AMethid.id;
6331 if(var_pmethidnode6 == NULL) {
6332 var17 = 1;
6333 } else {
6334 if(cltype18 >= var_pmethidnode6->type->table_size) {
6335 var17 = 0;
6336 } else {
6337 var17 = var_pmethidnode6->type->type_table[cltype18] == idtype19;
6338 }
6339 }
6340 if (!var17) {
6341 fprintf(stderr, "Runtime error: %s", "Assert failed");
6342 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21408);
6343 exit(1);
6344 }
6345 var_psignaturenode7 = var_nodearraylist5;
6346 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
6347 cltype21 = type_nullable_parser_nodes__ASignature.color;
6348 idtype22 = type_nullable_parser_nodes__ASignature.id;
6349 if(var_psignaturenode7 == NULL) {
6350 var20 = 1;
6351 } else {
6352 if(cltype21 >= var_psignaturenode7->type->table_size) {
6353 var20 = 0;
6354 } else {
6355 var20 = var_psignaturenode7->type->type_table[cltype21] == idtype22;
6356 }
6357 }
6358 if (!var20) {
6359 fprintf(stderr, "Runtime error: %s", "Assert failed");
6360 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21410);
6361 exit(1);
6362 }
6363 var_tstringnode8 = var_nodearraylist8;
6364 /* <var_tstringnode8:nullable Object> isa nullable TString */
6365 cltype24 = type_nullable_parser_nodes__TString.color;
6366 idtype25 = type_nullable_parser_nodes__TString.id;
6367 if(var_tstringnode8 == NULL) {
6368 var23 = 1;
6369 } else {
6370 if(cltype24 >= var_tstringnode8->type->table_size) {
6371 var23 = 0;
6372 } else {
6373 var23 = var_tstringnode8->type->type_table[cltype24] == idtype25;
6374 }
6375 }
6376 if (!var23) {
6377 fprintf(stderr, "Runtime error: %s", "Assert failed");
6378 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21412);
6379 exit(1);
6380 }
6381 var_pexterncodeblocknode10 = var_nodearraylist9;
6382 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
6383 cltype27 = type_nullable_parser_nodes__AExternCodeBlock.color;
6384 idtype28 = type_nullable_parser_nodes__AExternCodeBlock.id;
6385 if(var_pexterncodeblocknode10 == NULL) {
6386 var26 = 1;
6387 } else {
6388 if(cltype27 >= var_pexterncodeblocknode10->type->table_size) {
6389 var26 = 0;
6390 } else {
6391 var26 = var_pexterncodeblocknode10->type->type_table[cltype27] == idtype28;
6392 }
6393 }
6394 if (!var26) {
6395 fprintf(stderr, "Runtime error: %s", "Assert failed");
6396 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21414);
6397 exit(1);
6398 }
6399 var29 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
6400 var30 = NULL;
6401 var31 = NULL;
6402 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var29, var_pdocnode2, var30, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var31, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var29:AExternInitPropdef>*/;
6403 CHECK_NEW_parser_nodes__AExternInitPropdef(var29);
6404 var_ppropdefnode1 = var29;
6405 var_node_list = var_ppropdefnode1;
6406 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction487> */
6407 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
6408 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
6409 RET_LABEL:;
6410 }
6411 /* method parser#ReduceAction487#action for (self: Object, Parser) */
6412 void VIRTUAL_parser__ReduceAction487__action(val* self, val* p0) {
6413 parser__ReduceAction487__action(self, p0);
6414 RET_LABEL:;
6415 }
6416 /* method parser#ReduceAction488#action for (self: ReduceAction488, Parser) */
6417 void parser__ReduceAction488__action(val* self, val* p0) {
6418 val* var_p /* var p: Parser */;
6419 val* var /* : null */;
6420 val* var_node_list /* var node_list: nullable Object */;
6421 val* var1 /* : nullable Object */;
6422 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6423 val* var2 /* : nullable Object */;
6424 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6425 val* var3 /* : nullable Object */;
6426 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6427 val* var4 /* : nullable Object */;
6428 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6429 val* var5 /* : nullable Object */;
6430 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6431 val* var6 /* : nullable Object */;
6432 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6433 val* var7 /* : nullable Object */;
6434 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6435 val* var8 /* : nullable Object */;
6436 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6437 val* var9 /* : nullable Object */;
6438 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6439 val* var10 /* : nullable Object */;
6440 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6441 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6442 short int var11 /* : Bool */;
6443 int cltype;
6444 int idtype;
6445 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
6446 short int var12 /* : Bool */;
6447 int cltype13;
6448 int idtype14;
6449 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6450 short int var15 /* : Bool */;
6451 int cltype16;
6452 int idtype17;
6453 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
6454 short int var18 /* : Bool */;
6455 int cltype19;
6456 int idtype20;
6457 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
6458 short int var21 /* : Bool */;
6459 int cltype22;
6460 int idtype23;
6461 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
6462 short int var24 /* : Bool */;
6463 int cltype25;
6464 int idtype26;
6465 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
6466 short int var27 /* : Bool */;
6467 int cltype28;
6468 int idtype29;
6469 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
6470 short int var30 /* : Bool */;
6471 int cltype31;
6472 int idtype32;
6473 val* var33 /* : AExternInitPropdef */;
6474 val* var34 /* : null */;
6475 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
6476 long var35 /* : Int */;
6477 long var36 /* : Int */;
6478 var_p = p0;
6479 var = NULL;
6480 var_node_list = var;
6481 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6482 var_nodearraylist10 = var1;
6483 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6484 var_nodearraylist9 = var2;
6485 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6486 var_nodearraylist8 = var3;
6487 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6488 var_nodearraylist7 = var4;
6489 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6490 var_nodearraylist6 = var5;
6491 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6492 var_nodearraylist5 = var6;
6493 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6494 var_nodearraylist4 = var7;
6495 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6496 var_nodearraylist3 = var8;
6497 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6498 var_nodearraylist2 = var9;
6499 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6500 var_nodearraylist1 = var10;
6501 var_pdocnode2 = var_nodearraylist1;
6502 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6503 cltype = type_nullable_parser_nodes__ADoc.color;
6504 idtype = type_nullable_parser_nodes__ADoc.id;
6505 if(var_pdocnode2 == NULL) {
6506 var11 = 1;
6507 } else {
6508 if(cltype >= var_pdocnode2->type->table_size) {
6509 var11 = 0;
6510 } else {
6511 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
6512 }
6513 }
6514 if (!var11) {
6515 fprintf(stderr, "Runtime error: %s", "Assert failed");
6516 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21446);
6517 exit(1);
6518 }
6519 var_tkwredefnode3 = var_nodearraylist2;
6520 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6521 cltype13 = type_nullable_parser_nodes__TKwredef.color;
6522 idtype14 = type_nullable_parser_nodes__TKwredef.id;
6523 if(var_tkwredefnode3 == NULL) {
6524 var12 = 1;
6525 } else {
6526 if(cltype13 >= var_tkwredefnode3->type->table_size) {
6527 var12 = 0;
6528 } else {
6529 var12 = var_tkwredefnode3->type->type_table[cltype13] == idtype14;
6530 }
6531 }
6532 if (!var12) {
6533 fprintf(stderr, "Runtime error: %s", "Assert failed");
6534 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21448);
6535 exit(1);
6536 }
6537 var_pvisibilitynode4 = var_nodearraylist3;
6538 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6539 cltype16 = type_nullable_parser_nodes__AVisibility.color;
6540 idtype17 = type_nullable_parser_nodes__AVisibility.id;
6541 if(var_pvisibilitynode4 == NULL) {
6542 var15 = 1;
6543 } else {
6544 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
6545 var15 = 0;
6546 } else {
6547 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
6548 }
6549 }
6550 if (!var15) {
6551 fprintf(stderr, "Runtime error: %s", "Assert failed");
6552 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21450);
6553 exit(1);
6554 }
6555 var_tkwnewnode5 = var_nodearraylist4;
6556 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
6557 cltype19 = type_nullable_parser_nodes__TKwnew.color;
6558 idtype20 = type_nullable_parser_nodes__TKwnew.id;
6559 if(var_tkwnewnode5 == NULL) {
6560 var18 = 1;
6561 } else {
6562 if(cltype19 >= var_tkwnewnode5->type->table_size) {
6563 var18 = 0;
6564 } else {
6565 var18 = var_tkwnewnode5->type->type_table[cltype19] == idtype20;
6566 }
6567 }
6568 if (!var18) {
6569 fprintf(stderr, "Runtime error: %s", "Assert failed");
6570 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21452);
6571 exit(1);
6572 }
6573 var_pmethidnode6 = var_nodearraylist5;
6574 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
6575 cltype22 = type_nullable_parser_nodes__AMethid.color;
6576 idtype23 = type_nullable_parser_nodes__AMethid.id;
6577 if(var_pmethidnode6 == NULL) {
6578 var21 = 1;
6579 } else {
6580 if(cltype22 >= var_pmethidnode6->type->table_size) {
6581 var21 = 0;
6582 } else {
6583 var21 = var_pmethidnode6->type->type_table[cltype22] == idtype23;
6584 }
6585 }
6586 if (!var21) {
6587 fprintf(stderr, "Runtime error: %s", "Assert failed");
6588 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21454);
6589 exit(1);
6590 }
6591 var_psignaturenode7 = var_nodearraylist6;
6592 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
6593 cltype25 = type_nullable_parser_nodes__ASignature.color;
6594 idtype26 = type_nullable_parser_nodes__ASignature.id;
6595 if(var_psignaturenode7 == NULL) {
6596 var24 = 1;
6597 } else {
6598 if(cltype25 >= var_psignaturenode7->type->table_size) {
6599 var24 = 0;
6600 } else {
6601 var24 = var_psignaturenode7->type->type_table[cltype25] == idtype26;
6602 }
6603 }
6604 if (!var24) {
6605 fprintf(stderr, "Runtime error: %s", "Assert failed");
6606 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21456);
6607 exit(1);
6608 }
6609 var_tstringnode8 = var_nodearraylist9;
6610 /* <var_tstringnode8:nullable Object> isa nullable TString */
6611 cltype28 = type_nullable_parser_nodes__TString.color;
6612 idtype29 = type_nullable_parser_nodes__TString.id;
6613 if(var_tstringnode8 == NULL) {
6614 var27 = 1;
6615 } else {
6616 if(cltype28 >= var_tstringnode8->type->table_size) {
6617 var27 = 0;
6618 } else {
6619 var27 = var_tstringnode8->type->type_table[cltype28] == idtype29;
6620 }
6621 }
6622 if (!var27) {
6623 fprintf(stderr, "Runtime error: %s", "Assert failed");
6624 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21458);
6625 exit(1);
6626 }
6627 var_pexterncodeblocknode10 = var_nodearraylist10;
6628 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
6629 cltype31 = type_nullable_parser_nodes__AExternCodeBlock.color;
6630 idtype32 = type_nullable_parser_nodes__AExternCodeBlock.id;
6631 if(var_pexterncodeblocknode10 == NULL) {
6632 var30 = 1;
6633 } else {
6634 if(cltype31 >= var_pexterncodeblocknode10->type->table_size) {
6635 var30 = 0;
6636 } else {
6637 var30 = var_pexterncodeblocknode10->type->type_table[cltype31] == idtype32;
6638 }
6639 }
6640 if (!var30) {
6641 fprintf(stderr, "Runtime error: %s", "Assert failed");
6642 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21460);
6643 exit(1);
6644 }
6645 var33 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
6646 var34 = NULL;
6647 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var34, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var33:AExternInitPropdef>*/;
6648 CHECK_NEW_parser_nodes__AExternInitPropdef(var33);
6649 var_ppropdefnode1 = var33;
6650 var_node_list = var_ppropdefnode1;
6651 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction488> */
6652 var36 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var35) /* go_to on <var_p:Parser>*/;
6653 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var36, var_node_list) /* push on <var_p:Parser>*/;
6654 RET_LABEL:;
6655 }
6656 /* method parser#ReduceAction488#action for (self: Object, Parser) */
6657 void VIRTUAL_parser__ReduceAction488__action(val* self, val* p0) {
6658 parser__ReduceAction488__action(self, p0);
6659 RET_LABEL:;
6660 }
6661 /* method parser#ReduceAction489#action for (self: ReduceAction489, Parser) */
6662 void parser__ReduceAction489__action(val* self, val* p0) {
6663 val* var_p /* var p: Parser */;
6664 val* var /* : null */;
6665 val* var_node_list /* var node_list: nullable Object */;
6666 val* var1 /* : nullable Object */;
6667 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6668 val* var2 /* : nullable Object */;
6669 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6670 val* var3 /* : nullable Object */;
6671 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6672 val* var4 /* : nullable Object */;
6673 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6674 val* var5 /* : nullable Object */;
6675 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6676 val* var6 /* : nullable Object */;
6677 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6678 val* var7 /* : nullable Object */;
6679 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6680 val* var8 /* : nullable Object */;
6681 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6682 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6683 short int var9 /* : Bool */;
6684 int cltype;
6685 int idtype;
6686 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6687 short int var10 /* : Bool */;
6688 int cltype11;
6689 int idtype12;
6690 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
6691 short int var13 /* : Bool */;
6692 int cltype14;
6693 int idtype15;
6694 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
6695 short int var16 /* : Bool */;
6696 int cltype17;
6697 int idtype18;
6698 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
6699 short int var19 /* : Bool */;
6700 int cltype20;
6701 int idtype21;
6702 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
6703 short int var22 /* : Bool */;
6704 int cltype23;
6705 int idtype24;
6706 val* var25 /* : AExternInitPropdef */;
6707 val* var26 /* : null */;
6708 val* var27 /* : null */;
6709 val* var28 /* : null */;
6710 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
6711 long var29 /* : Int */;
6712 long var30 /* : Int */;
6713 var_p = p0;
6714 var = NULL;
6715 var_node_list = var;
6716 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6717 var_nodearraylist8 = var1;
6718 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6719 var_nodearraylist7 = var2;
6720 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6721 var_nodearraylist6 = var3;
6722 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6723 var_nodearraylist5 = var4;
6724 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6725 var_nodearraylist4 = var5;
6726 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6727 var_nodearraylist3 = var6;
6728 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6729 var_nodearraylist2 = var7;
6730 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6731 var_nodearraylist1 = var8;
6732 var_pdocnode2 = var_nodearraylist1;
6733 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6734 cltype = type_nullable_parser_nodes__ADoc.color;
6735 idtype = type_nullable_parser_nodes__ADoc.id;
6736 if(var_pdocnode2 == NULL) {
6737 var9 = 1;
6738 } else {
6739 if(cltype >= var_pdocnode2->type->table_size) {
6740 var9 = 0;
6741 } else {
6742 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
6743 }
6744 }
6745 if (!var9) {
6746 fprintf(stderr, "Runtime error: %s", "Assert failed");
6747 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21490);
6748 exit(1);
6749 }
6750 var_pvisibilitynode4 = var_nodearraylist2;
6751 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6752 cltype11 = type_nullable_parser_nodes__AVisibility.color;
6753 idtype12 = type_nullable_parser_nodes__AVisibility.id;
6754 if(var_pvisibilitynode4 == NULL) {
6755 var10 = 1;
6756 } else {
6757 if(cltype11 >= var_pvisibilitynode4->type->table_size) {
6758 var10 = 0;
6759 } else {
6760 var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
6761 }
6762 }
6763 if (!var10) {
6764 fprintf(stderr, "Runtime error: %s", "Assert failed");
6765 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21492);
6766 exit(1);
6767 }
6768 var_tkwnewnode5 = var_nodearraylist3;
6769 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
6770 cltype14 = type_nullable_parser_nodes__TKwnew.color;
6771 idtype15 = type_nullable_parser_nodes__TKwnew.id;
6772 if(var_tkwnewnode5 == NULL) {
6773 var13 = 1;
6774 } else {
6775 if(cltype14 >= var_tkwnewnode5->type->table_size) {
6776 var13 = 0;
6777 } else {
6778 var13 = var_tkwnewnode5->type->type_table[cltype14] == idtype15;
6779 }
6780 }
6781 if (!var13) {
6782 fprintf(stderr, "Runtime error: %s", "Assert failed");
6783 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21494);
6784 exit(1);
6785 }
6786 var_psignaturenode7 = var_nodearraylist4;
6787 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
6788 cltype17 = type_nullable_parser_nodes__ASignature.color;
6789 idtype18 = type_nullable_parser_nodes__ASignature.id;
6790 if(var_psignaturenode7 == NULL) {
6791 var16 = 1;
6792 } else {
6793 if(cltype17 >= var_psignaturenode7->type->table_size) {
6794 var16 = 0;
6795 } else {
6796 var16 = var_psignaturenode7->type->type_table[cltype17] == idtype18;
6797 }
6798 }
6799 if (!var16) {
6800 fprintf(stderr, "Runtime error: %s", "Assert failed");
6801 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21496);
6802 exit(1);
6803 }
6804 var_pexterncallsnode9 = var_nodearraylist7;
6805 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
6806 cltype20 = type_nullable_parser_nodes__AExternCalls.color;
6807 idtype21 = type_nullable_parser_nodes__AExternCalls.id;
6808 if(var_pexterncallsnode9 == NULL) {
6809 var19 = 1;
6810 } else {
6811 if(cltype20 >= var_pexterncallsnode9->type->table_size) {
6812 var19 = 0;
6813 } else {
6814 var19 = var_pexterncallsnode9->type->type_table[cltype20] == idtype21;
6815 }
6816 }
6817 if (!var19) {
6818 fprintf(stderr, "Runtime error: %s", "Assert failed");
6819 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21498);
6820 exit(1);
6821 }
6822 var_pexterncodeblocknode10 = var_nodearraylist8;
6823 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
6824 cltype23 = type_nullable_parser_nodes__AExternCodeBlock.color;
6825 idtype24 = type_nullable_parser_nodes__AExternCodeBlock.id;
6826 if(var_pexterncodeblocknode10 == NULL) {
6827 var22 = 1;
6828 } else {
6829 if(cltype23 >= var_pexterncodeblocknode10->type->table_size) {
6830 var22 = 0;
6831 } else {
6832 var22 = var_pexterncodeblocknode10->type->type_table[cltype23] == idtype24;
6833 }
6834 }
6835 if (!var22) {
6836 fprintf(stderr, "Runtime error: %s", "Assert failed");
6837 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21500);
6838 exit(1);
6839 }
6840 var25 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
6841 var26 = NULL;
6842 var27 = NULL;
6843 var28 = NULL;
6844 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var25, var_pdocnode2, var26, var_pvisibilitynode4, var_tkwnewnode5, var27, var_psignaturenode7, var28, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var25:AExternInitPropdef>*/;
6845 CHECK_NEW_parser_nodes__AExternInitPropdef(var25);
6846 var_ppropdefnode1 = var25;
6847 var_node_list = var_ppropdefnode1;
6848 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction489> */
6849 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
6850 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
6851 RET_LABEL:;
6852 }
6853 /* method parser#ReduceAction489#action for (self: Object, Parser) */
6854 void VIRTUAL_parser__ReduceAction489__action(val* self, val* p0) {
6855 parser__ReduceAction489__action(self, p0);
6856 RET_LABEL:;
6857 }
6858 /* method parser#ReduceAction490#action for (self: ReduceAction490, Parser) */
6859 void parser__ReduceAction490__action(val* self, val* p0) {
6860 val* var_p /* var p: Parser */;
6861 val* var /* : null */;
6862 val* var_node_list /* var node_list: nullable Object */;
6863 val* var1 /* : nullable Object */;
6864 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6865 val* var2 /* : nullable Object */;
6866 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6867 val* var3 /* : nullable Object */;
6868 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6869 val* var4 /* : nullable Object */;
6870 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6871 val* var5 /* : nullable Object */;
6872 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6873 val* var6 /* : nullable Object */;
6874 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6875 val* var7 /* : nullable Object */;
6876 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6877 val* var8 /* : nullable Object */;
6878 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6879 val* var9 /* : nullable Object */;
6880 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6881 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6882 short int var10 /* : Bool */;
6883 int cltype;
6884 int idtype;
6885 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
6886 short int var11 /* : Bool */;
6887 int cltype12;
6888 int idtype13;
6889 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6890 short int var14 /* : Bool */;
6891 int cltype15;
6892 int idtype16;
6893 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
6894 short int var17 /* : Bool */;
6895 int cltype18;
6896 int idtype19;
6897 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
6898 short int var20 /* : Bool */;
6899 int cltype21;
6900 int idtype22;
6901 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
6902 short int var23 /* : Bool */;
6903 int cltype24;
6904 int idtype25;
6905 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
6906 short int var26 /* : Bool */;
6907 int cltype27;
6908 int idtype28;
6909 val* var29 /* : AExternInitPropdef */;
6910 val* var30 /* : null */;
6911 val* var31 /* : null */;
6912 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
6913 long var32 /* : Int */;
6914 long var33 /* : Int */;
6915 var_p = p0;
6916 var = NULL;
6917 var_node_list = var;
6918 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6919 var_nodearraylist9 = var1;
6920 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6921 var_nodearraylist8 = var2;
6922 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6923 var_nodearraylist7 = var3;
6924 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6925 var_nodearraylist6 = var4;
6926 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6927 var_nodearraylist5 = var5;
6928 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6929 var_nodearraylist4 = var6;
6930 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6931 var_nodearraylist3 = var7;
6932 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6933 var_nodearraylist2 = var8;
6934 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6935 var_nodearraylist1 = var9;
6936 var_pdocnode2 = var_nodearraylist1;
6937 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6938 cltype = type_nullable_parser_nodes__ADoc.color;
6939 idtype = type_nullable_parser_nodes__ADoc.id;
6940 if(var_pdocnode2 == NULL) {
6941 var10 = 1;
6942 } else {
6943 if(cltype >= var_pdocnode2->type->table_size) {
6944 var10 = 0;
6945 } else {
6946 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
6947 }
6948 }
6949 if (!var10) {
6950 fprintf(stderr, "Runtime error: %s", "Assert failed");
6951 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21531);
6952 exit(1);
6953 }
6954 var_tkwredefnode3 = var_nodearraylist2;
6955 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6956 cltype12 = type_nullable_parser_nodes__TKwredef.color;
6957 idtype13 = type_nullable_parser_nodes__TKwredef.id;
6958 if(var_tkwredefnode3 == NULL) {
6959 var11 = 1;
6960 } else {
6961 if(cltype12 >= var_tkwredefnode3->type->table_size) {
6962 var11 = 0;
6963 } else {
6964 var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
6965 }
6966 }
6967 if (!var11) {
6968 fprintf(stderr, "Runtime error: %s", "Assert failed");
6969 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21533);
6970 exit(1);
6971 }
6972 var_pvisibilitynode4 = var_nodearraylist3;
6973 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6974 cltype15 = type_nullable_parser_nodes__AVisibility.color;
6975 idtype16 = type_nullable_parser_nodes__AVisibility.id;
6976 if(var_pvisibilitynode4 == NULL) {
6977 var14 = 1;
6978 } else {
6979 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
6980 var14 = 0;
6981 } else {
6982 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
6983 }
6984 }
6985 if (!var14) {
6986 fprintf(stderr, "Runtime error: %s", "Assert failed");
6987 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21535);
6988 exit(1);
6989 }
6990 var_tkwnewnode5 = var_nodearraylist4;
6991 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
6992 cltype18 = type_nullable_parser_nodes__TKwnew.color;
6993 idtype19 = type_nullable_parser_nodes__TKwnew.id;
6994 if(var_tkwnewnode5 == NULL) {
6995 var17 = 1;
6996 } else {
6997 if(cltype18 >= var_tkwnewnode5->type->table_size) {
6998 var17 = 0;
6999 } else {
7000 var17 = var_tkwnewnode5->type->type_table[cltype18] == idtype19;
7001 }
7002 }
7003 if (!var17) {
7004 fprintf(stderr, "Runtime error: %s", "Assert failed");
7005 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21537);
7006 exit(1);
7007 }
7008 var_psignaturenode7 = var_nodearraylist5;
7009 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
7010 cltype21 = type_nullable_parser_nodes__ASignature.color;
7011 idtype22 = type_nullable_parser_nodes__ASignature.id;
7012 if(var_psignaturenode7 == NULL) {
7013 var20 = 1;
7014 } else {
7015 if(cltype21 >= var_psignaturenode7->type->table_size) {
7016 var20 = 0;
7017 } else {
7018 var20 = var_psignaturenode7->type->type_table[cltype21] == idtype22;
7019 }
7020 }
7021 if (!var20) {
7022 fprintf(stderr, "Runtime error: %s", "Assert failed");
7023 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21539);
7024 exit(1);
7025 }
7026 var_pexterncallsnode9 = var_nodearraylist8;
7027 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
7028 cltype24 = type_nullable_parser_nodes__AExternCalls.color;
7029 idtype25 = type_nullable_parser_nodes__AExternCalls.id;
7030 if(var_pexterncallsnode9 == NULL) {
7031 var23 = 1;
7032 } else {
7033 if(cltype24 >= var_pexterncallsnode9->type->table_size) {
7034 var23 = 0;
7035 } else {
7036 var23 = var_pexterncallsnode9->type->type_table[cltype24] == idtype25;
7037 }
7038 }
7039 if (!var23) {
7040 fprintf(stderr, "Runtime error: %s", "Assert failed");
7041 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21541);
7042 exit(1);
7043 }
7044 var_pexterncodeblocknode10 = var_nodearraylist9;
7045 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
7046 cltype27 = type_nullable_parser_nodes__AExternCodeBlock.color;
7047 idtype28 = type_nullable_parser_nodes__AExternCodeBlock.id;
7048 if(var_pexterncodeblocknode10 == NULL) {
7049 var26 = 1;
7050 } else {
7051 if(cltype27 >= var_pexterncodeblocknode10->type->table_size) {
7052 var26 = 0;
7053 } else {
7054 var26 = var_pexterncodeblocknode10->type->type_table[cltype27] == idtype28;
7055 }
7056 }
7057 if (!var26) {
7058 fprintf(stderr, "Runtime error: %s", "Assert failed");
7059 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21543);
7060 exit(1);
7061 }
7062 var29 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
7063 var30 = NULL;
7064 var31 = NULL;
7065 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var30, var_psignaturenode7, var31, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var29:AExternInitPropdef>*/;
7066 CHECK_NEW_parser_nodes__AExternInitPropdef(var29);
7067 var_ppropdefnode1 = var29;
7068 var_node_list = var_ppropdefnode1;
7069 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction490> */
7070 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
7071 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
7072 RET_LABEL:;
7073 }
7074 /* method parser#ReduceAction490#action for (self: Object, Parser) */
7075 void VIRTUAL_parser__ReduceAction490__action(val* self, val* p0) {
7076 parser__ReduceAction490__action(self, p0);
7077 RET_LABEL:;
7078 }
7079 /* method parser#ReduceAction491#action for (self: ReduceAction491, Parser) */
7080 void parser__ReduceAction491__action(val* self, val* p0) {
7081 val* var_p /* var p: Parser */;
7082 val* var /* : null */;
7083 val* var_node_list /* var node_list: nullable Object */;
7084 val* var1 /* : nullable Object */;
7085 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7086 val* var2 /* : nullable Object */;
7087 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7088 val* var3 /* : nullable Object */;
7089 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7090 val* var4 /* : nullable Object */;
7091 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7092 val* var5 /* : nullable Object */;
7093 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7094 val* var6 /* : nullable Object */;
7095 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7096 val* var7 /* : nullable Object */;
7097 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7098 val* var8 /* : nullable Object */;
7099 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7100 val* var9 /* : nullable Object */;
7101 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7102 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7103 short int var10 /* : Bool */;
7104 int cltype;
7105 int idtype;
7106 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7107 short int var11 /* : Bool */;
7108 int cltype12;
7109 int idtype13;
7110 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
7111 short int var14 /* : Bool */;
7112 int cltype15;
7113 int idtype16;
7114 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
7115 short int var17 /* : Bool */;
7116 int cltype18;
7117 int idtype19;
7118 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
7119 short int var20 /* : Bool */;
7120 int cltype21;
7121 int idtype22;
7122 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
7123 short int var23 /* : Bool */;
7124 int cltype24;
7125 int idtype25;
7126 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
7127 short int var26 /* : Bool */;
7128 int cltype27;
7129 int idtype28;
7130 val* var29 /* : AExternInitPropdef */;
7131 val* var30 /* : null */;
7132 val* var31 /* : null */;
7133 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
7134 long var32 /* : Int */;
7135 long var33 /* : Int */;
7136 var_p = p0;
7137 var = NULL;
7138 var_node_list = var;
7139 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7140 var_nodearraylist9 = var1;
7141 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7142 var_nodearraylist8 = var2;
7143 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7144 var_nodearraylist7 = var3;
7145 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7146 var_nodearraylist6 = var4;
7147 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7148 var_nodearraylist5 = var5;
7149 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7150 var_nodearraylist4 = var6;
7151 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7152 var_nodearraylist3 = var7;
7153 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7154 var_nodearraylist2 = var8;
7155 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7156 var_nodearraylist1 = var9;
7157 var_pdocnode2 = var_nodearraylist1;
7158 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7159 cltype = type_nullable_parser_nodes__ADoc.color;
7160 idtype = type_nullable_parser_nodes__ADoc.id;
7161 if(var_pdocnode2 == NULL) {
7162 var10 = 1;
7163 } else {
7164 if(cltype >= var_pdocnode2->type->table_size) {
7165 var10 = 0;
7166 } else {
7167 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
7168 }
7169 }
7170 if (!var10) {
7171 fprintf(stderr, "Runtime error: %s", "Assert failed");
7172 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21574);
7173 exit(1);
7174 }
7175 var_pvisibilitynode4 = var_nodearraylist2;
7176 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7177 cltype12 = type_nullable_parser_nodes__AVisibility.color;
7178 idtype13 = type_nullable_parser_nodes__AVisibility.id;
7179 if(var_pvisibilitynode4 == NULL) {
7180 var11 = 1;
7181 } else {
7182 if(cltype12 >= var_pvisibilitynode4->type->table_size) {
7183 var11 = 0;
7184 } else {
7185 var11 = var_pvisibilitynode4->type->type_table[cltype12] == idtype13;
7186 }
7187 }
7188 if (!var11) {
7189 fprintf(stderr, "Runtime error: %s", "Assert failed");
7190 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21576);
7191 exit(1);
7192 }
7193 var_tkwnewnode5 = var_nodearraylist3;
7194 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
7195 cltype15 = type_nullable_parser_nodes__TKwnew.color;
7196 idtype16 = type_nullable_parser_nodes__TKwnew.id;
7197 if(var_tkwnewnode5 == NULL) {
7198 var14 = 1;
7199 } else {
7200 if(cltype15 >= var_tkwnewnode5->type->table_size) {
7201 var14 = 0;
7202 } else {
7203 var14 = var_tkwnewnode5->type->type_table[cltype15] == idtype16;
7204 }
7205 }
7206 if (!var14) {
7207 fprintf(stderr, "Runtime error: %s", "Assert failed");
7208 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21578);
7209 exit(1);
7210 }
7211 var_pmethidnode6 = var_nodearraylist4;
7212 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
7213 cltype18 = type_nullable_parser_nodes__AMethid.color;
7214 idtype19 = type_nullable_parser_nodes__AMethid.id;
7215 if(var_pmethidnode6 == NULL) {
7216 var17 = 1;
7217 } else {
7218 if(cltype18 >= var_pmethidnode6->type->table_size) {
7219 var17 = 0;
7220 } else {
7221 var17 = var_pmethidnode6->type->type_table[cltype18] == idtype19;
7222 }
7223 }
7224 if (!var17) {
7225 fprintf(stderr, "Runtime error: %s", "Assert failed");
7226 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21580);
7227 exit(1);
7228 }
7229 var_psignaturenode7 = var_nodearraylist5;
7230 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
7231 cltype21 = type_nullable_parser_nodes__ASignature.color;
7232 idtype22 = type_nullable_parser_nodes__ASignature.id;
7233 if(var_psignaturenode7 == NULL) {
7234 var20 = 1;
7235 } else {
7236 if(cltype21 >= var_psignaturenode7->type->table_size) {
7237 var20 = 0;
7238 } else {
7239 var20 = var_psignaturenode7->type->type_table[cltype21] == idtype22;
7240 }
7241 }
7242 if (!var20) {
7243 fprintf(stderr, "Runtime error: %s", "Assert failed");
7244 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21582);
7245 exit(1);
7246 }
7247 var_pexterncallsnode9 = var_nodearraylist8;
7248 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
7249 cltype24 = type_nullable_parser_nodes__AExternCalls.color;
7250 idtype25 = type_nullable_parser_nodes__AExternCalls.id;
7251 if(var_pexterncallsnode9 == NULL) {
7252 var23 = 1;
7253 } else {
7254 if(cltype24 >= var_pexterncallsnode9->type->table_size) {
7255 var23 = 0;
7256 } else {
7257 var23 = var_pexterncallsnode9->type->type_table[cltype24] == idtype25;
7258 }
7259 }
7260 if (!var23) {
7261 fprintf(stderr, "Runtime error: %s", "Assert failed");
7262 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21584);
7263 exit(1);
7264 }
7265 var_pexterncodeblocknode10 = var_nodearraylist9;
7266 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
7267 cltype27 = type_nullable_parser_nodes__AExternCodeBlock.color;
7268 idtype28 = type_nullable_parser_nodes__AExternCodeBlock.id;
7269 if(var_pexterncodeblocknode10 == NULL) {
7270 var26 = 1;
7271 } else {
7272 if(cltype27 >= var_pexterncodeblocknode10->type->table_size) {
7273 var26 = 0;
7274 } else {
7275 var26 = var_pexterncodeblocknode10->type->type_table[cltype27] == idtype28;
7276 }
7277 }
7278 if (!var26) {
7279 fprintf(stderr, "Runtime error: %s", "Assert failed");
7280 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21586);
7281 exit(1);
7282 }
7283 var29 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
7284 var30 = NULL;
7285 var31 = NULL;
7286 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var29, var_pdocnode2, var30, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var31, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var29:AExternInitPropdef>*/;
7287 CHECK_NEW_parser_nodes__AExternInitPropdef(var29);
7288 var_ppropdefnode1 = var29;
7289 var_node_list = var_ppropdefnode1;
7290 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction491> */
7291 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
7292 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
7293 RET_LABEL:;
7294 }
7295 /* method parser#ReduceAction491#action for (self: Object, Parser) */
7296 void VIRTUAL_parser__ReduceAction491__action(val* self, val* p0) {
7297 parser__ReduceAction491__action(self, p0);
7298 RET_LABEL:;
7299 }
7300 /* method parser#ReduceAction492#action for (self: ReduceAction492, Parser) */
7301 void parser__ReduceAction492__action(val* self, val* p0) {
7302 val* var_p /* var p: Parser */;
7303 val* var /* : null */;
7304 val* var_node_list /* var node_list: nullable Object */;
7305 val* var1 /* : nullable Object */;
7306 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7307 val* var2 /* : nullable Object */;
7308 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7309 val* var3 /* : nullable Object */;
7310 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7311 val* var4 /* : nullable Object */;
7312 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7313 val* var5 /* : nullable Object */;
7314 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7315 val* var6 /* : nullable Object */;
7316 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7317 val* var7 /* : nullable Object */;
7318 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7319 val* var8 /* : nullable Object */;
7320 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7321 val* var9 /* : nullable Object */;
7322 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7323 val* var10 /* : nullable Object */;
7324 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7325 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7326 short int var11 /* : Bool */;
7327 int cltype;
7328 int idtype;
7329 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
7330 short int var12 /* : Bool */;
7331 int cltype13;
7332 int idtype14;
7333 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7334 short int var15 /* : Bool */;
7335 int cltype16;
7336 int idtype17;
7337 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
7338 short int var18 /* : Bool */;
7339 int cltype19;
7340 int idtype20;
7341 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
7342 short int var21 /* : Bool */;
7343 int cltype22;
7344 int idtype23;
7345 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
7346 short int var24 /* : Bool */;
7347 int cltype25;
7348 int idtype26;
7349 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
7350 short int var27 /* : Bool */;
7351 int cltype28;
7352 int idtype29;
7353 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
7354 short int var30 /* : Bool */;
7355 int cltype31;
7356 int idtype32;
7357 val* var33 /* : AExternInitPropdef */;
7358 val* var34 /* : null */;
7359 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
7360 long var35 /* : Int */;
7361 long var36 /* : Int */;
7362 var_p = p0;
7363 var = NULL;
7364 var_node_list = var;
7365 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7366 var_nodearraylist10 = var1;
7367 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7368 var_nodearraylist9 = var2;
7369 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7370 var_nodearraylist8 = var3;
7371 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7372 var_nodearraylist7 = var4;
7373 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7374 var_nodearraylist6 = var5;
7375 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7376 var_nodearraylist5 = var6;
7377 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7378 var_nodearraylist4 = var7;
7379 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7380 var_nodearraylist3 = var8;
7381 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7382 var_nodearraylist2 = var9;
7383 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7384 var_nodearraylist1 = var10;
7385 var_pdocnode2 = var_nodearraylist1;
7386 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7387 cltype = type_nullable_parser_nodes__ADoc.color;
7388 idtype = type_nullable_parser_nodes__ADoc.id;
7389 if(var_pdocnode2 == NULL) {
7390 var11 = 1;
7391 } else {
7392 if(cltype >= var_pdocnode2->type->table_size) {
7393 var11 = 0;
7394 } else {
7395 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
7396 }
7397 }
7398 if (!var11) {
7399 fprintf(stderr, "Runtime error: %s", "Assert failed");
7400 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21618);
7401 exit(1);
7402 }
7403 var_tkwredefnode3 = var_nodearraylist2;
7404 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7405 cltype13 = type_nullable_parser_nodes__TKwredef.color;
7406 idtype14 = type_nullable_parser_nodes__TKwredef.id;
7407 if(var_tkwredefnode3 == NULL) {
7408 var12 = 1;
7409 } else {
7410 if(cltype13 >= var_tkwredefnode3->type->table_size) {
7411 var12 = 0;
7412 } else {
7413 var12 = var_tkwredefnode3->type->type_table[cltype13] == idtype14;
7414 }
7415 }
7416 if (!var12) {
7417 fprintf(stderr, "Runtime error: %s", "Assert failed");
7418 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21620);
7419 exit(1);
7420 }
7421 var_pvisibilitynode4 = var_nodearraylist3;
7422 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7423 cltype16 = type_nullable_parser_nodes__AVisibility.color;
7424 idtype17 = type_nullable_parser_nodes__AVisibility.id;
7425 if(var_pvisibilitynode4 == NULL) {
7426 var15 = 1;
7427 } else {
7428 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
7429 var15 = 0;
7430 } else {
7431 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
7432 }
7433 }
7434 if (!var15) {
7435 fprintf(stderr, "Runtime error: %s", "Assert failed");
7436 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21622);
7437 exit(1);
7438 }
7439 var_tkwnewnode5 = var_nodearraylist4;
7440 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
7441 cltype19 = type_nullable_parser_nodes__TKwnew.color;
7442 idtype20 = type_nullable_parser_nodes__TKwnew.id;
7443 if(var_tkwnewnode5 == NULL) {
7444 var18 = 1;
7445 } else {
7446 if(cltype19 >= var_tkwnewnode5->type->table_size) {
7447 var18 = 0;
7448 } else {
7449 var18 = var_tkwnewnode5->type->type_table[cltype19] == idtype20;
7450 }
7451 }
7452 if (!var18) {
7453 fprintf(stderr, "Runtime error: %s", "Assert failed");
7454 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21624);
7455 exit(1);
7456 }
7457 var_pmethidnode6 = var_nodearraylist5;
7458 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
7459 cltype22 = type_nullable_parser_nodes__AMethid.color;
7460 idtype23 = type_nullable_parser_nodes__AMethid.id;
7461 if(var_pmethidnode6 == NULL) {
7462 var21 = 1;
7463 } else {
7464 if(cltype22 >= var_pmethidnode6->type->table_size) {
7465 var21 = 0;
7466 } else {
7467 var21 = var_pmethidnode6->type->type_table[cltype22] == idtype23;
7468 }
7469 }
7470 if (!var21) {
7471 fprintf(stderr, "Runtime error: %s", "Assert failed");
7472 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21626);
7473 exit(1);
7474 }
7475 var_psignaturenode7 = var_nodearraylist6;
7476 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
7477 cltype25 = type_nullable_parser_nodes__ASignature.color;
7478 idtype26 = type_nullable_parser_nodes__ASignature.id;
7479 if(var_psignaturenode7 == NULL) {
7480 var24 = 1;
7481 } else {
7482 if(cltype25 >= var_psignaturenode7->type->table_size) {
7483 var24 = 0;
7484 } else {
7485 var24 = var_psignaturenode7->type->type_table[cltype25] == idtype26;
7486 }
7487 }
7488 if (!var24) {
7489 fprintf(stderr, "Runtime error: %s", "Assert failed");
7490 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21628);
7491 exit(1);
7492 }
7493 var_pexterncallsnode9 = var_nodearraylist9;
7494 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
7495 cltype28 = type_nullable_parser_nodes__AExternCalls.color;
7496 idtype29 = type_nullable_parser_nodes__AExternCalls.id;
7497 if(var_pexterncallsnode9 == NULL) {
7498 var27 = 1;
7499 } else {
7500 if(cltype28 >= var_pexterncallsnode9->type->table_size) {
7501 var27 = 0;
7502 } else {
7503 var27 = var_pexterncallsnode9->type->type_table[cltype28] == idtype29;
7504 }
7505 }
7506 if (!var27) {
7507 fprintf(stderr, "Runtime error: %s", "Assert failed");
7508 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21630);
7509 exit(1);
7510 }
7511 var_pexterncodeblocknode10 = var_nodearraylist10;
7512 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
7513 cltype31 = type_nullable_parser_nodes__AExternCodeBlock.color;
7514 idtype32 = type_nullable_parser_nodes__AExternCodeBlock.id;
7515 if(var_pexterncodeblocknode10 == NULL) {
7516 var30 = 1;
7517 } else {
7518 if(cltype31 >= var_pexterncodeblocknode10->type->table_size) {
7519 var30 = 0;
7520 } else {
7521 var30 = var_pexterncodeblocknode10->type->type_table[cltype31] == idtype32;
7522 }
7523 }
7524 if (!var30) {
7525 fprintf(stderr, "Runtime error: %s", "Assert failed");
7526 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21632);
7527 exit(1);
7528 }
7529 var33 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
7530 var34 = NULL;
7531 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var34, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var33:AExternInitPropdef>*/;
7532 CHECK_NEW_parser_nodes__AExternInitPropdef(var33);
7533 var_ppropdefnode1 = var33;
7534 var_node_list = var_ppropdefnode1;
7535 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction492> */
7536 var36 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var35) /* go_to on <var_p:Parser>*/;
7537 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var36, var_node_list) /* push on <var_p:Parser>*/;
7538 RET_LABEL:;
7539 }
7540 /* method parser#ReduceAction492#action for (self: Object, Parser) */
7541 void VIRTUAL_parser__ReduceAction492__action(val* self, val* p0) {
7542 parser__ReduceAction492__action(self, p0);
7543 RET_LABEL:;
7544 }
7545 /* method parser#ReduceAction493#action for (self: ReduceAction493, Parser) */
7546 void parser__ReduceAction493__action(val* self, val* p0) {
7547 val* var_p /* var p: Parser */;
7548 val* var /* : null */;
7549 val* var_node_list /* var node_list: nullable Object */;
7550 val* var1 /* : nullable Object */;
7551 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7552 val* var2 /* : nullable Object */;
7553 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7554 val* var3 /* : nullable Object */;
7555 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7556 val* var4 /* : nullable Object */;
7557 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7558 val* var5 /* : nullable Object */;
7559 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7560 val* var6 /* : nullable Object */;
7561 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7562 val* var7 /* : nullable Object */;
7563 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7564 val* var8 /* : nullable Object */;
7565 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7566 val* var9 /* : nullable Object */;
7567 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7568 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7569 short int var10 /* : Bool */;
7570 int cltype;
7571 int idtype;
7572 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7573 short int var11 /* : Bool */;
7574 int cltype12;
7575 int idtype13;
7576 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
7577 short int var14 /* : Bool */;
7578 int cltype15;
7579 int idtype16;
7580 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
7581 short int var17 /* : Bool */;
7582 int cltype18;
7583 int idtype19;
7584 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
7585 short int var20 /* : Bool */;
7586 int cltype21;
7587 int idtype22;
7588 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
7589 short int var23 /* : Bool */;
7590 int cltype24;
7591 int idtype25;
7592 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
7593 short int var26 /* : Bool */;
7594 int cltype27;
7595 int idtype28;
7596 val* var29 /* : AExternInitPropdef */;
7597 val* var30 /* : null */;
7598 val* var31 /* : null */;
7599 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
7600 long var32 /* : Int */;
7601 long var33 /* : Int */;
7602 var_p = p0;
7603 var = NULL;
7604 var_node_list = var;
7605 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7606 var_nodearraylist9 = var1;
7607 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7608 var_nodearraylist8 = var2;
7609 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7610 var_nodearraylist7 = var3;
7611 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7612 var_nodearraylist6 = var4;
7613 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7614 var_nodearraylist5 = var5;
7615 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7616 var_nodearraylist4 = var6;
7617 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7618 var_nodearraylist3 = var7;
7619 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7620 var_nodearraylist2 = var8;
7621 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7622 var_nodearraylist1 = var9;
7623 var_pdocnode2 = var_nodearraylist1;
7624 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7625 cltype = type_nullable_parser_nodes__ADoc.color;
7626 idtype = type_nullable_parser_nodes__ADoc.id;
7627 if(var_pdocnode2 == NULL) {
7628 var10 = 1;
7629 } else {
7630 if(cltype >= var_pdocnode2->type->table_size) {
7631 var10 = 0;
7632 } else {
7633 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
7634 }
7635 }
7636 if (!var10) {
7637 fprintf(stderr, "Runtime error: %s", "Assert failed");
7638 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21663);
7639 exit(1);
7640 }
7641 var_pvisibilitynode4 = var_nodearraylist2;
7642 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7643 cltype12 = type_nullable_parser_nodes__AVisibility.color;
7644 idtype13 = type_nullable_parser_nodes__AVisibility.id;
7645 if(var_pvisibilitynode4 == NULL) {
7646 var11 = 1;
7647 } else {
7648 if(cltype12 >= var_pvisibilitynode4->type->table_size) {
7649 var11 = 0;
7650 } else {
7651 var11 = var_pvisibilitynode4->type->type_table[cltype12] == idtype13;
7652 }
7653 }
7654 if (!var11) {
7655 fprintf(stderr, "Runtime error: %s", "Assert failed");
7656 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21665);
7657 exit(1);
7658 }
7659 var_tkwnewnode5 = var_nodearraylist3;
7660 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
7661 cltype15 = type_nullable_parser_nodes__TKwnew.color;
7662 idtype16 = type_nullable_parser_nodes__TKwnew.id;
7663 if(var_tkwnewnode5 == NULL) {
7664 var14 = 1;
7665 } else {
7666 if(cltype15 >= var_tkwnewnode5->type->table_size) {
7667 var14 = 0;
7668 } else {
7669 var14 = var_tkwnewnode5->type->type_table[cltype15] == idtype16;
7670 }
7671 }
7672 if (!var14) {
7673 fprintf(stderr, "Runtime error: %s", "Assert failed");
7674 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21667);
7675 exit(1);
7676 }
7677 var_psignaturenode7 = var_nodearraylist4;
7678 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
7679 cltype18 = type_nullable_parser_nodes__ASignature.color;
7680 idtype19 = type_nullable_parser_nodes__ASignature.id;
7681 if(var_psignaturenode7 == NULL) {
7682 var17 = 1;
7683 } else {
7684 if(cltype18 >= var_psignaturenode7->type->table_size) {
7685 var17 = 0;
7686 } else {
7687 var17 = var_psignaturenode7->type->type_table[cltype18] == idtype19;
7688 }
7689 }
7690 if (!var17) {
7691 fprintf(stderr, "Runtime error: %s", "Assert failed");
7692 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21669);
7693 exit(1);
7694 }
7695 var_tstringnode8 = var_nodearraylist7;
7696 /* <var_tstringnode8:nullable Object> isa nullable TString */
7697 cltype21 = type_nullable_parser_nodes__TString.color;
7698 idtype22 = type_nullable_parser_nodes__TString.id;
7699 if(var_tstringnode8 == NULL) {
7700 var20 = 1;
7701 } else {
7702 if(cltype21 >= var_tstringnode8->type->table_size) {
7703 var20 = 0;
7704 } else {
7705 var20 = var_tstringnode8->type->type_table[cltype21] == idtype22;
7706 }
7707 }
7708 if (!var20) {
7709 fprintf(stderr, "Runtime error: %s", "Assert failed");
7710 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21671);
7711 exit(1);
7712 }
7713 var_pexterncallsnode9 = var_nodearraylist8;
7714 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
7715 cltype24 = type_nullable_parser_nodes__AExternCalls.color;
7716 idtype25 = type_nullable_parser_nodes__AExternCalls.id;
7717 if(var_pexterncallsnode9 == NULL) {
7718 var23 = 1;
7719 } else {
7720 if(cltype24 >= var_pexterncallsnode9->type->table_size) {
7721 var23 = 0;
7722 } else {
7723 var23 = var_pexterncallsnode9->type->type_table[cltype24] == idtype25;
7724 }
7725 }
7726 if (!var23) {
7727 fprintf(stderr, "Runtime error: %s", "Assert failed");
7728 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21673);
7729 exit(1);
7730 }
7731 var_pexterncodeblocknode10 = var_nodearraylist9;
7732 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
7733 cltype27 = type_nullable_parser_nodes__AExternCodeBlock.color;
7734 idtype28 = type_nullable_parser_nodes__AExternCodeBlock.id;
7735 if(var_pexterncodeblocknode10 == NULL) {
7736 var26 = 1;
7737 } else {
7738 if(cltype27 >= var_pexterncodeblocknode10->type->table_size) {
7739 var26 = 0;
7740 } else {
7741 var26 = var_pexterncodeblocknode10->type->type_table[cltype27] == idtype28;
7742 }
7743 }
7744 if (!var26) {
7745 fprintf(stderr, "Runtime error: %s", "Assert failed");
7746 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21675);
7747 exit(1);
7748 }
7749 var29 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
7750 var30 = NULL;
7751 var31 = NULL;
7752 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var29, var_pdocnode2, var30, var_pvisibilitynode4, var_tkwnewnode5, var31, var_psignaturenode7, var_tstringnode8, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var29:AExternInitPropdef>*/;
7753 CHECK_NEW_parser_nodes__AExternInitPropdef(var29);
7754 var_ppropdefnode1 = var29;
7755 var_node_list = var_ppropdefnode1;
7756 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction493> */
7757 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
7758 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
7759 RET_LABEL:;
7760 }
7761 /* method parser#ReduceAction493#action for (self: Object, Parser) */
7762 void VIRTUAL_parser__ReduceAction493__action(val* self, val* p0) {
7763 parser__ReduceAction493__action(self, p0);
7764 RET_LABEL:;
7765 }
7766 /* method parser#ReduceAction494#action for (self: ReduceAction494, Parser) */
7767 void parser__ReduceAction494__action(val* self, val* p0) {
7768 val* var_p /* var p: Parser */;
7769 val* var /* : null */;
7770 val* var_node_list /* var node_list: nullable Object */;
7771 val* var1 /* : nullable Object */;
7772 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7773 val* var2 /* : nullable Object */;
7774 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7775 val* var3 /* : nullable Object */;
7776 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7777 val* var4 /* : nullable Object */;
7778 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7779 val* var5 /* : nullable Object */;
7780 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7781 val* var6 /* : nullable Object */;
7782 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7783 val* var7 /* : nullable Object */;
7784 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7785 val* var8 /* : nullable Object */;
7786 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7787 val* var9 /* : nullable Object */;
7788 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7789 val* var10 /* : nullable Object */;
7790 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7791 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7792 short int var11 /* : Bool */;
7793 int cltype;
7794 int idtype;
7795 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
7796 short int var12 /* : Bool */;
7797 int cltype13;
7798 int idtype14;
7799 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7800 short int var15 /* : Bool */;
7801 int cltype16;
7802 int idtype17;
7803 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
7804 short int var18 /* : Bool */;
7805 int cltype19;
7806 int idtype20;
7807 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
7808 short int var21 /* : Bool */;
7809 int cltype22;
7810 int idtype23;
7811 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
7812 short int var24 /* : Bool */;
7813 int cltype25;
7814 int idtype26;
7815 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
7816 short int var27 /* : Bool */;
7817 int cltype28;
7818 int idtype29;
7819 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
7820 short int var30 /* : Bool */;
7821 int cltype31;
7822 int idtype32;
7823 val* var33 /* : AExternInitPropdef */;
7824 val* var34 /* : null */;
7825 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
7826 long var35 /* : Int */;
7827 long var36 /* : Int */;
7828 var_p = p0;
7829 var = NULL;
7830 var_node_list = var;
7831 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7832 var_nodearraylist10 = var1;
7833 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7834 var_nodearraylist9 = var2;
7835 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7836 var_nodearraylist8 = var3;
7837 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7838 var_nodearraylist7 = var4;
7839 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7840 var_nodearraylist6 = var5;
7841 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7842 var_nodearraylist5 = var6;
7843 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7844 var_nodearraylist4 = var7;
7845 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7846 var_nodearraylist3 = var8;
7847 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7848 var_nodearraylist2 = var9;
7849 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7850 var_nodearraylist1 = var10;
7851 var_pdocnode2 = var_nodearraylist1;
7852 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7853 cltype = type_nullable_parser_nodes__ADoc.color;
7854 idtype = type_nullable_parser_nodes__ADoc.id;
7855 if(var_pdocnode2 == NULL) {
7856 var11 = 1;
7857 } else {
7858 if(cltype >= var_pdocnode2->type->table_size) {
7859 var11 = 0;
7860 } else {
7861 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
7862 }
7863 }
7864 if (!var11) {
7865 fprintf(stderr, "Runtime error: %s", "Assert failed");
7866 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21707);
7867 exit(1);
7868 }
7869 var_tkwredefnode3 = var_nodearraylist2;
7870 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7871 cltype13 = type_nullable_parser_nodes__TKwredef.color;
7872 idtype14 = type_nullable_parser_nodes__TKwredef.id;
7873 if(var_tkwredefnode3 == NULL) {
7874 var12 = 1;
7875 } else {
7876 if(cltype13 >= var_tkwredefnode3->type->table_size) {
7877 var12 = 0;
7878 } else {
7879 var12 = var_tkwredefnode3->type->type_table[cltype13] == idtype14;
7880 }
7881 }
7882 if (!var12) {
7883 fprintf(stderr, "Runtime error: %s", "Assert failed");
7884 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21709);
7885 exit(1);
7886 }
7887 var_pvisibilitynode4 = var_nodearraylist3;
7888 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7889 cltype16 = type_nullable_parser_nodes__AVisibility.color;
7890 idtype17 = type_nullable_parser_nodes__AVisibility.id;
7891 if(var_pvisibilitynode4 == NULL) {
7892 var15 = 1;
7893 } else {
7894 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
7895 var15 = 0;
7896 } else {
7897 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
7898 }
7899 }
7900 if (!var15) {
7901 fprintf(stderr, "Runtime error: %s", "Assert failed");
7902 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21711);
7903 exit(1);
7904 }
7905 var_tkwnewnode5 = var_nodearraylist4;
7906 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
7907 cltype19 = type_nullable_parser_nodes__TKwnew.color;
7908 idtype20 = type_nullable_parser_nodes__TKwnew.id;
7909 if(var_tkwnewnode5 == NULL) {
7910 var18 = 1;
7911 } else {
7912 if(cltype19 >= var_tkwnewnode5->type->table_size) {
7913 var18 = 0;
7914 } else {
7915 var18 = var_tkwnewnode5->type->type_table[cltype19] == idtype20;
7916 }
7917 }
7918 if (!var18) {
7919 fprintf(stderr, "Runtime error: %s", "Assert failed");
7920 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21713);
7921 exit(1);
7922 }
7923 var_psignaturenode7 = var_nodearraylist5;
7924 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
7925 cltype22 = type_nullable_parser_nodes__ASignature.color;
7926 idtype23 = type_nullable_parser_nodes__ASignature.id;
7927 if(var_psignaturenode7 == NULL) {
7928 var21 = 1;
7929 } else {
7930 if(cltype22 >= var_psignaturenode7->type->table_size) {
7931 var21 = 0;
7932 } else {
7933 var21 = var_psignaturenode7->type->type_table[cltype22] == idtype23;
7934 }
7935 }
7936 if (!var21) {
7937 fprintf(stderr, "Runtime error: %s", "Assert failed");
7938 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21715);
7939 exit(1);
7940 }
7941 var_tstringnode8 = var_nodearraylist8;
7942 /* <var_tstringnode8:nullable Object> isa nullable TString */
7943 cltype25 = type_nullable_parser_nodes__TString.color;
7944 idtype26 = type_nullable_parser_nodes__TString.id;
7945 if(var_tstringnode8 == NULL) {
7946 var24 = 1;
7947 } else {
7948 if(cltype25 >= var_tstringnode8->type->table_size) {
7949 var24 = 0;
7950 } else {
7951 var24 = var_tstringnode8->type->type_table[cltype25] == idtype26;
7952 }
7953 }
7954 if (!var24) {
7955 fprintf(stderr, "Runtime error: %s", "Assert failed");
7956 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21717);
7957 exit(1);
7958 }
7959 var_pexterncallsnode9 = var_nodearraylist9;
7960 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
7961 cltype28 = type_nullable_parser_nodes__AExternCalls.color;
7962 idtype29 = type_nullable_parser_nodes__AExternCalls.id;
7963 if(var_pexterncallsnode9 == NULL) {
7964 var27 = 1;
7965 } else {
7966 if(cltype28 >= var_pexterncallsnode9->type->table_size) {
7967 var27 = 0;
7968 } else {
7969 var27 = var_pexterncallsnode9->type->type_table[cltype28] == idtype29;
7970 }
7971 }
7972 if (!var27) {
7973 fprintf(stderr, "Runtime error: %s", "Assert failed");
7974 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21719);
7975 exit(1);
7976 }
7977 var_pexterncodeblocknode10 = var_nodearraylist10;
7978 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
7979 cltype31 = type_nullable_parser_nodes__AExternCodeBlock.color;
7980 idtype32 = type_nullable_parser_nodes__AExternCodeBlock.id;
7981 if(var_pexterncodeblocknode10 == NULL) {
7982 var30 = 1;
7983 } else {
7984 if(cltype31 >= var_pexterncodeblocknode10->type->table_size) {
7985 var30 = 0;
7986 } else {
7987 var30 = var_pexterncodeblocknode10->type->type_table[cltype31] == idtype32;
7988 }
7989 }
7990 if (!var30) {
7991 fprintf(stderr, "Runtime error: %s", "Assert failed");
7992 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21721);
7993 exit(1);
7994 }
7995 var33 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
7996 var34 = NULL;
7997 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var34, var_psignaturenode7, var_tstringnode8, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var33:AExternInitPropdef>*/;
7998 CHECK_NEW_parser_nodes__AExternInitPropdef(var33);
7999 var_ppropdefnode1 = var33;
8000 var_node_list = var_ppropdefnode1;
8001 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction494> */
8002 var36 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var35) /* go_to on <var_p:Parser>*/;
8003 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var36, var_node_list) /* push on <var_p:Parser>*/;
8004 RET_LABEL:;
8005 }
8006 /* method parser#ReduceAction494#action for (self: Object, Parser) */
8007 void VIRTUAL_parser__ReduceAction494__action(val* self, val* p0) {
8008 parser__ReduceAction494__action(self, p0);
8009 RET_LABEL:;
8010 }
8011 /* method parser#ReduceAction495#action for (self: ReduceAction495, Parser) */
8012 void parser__ReduceAction495__action(val* self, val* p0) {
8013 val* var_p /* var p: Parser */;
8014 val* var /* : null */;
8015 val* var_node_list /* var node_list: nullable Object */;
8016 val* var1 /* : nullable Object */;
8017 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8018 val* var2 /* : nullable Object */;
8019 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8020 val* var3 /* : nullable Object */;
8021 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8022 val* var4 /* : nullable Object */;
8023 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8024 val* var5 /* : nullable Object */;
8025 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8026 val* var6 /* : nullable Object */;
8027 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8028 val* var7 /* : nullable Object */;
8029 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8030 val* var8 /* : nullable Object */;
8031 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8032 val* var9 /* : nullable Object */;
8033 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8034 val* var10 /* : nullable Object */;
8035 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8036 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8037 short int var11 /* : Bool */;
8038 int cltype;
8039 int idtype;
8040 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8041 short int var12 /* : Bool */;
8042 int cltype13;
8043 int idtype14;
8044 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
8045 short int var15 /* : Bool */;
8046 int cltype16;
8047 int idtype17;
8048 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
8049 short int var18 /* : Bool */;
8050 int cltype19;
8051 int idtype20;
8052 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
8053 short int var21 /* : Bool */;
8054 int cltype22;
8055 int idtype23;
8056 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
8057 short int var24 /* : Bool */;
8058 int cltype25;
8059 int idtype26;
8060 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
8061 short int var27 /* : Bool */;
8062 int cltype28;
8063 int idtype29;
8064 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
8065 short int var30 /* : Bool */;
8066 int cltype31;
8067 int idtype32;
8068 val* var33 /* : AExternInitPropdef */;
8069 val* var34 /* : null */;
8070 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
8071 long var35 /* : Int */;
8072 long var36 /* : Int */;
8073 var_p = p0;
8074 var = NULL;
8075 var_node_list = var;
8076 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8077 var_nodearraylist10 = var1;
8078 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8079 var_nodearraylist9 = var2;
8080 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8081 var_nodearraylist8 = var3;
8082 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8083 var_nodearraylist7 = var4;
8084 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8085 var_nodearraylist6 = var5;
8086 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8087 var_nodearraylist5 = var6;
8088 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8089 var_nodearraylist4 = var7;
8090 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8091 var_nodearraylist3 = var8;
8092 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8093 var_nodearraylist2 = var9;
8094 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8095 var_nodearraylist1 = var10;
8096 var_pdocnode2 = var_nodearraylist1;
8097 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8098 cltype = type_nullable_parser_nodes__ADoc.color;
8099 idtype = type_nullable_parser_nodes__ADoc.id;
8100 if(var_pdocnode2 == NULL) {
8101 var11 = 1;
8102 } else {
8103 if(cltype >= var_pdocnode2->type->table_size) {
8104 var11 = 0;
8105 } else {
8106 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
8107 }
8108 }
8109 if (!var11) {
8110 fprintf(stderr, "Runtime error: %s", "Assert failed");
8111 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21753);
8112 exit(1);
8113 }
8114 var_pvisibilitynode4 = var_nodearraylist2;
8115 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8116 cltype13 = type_nullable_parser_nodes__AVisibility.color;
8117 idtype14 = type_nullable_parser_nodes__AVisibility.id;
8118 if(var_pvisibilitynode4 == NULL) {
8119 var12 = 1;
8120 } else {
8121 if(cltype13 >= var_pvisibilitynode4->type->table_size) {
8122 var12 = 0;
8123 } else {
8124 var12 = var_pvisibilitynode4->type->type_table[cltype13] == idtype14;
8125 }
8126 }
8127 if (!var12) {
8128 fprintf(stderr, "Runtime error: %s", "Assert failed");
8129 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21755);
8130 exit(1);
8131 }
8132 var_tkwnewnode5 = var_nodearraylist3;
8133 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
8134 cltype16 = type_nullable_parser_nodes__TKwnew.color;
8135 idtype17 = type_nullable_parser_nodes__TKwnew.id;
8136 if(var_tkwnewnode5 == NULL) {
8137 var15 = 1;
8138 } else {
8139 if(cltype16 >= var_tkwnewnode5->type->table_size) {
8140 var15 = 0;
8141 } else {
8142 var15 = var_tkwnewnode5->type->type_table[cltype16] == idtype17;
8143 }
8144 }
8145 if (!var15) {
8146 fprintf(stderr, "Runtime error: %s", "Assert failed");
8147 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21757);
8148 exit(1);
8149 }
8150 var_pmethidnode6 = var_nodearraylist4;
8151 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
8152 cltype19 = type_nullable_parser_nodes__AMethid.color;
8153 idtype20 = type_nullable_parser_nodes__AMethid.id;
8154 if(var_pmethidnode6 == NULL) {
8155 var18 = 1;
8156 } else {
8157 if(cltype19 >= var_pmethidnode6->type->table_size) {
8158 var18 = 0;
8159 } else {
8160 var18 = var_pmethidnode6->type->type_table[cltype19] == idtype20;
8161 }
8162 }
8163 if (!var18) {
8164 fprintf(stderr, "Runtime error: %s", "Assert failed");
8165 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21759);
8166 exit(1);
8167 }
8168 var_psignaturenode7 = var_nodearraylist5;
8169 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
8170 cltype22 = type_nullable_parser_nodes__ASignature.color;
8171 idtype23 = type_nullable_parser_nodes__ASignature.id;
8172 if(var_psignaturenode7 == NULL) {
8173 var21 = 1;
8174 } else {
8175 if(cltype22 >= var_psignaturenode7->type->table_size) {
8176 var21 = 0;
8177 } else {
8178 var21 = var_psignaturenode7->type->type_table[cltype22] == idtype23;
8179 }
8180 }
8181 if (!var21) {
8182 fprintf(stderr, "Runtime error: %s", "Assert failed");
8183 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21761);
8184 exit(1);
8185 }
8186 var_tstringnode8 = var_nodearraylist8;
8187 /* <var_tstringnode8:nullable Object> isa nullable TString */
8188 cltype25 = type_nullable_parser_nodes__TString.color;
8189 idtype26 = type_nullable_parser_nodes__TString.id;
8190 if(var_tstringnode8 == NULL) {
8191 var24 = 1;
8192 } else {
8193 if(cltype25 >= var_tstringnode8->type->table_size) {
8194 var24 = 0;
8195 } else {
8196 var24 = var_tstringnode8->type->type_table[cltype25] == idtype26;
8197 }
8198 }
8199 if (!var24) {
8200 fprintf(stderr, "Runtime error: %s", "Assert failed");
8201 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21763);
8202 exit(1);
8203 }
8204 var_pexterncallsnode9 = var_nodearraylist9;
8205 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
8206 cltype28 = type_nullable_parser_nodes__AExternCalls.color;
8207 idtype29 = type_nullable_parser_nodes__AExternCalls.id;
8208 if(var_pexterncallsnode9 == NULL) {
8209 var27 = 1;
8210 } else {
8211 if(cltype28 >= var_pexterncallsnode9->type->table_size) {
8212 var27 = 0;
8213 } else {
8214 var27 = var_pexterncallsnode9->type->type_table[cltype28] == idtype29;
8215 }
8216 }
8217 if (!var27) {
8218 fprintf(stderr, "Runtime error: %s", "Assert failed");
8219 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21765);
8220 exit(1);
8221 }
8222 var_pexterncodeblocknode10 = var_nodearraylist10;
8223 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
8224 cltype31 = type_nullable_parser_nodes__AExternCodeBlock.color;
8225 idtype32 = type_nullable_parser_nodes__AExternCodeBlock.id;
8226 if(var_pexterncodeblocknode10 == NULL) {
8227 var30 = 1;
8228 } else {
8229 if(cltype31 >= var_pexterncodeblocknode10->type->table_size) {
8230 var30 = 0;
8231 } else {
8232 var30 = var_pexterncodeblocknode10->type->type_table[cltype31] == idtype32;
8233 }
8234 }
8235 if (!var30) {
8236 fprintf(stderr, "Runtime error: %s", "Assert failed");
8237 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21767);
8238 exit(1);
8239 }
8240 var33 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
8241 var34 = NULL;
8242 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var33, var_pdocnode2, var34, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var33:AExternInitPropdef>*/;
8243 CHECK_NEW_parser_nodes__AExternInitPropdef(var33);
8244 var_ppropdefnode1 = var33;
8245 var_node_list = var_ppropdefnode1;
8246 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction495> */
8247 var36 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var35) /* go_to on <var_p:Parser>*/;
8248 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var36, var_node_list) /* push on <var_p:Parser>*/;
8249 RET_LABEL:;
8250 }
8251 /* method parser#ReduceAction495#action for (self: Object, Parser) */
8252 void VIRTUAL_parser__ReduceAction495__action(val* self, val* p0) {
8253 parser__ReduceAction495__action(self, p0);
8254 RET_LABEL:;
8255 }
8256 /* method parser#ReduceAction496#action for (self: ReduceAction496, Parser) */
8257 void parser__ReduceAction496__action(val* self, val* p0) {
8258 val* var_p /* var p: Parser */;
8259 val* var /* : null */;
8260 val* var_node_list /* var node_list: nullable Object */;
8261 val* var1 /* : nullable Object */;
8262 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
8263 val* var2 /* : nullable Object */;
8264 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8265 val* var3 /* : nullable Object */;
8266 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8267 val* var4 /* : nullable Object */;
8268 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8269 val* var5 /* : nullable Object */;
8270 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8271 val* var6 /* : nullable Object */;
8272 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8273 val* var7 /* : nullable Object */;
8274 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8275 val* var8 /* : nullable Object */;
8276 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8277 val* var9 /* : nullable Object */;
8278 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8279 val* var10 /* : nullable Object */;
8280 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8281 val* var11 /* : nullable Object */;
8282 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8283 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8284 short int var12 /* : Bool */;
8285 int cltype;
8286 int idtype;
8287 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
8288 short int var13 /* : Bool */;
8289 int cltype14;
8290 int idtype15;
8291 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8292 short int var16 /* : Bool */;
8293 int cltype17;
8294 int idtype18;
8295 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
8296 short int var19 /* : Bool */;
8297 int cltype20;
8298 int idtype21;
8299 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
8300 short int var22 /* : Bool */;
8301 int cltype23;
8302 int idtype24;
8303 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
8304 short int var25 /* : Bool */;
8305 int cltype26;
8306 int idtype27;
8307 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
8308 short int var28 /* : Bool */;
8309 int cltype29;
8310 int idtype30;
8311 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
8312 short int var31 /* : Bool */;
8313 int cltype32;
8314 int idtype33;
8315 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
8316 short int var34 /* : Bool */;
8317 int cltype35;
8318 int idtype36;
8319 val* var37 /* : AExternInitPropdef */;
8320 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
8321 long var38 /* : Int */;
8322 long var39 /* : Int */;
8323 var_p = p0;
8324 var = NULL;
8325 var_node_list = var;
8326 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8327 var_nodearraylist11 = var1;
8328 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8329 var_nodearraylist10 = var2;
8330 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8331 var_nodearraylist9 = var3;
8332 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8333 var_nodearraylist8 = var4;
8334 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8335 var_nodearraylist7 = var5;
8336 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8337 var_nodearraylist6 = var6;
8338 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8339 var_nodearraylist5 = var7;
8340 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8341 var_nodearraylist4 = var8;
8342 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8343 var_nodearraylist3 = var9;
8344 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8345 var_nodearraylist2 = var10;
8346 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8347 var_nodearraylist1 = var11;
8348 var_pdocnode2 = var_nodearraylist1;
8349 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8350 cltype = type_nullable_parser_nodes__ADoc.color;
8351 idtype = type_nullable_parser_nodes__ADoc.id;
8352 if(var_pdocnode2 == NULL) {
8353 var12 = 1;
8354 } else {
8355 if(cltype >= var_pdocnode2->type->table_size) {
8356 var12 = 0;
8357 } else {
8358 var12 = var_pdocnode2->type->type_table[cltype] == idtype;
8359 }
8360 }
8361 if (!var12) {
8362 fprintf(stderr, "Runtime error: %s", "Assert failed");
8363 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21800);
8364 exit(1);
8365 }
8366 var_tkwredefnode3 = var_nodearraylist2;
8367 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8368 cltype14 = type_nullable_parser_nodes__TKwredef.color;
8369 idtype15 = type_nullable_parser_nodes__TKwredef.id;
8370 if(var_tkwredefnode3 == NULL) {
8371 var13 = 1;
8372 } else {
8373 if(cltype14 >= var_tkwredefnode3->type->table_size) {
8374 var13 = 0;
8375 } else {
8376 var13 = var_tkwredefnode3->type->type_table[cltype14] == idtype15;
8377 }
8378 }
8379 if (!var13) {
8380 fprintf(stderr, "Runtime error: %s", "Assert failed");
8381 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21802);
8382 exit(1);
8383 }
8384 var_pvisibilitynode4 = var_nodearraylist3;
8385 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8386 cltype17 = type_nullable_parser_nodes__AVisibility.color;
8387 idtype18 = type_nullable_parser_nodes__AVisibility.id;
8388 if(var_pvisibilitynode4 == NULL) {
8389 var16 = 1;
8390 } else {
8391 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
8392 var16 = 0;
8393 } else {
8394 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
8395 }
8396 }
8397 if (!var16) {
8398 fprintf(stderr, "Runtime error: %s", "Assert failed");
8399 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21804);
8400 exit(1);
8401 }
8402 var_tkwnewnode5 = var_nodearraylist4;
8403 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
8404 cltype20 = type_nullable_parser_nodes__TKwnew.color;
8405 idtype21 = type_nullable_parser_nodes__TKwnew.id;
8406 if(var_tkwnewnode5 == NULL) {
8407 var19 = 1;
8408 } else {
8409 if(cltype20 >= var_tkwnewnode5->type->table_size) {
8410 var19 = 0;
8411 } else {
8412 var19 = var_tkwnewnode5->type->type_table[cltype20] == idtype21;
8413 }
8414 }
8415 if (!var19) {
8416 fprintf(stderr, "Runtime error: %s", "Assert failed");
8417 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21806);
8418 exit(1);
8419 }
8420 var_pmethidnode6 = var_nodearraylist5;
8421 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
8422 cltype23 = type_nullable_parser_nodes__AMethid.color;
8423 idtype24 = type_nullable_parser_nodes__AMethid.id;
8424 if(var_pmethidnode6 == NULL) {
8425 var22 = 1;
8426 } else {
8427 if(cltype23 >= var_pmethidnode6->type->table_size) {
8428 var22 = 0;
8429 } else {
8430 var22 = var_pmethidnode6->type->type_table[cltype23] == idtype24;
8431 }
8432 }
8433 if (!var22) {
8434 fprintf(stderr, "Runtime error: %s", "Assert failed");
8435 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21808);
8436 exit(1);
8437 }
8438 var_psignaturenode7 = var_nodearraylist6;
8439 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
8440 cltype26 = type_nullable_parser_nodes__ASignature.color;
8441 idtype27 = type_nullable_parser_nodes__ASignature.id;
8442 if(var_psignaturenode7 == NULL) {
8443 var25 = 1;
8444 } else {
8445 if(cltype26 >= var_psignaturenode7->type->table_size) {
8446 var25 = 0;
8447 } else {
8448 var25 = var_psignaturenode7->type->type_table[cltype26] == idtype27;
8449 }
8450 }
8451 if (!var25) {
8452 fprintf(stderr, "Runtime error: %s", "Assert failed");
8453 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21810);
8454 exit(1);
8455 }
8456 var_tstringnode8 = var_nodearraylist9;
8457 /* <var_tstringnode8:nullable Object> isa nullable TString */
8458 cltype29 = type_nullable_parser_nodes__TString.color;
8459 idtype30 = type_nullable_parser_nodes__TString.id;
8460 if(var_tstringnode8 == NULL) {
8461 var28 = 1;
8462 } else {
8463 if(cltype29 >= var_tstringnode8->type->table_size) {
8464 var28 = 0;
8465 } else {
8466 var28 = var_tstringnode8->type->type_table[cltype29] == idtype30;
8467 }
8468 }
8469 if (!var28) {
8470 fprintf(stderr, "Runtime error: %s", "Assert failed");
8471 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21812);
8472 exit(1);
8473 }
8474 var_pexterncallsnode9 = var_nodearraylist10;
8475 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
8476 cltype32 = type_nullable_parser_nodes__AExternCalls.color;
8477 idtype33 = type_nullable_parser_nodes__AExternCalls.id;
8478 if(var_pexterncallsnode9 == NULL) {
8479 var31 = 1;
8480 } else {
8481 if(cltype32 >= var_pexterncallsnode9->type->table_size) {
8482 var31 = 0;
8483 } else {
8484 var31 = var_pexterncallsnode9->type->type_table[cltype32] == idtype33;
8485 }
8486 }
8487 if (!var31) {
8488 fprintf(stderr, "Runtime error: %s", "Assert failed");
8489 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21814);
8490 exit(1);
8491 }
8492 var_pexterncodeblocknode10 = var_nodearraylist11;
8493 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
8494 cltype35 = type_nullable_parser_nodes__AExternCodeBlock.color;
8495 idtype36 = type_nullable_parser_nodes__AExternCodeBlock.id;
8496 if(var_pexterncodeblocknode10 == NULL) {
8497 var34 = 1;
8498 } else {
8499 if(cltype35 >= var_pexterncodeblocknode10->type->table_size) {
8500 var34 = 0;
8501 } else {
8502 var34 = var_pexterncodeblocknode10->type->type_table[cltype35] == idtype36;
8503 }
8504 }
8505 if (!var34) {
8506 fprintf(stderr, "Runtime error: %s", "Assert failed");
8507 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21816);
8508 exit(1);
8509 }
8510 var37 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
8511 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var37->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var37, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var37:AExternInitPropdef>*/;
8512 CHECK_NEW_parser_nodes__AExternInitPropdef(var37);
8513 var_ppropdefnode1 = var37;
8514 var_node_list = var_ppropdefnode1;
8515 var38 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction496> */
8516 var39 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var38) /* go_to on <var_p:Parser>*/;
8517 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var39, var_node_list) /* push on <var_p:Parser>*/;
8518 RET_LABEL:;
8519 }
8520 /* method parser#ReduceAction496#action for (self: Object, Parser) */
8521 void VIRTUAL_parser__ReduceAction496__action(val* self, val* p0) {
8522 parser__ReduceAction496__action(self, p0);
8523 RET_LABEL:;
8524 }
8525 /* method parser#ReduceAction497#action for (self: ReduceAction497, Parser) */
8526 void parser__ReduceAction497__action(val* self, val* p0) {
8527 val* var_p /* var p: Parser */;
8528 val* var /* : null */;
8529 val* var_node_list /* var node_list: nullable Object */;
8530 val* var1 /* : nullable Object */;
8531 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8532 val* var2 /* : nullable Object */;
8533 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8534 val* var3 /* : nullable Object */;
8535 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8536 val* var4 /* : nullable Object */;
8537 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8538 val* var5 /* : nullable Object */;
8539 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8540 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8541 short int var6 /* : Bool */;
8542 int cltype;
8543 int idtype;
8544 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8545 short int var7 /* : Bool */;
8546 int cltype8;
8547 int idtype9;
8548 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
8549 short int var10 /* : Bool */;
8550 int cltype11;
8551 int idtype12;
8552 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
8553 short int var13 /* : Bool */;
8554 int cltype14;
8555 int idtype15;
8556 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
8557 short int var16 /* : Bool */;
8558 int cltype17;
8559 int idtype18;
8560 val* var19 /* : AExternInitPropdef */;
8561 val* var20 /* : null */;
8562 val* var21 /* : null */;
8563 val* var22 /* : null */;
8564 val* var23 /* : null */;
8565 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
8566 long var24 /* : Int */;
8567 long var25 /* : Int */;
8568 var_p = p0;
8569 var = NULL;
8570 var_node_list = var;
8571 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8572 var_nodearraylist5 = var1;
8573 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8574 var_nodearraylist4 = var2;
8575 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8576 var_nodearraylist3 = var3;
8577 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8578 var_nodearraylist2 = var4;
8579 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8580 var_nodearraylist1 = var5;
8581 var_pdocnode2 = var_nodearraylist1;
8582 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8583 cltype = type_nullable_parser_nodes__ADoc.color;
8584 idtype = type_nullable_parser_nodes__ADoc.id;
8585 if(var_pdocnode2 == NULL) {
8586 var6 = 1;
8587 } else {
8588 if(cltype >= var_pdocnode2->type->table_size) {
8589 var6 = 0;
8590 } else {
8591 var6 = var_pdocnode2->type->type_table[cltype] == idtype;
8592 }
8593 }
8594 if (!var6) {
8595 fprintf(stderr, "Runtime error: %s", "Assert failed");
8596 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21843);
8597 exit(1);
8598 }
8599 var_pvisibilitynode4 = var_nodearraylist2;
8600 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8601 cltype8 = type_nullable_parser_nodes__AVisibility.color;
8602 idtype9 = type_nullable_parser_nodes__AVisibility.id;
8603 if(var_pvisibilitynode4 == NULL) {
8604 var7 = 1;
8605 } else {
8606 if(cltype8 >= var_pvisibilitynode4->type->table_size) {
8607 var7 = 0;
8608 } else {
8609 var7 = var_pvisibilitynode4->type->type_table[cltype8] == idtype9;
8610 }
8611 }
8612 if (!var7) {
8613 fprintf(stderr, "Runtime error: %s", "Assert failed");
8614 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21845);
8615 exit(1);
8616 }
8617 var_tkwnewnode5 = var_nodearraylist3;
8618 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
8619 cltype11 = type_nullable_parser_nodes__TKwnew.color;
8620 idtype12 = type_nullable_parser_nodes__TKwnew.id;
8621 if(var_tkwnewnode5 == NULL) {
8622 var10 = 1;
8623 } else {
8624 if(cltype11 >= var_tkwnewnode5->type->table_size) {
8625 var10 = 0;
8626 } else {
8627 var10 = var_tkwnewnode5->type->type_table[cltype11] == idtype12;
8628 }
8629 }
8630 if (!var10) {
8631 fprintf(stderr, "Runtime error: %s", "Assert failed");
8632 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21847);
8633 exit(1);
8634 }
8635 var_psignaturenode7 = var_nodearraylist4;
8636 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
8637 cltype14 = type_nullable_parser_nodes__ASignature.color;
8638 idtype15 = type_nullable_parser_nodes__ASignature.id;
8639 if(var_psignaturenode7 == NULL) {
8640 var13 = 1;
8641 } else {
8642 if(cltype14 >= var_psignaturenode7->type->table_size) {
8643 var13 = 0;
8644 } else {
8645 var13 = var_psignaturenode7->type->type_table[cltype14] == idtype15;
8646 }
8647 }
8648 if (!var13) {
8649 fprintf(stderr, "Runtime error: %s", "Assert failed");
8650 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21849);
8651 exit(1);
8652 }
8653 var_pexterncodeblocknode10 = var_nodearraylist5;
8654 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
8655 cltype17 = type_nullable_parser_nodes__AExternCodeBlock.color;
8656 idtype18 = type_nullable_parser_nodes__AExternCodeBlock.id;
8657 if(var_pexterncodeblocknode10 == NULL) {
8658 var16 = 1;
8659 } else {
8660 if(cltype17 >= var_pexterncodeblocknode10->type->table_size) {
8661 var16 = 0;
8662 } else {
8663 var16 = var_pexterncodeblocknode10->type->type_table[cltype17] == idtype18;
8664 }
8665 }
8666 if (!var16) {
8667 fprintf(stderr, "Runtime error: %s", "Assert failed");
8668 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21851);
8669 exit(1);
8670 }
8671 var19 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
8672 var20 = NULL;
8673 var21 = NULL;
8674 var22 = NULL;
8675 var23 = NULL;
8676 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var19->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var19, var_pdocnode2, var20, var_pvisibilitynode4, var_tkwnewnode5, var21, var_psignaturenode7, var22, var23, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var19:AExternInitPropdef>*/;
8677 CHECK_NEW_parser_nodes__AExternInitPropdef(var19);
8678 var_ppropdefnode1 = var19;
8679 var_node_list = var_ppropdefnode1;
8680 var24 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction497> */
8681 var25 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var24) /* go_to on <var_p:Parser>*/;
8682 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var25, var_node_list) /* push on <var_p:Parser>*/;
8683 RET_LABEL:;
8684 }
8685 /* method parser#ReduceAction497#action for (self: Object, Parser) */
8686 void VIRTUAL_parser__ReduceAction497__action(val* self, val* p0) {
8687 parser__ReduceAction497__action(self, p0);
8688 RET_LABEL:;
8689 }
8690 /* method parser#ReduceAction498#action for (self: ReduceAction498, Parser) */
8691 void parser__ReduceAction498__action(val* self, val* p0) {
8692 val* var_p /* var p: Parser */;
8693 val* var /* : null */;
8694 val* var_node_list /* var node_list: nullable Object */;
8695 val* var1 /* : nullable Object */;
8696 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8697 val* var2 /* : nullable Object */;
8698 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8699 val* var3 /* : nullable Object */;
8700 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8701 val* var4 /* : nullable Object */;
8702 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8703 val* var5 /* : nullable Object */;
8704 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8705 val* var6 /* : nullable Object */;
8706 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8707 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8708 short int var7 /* : Bool */;
8709 int cltype;
8710 int idtype;
8711 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
8712 short int var8 /* : Bool */;
8713 int cltype9;
8714 int idtype10;
8715 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8716 short int var11 /* : Bool */;
8717 int cltype12;
8718 int idtype13;
8719 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
8720 short int var14 /* : Bool */;
8721 int cltype15;
8722 int idtype16;
8723 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
8724 short int var17 /* : Bool */;
8725 int cltype18;
8726 int idtype19;
8727 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
8728 short int var20 /* : Bool */;
8729 int cltype21;
8730 int idtype22;
8731 val* var23 /* : AExternInitPropdef */;
8732 val* var24 /* : null */;
8733 val* var25 /* : null */;
8734 val* var26 /* : null */;
8735 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
8736 long var27 /* : Int */;
8737 long var28 /* : Int */;
8738 var_p = p0;
8739 var = NULL;
8740 var_node_list = var;
8741 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8742 var_nodearraylist6 = var1;
8743 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8744 var_nodearraylist5 = var2;
8745 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8746 var_nodearraylist4 = var3;
8747 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8748 var_nodearraylist3 = var4;
8749 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8750 var_nodearraylist2 = var5;
8751 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8752 var_nodearraylist1 = var6;
8753 var_pdocnode2 = var_nodearraylist1;
8754 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8755 cltype = type_nullable_parser_nodes__ADoc.color;
8756 idtype = type_nullable_parser_nodes__ADoc.id;
8757 if(var_pdocnode2 == NULL) {
8758 var7 = 1;
8759 } else {
8760 if(cltype >= var_pdocnode2->type->table_size) {
8761 var7 = 0;
8762 } else {
8763 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
8764 }
8765 }
8766 if (!var7) {
8767 fprintf(stderr, "Runtime error: %s", "Assert failed");
8768 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21879);
8769 exit(1);
8770 }
8771 var_tkwredefnode3 = var_nodearraylist2;
8772 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8773 cltype9 = type_nullable_parser_nodes__TKwredef.color;
8774 idtype10 = type_nullable_parser_nodes__TKwredef.id;
8775 if(var_tkwredefnode3 == NULL) {
8776 var8 = 1;
8777 } else {
8778 if(cltype9 >= var_tkwredefnode3->type->table_size) {
8779 var8 = 0;
8780 } else {
8781 var8 = var_tkwredefnode3->type->type_table[cltype9] == idtype10;
8782 }
8783 }
8784 if (!var8) {
8785 fprintf(stderr, "Runtime error: %s", "Assert failed");
8786 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21881);
8787 exit(1);
8788 }
8789 var_pvisibilitynode4 = var_nodearraylist3;
8790 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8791 cltype12 = type_nullable_parser_nodes__AVisibility.color;
8792 idtype13 = type_nullable_parser_nodes__AVisibility.id;
8793 if(var_pvisibilitynode4 == NULL) {
8794 var11 = 1;
8795 } else {
8796 if(cltype12 >= var_pvisibilitynode4->type->table_size) {
8797 var11 = 0;
8798 } else {
8799 var11 = var_pvisibilitynode4->type->type_table[cltype12] == idtype13;
8800 }
8801 }
8802 if (!var11) {
8803 fprintf(stderr, "Runtime error: %s", "Assert failed");
8804 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21883);
8805 exit(1);
8806 }
8807 var_tkwnewnode5 = var_nodearraylist4;
8808 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
8809 cltype15 = type_nullable_parser_nodes__TKwnew.color;
8810 idtype16 = type_nullable_parser_nodes__TKwnew.id;
8811 if(var_tkwnewnode5 == NULL) {
8812 var14 = 1;
8813 } else {
8814 if(cltype15 >= var_tkwnewnode5->type->table_size) {
8815 var14 = 0;
8816 } else {
8817 var14 = var_tkwnewnode5->type->type_table[cltype15] == idtype16;
8818 }
8819 }
8820 if (!var14) {
8821 fprintf(stderr, "Runtime error: %s", "Assert failed");
8822 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21885);
8823 exit(1);
8824 }
8825 var_psignaturenode7 = var_nodearraylist5;
8826 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
8827 cltype18 = type_nullable_parser_nodes__ASignature.color;
8828 idtype19 = type_nullable_parser_nodes__ASignature.id;
8829 if(var_psignaturenode7 == NULL) {
8830 var17 = 1;
8831 } else {
8832 if(cltype18 >= var_psignaturenode7->type->table_size) {
8833 var17 = 0;
8834 } else {
8835 var17 = var_psignaturenode7->type->type_table[cltype18] == idtype19;
8836 }
8837 }
8838 if (!var17) {
8839 fprintf(stderr, "Runtime error: %s", "Assert failed");
8840 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21887);
8841 exit(1);
8842 }
8843 var_pexterncodeblocknode10 = var_nodearraylist6;
8844 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
8845 cltype21 = type_nullable_parser_nodes__AExternCodeBlock.color;
8846 idtype22 = type_nullable_parser_nodes__AExternCodeBlock.id;
8847 if(var_pexterncodeblocknode10 == NULL) {
8848 var20 = 1;
8849 } else {
8850 if(cltype21 >= var_pexterncodeblocknode10->type->table_size) {
8851 var20 = 0;
8852 } else {
8853 var20 = var_pexterncodeblocknode10->type->type_table[cltype21] == idtype22;
8854 }
8855 }
8856 if (!var20) {
8857 fprintf(stderr, "Runtime error: %s", "Assert failed");
8858 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21889);
8859 exit(1);
8860 }
8861 var23 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
8862 var24 = NULL;
8863 var25 = NULL;
8864 var26 = NULL;
8865 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var23, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var24, var_psignaturenode7, var25, var26, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var23:AExternInitPropdef>*/;
8866 CHECK_NEW_parser_nodes__AExternInitPropdef(var23);
8867 var_ppropdefnode1 = var23;
8868 var_node_list = var_ppropdefnode1;
8869 var27 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction498> */
8870 var28 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var27) /* go_to on <var_p:Parser>*/;
8871 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var28, var_node_list) /* push on <var_p:Parser>*/;
8872 RET_LABEL:;
8873 }
8874 /* method parser#ReduceAction498#action for (self: Object, Parser) */
8875 void VIRTUAL_parser__ReduceAction498__action(val* self, val* p0) {
8876 parser__ReduceAction498__action(self, p0);
8877 RET_LABEL:;
8878 }
8879 /* method parser#ReduceAction499#action for (self: ReduceAction499, Parser) */
8880 void parser__ReduceAction499__action(val* self, val* p0) {
8881 val* var_p /* var p: Parser */;
8882 val* var /* : null */;
8883 val* var_node_list /* var node_list: nullable Object */;
8884 val* var1 /* : nullable Object */;
8885 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8886 val* var2 /* : nullable Object */;
8887 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8888 val* var3 /* : nullable Object */;
8889 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8890 val* var4 /* : nullable Object */;
8891 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8892 val* var5 /* : nullable Object */;
8893 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8894 val* var6 /* : nullable Object */;
8895 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8896 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8897 short int var7 /* : Bool */;
8898 int cltype;
8899 int idtype;
8900 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8901 short int var8 /* : Bool */;
8902 int cltype9;
8903 int idtype10;
8904 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
8905 short int var11 /* : Bool */;
8906 int cltype12;
8907 int idtype13;
8908 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
8909 short int var14 /* : Bool */;
8910 int cltype15;
8911 int idtype16;
8912 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
8913 short int var17 /* : Bool */;
8914 int cltype18;
8915 int idtype19;
8916 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
8917 short int var20 /* : Bool */;
8918 int cltype21;
8919 int idtype22;
8920 val* var23 /* : AExternInitPropdef */;
8921 val* var24 /* : null */;
8922 val* var25 /* : null */;
8923 val* var26 /* : null */;
8924 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
8925 long var27 /* : Int */;
8926 long var28 /* : Int */;
8927 var_p = p0;
8928 var = NULL;
8929 var_node_list = var;
8930 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8931 var_nodearraylist6 = var1;
8932 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8933 var_nodearraylist5 = var2;
8934 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8935 var_nodearraylist4 = var3;
8936 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8937 var_nodearraylist3 = var4;
8938 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8939 var_nodearraylist2 = var5;
8940 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8941 var_nodearraylist1 = var6;
8942 var_pdocnode2 = var_nodearraylist1;
8943 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8944 cltype = type_nullable_parser_nodes__ADoc.color;
8945 idtype = type_nullable_parser_nodes__ADoc.id;
8946 if(var_pdocnode2 == NULL) {
8947 var7 = 1;
8948 } else {
8949 if(cltype >= var_pdocnode2->type->table_size) {
8950 var7 = 0;
8951 } else {
8952 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
8953 }
8954 }
8955 if (!var7) {
8956 fprintf(stderr, "Runtime error: %s", "Assert failed");
8957 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21917);
8958 exit(1);
8959 }
8960 var_pvisibilitynode4 = var_nodearraylist2;
8961 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8962 cltype9 = type_nullable_parser_nodes__AVisibility.color;
8963 idtype10 = type_nullable_parser_nodes__AVisibility.id;
8964 if(var_pvisibilitynode4 == NULL) {
8965 var8 = 1;
8966 } else {
8967 if(cltype9 >= var_pvisibilitynode4->type->table_size) {
8968 var8 = 0;
8969 } else {
8970 var8 = var_pvisibilitynode4->type->type_table[cltype9] == idtype10;
8971 }
8972 }
8973 if (!var8) {
8974 fprintf(stderr, "Runtime error: %s", "Assert failed");
8975 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21919);
8976 exit(1);
8977 }
8978 var_tkwnewnode5 = var_nodearraylist3;
8979 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
8980 cltype12 = type_nullable_parser_nodes__TKwnew.color;
8981 idtype13 = type_nullable_parser_nodes__TKwnew.id;
8982 if(var_tkwnewnode5 == NULL) {
8983 var11 = 1;
8984 } else {
8985 if(cltype12 >= var_tkwnewnode5->type->table_size) {
8986 var11 = 0;
8987 } else {
8988 var11 = var_tkwnewnode5->type->type_table[cltype12] == idtype13;
8989 }
8990 }
8991 if (!var11) {
8992 fprintf(stderr, "Runtime error: %s", "Assert failed");
8993 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21921);
8994 exit(1);
8995 }
8996 var_pmethidnode6 = var_nodearraylist4;
8997 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
8998 cltype15 = type_nullable_parser_nodes__AMethid.color;
8999 idtype16 = type_nullable_parser_nodes__AMethid.id;
9000 if(var_pmethidnode6 == NULL) {
9001 var14 = 1;
9002 } else {
9003 if(cltype15 >= var_pmethidnode6->type->table_size) {
9004 var14 = 0;
9005 } else {
9006 var14 = var_pmethidnode6->type->type_table[cltype15] == idtype16;
9007 }
9008 }
9009 if (!var14) {
9010 fprintf(stderr, "Runtime error: %s", "Assert failed");
9011 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21923);
9012 exit(1);
9013 }
9014 var_psignaturenode7 = var_nodearraylist5;
9015 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
9016 cltype18 = type_nullable_parser_nodes__ASignature.color;
9017 idtype19 = type_nullable_parser_nodes__ASignature.id;
9018 if(var_psignaturenode7 == NULL) {
9019 var17 = 1;
9020 } else {
9021 if(cltype18 >= var_psignaturenode7->type->table_size) {
9022 var17 = 0;
9023 } else {
9024 var17 = var_psignaturenode7->type->type_table[cltype18] == idtype19;
9025 }
9026 }
9027 if (!var17) {
9028 fprintf(stderr, "Runtime error: %s", "Assert failed");
9029 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21925);
9030 exit(1);
9031 }
9032 var_pexterncodeblocknode10 = var_nodearraylist6;
9033 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
9034 cltype21 = type_nullable_parser_nodes__AExternCodeBlock.color;
9035 idtype22 = type_nullable_parser_nodes__AExternCodeBlock.id;
9036 if(var_pexterncodeblocknode10 == NULL) {
9037 var20 = 1;
9038 } else {
9039 if(cltype21 >= var_pexterncodeblocknode10->type->table_size) {
9040 var20 = 0;
9041 } else {
9042 var20 = var_pexterncodeblocknode10->type->type_table[cltype21] == idtype22;
9043 }
9044 }
9045 if (!var20) {
9046 fprintf(stderr, "Runtime error: %s", "Assert failed");
9047 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21927);
9048 exit(1);
9049 }
9050 var23 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
9051 var24 = NULL;
9052 var25 = NULL;
9053 var26 = NULL;
9054 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var23, var_pdocnode2, var24, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var25, var26, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var23:AExternInitPropdef>*/;
9055 CHECK_NEW_parser_nodes__AExternInitPropdef(var23);
9056 var_ppropdefnode1 = var23;
9057 var_node_list = var_ppropdefnode1;
9058 var27 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction499> */
9059 var28 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var27) /* go_to on <var_p:Parser>*/;
9060 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var28, var_node_list) /* push on <var_p:Parser>*/;
9061 RET_LABEL:;
9062 }
9063 /* method parser#ReduceAction499#action for (self: Object, Parser) */
9064 void VIRTUAL_parser__ReduceAction499__action(val* self, val* p0) {
9065 parser__ReduceAction499__action(self, p0);
9066 RET_LABEL:;
9067 }
9068 /* method parser#ReduceAction500#action for (self: ReduceAction500, Parser) */
9069 void parser__ReduceAction500__action(val* self, val* p0) {
9070 val* var_p /* var p: Parser */;
9071 val* var /* : null */;
9072 val* var_node_list /* var node_list: nullable Object */;
9073 val* var1 /* : nullable Object */;
9074 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9075 val* var2 /* : nullable Object */;
9076 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9077 val* var3 /* : nullable Object */;
9078 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9079 val* var4 /* : nullable Object */;
9080 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9081 val* var5 /* : nullable Object */;
9082 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9083 val* var6 /* : nullable Object */;
9084 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9085 val* var7 /* : nullable Object */;
9086 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9087 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9088 short int var8 /* : Bool */;
9089 int cltype;
9090 int idtype;
9091 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
9092 short int var9 /* : Bool */;
9093 int cltype10;
9094 int idtype11;
9095 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9096 short int var12 /* : Bool */;
9097 int cltype13;
9098 int idtype14;
9099 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
9100 short int var15 /* : Bool */;
9101 int cltype16;
9102 int idtype17;
9103 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
9104 short int var18 /* : Bool */;
9105 int cltype19;
9106 int idtype20;
9107 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
9108 short int var21 /* : Bool */;
9109 int cltype22;
9110 int idtype23;
9111 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
9112 short int var24 /* : Bool */;
9113 int cltype25;
9114 int idtype26;
9115 val* var27 /* : AExternInitPropdef */;
9116 val* var28 /* : null */;
9117 val* var29 /* : null */;
9118 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
9119 long var30 /* : Int */;
9120 long var31 /* : Int */;
9121 var_p = p0;
9122 var = NULL;
9123 var_node_list = var;
9124 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9125 var_nodearraylist7 = var1;
9126 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9127 var_nodearraylist6 = var2;
9128 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9129 var_nodearraylist5 = var3;
9130 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9131 var_nodearraylist4 = var4;
9132 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9133 var_nodearraylist3 = var5;
9134 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9135 var_nodearraylist2 = var6;
9136 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9137 var_nodearraylist1 = var7;
9138 var_pdocnode2 = var_nodearraylist1;
9139 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9140 cltype = type_nullable_parser_nodes__ADoc.color;
9141 idtype = type_nullable_parser_nodes__ADoc.id;
9142 if(var_pdocnode2 == NULL) {
9143 var8 = 1;
9144 } else {
9145 if(cltype >= var_pdocnode2->type->table_size) {
9146 var8 = 0;
9147 } else {
9148 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
9149 }
9150 }
9151 if (!var8) {
9152 fprintf(stderr, "Runtime error: %s", "Assert failed");
9153 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21956);
9154 exit(1);
9155 }
9156 var_tkwredefnode3 = var_nodearraylist2;
9157 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
9158 cltype10 = type_nullable_parser_nodes__TKwredef.color;
9159 idtype11 = type_nullable_parser_nodes__TKwredef.id;
9160 if(var_tkwredefnode3 == NULL) {
9161 var9 = 1;
9162 } else {
9163 if(cltype10 >= var_tkwredefnode3->type->table_size) {
9164 var9 = 0;
9165 } else {
9166 var9 = var_tkwredefnode3->type->type_table[cltype10] == idtype11;
9167 }
9168 }
9169 if (!var9) {
9170 fprintf(stderr, "Runtime error: %s", "Assert failed");
9171 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21958);
9172 exit(1);
9173 }
9174 var_pvisibilitynode4 = var_nodearraylist3;
9175 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9176 cltype13 = type_nullable_parser_nodes__AVisibility.color;
9177 idtype14 = type_nullable_parser_nodes__AVisibility.id;
9178 if(var_pvisibilitynode4 == NULL) {
9179 var12 = 1;
9180 } else {
9181 if(cltype13 >= var_pvisibilitynode4->type->table_size) {
9182 var12 = 0;
9183 } else {
9184 var12 = var_pvisibilitynode4->type->type_table[cltype13] == idtype14;
9185 }
9186 }
9187 if (!var12) {
9188 fprintf(stderr, "Runtime error: %s", "Assert failed");
9189 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21960);
9190 exit(1);
9191 }
9192 var_tkwnewnode5 = var_nodearraylist4;
9193 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
9194 cltype16 = type_nullable_parser_nodes__TKwnew.color;
9195 idtype17 = type_nullable_parser_nodes__TKwnew.id;
9196 if(var_tkwnewnode5 == NULL) {
9197 var15 = 1;
9198 } else {
9199 if(cltype16 >= var_tkwnewnode5->type->table_size) {
9200 var15 = 0;
9201 } else {
9202 var15 = var_tkwnewnode5->type->type_table[cltype16] == idtype17;
9203 }
9204 }
9205 if (!var15) {
9206 fprintf(stderr, "Runtime error: %s", "Assert failed");
9207 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21962);
9208 exit(1);
9209 }
9210 var_pmethidnode6 = var_nodearraylist5;
9211 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
9212 cltype19 = type_nullable_parser_nodes__AMethid.color;
9213 idtype20 = type_nullable_parser_nodes__AMethid.id;
9214 if(var_pmethidnode6 == NULL) {
9215 var18 = 1;
9216 } else {
9217 if(cltype19 >= var_pmethidnode6->type->table_size) {
9218 var18 = 0;
9219 } else {
9220 var18 = var_pmethidnode6->type->type_table[cltype19] == idtype20;
9221 }
9222 }
9223 if (!var18) {
9224 fprintf(stderr, "Runtime error: %s", "Assert failed");
9225 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21964);
9226 exit(1);
9227 }
9228 var_psignaturenode7 = var_nodearraylist6;
9229 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
9230 cltype22 = type_nullable_parser_nodes__ASignature.color;
9231 idtype23 = type_nullable_parser_nodes__ASignature.id;
9232 if(var_psignaturenode7 == NULL) {
9233 var21 = 1;
9234 } else {
9235 if(cltype22 >= var_psignaturenode7->type->table_size) {
9236 var21 = 0;
9237 } else {
9238 var21 = var_psignaturenode7->type->type_table[cltype22] == idtype23;
9239 }
9240 }
9241 if (!var21) {
9242 fprintf(stderr, "Runtime error: %s", "Assert failed");
9243 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21966);
9244 exit(1);
9245 }
9246 var_pexterncodeblocknode10 = var_nodearraylist7;
9247 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
9248 cltype25 = type_nullable_parser_nodes__AExternCodeBlock.color;
9249 idtype26 = type_nullable_parser_nodes__AExternCodeBlock.id;
9250 if(var_pexterncodeblocknode10 == NULL) {
9251 var24 = 1;
9252 } else {
9253 if(cltype25 >= var_pexterncodeblocknode10->type->table_size) {
9254 var24 = 0;
9255 } else {
9256 var24 = var_pexterncodeblocknode10->type->type_table[cltype25] == idtype26;
9257 }
9258 }
9259 if (!var24) {
9260 fprintf(stderr, "Runtime error: %s", "Assert failed");
9261 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21968);
9262 exit(1);
9263 }
9264 var27 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
9265 var28 = NULL;
9266 var29 = NULL;
9267 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var27, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var28, var29, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var27:AExternInitPropdef>*/;
9268 CHECK_NEW_parser_nodes__AExternInitPropdef(var27);
9269 var_ppropdefnode1 = var27;
9270 var_node_list = var_ppropdefnode1;
9271 var30 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction500> */
9272 var31 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var30) /* go_to on <var_p:Parser>*/;
9273 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var31, var_node_list) /* push on <var_p:Parser>*/;
9274 RET_LABEL:;
9275 }
9276 /* method parser#ReduceAction500#action for (self: Object, Parser) */
9277 void VIRTUAL_parser__ReduceAction500__action(val* self, val* p0) {
9278 parser__ReduceAction500__action(self, p0);
9279 RET_LABEL:;
9280 }
9281 /* method parser#ReduceAction501#action for (self: ReduceAction501, Parser) */
9282 void parser__ReduceAction501__action(val* self, val* p0) {
9283 val* var_p /* var p: Parser */;
9284 val* var /* : null */;
9285 val* var_node_list /* var node_list: nullable Object */;
9286 val* var1 /* : nullable Object */;
9287 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9288 val* var2 /* : nullable Object */;
9289 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9290 val* var3 /* : nullable Object */;
9291 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9292 val* var4 /* : nullable Object */;
9293 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9294 val* var5 /* : nullable Object */;
9295 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9296 val* var6 /* : nullable Object */;
9297 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9298 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9299 short int var7 /* : Bool */;
9300 int cltype;
9301 int idtype;
9302 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9303 short int var8 /* : Bool */;
9304 int cltype9;
9305 int idtype10;
9306 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
9307 short int var11 /* : Bool */;
9308 int cltype12;
9309 int idtype13;
9310 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
9311 short int var14 /* : Bool */;
9312 int cltype15;
9313 int idtype16;
9314 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
9315 short int var17 /* : Bool */;
9316 int cltype18;
9317 int idtype19;
9318 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
9319 short int var20 /* : Bool */;
9320 int cltype21;
9321 int idtype22;
9322 val* var23 /* : AExternInitPropdef */;
9323 val* var24 /* : null */;
9324 val* var25 /* : null */;
9325 val* var26 /* : null */;
9326 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
9327 long var27 /* : Int */;
9328 long var28 /* : Int */;
9329 var_p = p0;
9330 var = NULL;
9331 var_node_list = var;
9332 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9333 var_nodearraylist6 = var1;
9334 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9335 var_nodearraylist5 = var2;
9336 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9337 var_nodearraylist4 = var3;
9338 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9339 var_nodearraylist3 = var4;
9340 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9341 var_nodearraylist2 = var5;
9342 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9343 var_nodearraylist1 = var6;
9344 var_pdocnode2 = var_nodearraylist1;
9345 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9346 cltype = type_nullable_parser_nodes__ADoc.color;
9347 idtype = type_nullable_parser_nodes__ADoc.id;
9348 if(var_pdocnode2 == NULL) {
9349 var7 = 1;
9350 } else {
9351 if(cltype >= var_pdocnode2->type->table_size) {
9352 var7 = 0;
9353 } else {
9354 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
9355 }
9356 }
9357 if (!var7) {
9358 fprintf(stderr, "Runtime error: %s", "Assert failed");
9359 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21996);
9360 exit(1);
9361 }
9362 var_pvisibilitynode4 = var_nodearraylist2;
9363 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9364 cltype9 = type_nullable_parser_nodes__AVisibility.color;
9365 idtype10 = type_nullable_parser_nodes__AVisibility.id;
9366 if(var_pvisibilitynode4 == NULL) {
9367 var8 = 1;
9368 } else {
9369 if(cltype9 >= var_pvisibilitynode4->type->table_size) {
9370 var8 = 0;
9371 } else {
9372 var8 = var_pvisibilitynode4->type->type_table[cltype9] == idtype10;
9373 }
9374 }
9375 if (!var8) {
9376 fprintf(stderr, "Runtime error: %s", "Assert failed");
9377 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21998);
9378 exit(1);
9379 }
9380 var_tkwnewnode5 = var_nodearraylist3;
9381 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
9382 cltype12 = type_nullable_parser_nodes__TKwnew.color;
9383 idtype13 = type_nullable_parser_nodes__TKwnew.id;
9384 if(var_tkwnewnode5 == NULL) {
9385 var11 = 1;
9386 } else {
9387 if(cltype12 >= var_tkwnewnode5->type->table_size) {
9388 var11 = 0;
9389 } else {
9390 var11 = var_tkwnewnode5->type->type_table[cltype12] == idtype13;
9391 }
9392 }
9393 if (!var11) {
9394 fprintf(stderr, "Runtime error: %s", "Assert failed");
9395 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22000);
9396 exit(1);
9397 }
9398 var_psignaturenode7 = var_nodearraylist4;
9399 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
9400 cltype15 = type_nullable_parser_nodes__ASignature.color;
9401 idtype16 = type_nullable_parser_nodes__ASignature.id;
9402 if(var_psignaturenode7 == NULL) {
9403 var14 = 1;
9404 } else {
9405 if(cltype15 >= var_psignaturenode7->type->table_size) {
9406 var14 = 0;
9407 } else {
9408 var14 = var_psignaturenode7->type->type_table[cltype15] == idtype16;
9409 }
9410 }
9411 if (!var14) {
9412 fprintf(stderr, "Runtime error: %s", "Assert failed");
9413 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22002);
9414 exit(1);
9415 }
9416 var_tstringnode8 = var_nodearraylist5;
9417 /* <var_tstringnode8:nullable Object> isa nullable TString */
9418 cltype18 = type_nullable_parser_nodes__TString.color;
9419 idtype19 = type_nullable_parser_nodes__TString.id;
9420 if(var_tstringnode8 == NULL) {
9421 var17 = 1;
9422 } else {
9423 if(cltype18 >= var_tstringnode8->type->table_size) {
9424 var17 = 0;
9425 } else {
9426 var17 = var_tstringnode8->type->type_table[cltype18] == idtype19;
9427 }
9428 }
9429 if (!var17) {
9430 fprintf(stderr, "Runtime error: %s", "Assert failed");
9431 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22004);
9432 exit(1);
9433 }
9434 var_pexterncodeblocknode10 = var_nodearraylist6;
9435 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
9436 cltype21 = type_nullable_parser_nodes__AExternCodeBlock.color;
9437 idtype22 = type_nullable_parser_nodes__AExternCodeBlock.id;
9438 if(var_pexterncodeblocknode10 == NULL) {
9439 var20 = 1;
9440 } else {
9441 if(cltype21 >= var_pexterncodeblocknode10->type->table_size) {
9442 var20 = 0;
9443 } else {
9444 var20 = var_pexterncodeblocknode10->type->type_table[cltype21] == idtype22;
9445 }
9446 }
9447 if (!var20) {
9448 fprintf(stderr, "Runtime error: %s", "Assert failed");
9449 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22006);
9450 exit(1);
9451 }
9452 var23 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
9453 var24 = NULL;
9454 var25 = NULL;
9455 var26 = NULL;
9456 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var23, var_pdocnode2, var24, var_pvisibilitynode4, var_tkwnewnode5, var25, var_psignaturenode7, var_tstringnode8, var26, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var23:AExternInitPropdef>*/;
9457 CHECK_NEW_parser_nodes__AExternInitPropdef(var23);
9458 var_ppropdefnode1 = var23;
9459 var_node_list = var_ppropdefnode1;
9460 var27 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction501> */
9461 var28 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var27) /* go_to on <var_p:Parser>*/;
9462 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var28, var_node_list) /* push on <var_p:Parser>*/;
9463 RET_LABEL:;
9464 }
9465 /* method parser#ReduceAction501#action for (self: Object, Parser) */
9466 void VIRTUAL_parser__ReduceAction501__action(val* self, val* p0) {
9467 parser__ReduceAction501__action(self, p0);
9468 RET_LABEL:;
9469 }
9470 /* method parser#ReduceAction502#action for (self: ReduceAction502, Parser) */
9471 void parser__ReduceAction502__action(val* self, val* p0) {
9472 val* var_p /* var p: Parser */;
9473 val* var /* : null */;
9474 val* var_node_list /* var node_list: nullable Object */;
9475 val* var1 /* : nullable Object */;
9476 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9477 val* var2 /* : nullable Object */;
9478 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9479 val* var3 /* : nullable Object */;
9480 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9481 val* var4 /* : nullable Object */;
9482 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9483 val* var5 /* : nullable Object */;
9484 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9485 val* var6 /* : nullable Object */;
9486 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9487 val* var7 /* : nullable Object */;
9488 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9489 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9490 short int var8 /* : Bool */;
9491 int cltype;
9492 int idtype;
9493 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
9494 short int var9 /* : Bool */;
9495 int cltype10;
9496 int idtype11;
9497 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9498 short int var12 /* : Bool */;
9499 int cltype13;
9500 int idtype14;
9501 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
9502 short int var15 /* : Bool */;
9503 int cltype16;
9504 int idtype17;
9505 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
9506 short int var18 /* : Bool */;
9507 int cltype19;
9508 int idtype20;
9509 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
9510 short int var21 /* : Bool */;
9511 int cltype22;
9512 int idtype23;
9513 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
9514 short int var24 /* : Bool */;
9515 int cltype25;
9516 int idtype26;
9517 val* var27 /* : AExternInitPropdef */;
9518 val* var28 /* : null */;
9519 val* var29 /* : null */;
9520 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
9521 long var30 /* : Int */;
9522 long var31 /* : Int */;
9523 var_p = p0;
9524 var = NULL;
9525 var_node_list = var;
9526 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9527 var_nodearraylist7 = var1;
9528 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9529 var_nodearraylist6 = var2;
9530 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9531 var_nodearraylist5 = var3;
9532 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9533 var_nodearraylist4 = var4;
9534 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9535 var_nodearraylist3 = var5;
9536 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9537 var_nodearraylist2 = var6;
9538 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9539 var_nodearraylist1 = var7;
9540 var_pdocnode2 = var_nodearraylist1;
9541 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9542 cltype = type_nullable_parser_nodes__ADoc.color;
9543 idtype = type_nullable_parser_nodes__ADoc.id;
9544 if(var_pdocnode2 == NULL) {
9545 var8 = 1;
9546 } else {
9547 if(cltype >= var_pdocnode2->type->table_size) {
9548 var8 = 0;
9549 } else {
9550 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
9551 }
9552 }
9553 if (!var8) {
9554 fprintf(stderr, "Runtime error: %s", "Assert failed");
9555 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22035);
9556 exit(1);
9557 }
9558 var_tkwredefnode3 = var_nodearraylist2;
9559 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
9560 cltype10 = type_nullable_parser_nodes__TKwredef.color;
9561 idtype11 = type_nullable_parser_nodes__TKwredef.id;
9562 if(var_tkwredefnode3 == NULL) {
9563 var9 = 1;
9564 } else {
9565 if(cltype10 >= var_tkwredefnode3->type->table_size) {
9566 var9 = 0;
9567 } else {
9568 var9 = var_tkwredefnode3->type->type_table[cltype10] == idtype11;
9569 }
9570 }
9571 if (!var9) {
9572 fprintf(stderr, "Runtime error: %s", "Assert failed");
9573 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22037);
9574 exit(1);
9575 }
9576 var_pvisibilitynode4 = var_nodearraylist3;
9577 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9578 cltype13 = type_nullable_parser_nodes__AVisibility.color;
9579 idtype14 = type_nullable_parser_nodes__AVisibility.id;
9580 if(var_pvisibilitynode4 == NULL) {
9581 var12 = 1;
9582 } else {
9583 if(cltype13 >= var_pvisibilitynode4->type->table_size) {
9584 var12 = 0;
9585 } else {
9586 var12 = var_pvisibilitynode4->type->type_table[cltype13] == idtype14;
9587 }
9588 }
9589 if (!var12) {
9590 fprintf(stderr, "Runtime error: %s", "Assert failed");
9591 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22039);
9592 exit(1);
9593 }
9594 var_tkwnewnode5 = var_nodearraylist4;
9595 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
9596 cltype16 = type_nullable_parser_nodes__TKwnew.color;
9597 idtype17 = type_nullable_parser_nodes__TKwnew.id;
9598 if(var_tkwnewnode5 == NULL) {
9599 var15 = 1;
9600 } else {
9601 if(cltype16 >= var_tkwnewnode5->type->table_size) {
9602 var15 = 0;
9603 } else {
9604 var15 = var_tkwnewnode5->type->type_table[cltype16] == idtype17;
9605 }
9606 }
9607 if (!var15) {
9608 fprintf(stderr, "Runtime error: %s", "Assert failed");
9609 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22041);
9610 exit(1);
9611 }
9612 var_psignaturenode7 = var_nodearraylist5;
9613 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
9614 cltype19 = type_nullable_parser_nodes__ASignature.color;
9615 idtype20 = type_nullable_parser_nodes__ASignature.id;
9616 if(var_psignaturenode7 == NULL) {
9617 var18 = 1;
9618 } else {
9619 if(cltype19 >= var_psignaturenode7->type->table_size) {
9620 var18 = 0;
9621 } else {
9622 var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20;
9623 }
9624 }
9625 if (!var18) {
9626 fprintf(stderr, "Runtime error: %s", "Assert failed");
9627 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22043);
9628 exit(1);
9629 }
9630 var_tstringnode8 = var_nodearraylist6;
9631 /* <var_tstringnode8:nullable Object> isa nullable TString */
9632 cltype22 = type_nullable_parser_nodes__TString.color;
9633 idtype23 = type_nullable_parser_nodes__TString.id;
9634 if(var_tstringnode8 == NULL) {
9635 var21 = 1;
9636 } else {
9637 if(cltype22 >= var_tstringnode8->type->table_size) {
9638 var21 = 0;
9639 } else {
9640 var21 = var_tstringnode8->type->type_table[cltype22] == idtype23;
9641 }
9642 }
9643 if (!var21) {
9644 fprintf(stderr, "Runtime error: %s", "Assert failed");
9645 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22045);
9646 exit(1);
9647 }
9648 var_pexterncodeblocknode10 = var_nodearraylist7;
9649 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
9650 cltype25 = type_nullable_parser_nodes__AExternCodeBlock.color;
9651 idtype26 = type_nullable_parser_nodes__AExternCodeBlock.id;
9652 if(var_pexterncodeblocknode10 == NULL) {
9653 var24 = 1;
9654 } else {
9655 if(cltype25 >= var_pexterncodeblocknode10->type->table_size) {
9656 var24 = 0;
9657 } else {
9658 var24 = var_pexterncodeblocknode10->type->type_table[cltype25] == idtype26;
9659 }
9660 }
9661 if (!var24) {
9662 fprintf(stderr, "Runtime error: %s", "Assert failed");
9663 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22047);
9664 exit(1);
9665 }
9666 var27 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
9667 var28 = NULL;
9668 var29 = NULL;
9669 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var27, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var28, var_psignaturenode7, var_tstringnode8, var29, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var27:AExternInitPropdef>*/;
9670 CHECK_NEW_parser_nodes__AExternInitPropdef(var27);
9671 var_ppropdefnode1 = var27;
9672 var_node_list = var_ppropdefnode1;
9673 var30 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction502> */
9674 var31 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var30) /* go_to on <var_p:Parser>*/;
9675 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var31, var_node_list) /* push on <var_p:Parser>*/;
9676 RET_LABEL:;
9677 }
9678 /* method parser#ReduceAction502#action for (self: Object, Parser) */
9679 void VIRTUAL_parser__ReduceAction502__action(val* self, val* p0) {
9680 parser__ReduceAction502__action(self, p0);
9681 RET_LABEL:;
9682 }
9683 /* method parser#ReduceAction503#action for (self: ReduceAction503, Parser) */
9684 void parser__ReduceAction503__action(val* self, val* p0) {
9685 val* var_p /* var p: Parser */;
9686 val* var /* : null */;
9687 val* var_node_list /* var node_list: nullable Object */;
9688 val* var1 /* : nullable Object */;
9689 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9690 val* var2 /* : nullable Object */;
9691 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9692 val* var3 /* : nullable Object */;
9693 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9694 val* var4 /* : nullable Object */;
9695 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9696 val* var5 /* : nullable Object */;
9697 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9698 val* var6 /* : nullable Object */;
9699 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9700 val* var7 /* : nullable Object */;
9701 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9702 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9703 short int var8 /* : Bool */;
9704 int cltype;
9705 int idtype;
9706 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9707 short int var9 /* : Bool */;
9708 int cltype10;
9709 int idtype11;
9710 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
9711 short int var12 /* : Bool */;
9712 int cltype13;
9713 int idtype14;
9714 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
9715 short int var15 /* : Bool */;
9716 int cltype16;
9717 int idtype17;
9718 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
9719 short int var18 /* : Bool */;
9720 int cltype19;
9721 int idtype20;
9722 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
9723 short int var21 /* : Bool */;
9724 int cltype22;
9725 int idtype23;
9726 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
9727 short int var24 /* : Bool */;
9728 int cltype25;
9729 int idtype26;
9730 val* var27 /* : AExternInitPropdef */;
9731 val* var28 /* : null */;
9732 val* var29 /* : null */;
9733 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
9734 long var30 /* : Int */;
9735 long var31 /* : Int */;
9736 var_p = p0;
9737 var = NULL;
9738 var_node_list = var;
9739 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9740 var_nodearraylist7 = var1;
9741 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9742 var_nodearraylist6 = var2;
9743 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9744 var_nodearraylist5 = var3;
9745 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9746 var_nodearraylist4 = var4;
9747 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9748 var_nodearraylist3 = var5;
9749 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9750 var_nodearraylist2 = var6;
9751 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9752 var_nodearraylist1 = var7;
9753 var_pdocnode2 = var_nodearraylist1;
9754 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9755 cltype = type_nullable_parser_nodes__ADoc.color;
9756 idtype = type_nullable_parser_nodes__ADoc.id;
9757 if(var_pdocnode2 == NULL) {
9758 var8 = 1;
9759 } else {
9760 if(cltype >= var_pdocnode2->type->table_size) {
9761 var8 = 0;
9762 } else {
9763 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
9764 }
9765 }
9766 if (!var8) {
9767 fprintf(stderr, "Runtime error: %s", "Assert failed");
9768 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22076);
9769 exit(1);
9770 }
9771 var_pvisibilitynode4 = var_nodearraylist2;
9772 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9773 cltype10 = type_nullable_parser_nodes__AVisibility.color;
9774 idtype11 = type_nullable_parser_nodes__AVisibility.id;
9775 if(var_pvisibilitynode4 == NULL) {
9776 var9 = 1;
9777 } else {
9778 if(cltype10 >= var_pvisibilitynode4->type->table_size) {
9779 var9 = 0;
9780 } else {
9781 var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11;
9782 }
9783 }
9784 if (!var9) {
9785 fprintf(stderr, "Runtime error: %s", "Assert failed");
9786 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22078);
9787 exit(1);
9788 }
9789 var_tkwnewnode5 = var_nodearraylist3;
9790 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
9791 cltype13 = type_nullable_parser_nodes__TKwnew.color;
9792 idtype14 = type_nullable_parser_nodes__TKwnew.id;
9793 if(var_tkwnewnode5 == NULL) {
9794 var12 = 1;
9795 } else {
9796 if(cltype13 >= var_tkwnewnode5->type->table_size) {
9797 var12 = 0;
9798 } else {
9799 var12 = var_tkwnewnode5->type->type_table[cltype13] == idtype14;
9800 }
9801 }
9802 if (!var12) {
9803 fprintf(stderr, "Runtime error: %s", "Assert failed");
9804 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22080);
9805 exit(1);
9806 }
9807 var_pmethidnode6 = var_nodearraylist4;
9808 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
9809 cltype16 = type_nullable_parser_nodes__AMethid.color;
9810 idtype17 = type_nullable_parser_nodes__AMethid.id;
9811 if(var_pmethidnode6 == NULL) {
9812 var15 = 1;
9813 } else {
9814 if(cltype16 >= var_pmethidnode6->type->table_size) {
9815 var15 = 0;
9816 } else {
9817 var15 = var_pmethidnode6->type->type_table[cltype16] == idtype17;
9818 }
9819 }
9820 if (!var15) {
9821 fprintf(stderr, "Runtime error: %s", "Assert failed");
9822 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22082);
9823 exit(1);
9824 }
9825 var_psignaturenode7 = var_nodearraylist5;
9826 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
9827 cltype19 = type_nullable_parser_nodes__ASignature.color;
9828 idtype20 = type_nullable_parser_nodes__ASignature.id;
9829 if(var_psignaturenode7 == NULL) {
9830 var18 = 1;
9831 } else {
9832 if(cltype19 >= var_psignaturenode7->type->table_size) {
9833 var18 = 0;
9834 } else {
9835 var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20;
9836 }
9837 }
9838 if (!var18) {
9839 fprintf(stderr, "Runtime error: %s", "Assert failed");
9840 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22084);
9841 exit(1);
9842 }
9843 var_tstringnode8 = var_nodearraylist6;
9844 /* <var_tstringnode8:nullable Object> isa nullable TString */
9845 cltype22 = type_nullable_parser_nodes__TString.color;
9846 idtype23 = type_nullable_parser_nodes__TString.id;
9847 if(var_tstringnode8 == NULL) {
9848 var21 = 1;
9849 } else {
9850 if(cltype22 >= var_tstringnode8->type->table_size) {
9851 var21 = 0;
9852 } else {
9853 var21 = var_tstringnode8->type->type_table[cltype22] == idtype23;
9854 }
9855 }
9856 if (!var21) {
9857 fprintf(stderr, "Runtime error: %s", "Assert failed");
9858 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22086);
9859 exit(1);
9860 }
9861 var_pexterncodeblocknode10 = var_nodearraylist7;
9862 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
9863 cltype25 = type_nullable_parser_nodes__AExternCodeBlock.color;
9864 idtype26 = type_nullable_parser_nodes__AExternCodeBlock.id;
9865 if(var_pexterncodeblocknode10 == NULL) {
9866 var24 = 1;
9867 } else {
9868 if(cltype25 >= var_pexterncodeblocknode10->type->table_size) {
9869 var24 = 0;
9870 } else {
9871 var24 = var_pexterncodeblocknode10->type->type_table[cltype25] == idtype26;
9872 }
9873 }
9874 if (!var24) {
9875 fprintf(stderr, "Runtime error: %s", "Assert failed");
9876 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22088);
9877 exit(1);
9878 }
9879 var27 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
9880 var28 = NULL;
9881 var29 = NULL;
9882 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var27, var_pdocnode2, var28, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var29, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var27:AExternInitPropdef>*/;
9883 CHECK_NEW_parser_nodes__AExternInitPropdef(var27);
9884 var_ppropdefnode1 = var27;
9885 var_node_list = var_ppropdefnode1;
9886 var30 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction503> */
9887 var31 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var30) /* go_to on <var_p:Parser>*/;
9888 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var31, var_node_list) /* push on <var_p:Parser>*/;
9889 RET_LABEL:;
9890 }
9891 /* method parser#ReduceAction503#action for (self: Object, Parser) */
9892 void VIRTUAL_parser__ReduceAction503__action(val* self, val* p0) {
9893 parser__ReduceAction503__action(self, p0);
9894 RET_LABEL:;
9895 }