c_src: update with new intern methods
[nit.git] / c_src / parser.sep.12.c
1 #include "parser.sep.0.h"
2 /* method parser#ReduceAction466#action for (self: ReduceAction466, Parser) */
3 void parser__ReduceAction466__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_nodearraylist7 /* var nodearraylist7: nullable Object */;
9 val* var2 /* : nullable Object */;
10 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
11 val* var3 /* : nullable Object */;
12 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
13 val* var4 /* : nullable Object */;
14 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
15 val* var5 /* : nullable Object */;
16 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
17 val* var6 /* : nullable Object */;
18 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
19 val* var7 /* : nullable Object */;
20 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
21 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
22 short int var8 /* : Bool */;
23 int cltype;
24 int idtype;
25 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
26 short int var9 /* : Bool */;
27 int cltype10;
28 int idtype11;
29 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
30 short int var12 /* : Bool */;
31 int cltype13;
32 int idtype14;
33 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
34 short int var15 /* : Bool */;
35 int cltype16;
36 int idtype17;
37 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
38 short int var18 /* : Bool */;
39 int cltype19;
40 int idtype20;
41 val* var21 /* : AExternInitPropdef */;
42 val* var22 /* : null */;
43 val* var23 /* : null */;
44 val* var24 /* : null */;
45 val* var25 /* : null */;
46 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
47 long var26 /* : Int */;
48 long var27 /* : Int */;
49 var_p = p0;
50 var = NULL;
51 var_node_list = var;
52 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
53 var_nodearraylist7 = var1;
54 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
55 var_nodearraylist6 = var2;
56 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
57 var_nodearraylist5 = var3;
58 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
59 var_nodearraylist4 = var4;
60 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
61 var_nodearraylist3 = var5;
62 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
63 var_nodearraylist2 = var6;
64 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
65 var_nodearraylist1 = var7;
66 var_pdocnode2 = var_nodearraylist1;
67 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
68 cltype = type_nullable_parser_nodes__ADoc.color;
69 idtype = type_nullable_parser_nodes__ADoc.id;
70 if(var_pdocnode2 == NULL) {
71 var8 = 1;
72 } else {
73 if(cltype >= var_pdocnode2->type->table_size) {
74 var8 = 0;
75 } else {
76 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
77 }
78 }
79 if (!var8) {
80 fprintf(stderr, "Runtime error: %s", "Assert failed");
81 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20539);
82 show_backtrace(1);
83 }
84 var_tkwredefnode3 = var_nodearraylist2;
85 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
86 cltype10 = type_nullable_parser_nodes__TKwredef.color;
87 idtype11 = type_nullable_parser_nodes__TKwredef.id;
88 if(var_tkwredefnode3 == NULL) {
89 var9 = 1;
90 } else {
91 if(cltype10 >= var_tkwredefnode3->type->table_size) {
92 var9 = 0;
93 } else {
94 var9 = var_tkwredefnode3->type->type_table[cltype10] == idtype11;
95 }
96 }
97 if (!var9) {
98 fprintf(stderr, "Runtime error: %s", "Assert failed");
99 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20541);
100 show_backtrace(1);
101 }
102 var_pvisibilitynode4 = var_nodearraylist3;
103 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
104 cltype13 = type_nullable_parser_nodes__AVisibility.color;
105 idtype14 = type_nullable_parser_nodes__AVisibility.id;
106 if(var_pvisibilitynode4 == NULL) {
107 var12 = 1;
108 } else {
109 if(cltype13 >= var_pvisibilitynode4->type->table_size) {
110 var12 = 0;
111 } else {
112 var12 = var_pvisibilitynode4->type->type_table[cltype13] == idtype14;
113 }
114 }
115 if (!var12) {
116 fprintf(stderr, "Runtime error: %s", "Assert failed");
117 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20543);
118 show_backtrace(1);
119 }
120 var_tkwnewnode5 = var_nodearraylist4;
121 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
122 cltype16 = type_nullable_parser_nodes__TKwnew.color;
123 idtype17 = type_nullable_parser_nodes__TKwnew.id;
124 if(var_tkwnewnode5 == NULL) {
125 var15 = 1;
126 } else {
127 if(cltype16 >= var_tkwnewnode5->type->table_size) {
128 var15 = 0;
129 } else {
130 var15 = var_tkwnewnode5->type->type_table[cltype16] == idtype17;
131 }
132 }
133 if (!var15) {
134 fprintf(stderr, "Runtime error: %s", "Assert failed");
135 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20545);
136 show_backtrace(1);
137 }
138 var_psignaturenode7 = var_nodearraylist5;
139 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
140 cltype19 = type_nullable_parser_nodes__ASignature.color;
141 idtype20 = type_nullable_parser_nodes__ASignature.id;
142 if(var_psignaturenode7 == NULL) {
143 var18 = 1;
144 } else {
145 if(cltype19 >= var_psignaturenode7->type->table_size) {
146 var18 = 0;
147 } else {
148 var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20;
149 }
150 }
151 if (!var18) {
152 fprintf(stderr, "Runtime error: %s", "Assert failed");
153 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20547);
154 show_backtrace(1);
155 }
156 var21 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
157 var22 = NULL;
158 var23 = NULL;
159 var24 = NULL;
160 var25 = NULL;
161 ((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>*/;
162 var_ppropdefnode1 = var21;
163 var_node_list = var_ppropdefnode1;
164 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction466> */
165 var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on <var_p:Parser>*/;
166 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on <var_p:Parser>*/;
167 RET_LABEL:;
168 }
169 /* method parser#ReduceAction466#action for (self: Object, Parser) */
170 void VIRTUAL_parser__ReduceAction466__action(val* self, val* p0) {
171 parser__ReduceAction466__action(self, p0);
172 RET_LABEL:;
173 }
174 /* method parser#ReduceAction467#action for (self: ReduceAction467, Parser) */
175 void parser__ReduceAction467__action(val* self, val* p0) {
176 val* var_p /* var p: Parser */;
177 val* var /* : null */;
178 val* var_node_list /* var node_list: nullable Object */;
179 val* var1 /* : nullable Object */;
180 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
181 val* var2 /* : nullable Object */;
182 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
183 val* var3 /* : nullable Object */;
184 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
185 val* var4 /* : nullable Object */;
186 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
187 val* var5 /* : nullable Object */;
188 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
189 val* var6 /* : nullable Object */;
190 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
191 val* var7 /* : nullable Object */;
192 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
193 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
194 short int var8 /* : Bool */;
195 int cltype;
196 int idtype;
197 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
198 short int var9 /* : Bool */;
199 int cltype10;
200 int idtype11;
201 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
202 short int var12 /* : Bool */;
203 int cltype13;
204 int idtype14;
205 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
206 short int var15 /* : Bool */;
207 int cltype16;
208 int idtype17;
209 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
210 short int var18 /* : Bool */;
211 int cltype19;
212 int idtype20;
213 val* var21 /* : AExternInitPropdef */;
214 val* var22 /* : null */;
215 val* var23 /* : null */;
216 val* var24 /* : null */;
217 val* var25 /* : null */;
218 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
219 long var26 /* : Int */;
220 long var27 /* : Int */;
221 var_p = p0;
222 var = NULL;
223 var_node_list = var;
224 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
225 var_nodearraylist7 = var1;
226 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
227 var_nodearraylist6 = var2;
228 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
229 var_nodearraylist5 = var3;
230 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
231 var_nodearraylist4 = var4;
232 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
233 var_nodearraylist3 = var5;
234 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
235 var_nodearraylist2 = var6;
236 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
237 var_nodearraylist1 = var7;
238 var_pdocnode2 = var_nodearraylist1;
239 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
240 cltype = type_nullable_parser_nodes__ADoc.color;
241 idtype = type_nullable_parser_nodes__ADoc.id;
242 if(var_pdocnode2 == NULL) {
243 var8 = 1;
244 } else {
245 if(cltype >= var_pdocnode2->type->table_size) {
246 var8 = 0;
247 } else {
248 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
249 }
250 }
251 if (!var8) {
252 fprintf(stderr, "Runtime error: %s", "Assert failed");
253 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20576);
254 show_backtrace(1);
255 }
256 var_pvisibilitynode4 = var_nodearraylist2;
257 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
258 cltype10 = type_nullable_parser_nodes__AVisibility.color;
259 idtype11 = type_nullable_parser_nodes__AVisibility.id;
260 if(var_pvisibilitynode4 == NULL) {
261 var9 = 1;
262 } else {
263 if(cltype10 >= var_pvisibilitynode4->type->table_size) {
264 var9 = 0;
265 } else {
266 var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11;
267 }
268 }
269 if (!var9) {
270 fprintf(stderr, "Runtime error: %s", "Assert failed");
271 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20578);
272 show_backtrace(1);
273 }
274 var_tkwnewnode5 = var_nodearraylist3;
275 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
276 cltype13 = type_nullable_parser_nodes__TKwnew.color;
277 idtype14 = type_nullable_parser_nodes__TKwnew.id;
278 if(var_tkwnewnode5 == NULL) {
279 var12 = 1;
280 } else {
281 if(cltype13 >= var_tkwnewnode5->type->table_size) {
282 var12 = 0;
283 } else {
284 var12 = var_tkwnewnode5->type->type_table[cltype13] == idtype14;
285 }
286 }
287 if (!var12) {
288 fprintf(stderr, "Runtime error: %s", "Assert failed");
289 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20580);
290 show_backtrace(1);
291 }
292 var_pmethidnode6 = var_nodearraylist4;
293 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
294 cltype16 = type_nullable_parser_nodes__AMethid.color;
295 idtype17 = type_nullable_parser_nodes__AMethid.id;
296 if(var_pmethidnode6 == NULL) {
297 var15 = 1;
298 } else {
299 if(cltype16 >= var_pmethidnode6->type->table_size) {
300 var15 = 0;
301 } else {
302 var15 = var_pmethidnode6->type->type_table[cltype16] == idtype17;
303 }
304 }
305 if (!var15) {
306 fprintf(stderr, "Runtime error: %s", "Assert failed");
307 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20582);
308 show_backtrace(1);
309 }
310 var_psignaturenode7 = var_nodearraylist5;
311 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
312 cltype19 = type_nullable_parser_nodes__ASignature.color;
313 idtype20 = type_nullable_parser_nodes__ASignature.id;
314 if(var_psignaturenode7 == NULL) {
315 var18 = 1;
316 } else {
317 if(cltype19 >= var_psignaturenode7->type->table_size) {
318 var18 = 0;
319 } else {
320 var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20;
321 }
322 }
323 if (!var18) {
324 fprintf(stderr, "Runtime error: %s", "Assert failed");
325 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20584);
326 show_backtrace(1);
327 }
328 var21 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
329 var22 = NULL;
330 var23 = NULL;
331 var24 = NULL;
332 var25 = NULL;
333 ((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>*/;
334 var_ppropdefnode1 = var21;
335 var_node_list = var_ppropdefnode1;
336 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction467> */
337 var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on <var_p:Parser>*/;
338 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on <var_p:Parser>*/;
339 RET_LABEL:;
340 }
341 /* method parser#ReduceAction467#action for (self: Object, Parser) */
342 void VIRTUAL_parser__ReduceAction467__action(val* self, val* p0) {
343 parser__ReduceAction467__action(self, p0);
344 RET_LABEL:;
345 }
346 /* method parser#ReduceAction468#action for (self: ReduceAction468, Parser) */
347 void parser__ReduceAction468__action(val* self, val* p0) {
348 val* var_p /* var p: Parser */;
349 val* var /* : null */;
350 val* var_node_list /* var node_list: nullable Object */;
351 val* var1 /* : nullable Object */;
352 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
353 val* var2 /* : nullable Object */;
354 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
355 val* var3 /* : nullable Object */;
356 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
357 val* var4 /* : nullable Object */;
358 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
359 val* var5 /* : nullable Object */;
360 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
361 val* var6 /* : nullable Object */;
362 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
363 val* var7 /* : nullable Object */;
364 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
365 val* var8 /* : nullable Object */;
366 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
367 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
368 short int var9 /* : Bool */;
369 int cltype;
370 int idtype;
371 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
372 short int var10 /* : Bool */;
373 int cltype11;
374 int idtype12;
375 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
376 short int var13 /* : Bool */;
377 int cltype14;
378 int idtype15;
379 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
380 short int var16 /* : Bool */;
381 int cltype17;
382 int idtype18;
383 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
384 short int var19 /* : Bool */;
385 int cltype20;
386 int idtype21;
387 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
388 short int var22 /* : Bool */;
389 int cltype23;
390 int idtype24;
391 val* var25 /* : AExternInitPropdef */;
392 val* var26 /* : null */;
393 val* var27 /* : null */;
394 val* var28 /* : null */;
395 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
396 long var29 /* : Int */;
397 long var30 /* : Int */;
398 var_p = p0;
399 var = NULL;
400 var_node_list = var;
401 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
402 var_nodearraylist8 = var1;
403 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
404 var_nodearraylist7 = var2;
405 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
406 var_nodearraylist6 = var3;
407 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
408 var_nodearraylist5 = var4;
409 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
410 var_nodearraylist4 = var5;
411 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
412 var_nodearraylist3 = var6;
413 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
414 var_nodearraylist2 = var7;
415 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
416 var_nodearraylist1 = var8;
417 var_pdocnode2 = var_nodearraylist1;
418 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
419 cltype = type_nullable_parser_nodes__ADoc.color;
420 idtype = type_nullable_parser_nodes__ADoc.id;
421 if(var_pdocnode2 == NULL) {
422 var9 = 1;
423 } else {
424 if(cltype >= var_pdocnode2->type->table_size) {
425 var9 = 0;
426 } else {
427 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
428 }
429 }
430 if (!var9) {
431 fprintf(stderr, "Runtime error: %s", "Assert failed");
432 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20614);
433 show_backtrace(1);
434 }
435 var_tkwredefnode3 = var_nodearraylist2;
436 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
437 cltype11 = type_nullable_parser_nodes__TKwredef.color;
438 idtype12 = type_nullable_parser_nodes__TKwredef.id;
439 if(var_tkwredefnode3 == NULL) {
440 var10 = 1;
441 } else {
442 if(cltype11 >= var_tkwredefnode3->type->table_size) {
443 var10 = 0;
444 } else {
445 var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12;
446 }
447 }
448 if (!var10) {
449 fprintf(stderr, "Runtime error: %s", "Assert failed");
450 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20616);
451 show_backtrace(1);
452 }
453 var_pvisibilitynode4 = var_nodearraylist3;
454 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
455 cltype14 = type_nullable_parser_nodes__AVisibility.color;
456 idtype15 = type_nullable_parser_nodes__AVisibility.id;
457 if(var_pvisibilitynode4 == NULL) {
458 var13 = 1;
459 } else {
460 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
461 var13 = 0;
462 } else {
463 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
464 }
465 }
466 if (!var13) {
467 fprintf(stderr, "Runtime error: %s", "Assert failed");
468 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20618);
469 show_backtrace(1);
470 }
471 var_tkwnewnode5 = var_nodearraylist4;
472 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
473 cltype17 = type_nullable_parser_nodes__TKwnew.color;
474 idtype18 = type_nullable_parser_nodes__TKwnew.id;
475 if(var_tkwnewnode5 == NULL) {
476 var16 = 1;
477 } else {
478 if(cltype17 >= var_tkwnewnode5->type->table_size) {
479 var16 = 0;
480 } else {
481 var16 = var_tkwnewnode5->type->type_table[cltype17] == idtype18;
482 }
483 }
484 if (!var16) {
485 fprintf(stderr, "Runtime error: %s", "Assert failed");
486 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20620);
487 show_backtrace(1);
488 }
489 var_pmethidnode6 = var_nodearraylist5;
490 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
491 cltype20 = type_nullable_parser_nodes__AMethid.color;
492 idtype21 = type_nullable_parser_nodes__AMethid.id;
493 if(var_pmethidnode6 == NULL) {
494 var19 = 1;
495 } else {
496 if(cltype20 >= var_pmethidnode6->type->table_size) {
497 var19 = 0;
498 } else {
499 var19 = var_pmethidnode6->type->type_table[cltype20] == idtype21;
500 }
501 }
502 if (!var19) {
503 fprintf(stderr, "Runtime error: %s", "Assert failed");
504 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20622);
505 show_backtrace(1);
506 }
507 var_psignaturenode7 = var_nodearraylist6;
508 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
509 cltype23 = type_nullable_parser_nodes__ASignature.color;
510 idtype24 = type_nullable_parser_nodes__ASignature.id;
511 if(var_psignaturenode7 == NULL) {
512 var22 = 1;
513 } else {
514 if(cltype23 >= var_psignaturenode7->type->table_size) {
515 var22 = 0;
516 } else {
517 var22 = var_psignaturenode7->type->type_table[cltype23] == idtype24;
518 }
519 }
520 if (!var22) {
521 fprintf(stderr, "Runtime error: %s", "Assert failed");
522 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20624);
523 show_backtrace(1);
524 }
525 var25 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
526 var26 = NULL;
527 var27 = NULL;
528 var28 = NULL;
529 ((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>*/;
530 var_ppropdefnode1 = var25;
531 var_node_list = var_ppropdefnode1;
532 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction468> */
533 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
534 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
535 RET_LABEL:;
536 }
537 /* method parser#ReduceAction468#action for (self: Object, Parser) */
538 void VIRTUAL_parser__ReduceAction468__action(val* self, val* p0) {
539 parser__ReduceAction468__action(self, p0);
540 RET_LABEL:;
541 }
542 /* method parser#ReduceAction469#action for (self: ReduceAction469, Parser) */
543 void parser__ReduceAction469__action(val* self, val* p0) {
544 val* var_p /* var p: Parser */;
545 val* var /* : null */;
546 val* var_node_list /* var node_list: nullable Object */;
547 val* var1 /* : nullable Object */;
548 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
549 val* var2 /* : nullable Object */;
550 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
551 val* var3 /* : nullable Object */;
552 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
553 val* var4 /* : nullable Object */;
554 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
555 val* var5 /* : nullable Object */;
556 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
557 val* var6 /* : nullable Object */;
558 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
559 val* var7 /* : nullable Object */;
560 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
561 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
562 short int var8 /* : Bool */;
563 int cltype;
564 int idtype;
565 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
566 short int var9 /* : Bool */;
567 int cltype10;
568 int idtype11;
569 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
570 short int var12 /* : Bool */;
571 int cltype13;
572 int idtype14;
573 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
574 short int var15 /* : Bool */;
575 int cltype16;
576 int idtype17;
577 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
578 short int var18 /* : Bool */;
579 int cltype19;
580 int idtype20;
581 val* var21 /* : AExternInitPropdef */;
582 val* var22 /* : null */;
583 val* var23 /* : null */;
584 val* var24 /* : null */;
585 val* var25 /* : null */;
586 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
587 long var26 /* : Int */;
588 long var27 /* : Int */;
589 var_p = p0;
590 var = NULL;
591 var_node_list = var;
592 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
593 var_nodearraylist7 = var1;
594 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
595 var_nodearraylist6 = var2;
596 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
597 var_nodearraylist5 = var3;
598 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
599 var_nodearraylist4 = var4;
600 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
601 var_nodearraylist3 = var5;
602 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
603 var_nodearraylist2 = var6;
604 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
605 var_nodearraylist1 = var7;
606 var_pdocnode2 = var_nodearraylist1;
607 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
608 cltype = type_nullable_parser_nodes__ADoc.color;
609 idtype = type_nullable_parser_nodes__ADoc.id;
610 if(var_pdocnode2 == NULL) {
611 var8 = 1;
612 } else {
613 if(cltype >= var_pdocnode2->type->table_size) {
614 var8 = 0;
615 } else {
616 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
617 }
618 }
619 if (!var8) {
620 fprintf(stderr, "Runtime error: %s", "Assert failed");
621 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20653);
622 show_backtrace(1);
623 }
624 var_pvisibilitynode4 = var_nodearraylist2;
625 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
626 cltype10 = type_nullable_parser_nodes__AVisibility.color;
627 idtype11 = type_nullable_parser_nodes__AVisibility.id;
628 if(var_pvisibilitynode4 == NULL) {
629 var9 = 1;
630 } else {
631 if(cltype10 >= var_pvisibilitynode4->type->table_size) {
632 var9 = 0;
633 } else {
634 var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11;
635 }
636 }
637 if (!var9) {
638 fprintf(stderr, "Runtime error: %s", "Assert failed");
639 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20655);
640 show_backtrace(1);
641 }
642 var_tkwnewnode5 = var_nodearraylist3;
643 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
644 cltype13 = type_nullable_parser_nodes__TKwnew.color;
645 idtype14 = type_nullable_parser_nodes__TKwnew.id;
646 if(var_tkwnewnode5 == NULL) {
647 var12 = 1;
648 } else {
649 if(cltype13 >= var_tkwnewnode5->type->table_size) {
650 var12 = 0;
651 } else {
652 var12 = var_tkwnewnode5->type->type_table[cltype13] == idtype14;
653 }
654 }
655 if (!var12) {
656 fprintf(stderr, "Runtime error: %s", "Assert failed");
657 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20657);
658 show_backtrace(1);
659 }
660 var_psignaturenode7 = var_nodearraylist4;
661 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
662 cltype16 = type_nullable_parser_nodes__ASignature.color;
663 idtype17 = type_nullable_parser_nodes__ASignature.id;
664 if(var_psignaturenode7 == NULL) {
665 var15 = 1;
666 } else {
667 if(cltype16 >= var_psignaturenode7->type->table_size) {
668 var15 = 0;
669 } else {
670 var15 = var_psignaturenode7->type->type_table[cltype16] == idtype17;
671 }
672 }
673 if (!var15) {
674 fprintf(stderr, "Runtime error: %s", "Assert failed");
675 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20659);
676 show_backtrace(1);
677 }
678 var_tstringnode8 = var_nodearraylist7;
679 /* <var_tstringnode8:nullable Object> isa nullable TString */
680 cltype19 = type_nullable_parser_nodes__TString.color;
681 idtype20 = type_nullable_parser_nodes__TString.id;
682 if(var_tstringnode8 == NULL) {
683 var18 = 1;
684 } else {
685 if(cltype19 >= var_tstringnode8->type->table_size) {
686 var18 = 0;
687 } else {
688 var18 = var_tstringnode8->type->type_table[cltype19] == idtype20;
689 }
690 }
691 if (!var18) {
692 fprintf(stderr, "Runtime error: %s", "Assert failed");
693 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20661);
694 show_backtrace(1);
695 }
696 var21 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
697 var22 = NULL;
698 var23 = NULL;
699 var24 = NULL;
700 var25 = NULL;
701 ((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>*/;
702 var_ppropdefnode1 = var21;
703 var_node_list = var_ppropdefnode1;
704 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction469> */
705 var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on <var_p:Parser>*/;
706 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on <var_p:Parser>*/;
707 RET_LABEL:;
708 }
709 /* method parser#ReduceAction469#action for (self: Object, Parser) */
710 void VIRTUAL_parser__ReduceAction469__action(val* self, val* p0) {
711 parser__ReduceAction469__action(self, p0);
712 RET_LABEL:;
713 }
714 /* method parser#ReduceAction470#action for (self: ReduceAction470, Parser) */
715 void parser__ReduceAction470__action(val* self, val* p0) {
716 val* var_p /* var p: Parser */;
717 val* var /* : null */;
718 val* var_node_list /* var node_list: nullable Object */;
719 val* var1 /* : nullable Object */;
720 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
721 val* var2 /* : nullable Object */;
722 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
723 val* var3 /* : nullable Object */;
724 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
725 val* var4 /* : nullable Object */;
726 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
727 val* var5 /* : nullable Object */;
728 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
729 val* var6 /* : nullable Object */;
730 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
731 val* var7 /* : nullable Object */;
732 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
733 val* var8 /* : nullable Object */;
734 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
735 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
736 short int var9 /* : Bool */;
737 int cltype;
738 int idtype;
739 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
740 short int var10 /* : Bool */;
741 int cltype11;
742 int idtype12;
743 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
744 short int var13 /* : Bool */;
745 int cltype14;
746 int idtype15;
747 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
748 short int var16 /* : Bool */;
749 int cltype17;
750 int idtype18;
751 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
752 short int var19 /* : Bool */;
753 int cltype20;
754 int idtype21;
755 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
756 short int var22 /* : Bool */;
757 int cltype23;
758 int idtype24;
759 val* var25 /* : AExternInitPropdef */;
760 val* var26 /* : null */;
761 val* var27 /* : null */;
762 val* var28 /* : null */;
763 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
764 long var29 /* : Int */;
765 long var30 /* : Int */;
766 var_p = p0;
767 var = NULL;
768 var_node_list = var;
769 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
770 var_nodearraylist8 = var1;
771 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
772 var_nodearraylist7 = var2;
773 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
774 var_nodearraylist6 = var3;
775 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
776 var_nodearraylist5 = var4;
777 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
778 var_nodearraylist4 = var5;
779 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
780 var_nodearraylist3 = var6;
781 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
782 var_nodearraylist2 = var7;
783 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
784 var_nodearraylist1 = var8;
785 var_pdocnode2 = var_nodearraylist1;
786 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
787 cltype = type_nullable_parser_nodes__ADoc.color;
788 idtype = type_nullable_parser_nodes__ADoc.id;
789 if(var_pdocnode2 == NULL) {
790 var9 = 1;
791 } else {
792 if(cltype >= var_pdocnode2->type->table_size) {
793 var9 = 0;
794 } else {
795 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
796 }
797 }
798 if (!var9) {
799 fprintf(stderr, "Runtime error: %s", "Assert failed");
800 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20691);
801 show_backtrace(1);
802 }
803 var_tkwredefnode3 = var_nodearraylist2;
804 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
805 cltype11 = type_nullable_parser_nodes__TKwredef.color;
806 idtype12 = type_nullable_parser_nodes__TKwredef.id;
807 if(var_tkwredefnode3 == NULL) {
808 var10 = 1;
809 } else {
810 if(cltype11 >= var_tkwredefnode3->type->table_size) {
811 var10 = 0;
812 } else {
813 var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12;
814 }
815 }
816 if (!var10) {
817 fprintf(stderr, "Runtime error: %s", "Assert failed");
818 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20693);
819 show_backtrace(1);
820 }
821 var_pvisibilitynode4 = var_nodearraylist3;
822 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
823 cltype14 = type_nullable_parser_nodes__AVisibility.color;
824 idtype15 = type_nullable_parser_nodes__AVisibility.id;
825 if(var_pvisibilitynode4 == NULL) {
826 var13 = 1;
827 } else {
828 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
829 var13 = 0;
830 } else {
831 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
832 }
833 }
834 if (!var13) {
835 fprintf(stderr, "Runtime error: %s", "Assert failed");
836 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20695);
837 show_backtrace(1);
838 }
839 var_tkwnewnode5 = var_nodearraylist4;
840 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
841 cltype17 = type_nullable_parser_nodes__TKwnew.color;
842 idtype18 = type_nullable_parser_nodes__TKwnew.id;
843 if(var_tkwnewnode5 == NULL) {
844 var16 = 1;
845 } else {
846 if(cltype17 >= var_tkwnewnode5->type->table_size) {
847 var16 = 0;
848 } else {
849 var16 = var_tkwnewnode5->type->type_table[cltype17] == idtype18;
850 }
851 }
852 if (!var16) {
853 fprintf(stderr, "Runtime error: %s", "Assert failed");
854 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20697);
855 show_backtrace(1);
856 }
857 var_psignaturenode7 = var_nodearraylist5;
858 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
859 cltype20 = type_nullable_parser_nodes__ASignature.color;
860 idtype21 = type_nullable_parser_nodes__ASignature.id;
861 if(var_psignaturenode7 == NULL) {
862 var19 = 1;
863 } else {
864 if(cltype20 >= var_psignaturenode7->type->table_size) {
865 var19 = 0;
866 } else {
867 var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
868 }
869 }
870 if (!var19) {
871 fprintf(stderr, "Runtime error: %s", "Assert failed");
872 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20699);
873 show_backtrace(1);
874 }
875 var_tstringnode8 = var_nodearraylist8;
876 /* <var_tstringnode8:nullable Object> isa nullable TString */
877 cltype23 = type_nullable_parser_nodes__TString.color;
878 idtype24 = type_nullable_parser_nodes__TString.id;
879 if(var_tstringnode8 == NULL) {
880 var22 = 1;
881 } else {
882 if(cltype23 >= var_tstringnode8->type->table_size) {
883 var22 = 0;
884 } else {
885 var22 = var_tstringnode8->type->type_table[cltype23] == idtype24;
886 }
887 }
888 if (!var22) {
889 fprintf(stderr, "Runtime error: %s", "Assert failed");
890 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20701);
891 show_backtrace(1);
892 }
893 var25 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
894 var26 = NULL;
895 var27 = NULL;
896 var28 = NULL;
897 ((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>*/;
898 var_ppropdefnode1 = var25;
899 var_node_list = var_ppropdefnode1;
900 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction470> */
901 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
902 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
903 RET_LABEL:;
904 }
905 /* method parser#ReduceAction470#action for (self: Object, Parser) */
906 void VIRTUAL_parser__ReduceAction470__action(val* self, val* p0) {
907 parser__ReduceAction470__action(self, p0);
908 RET_LABEL:;
909 }
910 /* method parser#ReduceAction471#action for (self: ReduceAction471, Parser) */
911 void parser__ReduceAction471__action(val* self, val* p0) {
912 val* var_p /* var p: Parser */;
913 val* var /* : null */;
914 val* var_node_list /* var node_list: nullable Object */;
915 val* var1 /* : nullable Object */;
916 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
917 val* var2 /* : nullable Object */;
918 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
919 val* var3 /* : nullable Object */;
920 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
921 val* var4 /* : nullable Object */;
922 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
923 val* var5 /* : nullable Object */;
924 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
925 val* var6 /* : nullable Object */;
926 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
927 val* var7 /* : nullable Object */;
928 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
929 val* var8 /* : nullable Object */;
930 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
931 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
932 short int var9 /* : Bool */;
933 int cltype;
934 int idtype;
935 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
936 short int var10 /* : Bool */;
937 int cltype11;
938 int idtype12;
939 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
940 short int var13 /* : Bool */;
941 int cltype14;
942 int idtype15;
943 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
944 short int var16 /* : Bool */;
945 int cltype17;
946 int idtype18;
947 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
948 short int var19 /* : Bool */;
949 int cltype20;
950 int idtype21;
951 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
952 short int var22 /* : Bool */;
953 int cltype23;
954 int idtype24;
955 val* var25 /* : AExternInitPropdef */;
956 val* var26 /* : null */;
957 val* var27 /* : null */;
958 val* var28 /* : null */;
959 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
960 long var29 /* : Int */;
961 long var30 /* : Int */;
962 var_p = p0;
963 var = NULL;
964 var_node_list = var;
965 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
966 var_nodearraylist8 = var1;
967 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
968 var_nodearraylist7 = var2;
969 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
970 var_nodearraylist6 = var3;
971 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
972 var_nodearraylist5 = var4;
973 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
974 var_nodearraylist4 = var5;
975 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
976 var_nodearraylist3 = var6;
977 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
978 var_nodearraylist2 = var7;
979 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
980 var_nodearraylist1 = var8;
981 var_pdocnode2 = var_nodearraylist1;
982 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
983 cltype = type_nullable_parser_nodes__ADoc.color;
984 idtype = type_nullable_parser_nodes__ADoc.id;
985 if(var_pdocnode2 == NULL) {
986 var9 = 1;
987 } else {
988 if(cltype >= var_pdocnode2->type->table_size) {
989 var9 = 0;
990 } else {
991 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
992 }
993 }
994 if (!var9) {
995 fprintf(stderr, "Runtime error: %s", "Assert failed");
996 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20731);
997 show_backtrace(1);
998 }
999 var_pvisibilitynode4 = var_nodearraylist2;
1000 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1001 cltype11 = type_nullable_parser_nodes__AVisibility.color;
1002 idtype12 = type_nullable_parser_nodes__AVisibility.id;
1003 if(var_pvisibilitynode4 == NULL) {
1004 var10 = 1;
1005 } else {
1006 if(cltype11 >= var_pvisibilitynode4->type->table_size) {
1007 var10 = 0;
1008 } else {
1009 var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
1010 }
1011 }
1012 if (!var10) {
1013 fprintf(stderr, "Runtime error: %s", "Assert failed");
1014 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20733);
1015 show_backtrace(1);
1016 }
1017 var_tkwnewnode5 = var_nodearraylist3;
1018 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
1019 cltype14 = type_nullable_parser_nodes__TKwnew.color;
1020 idtype15 = type_nullable_parser_nodes__TKwnew.id;
1021 if(var_tkwnewnode5 == NULL) {
1022 var13 = 1;
1023 } else {
1024 if(cltype14 >= var_tkwnewnode5->type->table_size) {
1025 var13 = 0;
1026 } else {
1027 var13 = var_tkwnewnode5->type->type_table[cltype14] == idtype15;
1028 }
1029 }
1030 if (!var13) {
1031 fprintf(stderr, "Runtime error: %s", "Assert failed");
1032 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20735);
1033 show_backtrace(1);
1034 }
1035 var_pmethidnode6 = var_nodearraylist4;
1036 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
1037 cltype17 = type_nullable_parser_nodes__AMethid.color;
1038 idtype18 = type_nullable_parser_nodes__AMethid.id;
1039 if(var_pmethidnode6 == NULL) {
1040 var16 = 1;
1041 } else {
1042 if(cltype17 >= var_pmethidnode6->type->table_size) {
1043 var16 = 0;
1044 } else {
1045 var16 = var_pmethidnode6->type->type_table[cltype17] == idtype18;
1046 }
1047 }
1048 if (!var16) {
1049 fprintf(stderr, "Runtime error: %s", "Assert failed");
1050 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20737);
1051 show_backtrace(1);
1052 }
1053 var_psignaturenode7 = var_nodearraylist5;
1054 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
1055 cltype20 = type_nullable_parser_nodes__ASignature.color;
1056 idtype21 = type_nullable_parser_nodes__ASignature.id;
1057 if(var_psignaturenode7 == NULL) {
1058 var19 = 1;
1059 } else {
1060 if(cltype20 >= var_psignaturenode7->type->table_size) {
1061 var19 = 0;
1062 } else {
1063 var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
1064 }
1065 }
1066 if (!var19) {
1067 fprintf(stderr, "Runtime error: %s", "Assert failed");
1068 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20739);
1069 show_backtrace(1);
1070 }
1071 var_tstringnode8 = var_nodearraylist8;
1072 /* <var_tstringnode8:nullable Object> isa nullable TString */
1073 cltype23 = type_nullable_parser_nodes__TString.color;
1074 idtype24 = type_nullable_parser_nodes__TString.id;
1075 if(var_tstringnode8 == NULL) {
1076 var22 = 1;
1077 } else {
1078 if(cltype23 >= var_tstringnode8->type->table_size) {
1079 var22 = 0;
1080 } else {
1081 var22 = var_tstringnode8->type->type_table[cltype23] == idtype24;
1082 }
1083 }
1084 if (!var22) {
1085 fprintf(stderr, "Runtime error: %s", "Assert failed");
1086 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20741);
1087 show_backtrace(1);
1088 }
1089 var25 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
1090 var26 = NULL;
1091 var27 = NULL;
1092 var28 = NULL;
1093 ((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>*/;
1094 var_ppropdefnode1 = var25;
1095 var_node_list = var_ppropdefnode1;
1096 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction471> */
1097 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
1098 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
1099 RET_LABEL:;
1100 }
1101 /* method parser#ReduceAction471#action for (self: Object, Parser) */
1102 void VIRTUAL_parser__ReduceAction471__action(val* self, val* p0) {
1103 parser__ReduceAction471__action(self, p0);
1104 RET_LABEL:;
1105 }
1106 /* method parser#ReduceAction472#action for (self: ReduceAction472, Parser) */
1107 void parser__ReduceAction472__action(val* self, val* p0) {
1108 val* var_p /* var p: Parser */;
1109 val* var /* : null */;
1110 val* var_node_list /* var node_list: nullable Object */;
1111 val* var1 /* : nullable Object */;
1112 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1113 val* var2 /* : nullable Object */;
1114 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1115 val* var3 /* : nullable Object */;
1116 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1117 val* var4 /* : nullable Object */;
1118 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1119 val* var5 /* : nullable Object */;
1120 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1121 val* var6 /* : nullable Object */;
1122 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1123 val* var7 /* : nullable Object */;
1124 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1125 val* var8 /* : nullable Object */;
1126 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1127 val* var9 /* : nullable Object */;
1128 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1129 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1130 short int var10 /* : Bool */;
1131 int cltype;
1132 int idtype;
1133 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
1134 short int var11 /* : Bool */;
1135 int cltype12;
1136 int idtype13;
1137 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1138 short int var14 /* : Bool */;
1139 int cltype15;
1140 int idtype16;
1141 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
1142 short int var17 /* : Bool */;
1143 int cltype18;
1144 int idtype19;
1145 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
1146 short int var20 /* : Bool */;
1147 int cltype21;
1148 int idtype22;
1149 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
1150 short int var23 /* : Bool */;
1151 int cltype24;
1152 int idtype25;
1153 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
1154 short int var26 /* : Bool */;
1155 int cltype27;
1156 int idtype28;
1157 val* var29 /* : AExternInitPropdef */;
1158 val* var30 /* : null */;
1159 val* var31 /* : null */;
1160 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
1161 long var32 /* : Int */;
1162 long var33 /* : Int */;
1163 var_p = p0;
1164 var = NULL;
1165 var_node_list = var;
1166 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1167 var_nodearraylist9 = var1;
1168 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1169 var_nodearraylist8 = var2;
1170 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1171 var_nodearraylist7 = var3;
1172 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1173 var_nodearraylist6 = var4;
1174 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1175 var_nodearraylist5 = var5;
1176 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1177 var_nodearraylist4 = var6;
1178 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1179 var_nodearraylist3 = var7;
1180 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1181 var_nodearraylist2 = var8;
1182 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1183 var_nodearraylist1 = var9;
1184 var_pdocnode2 = var_nodearraylist1;
1185 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1186 cltype = type_nullable_parser_nodes__ADoc.color;
1187 idtype = type_nullable_parser_nodes__ADoc.id;
1188 if(var_pdocnode2 == NULL) {
1189 var10 = 1;
1190 } else {
1191 if(cltype >= var_pdocnode2->type->table_size) {
1192 var10 = 0;
1193 } else {
1194 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
1195 }
1196 }
1197 if (!var10) {
1198 fprintf(stderr, "Runtime error: %s", "Assert failed");
1199 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20772);
1200 show_backtrace(1);
1201 }
1202 var_tkwredefnode3 = var_nodearraylist2;
1203 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1204 cltype12 = type_nullable_parser_nodes__TKwredef.color;
1205 idtype13 = type_nullable_parser_nodes__TKwredef.id;
1206 if(var_tkwredefnode3 == NULL) {
1207 var11 = 1;
1208 } else {
1209 if(cltype12 >= var_tkwredefnode3->type->table_size) {
1210 var11 = 0;
1211 } else {
1212 var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
1213 }
1214 }
1215 if (!var11) {
1216 fprintf(stderr, "Runtime error: %s", "Assert failed");
1217 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20774);
1218 show_backtrace(1);
1219 }
1220 var_pvisibilitynode4 = var_nodearraylist3;
1221 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1222 cltype15 = type_nullable_parser_nodes__AVisibility.color;
1223 idtype16 = type_nullable_parser_nodes__AVisibility.id;
1224 if(var_pvisibilitynode4 == NULL) {
1225 var14 = 1;
1226 } else {
1227 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
1228 var14 = 0;
1229 } else {
1230 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
1231 }
1232 }
1233 if (!var14) {
1234 fprintf(stderr, "Runtime error: %s", "Assert failed");
1235 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20776);
1236 show_backtrace(1);
1237 }
1238 var_tkwnewnode5 = var_nodearraylist4;
1239 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
1240 cltype18 = type_nullable_parser_nodes__TKwnew.color;
1241 idtype19 = type_nullable_parser_nodes__TKwnew.id;
1242 if(var_tkwnewnode5 == NULL) {
1243 var17 = 1;
1244 } else {
1245 if(cltype18 >= var_tkwnewnode5->type->table_size) {
1246 var17 = 0;
1247 } else {
1248 var17 = var_tkwnewnode5->type->type_table[cltype18] == idtype19;
1249 }
1250 }
1251 if (!var17) {
1252 fprintf(stderr, "Runtime error: %s", "Assert failed");
1253 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20778);
1254 show_backtrace(1);
1255 }
1256 var_pmethidnode6 = var_nodearraylist5;
1257 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
1258 cltype21 = type_nullable_parser_nodes__AMethid.color;
1259 idtype22 = type_nullable_parser_nodes__AMethid.id;
1260 if(var_pmethidnode6 == NULL) {
1261 var20 = 1;
1262 } else {
1263 if(cltype21 >= var_pmethidnode6->type->table_size) {
1264 var20 = 0;
1265 } else {
1266 var20 = var_pmethidnode6->type->type_table[cltype21] == idtype22;
1267 }
1268 }
1269 if (!var20) {
1270 fprintf(stderr, "Runtime error: %s", "Assert failed");
1271 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20780);
1272 show_backtrace(1);
1273 }
1274 var_psignaturenode7 = var_nodearraylist6;
1275 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
1276 cltype24 = type_nullable_parser_nodes__ASignature.color;
1277 idtype25 = type_nullable_parser_nodes__ASignature.id;
1278 if(var_psignaturenode7 == NULL) {
1279 var23 = 1;
1280 } else {
1281 if(cltype24 >= var_psignaturenode7->type->table_size) {
1282 var23 = 0;
1283 } else {
1284 var23 = var_psignaturenode7->type->type_table[cltype24] == idtype25;
1285 }
1286 }
1287 if (!var23) {
1288 fprintf(stderr, "Runtime error: %s", "Assert failed");
1289 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20782);
1290 show_backtrace(1);
1291 }
1292 var_tstringnode8 = var_nodearraylist9;
1293 /* <var_tstringnode8:nullable Object> isa nullable TString */
1294 cltype27 = type_nullable_parser_nodes__TString.color;
1295 idtype28 = type_nullable_parser_nodes__TString.id;
1296 if(var_tstringnode8 == NULL) {
1297 var26 = 1;
1298 } else {
1299 if(cltype27 >= var_tstringnode8->type->table_size) {
1300 var26 = 0;
1301 } else {
1302 var26 = var_tstringnode8->type->type_table[cltype27] == idtype28;
1303 }
1304 }
1305 if (!var26) {
1306 fprintf(stderr, "Runtime error: %s", "Assert failed");
1307 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20784);
1308 show_backtrace(1);
1309 }
1310 var29 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
1311 var30 = NULL;
1312 var31 = NULL;
1313 ((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>*/;
1314 var_ppropdefnode1 = var29;
1315 var_node_list = var_ppropdefnode1;
1316 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction472> */
1317 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
1318 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
1319 RET_LABEL:;
1320 }
1321 /* method parser#ReduceAction472#action for (self: Object, Parser) */
1322 void VIRTUAL_parser__ReduceAction472__action(val* self, val* p0) {
1323 parser__ReduceAction472__action(self, p0);
1324 RET_LABEL:;
1325 }
1326 /* method parser#ReduceAction473#action for (self: ReduceAction473, Parser) */
1327 void parser__ReduceAction473__action(val* self, val* p0) {
1328 val* var_p /* var p: Parser */;
1329 val* var /* : null */;
1330 val* var_node_list /* var node_list: nullable Object */;
1331 val* var1 /* : nullable Object */;
1332 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1333 val* var2 /* : nullable Object */;
1334 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1335 val* var3 /* : nullable Object */;
1336 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1337 val* var4 /* : nullable Object */;
1338 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1339 val* var5 /* : nullable Object */;
1340 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1341 val* var6 /* : nullable Object */;
1342 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1343 val* var7 /* : nullable Object */;
1344 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1345 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1346 short int var8 /* : Bool */;
1347 int cltype;
1348 int idtype;
1349 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1350 short int var9 /* : Bool */;
1351 int cltype10;
1352 int idtype11;
1353 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
1354 short int var12 /* : Bool */;
1355 int cltype13;
1356 int idtype14;
1357 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
1358 short int var15 /* : Bool */;
1359 int cltype16;
1360 int idtype17;
1361 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
1362 short int var18 /* : Bool */;
1363 int cltype19;
1364 int idtype20;
1365 val* var21 /* : AExternInitPropdef */;
1366 val* var22 /* : null */;
1367 val* var23 /* : null */;
1368 val* var24 /* : null */;
1369 val* var25 /* : null */;
1370 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
1371 long var26 /* : Int */;
1372 long var27 /* : Int */;
1373 var_p = p0;
1374 var = NULL;
1375 var_node_list = var;
1376 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1377 var_nodearraylist7 = var1;
1378 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1379 var_nodearraylist6 = var2;
1380 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1381 var_nodearraylist5 = var3;
1382 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1383 var_nodearraylist4 = var4;
1384 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1385 var_nodearraylist3 = var5;
1386 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1387 var_nodearraylist2 = var6;
1388 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1389 var_nodearraylist1 = var7;
1390 var_pdocnode2 = var_nodearraylist1;
1391 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1392 cltype = type_nullable_parser_nodes__ADoc.color;
1393 idtype = type_nullable_parser_nodes__ADoc.id;
1394 if(var_pdocnode2 == NULL) {
1395 var8 = 1;
1396 } else {
1397 if(cltype >= var_pdocnode2->type->table_size) {
1398 var8 = 0;
1399 } else {
1400 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
1401 }
1402 }
1403 if (!var8) {
1404 fprintf(stderr, "Runtime error: %s", "Assert failed");
1405 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20813);
1406 show_backtrace(1);
1407 }
1408 var_pvisibilitynode4 = var_nodearraylist2;
1409 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1410 cltype10 = type_nullable_parser_nodes__AVisibility.color;
1411 idtype11 = type_nullable_parser_nodes__AVisibility.id;
1412 if(var_pvisibilitynode4 == NULL) {
1413 var9 = 1;
1414 } else {
1415 if(cltype10 >= var_pvisibilitynode4->type->table_size) {
1416 var9 = 0;
1417 } else {
1418 var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11;
1419 }
1420 }
1421 if (!var9) {
1422 fprintf(stderr, "Runtime error: %s", "Assert failed");
1423 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20815);
1424 show_backtrace(1);
1425 }
1426 var_tkwnewnode5 = var_nodearraylist3;
1427 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
1428 cltype13 = type_nullable_parser_nodes__TKwnew.color;
1429 idtype14 = type_nullable_parser_nodes__TKwnew.id;
1430 if(var_tkwnewnode5 == NULL) {
1431 var12 = 1;
1432 } else {
1433 if(cltype13 >= var_tkwnewnode5->type->table_size) {
1434 var12 = 0;
1435 } else {
1436 var12 = var_tkwnewnode5->type->type_table[cltype13] == idtype14;
1437 }
1438 }
1439 if (!var12) {
1440 fprintf(stderr, "Runtime error: %s", "Assert failed");
1441 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20817);
1442 show_backtrace(1);
1443 }
1444 var_psignaturenode7 = var_nodearraylist4;
1445 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
1446 cltype16 = type_nullable_parser_nodes__ASignature.color;
1447 idtype17 = type_nullable_parser_nodes__ASignature.id;
1448 if(var_psignaturenode7 == NULL) {
1449 var15 = 1;
1450 } else {
1451 if(cltype16 >= var_psignaturenode7->type->table_size) {
1452 var15 = 0;
1453 } else {
1454 var15 = var_psignaturenode7->type->type_table[cltype16] == idtype17;
1455 }
1456 }
1457 if (!var15) {
1458 fprintf(stderr, "Runtime error: %s", "Assert failed");
1459 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20819);
1460 show_backtrace(1);
1461 }
1462 var_pexterncallsnode9 = var_nodearraylist7;
1463 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
1464 cltype19 = type_nullable_parser_nodes__AExternCalls.color;
1465 idtype20 = type_nullable_parser_nodes__AExternCalls.id;
1466 if(var_pexterncallsnode9 == NULL) {
1467 var18 = 1;
1468 } else {
1469 if(cltype19 >= var_pexterncallsnode9->type->table_size) {
1470 var18 = 0;
1471 } else {
1472 var18 = var_pexterncallsnode9->type->type_table[cltype19] == idtype20;
1473 }
1474 }
1475 if (!var18) {
1476 fprintf(stderr, "Runtime error: %s", "Assert failed");
1477 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20821);
1478 show_backtrace(1);
1479 }
1480 var21 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
1481 var22 = NULL;
1482 var23 = NULL;
1483 var24 = NULL;
1484 var25 = NULL;
1485 ((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>*/;
1486 var_ppropdefnode1 = var21;
1487 var_node_list = var_ppropdefnode1;
1488 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction473> */
1489 var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on <var_p:Parser>*/;
1490 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on <var_p:Parser>*/;
1491 RET_LABEL:;
1492 }
1493 /* method parser#ReduceAction473#action for (self: Object, Parser) */
1494 void VIRTUAL_parser__ReduceAction473__action(val* self, val* p0) {
1495 parser__ReduceAction473__action(self, p0);
1496 RET_LABEL:;
1497 }
1498 /* method parser#ReduceAction474#action for (self: ReduceAction474, Parser) */
1499 void parser__ReduceAction474__action(val* self, val* p0) {
1500 val* var_p /* var p: Parser */;
1501 val* var /* : null */;
1502 val* var_node_list /* var node_list: nullable Object */;
1503 val* var1 /* : nullable Object */;
1504 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1505 val* var2 /* : nullable Object */;
1506 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1507 val* var3 /* : nullable Object */;
1508 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1509 val* var4 /* : nullable Object */;
1510 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1511 val* var5 /* : nullable Object */;
1512 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1513 val* var6 /* : nullable Object */;
1514 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1515 val* var7 /* : nullable Object */;
1516 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1517 val* var8 /* : nullable Object */;
1518 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1519 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1520 short int var9 /* : Bool */;
1521 int cltype;
1522 int idtype;
1523 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
1524 short int var10 /* : Bool */;
1525 int cltype11;
1526 int idtype12;
1527 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1528 short int var13 /* : Bool */;
1529 int cltype14;
1530 int idtype15;
1531 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
1532 short int var16 /* : Bool */;
1533 int cltype17;
1534 int idtype18;
1535 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
1536 short int var19 /* : Bool */;
1537 int cltype20;
1538 int idtype21;
1539 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
1540 short int var22 /* : Bool */;
1541 int cltype23;
1542 int idtype24;
1543 val* var25 /* : AExternInitPropdef */;
1544 val* var26 /* : null */;
1545 val* var27 /* : null */;
1546 val* var28 /* : null */;
1547 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
1548 long var29 /* : Int */;
1549 long var30 /* : Int */;
1550 var_p = p0;
1551 var = NULL;
1552 var_node_list = var;
1553 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1554 var_nodearraylist8 = var1;
1555 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1556 var_nodearraylist7 = var2;
1557 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1558 var_nodearraylist6 = var3;
1559 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1560 var_nodearraylist5 = var4;
1561 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1562 var_nodearraylist4 = var5;
1563 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1564 var_nodearraylist3 = var6;
1565 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1566 var_nodearraylist2 = var7;
1567 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1568 var_nodearraylist1 = var8;
1569 var_pdocnode2 = var_nodearraylist1;
1570 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1571 cltype = type_nullable_parser_nodes__ADoc.color;
1572 idtype = type_nullable_parser_nodes__ADoc.id;
1573 if(var_pdocnode2 == NULL) {
1574 var9 = 1;
1575 } else {
1576 if(cltype >= var_pdocnode2->type->table_size) {
1577 var9 = 0;
1578 } else {
1579 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
1580 }
1581 }
1582 if (!var9) {
1583 fprintf(stderr, "Runtime error: %s", "Assert failed");
1584 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20851);
1585 show_backtrace(1);
1586 }
1587 var_tkwredefnode3 = var_nodearraylist2;
1588 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1589 cltype11 = type_nullable_parser_nodes__TKwredef.color;
1590 idtype12 = type_nullable_parser_nodes__TKwredef.id;
1591 if(var_tkwredefnode3 == NULL) {
1592 var10 = 1;
1593 } else {
1594 if(cltype11 >= var_tkwredefnode3->type->table_size) {
1595 var10 = 0;
1596 } else {
1597 var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12;
1598 }
1599 }
1600 if (!var10) {
1601 fprintf(stderr, "Runtime error: %s", "Assert failed");
1602 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20853);
1603 show_backtrace(1);
1604 }
1605 var_pvisibilitynode4 = var_nodearraylist3;
1606 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1607 cltype14 = type_nullable_parser_nodes__AVisibility.color;
1608 idtype15 = type_nullable_parser_nodes__AVisibility.id;
1609 if(var_pvisibilitynode4 == NULL) {
1610 var13 = 1;
1611 } else {
1612 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
1613 var13 = 0;
1614 } else {
1615 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
1616 }
1617 }
1618 if (!var13) {
1619 fprintf(stderr, "Runtime error: %s", "Assert failed");
1620 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20855);
1621 show_backtrace(1);
1622 }
1623 var_tkwnewnode5 = var_nodearraylist4;
1624 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
1625 cltype17 = type_nullable_parser_nodes__TKwnew.color;
1626 idtype18 = type_nullable_parser_nodes__TKwnew.id;
1627 if(var_tkwnewnode5 == NULL) {
1628 var16 = 1;
1629 } else {
1630 if(cltype17 >= var_tkwnewnode5->type->table_size) {
1631 var16 = 0;
1632 } else {
1633 var16 = var_tkwnewnode5->type->type_table[cltype17] == idtype18;
1634 }
1635 }
1636 if (!var16) {
1637 fprintf(stderr, "Runtime error: %s", "Assert failed");
1638 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20857);
1639 show_backtrace(1);
1640 }
1641 var_psignaturenode7 = var_nodearraylist5;
1642 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
1643 cltype20 = type_nullable_parser_nodes__ASignature.color;
1644 idtype21 = type_nullable_parser_nodes__ASignature.id;
1645 if(var_psignaturenode7 == NULL) {
1646 var19 = 1;
1647 } else {
1648 if(cltype20 >= var_psignaturenode7->type->table_size) {
1649 var19 = 0;
1650 } else {
1651 var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
1652 }
1653 }
1654 if (!var19) {
1655 fprintf(stderr, "Runtime error: %s", "Assert failed");
1656 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20859);
1657 show_backtrace(1);
1658 }
1659 var_pexterncallsnode9 = var_nodearraylist8;
1660 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
1661 cltype23 = type_nullable_parser_nodes__AExternCalls.color;
1662 idtype24 = type_nullable_parser_nodes__AExternCalls.id;
1663 if(var_pexterncallsnode9 == NULL) {
1664 var22 = 1;
1665 } else {
1666 if(cltype23 >= var_pexterncallsnode9->type->table_size) {
1667 var22 = 0;
1668 } else {
1669 var22 = var_pexterncallsnode9->type->type_table[cltype23] == idtype24;
1670 }
1671 }
1672 if (!var22) {
1673 fprintf(stderr, "Runtime error: %s", "Assert failed");
1674 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20861);
1675 show_backtrace(1);
1676 }
1677 var25 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
1678 var26 = NULL;
1679 var27 = NULL;
1680 var28 = NULL;
1681 ((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>*/;
1682 var_ppropdefnode1 = var25;
1683 var_node_list = var_ppropdefnode1;
1684 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction474> */
1685 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
1686 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
1687 RET_LABEL:;
1688 }
1689 /* method parser#ReduceAction474#action for (self: Object, Parser) */
1690 void VIRTUAL_parser__ReduceAction474__action(val* self, val* p0) {
1691 parser__ReduceAction474__action(self, p0);
1692 RET_LABEL:;
1693 }
1694 /* method parser#ReduceAction475#action for (self: ReduceAction475, Parser) */
1695 void parser__ReduceAction475__action(val* self, val* p0) {
1696 val* var_p /* var p: Parser */;
1697 val* var /* : null */;
1698 val* var_node_list /* var node_list: nullable Object */;
1699 val* var1 /* : nullable Object */;
1700 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1701 val* var2 /* : nullable Object */;
1702 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1703 val* var3 /* : nullable Object */;
1704 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1705 val* var4 /* : nullable Object */;
1706 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1707 val* var5 /* : nullable Object */;
1708 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1709 val* var6 /* : nullable Object */;
1710 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1711 val* var7 /* : nullable Object */;
1712 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1713 val* var8 /* : nullable Object */;
1714 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1715 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1716 short int var9 /* : Bool */;
1717 int cltype;
1718 int idtype;
1719 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1720 short int var10 /* : Bool */;
1721 int cltype11;
1722 int idtype12;
1723 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
1724 short int var13 /* : Bool */;
1725 int cltype14;
1726 int idtype15;
1727 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
1728 short int var16 /* : Bool */;
1729 int cltype17;
1730 int idtype18;
1731 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
1732 short int var19 /* : Bool */;
1733 int cltype20;
1734 int idtype21;
1735 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
1736 short int var22 /* : Bool */;
1737 int cltype23;
1738 int idtype24;
1739 val* var25 /* : AExternInitPropdef */;
1740 val* var26 /* : null */;
1741 val* var27 /* : null */;
1742 val* var28 /* : null */;
1743 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
1744 long var29 /* : Int */;
1745 long var30 /* : Int */;
1746 var_p = p0;
1747 var = NULL;
1748 var_node_list = var;
1749 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1750 var_nodearraylist8 = var1;
1751 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1752 var_nodearraylist7 = var2;
1753 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1754 var_nodearraylist6 = var3;
1755 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1756 var_nodearraylist5 = var4;
1757 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1758 var_nodearraylist4 = var5;
1759 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1760 var_nodearraylist3 = var6;
1761 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1762 var_nodearraylist2 = var7;
1763 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1764 var_nodearraylist1 = var8;
1765 var_pdocnode2 = var_nodearraylist1;
1766 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1767 cltype = type_nullable_parser_nodes__ADoc.color;
1768 idtype = type_nullable_parser_nodes__ADoc.id;
1769 if(var_pdocnode2 == NULL) {
1770 var9 = 1;
1771 } else {
1772 if(cltype >= var_pdocnode2->type->table_size) {
1773 var9 = 0;
1774 } else {
1775 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
1776 }
1777 }
1778 if (!var9) {
1779 fprintf(stderr, "Runtime error: %s", "Assert failed");
1780 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20891);
1781 show_backtrace(1);
1782 }
1783 var_pvisibilitynode4 = var_nodearraylist2;
1784 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1785 cltype11 = type_nullable_parser_nodes__AVisibility.color;
1786 idtype12 = type_nullable_parser_nodes__AVisibility.id;
1787 if(var_pvisibilitynode4 == NULL) {
1788 var10 = 1;
1789 } else {
1790 if(cltype11 >= var_pvisibilitynode4->type->table_size) {
1791 var10 = 0;
1792 } else {
1793 var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
1794 }
1795 }
1796 if (!var10) {
1797 fprintf(stderr, "Runtime error: %s", "Assert failed");
1798 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20893);
1799 show_backtrace(1);
1800 }
1801 var_tkwnewnode5 = var_nodearraylist3;
1802 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
1803 cltype14 = type_nullable_parser_nodes__TKwnew.color;
1804 idtype15 = type_nullable_parser_nodes__TKwnew.id;
1805 if(var_tkwnewnode5 == NULL) {
1806 var13 = 1;
1807 } else {
1808 if(cltype14 >= var_tkwnewnode5->type->table_size) {
1809 var13 = 0;
1810 } else {
1811 var13 = var_tkwnewnode5->type->type_table[cltype14] == idtype15;
1812 }
1813 }
1814 if (!var13) {
1815 fprintf(stderr, "Runtime error: %s", "Assert failed");
1816 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20895);
1817 show_backtrace(1);
1818 }
1819 var_pmethidnode6 = var_nodearraylist4;
1820 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
1821 cltype17 = type_nullable_parser_nodes__AMethid.color;
1822 idtype18 = type_nullable_parser_nodes__AMethid.id;
1823 if(var_pmethidnode6 == NULL) {
1824 var16 = 1;
1825 } else {
1826 if(cltype17 >= var_pmethidnode6->type->table_size) {
1827 var16 = 0;
1828 } else {
1829 var16 = var_pmethidnode6->type->type_table[cltype17] == idtype18;
1830 }
1831 }
1832 if (!var16) {
1833 fprintf(stderr, "Runtime error: %s", "Assert failed");
1834 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20897);
1835 show_backtrace(1);
1836 }
1837 var_psignaturenode7 = var_nodearraylist5;
1838 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
1839 cltype20 = type_nullable_parser_nodes__ASignature.color;
1840 idtype21 = type_nullable_parser_nodes__ASignature.id;
1841 if(var_psignaturenode7 == NULL) {
1842 var19 = 1;
1843 } else {
1844 if(cltype20 >= var_psignaturenode7->type->table_size) {
1845 var19 = 0;
1846 } else {
1847 var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
1848 }
1849 }
1850 if (!var19) {
1851 fprintf(stderr, "Runtime error: %s", "Assert failed");
1852 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20899);
1853 show_backtrace(1);
1854 }
1855 var_pexterncallsnode9 = var_nodearraylist8;
1856 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
1857 cltype23 = type_nullable_parser_nodes__AExternCalls.color;
1858 idtype24 = type_nullable_parser_nodes__AExternCalls.id;
1859 if(var_pexterncallsnode9 == NULL) {
1860 var22 = 1;
1861 } else {
1862 if(cltype23 >= var_pexterncallsnode9->type->table_size) {
1863 var22 = 0;
1864 } else {
1865 var22 = var_pexterncallsnode9->type->type_table[cltype23] == idtype24;
1866 }
1867 }
1868 if (!var22) {
1869 fprintf(stderr, "Runtime error: %s", "Assert failed");
1870 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20901);
1871 show_backtrace(1);
1872 }
1873 var25 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
1874 var26 = NULL;
1875 var27 = NULL;
1876 var28 = NULL;
1877 ((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>*/;
1878 var_ppropdefnode1 = var25;
1879 var_node_list = var_ppropdefnode1;
1880 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction475> */
1881 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
1882 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
1883 RET_LABEL:;
1884 }
1885 /* method parser#ReduceAction475#action for (self: Object, Parser) */
1886 void VIRTUAL_parser__ReduceAction475__action(val* self, val* p0) {
1887 parser__ReduceAction475__action(self, p0);
1888 RET_LABEL:;
1889 }
1890 /* method parser#ReduceAction476#action for (self: ReduceAction476, Parser) */
1891 void parser__ReduceAction476__action(val* self, val* p0) {
1892 val* var_p /* var p: Parser */;
1893 val* var /* : null */;
1894 val* var_node_list /* var node_list: nullable Object */;
1895 val* var1 /* : nullable Object */;
1896 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1897 val* var2 /* : nullable Object */;
1898 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1899 val* var3 /* : nullable Object */;
1900 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1901 val* var4 /* : nullable Object */;
1902 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1903 val* var5 /* : nullable Object */;
1904 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1905 val* var6 /* : nullable Object */;
1906 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1907 val* var7 /* : nullable Object */;
1908 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1909 val* var8 /* : nullable Object */;
1910 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1911 val* var9 /* : nullable Object */;
1912 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1913 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1914 short int var10 /* : Bool */;
1915 int cltype;
1916 int idtype;
1917 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
1918 short int var11 /* : Bool */;
1919 int cltype12;
1920 int idtype13;
1921 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1922 short int var14 /* : Bool */;
1923 int cltype15;
1924 int idtype16;
1925 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
1926 short int var17 /* : Bool */;
1927 int cltype18;
1928 int idtype19;
1929 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
1930 short int var20 /* : Bool */;
1931 int cltype21;
1932 int idtype22;
1933 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
1934 short int var23 /* : Bool */;
1935 int cltype24;
1936 int idtype25;
1937 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
1938 short int var26 /* : Bool */;
1939 int cltype27;
1940 int idtype28;
1941 val* var29 /* : AExternInitPropdef */;
1942 val* var30 /* : null */;
1943 val* var31 /* : null */;
1944 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
1945 long var32 /* : Int */;
1946 long var33 /* : Int */;
1947 var_p = p0;
1948 var = NULL;
1949 var_node_list = var;
1950 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1951 var_nodearraylist9 = var1;
1952 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1953 var_nodearraylist8 = var2;
1954 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1955 var_nodearraylist7 = var3;
1956 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1957 var_nodearraylist6 = var4;
1958 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1959 var_nodearraylist5 = var5;
1960 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1961 var_nodearraylist4 = var6;
1962 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1963 var_nodearraylist3 = var7;
1964 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1965 var_nodearraylist2 = var8;
1966 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1967 var_nodearraylist1 = var9;
1968 var_pdocnode2 = var_nodearraylist1;
1969 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1970 cltype = type_nullable_parser_nodes__ADoc.color;
1971 idtype = type_nullable_parser_nodes__ADoc.id;
1972 if(var_pdocnode2 == NULL) {
1973 var10 = 1;
1974 } else {
1975 if(cltype >= var_pdocnode2->type->table_size) {
1976 var10 = 0;
1977 } else {
1978 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
1979 }
1980 }
1981 if (!var10) {
1982 fprintf(stderr, "Runtime error: %s", "Assert failed");
1983 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20932);
1984 show_backtrace(1);
1985 }
1986 var_tkwredefnode3 = var_nodearraylist2;
1987 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1988 cltype12 = type_nullable_parser_nodes__TKwredef.color;
1989 idtype13 = type_nullable_parser_nodes__TKwredef.id;
1990 if(var_tkwredefnode3 == NULL) {
1991 var11 = 1;
1992 } else {
1993 if(cltype12 >= var_tkwredefnode3->type->table_size) {
1994 var11 = 0;
1995 } else {
1996 var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
1997 }
1998 }
1999 if (!var11) {
2000 fprintf(stderr, "Runtime error: %s", "Assert failed");
2001 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20934);
2002 show_backtrace(1);
2003 }
2004 var_pvisibilitynode4 = var_nodearraylist3;
2005 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2006 cltype15 = type_nullable_parser_nodes__AVisibility.color;
2007 idtype16 = type_nullable_parser_nodes__AVisibility.id;
2008 if(var_pvisibilitynode4 == NULL) {
2009 var14 = 1;
2010 } else {
2011 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
2012 var14 = 0;
2013 } else {
2014 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
2015 }
2016 }
2017 if (!var14) {
2018 fprintf(stderr, "Runtime error: %s", "Assert failed");
2019 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20936);
2020 show_backtrace(1);
2021 }
2022 var_tkwnewnode5 = var_nodearraylist4;
2023 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
2024 cltype18 = type_nullable_parser_nodes__TKwnew.color;
2025 idtype19 = type_nullable_parser_nodes__TKwnew.id;
2026 if(var_tkwnewnode5 == NULL) {
2027 var17 = 1;
2028 } else {
2029 if(cltype18 >= var_tkwnewnode5->type->table_size) {
2030 var17 = 0;
2031 } else {
2032 var17 = var_tkwnewnode5->type->type_table[cltype18] == idtype19;
2033 }
2034 }
2035 if (!var17) {
2036 fprintf(stderr, "Runtime error: %s", "Assert failed");
2037 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20938);
2038 show_backtrace(1);
2039 }
2040 var_pmethidnode6 = var_nodearraylist5;
2041 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
2042 cltype21 = type_nullable_parser_nodes__AMethid.color;
2043 idtype22 = type_nullable_parser_nodes__AMethid.id;
2044 if(var_pmethidnode6 == NULL) {
2045 var20 = 1;
2046 } else {
2047 if(cltype21 >= var_pmethidnode6->type->table_size) {
2048 var20 = 0;
2049 } else {
2050 var20 = var_pmethidnode6->type->type_table[cltype21] == idtype22;
2051 }
2052 }
2053 if (!var20) {
2054 fprintf(stderr, "Runtime error: %s", "Assert failed");
2055 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20940);
2056 show_backtrace(1);
2057 }
2058 var_psignaturenode7 = var_nodearraylist6;
2059 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
2060 cltype24 = type_nullable_parser_nodes__ASignature.color;
2061 idtype25 = type_nullable_parser_nodes__ASignature.id;
2062 if(var_psignaturenode7 == NULL) {
2063 var23 = 1;
2064 } else {
2065 if(cltype24 >= var_psignaturenode7->type->table_size) {
2066 var23 = 0;
2067 } else {
2068 var23 = var_psignaturenode7->type->type_table[cltype24] == idtype25;
2069 }
2070 }
2071 if (!var23) {
2072 fprintf(stderr, "Runtime error: %s", "Assert failed");
2073 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20942);
2074 show_backtrace(1);
2075 }
2076 var_pexterncallsnode9 = var_nodearraylist9;
2077 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
2078 cltype27 = type_nullable_parser_nodes__AExternCalls.color;
2079 idtype28 = type_nullable_parser_nodes__AExternCalls.id;
2080 if(var_pexterncallsnode9 == NULL) {
2081 var26 = 1;
2082 } else {
2083 if(cltype27 >= var_pexterncallsnode9->type->table_size) {
2084 var26 = 0;
2085 } else {
2086 var26 = var_pexterncallsnode9->type->type_table[cltype27] == idtype28;
2087 }
2088 }
2089 if (!var26) {
2090 fprintf(stderr, "Runtime error: %s", "Assert failed");
2091 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20944);
2092 show_backtrace(1);
2093 }
2094 var29 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
2095 var30 = NULL;
2096 var31 = NULL;
2097 ((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>*/;
2098 var_ppropdefnode1 = var29;
2099 var_node_list = var_ppropdefnode1;
2100 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction476> */
2101 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
2102 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
2103 RET_LABEL:;
2104 }
2105 /* method parser#ReduceAction476#action for (self: Object, Parser) */
2106 void VIRTUAL_parser__ReduceAction476__action(val* self, val* p0) {
2107 parser__ReduceAction476__action(self, p0);
2108 RET_LABEL:;
2109 }
2110 /* method parser#ReduceAction477#action for (self: ReduceAction477, Parser) */
2111 void parser__ReduceAction477__action(val* self, val* p0) {
2112 val* var_p /* var p: Parser */;
2113 val* var /* : null */;
2114 val* var_node_list /* var node_list: nullable Object */;
2115 val* var1 /* : nullable Object */;
2116 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2117 val* var2 /* : nullable Object */;
2118 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2119 val* var3 /* : nullable Object */;
2120 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2121 val* var4 /* : nullable Object */;
2122 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2123 val* var5 /* : nullable Object */;
2124 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2125 val* var6 /* : nullable Object */;
2126 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2127 val* var7 /* : nullable Object */;
2128 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2129 val* var8 /* : nullable Object */;
2130 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2131 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2132 short int var9 /* : Bool */;
2133 int cltype;
2134 int idtype;
2135 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2136 short int var10 /* : Bool */;
2137 int cltype11;
2138 int idtype12;
2139 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
2140 short int var13 /* : Bool */;
2141 int cltype14;
2142 int idtype15;
2143 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
2144 short int var16 /* : Bool */;
2145 int cltype17;
2146 int idtype18;
2147 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
2148 short int var19 /* : Bool */;
2149 int cltype20;
2150 int idtype21;
2151 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
2152 short int var22 /* : Bool */;
2153 int cltype23;
2154 int idtype24;
2155 val* var25 /* : AExternInitPropdef */;
2156 val* var26 /* : null */;
2157 val* var27 /* : null */;
2158 val* var28 /* : null */;
2159 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
2160 long var29 /* : Int */;
2161 long var30 /* : Int */;
2162 var_p = p0;
2163 var = NULL;
2164 var_node_list = var;
2165 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2166 var_nodearraylist8 = var1;
2167 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2168 var_nodearraylist7 = var2;
2169 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2170 var_nodearraylist6 = var3;
2171 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2172 var_nodearraylist5 = var4;
2173 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2174 var_nodearraylist4 = var5;
2175 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2176 var_nodearraylist3 = var6;
2177 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2178 var_nodearraylist2 = var7;
2179 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2180 var_nodearraylist1 = var8;
2181 var_pdocnode2 = var_nodearraylist1;
2182 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2183 cltype = type_nullable_parser_nodes__ADoc.color;
2184 idtype = type_nullable_parser_nodes__ADoc.id;
2185 if(var_pdocnode2 == NULL) {
2186 var9 = 1;
2187 } else {
2188 if(cltype >= var_pdocnode2->type->table_size) {
2189 var9 = 0;
2190 } else {
2191 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
2192 }
2193 }
2194 if (!var9) {
2195 fprintf(stderr, "Runtime error: %s", "Assert failed");
2196 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20974);
2197 show_backtrace(1);
2198 }
2199 var_pvisibilitynode4 = var_nodearraylist2;
2200 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2201 cltype11 = type_nullable_parser_nodes__AVisibility.color;
2202 idtype12 = type_nullable_parser_nodes__AVisibility.id;
2203 if(var_pvisibilitynode4 == NULL) {
2204 var10 = 1;
2205 } else {
2206 if(cltype11 >= var_pvisibilitynode4->type->table_size) {
2207 var10 = 0;
2208 } else {
2209 var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
2210 }
2211 }
2212 if (!var10) {
2213 fprintf(stderr, "Runtime error: %s", "Assert failed");
2214 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20976);
2215 show_backtrace(1);
2216 }
2217 var_tkwnewnode5 = var_nodearraylist3;
2218 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
2219 cltype14 = type_nullable_parser_nodes__TKwnew.color;
2220 idtype15 = type_nullable_parser_nodes__TKwnew.id;
2221 if(var_tkwnewnode5 == NULL) {
2222 var13 = 1;
2223 } else {
2224 if(cltype14 >= var_tkwnewnode5->type->table_size) {
2225 var13 = 0;
2226 } else {
2227 var13 = var_tkwnewnode5->type->type_table[cltype14] == idtype15;
2228 }
2229 }
2230 if (!var13) {
2231 fprintf(stderr, "Runtime error: %s", "Assert failed");
2232 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20978);
2233 show_backtrace(1);
2234 }
2235 var_psignaturenode7 = var_nodearraylist4;
2236 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
2237 cltype17 = type_nullable_parser_nodes__ASignature.color;
2238 idtype18 = type_nullable_parser_nodes__ASignature.id;
2239 if(var_psignaturenode7 == NULL) {
2240 var16 = 1;
2241 } else {
2242 if(cltype17 >= var_psignaturenode7->type->table_size) {
2243 var16 = 0;
2244 } else {
2245 var16 = var_psignaturenode7->type->type_table[cltype17] == idtype18;
2246 }
2247 }
2248 if (!var16) {
2249 fprintf(stderr, "Runtime error: %s", "Assert failed");
2250 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20980);
2251 show_backtrace(1);
2252 }
2253 var_tstringnode8 = var_nodearraylist7;
2254 /* <var_tstringnode8:nullable Object> isa nullable TString */
2255 cltype20 = type_nullable_parser_nodes__TString.color;
2256 idtype21 = type_nullable_parser_nodes__TString.id;
2257 if(var_tstringnode8 == NULL) {
2258 var19 = 1;
2259 } else {
2260 if(cltype20 >= var_tstringnode8->type->table_size) {
2261 var19 = 0;
2262 } else {
2263 var19 = var_tstringnode8->type->type_table[cltype20] == idtype21;
2264 }
2265 }
2266 if (!var19) {
2267 fprintf(stderr, "Runtime error: %s", "Assert failed");
2268 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20982);
2269 show_backtrace(1);
2270 }
2271 var_pexterncallsnode9 = var_nodearraylist8;
2272 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
2273 cltype23 = type_nullable_parser_nodes__AExternCalls.color;
2274 idtype24 = type_nullable_parser_nodes__AExternCalls.id;
2275 if(var_pexterncallsnode9 == NULL) {
2276 var22 = 1;
2277 } else {
2278 if(cltype23 >= var_pexterncallsnode9->type->table_size) {
2279 var22 = 0;
2280 } else {
2281 var22 = var_pexterncallsnode9->type->type_table[cltype23] == idtype24;
2282 }
2283 }
2284 if (!var22) {
2285 fprintf(stderr, "Runtime error: %s", "Assert failed");
2286 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 20984);
2287 show_backtrace(1);
2288 }
2289 var25 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
2290 var26 = NULL;
2291 var27 = NULL;
2292 var28 = NULL;
2293 ((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>*/;
2294 var_ppropdefnode1 = var25;
2295 var_node_list = var_ppropdefnode1;
2296 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction477> */
2297 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
2298 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
2299 RET_LABEL:;
2300 }
2301 /* method parser#ReduceAction477#action for (self: Object, Parser) */
2302 void VIRTUAL_parser__ReduceAction477__action(val* self, val* p0) {
2303 parser__ReduceAction477__action(self, p0);
2304 RET_LABEL:;
2305 }
2306 /* method parser#ReduceAction478#action for (self: ReduceAction478, Parser) */
2307 void parser__ReduceAction478__action(val* self, val* p0) {
2308 val* var_p /* var p: Parser */;
2309 val* var /* : null */;
2310 val* var_node_list /* var node_list: nullable Object */;
2311 val* var1 /* : nullable Object */;
2312 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2313 val* var2 /* : nullable Object */;
2314 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2315 val* var3 /* : nullable Object */;
2316 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2317 val* var4 /* : nullable Object */;
2318 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2319 val* var5 /* : nullable Object */;
2320 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2321 val* var6 /* : nullable Object */;
2322 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2323 val* var7 /* : nullable Object */;
2324 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2325 val* var8 /* : nullable Object */;
2326 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2327 val* var9 /* : nullable Object */;
2328 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2329 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2330 short int var10 /* : Bool */;
2331 int cltype;
2332 int idtype;
2333 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
2334 short int var11 /* : Bool */;
2335 int cltype12;
2336 int idtype13;
2337 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2338 short int var14 /* : Bool */;
2339 int cltype15;
2340 int idtype16;
2341 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
2342 short int var17 /* : Bool */;
2343 int cltype18;
2344 int idtype19;
2345 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
2346 short int var20 /* : Bool */;
2347 int cltype21;
2348 int idtype22;
2349 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
2350 short int var23 /* : Bool */;
2351 int cltype24;
2352 int idtype25;
2353 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
2354 short int var26 /* : Bool */;
2355 int cltype27;
2356 int idtype28;
2357 val* var29 /* : AExternInitPropdef */;
2358 val* var30 /* : null */;
2359 val* var31 /* : null */;
2360 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
2361 long var32 /* : Int */;
2362 long var33 /* : Int */;
2363 var_p = p0;
2364 var = NULL;
2365 var_node_list = var;
2366 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2367 var_nodearraylist9 = var1;
2368 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2369 var_nodearraylist8 = var2;
2370 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2371 var_nodearraylist7 = var3;
2372 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2373 var_nodearraylist6 = var4;
2374 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2375 var_nodearraylist5 = var5;
2376 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2377 var_nodearraylist4 = var6;
2378 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2379 var_nodearraylist3 = var7;
2380 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2381 var_nodearraylist2 = var8;
2382 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2383 var_nodearraylist1 = var9;
2384 var_pdocnode2 = var_nodearraylist1;
2385 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2386 cltype = type_nullable_parser_nodes__ADoc.color;
2387 idtype = type_nullable_parser_nodes__ADoc.id;
2388 if(var_pdocnode2 == NULL) {
2389 var10 = 1;
2390 } else {
2391 if(cltype >= var_pdocnode2->type->table_size) {
2392 var10 = 0;
2393 } else {
2394 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
2395 }
2396 }
2397 if (!var10) {
2398 fprintf(stderr, "Runtime error: %s", "Assert failed");
2399 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21015);
2400 show_backtrace(1);
2401 }
2402 var_tkwredefnode3 = var_nodearraylist2;
2403 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2404 cltype12 = type_nullable_parser_nodes__TKwredef.color;
2405 idtype13 = type_nullable_parser_nodes__TKwredef.id;
2406 if(var_tkwredefnode3 == NULL) {
2407 var11 = 1;
2408 } else {
2409 if(cltype12 >= var_tkwredefnode3->type->table_size) {
2410 var11 = 0;
2411 } else {
2412 var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
2413 }
2414 }
2415 if (!var11) {
2416 fprintf(stderr, "Runtime error: %s", "Assert failed");
2417 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21017);
2418 show_backtrace(1);
2419 }
2420 var_pvisibilitynode4 = var_nodearraylist3;
2421 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2422 cltype15 = type_nullable_parser_nodes__AVisibility.color;
2423 idtype16 = type_nullable_parser_nodes__AVisibility.id;
2424 if(var_pvisibilitynode4 == NULL) {
2425 var14 = 1;
2426 } else {
2427 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
2428 var14 = 0;
2429 } else {
2430 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
2431 }
2432 }
2433 if (!var14) {
2434 fprintf(stderr, "Runtime error: %s", "Assert failed");
2435 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21019);
2436 show_backtrace(1);
2437 }
2438 var_tkwnewnode5 = var_nodearraylist4;
2439 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
2440 cltype18 = type_nullable_parser_nodes__TKwnew.color;
2441 idtype19 = type_nullable_parser_nodes__TKwnew.id;
2442 if(var_tkwnewnode5 == NULL) {
2443 var17 = 1;
2444 } else {
2445 if(cltype18 >= var_tkwnewnode5->type->table_size) {
2446 var17 = 0;
2447 } else {
2448 var17 = var_tkwnewnode5->type->type_table[cltype18] == idtype19;
2449 }
2450 }
2451 if (!var17) {
2452 fprintf(stderr, "Runtime error: %s", "Assert failed");
2453 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21021);
2454 show_backtrace(1);
2455 }
2456 var_psignaturenode7 = var_nodearraylist5;
2457 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
2458 cltype21 = type_nullable_parser_nodes__ASignature.color;
2459 idtype22 = type_nullable_parser_nodes__ASignature.id;
2460 if(var_psignaturenode7 == NULL) {
2461 var20 = 1;
2462 } else {
2463 if(cltype21 >= var_psignaturenode7->type->table_size) {
2464 var20 = 0;
2465 } else {
2466 var20 = var_psignaturenode7->type->type_table[cltype21] == idtype22;
2467 }
2468 }
2469 if (!var20) {
2470 fprintf(stderr, "Runtime error: %s", "Assert failed");
2471 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21023);
2472 show_backtrace(1);
2473 }
2474 var_tstringnode8 = var_nodearraylist8;
2475 /* <var_tstringnode8:nullable Object> isa nullable TString */
2476 cltype24 = type_nullable_parser_nodes__TString.color;
2477 idtype25 = type_nullable_parser_nodes__TString.id;
2478 if(var_tstringnode8 == NULL) {
2479 var23 = 1;
2480 } else {
2481 if(cltype24 >= var_tstringnode8->type->table_size) {
2482 var23 = 0;
2483 } else {
2484 var23 = var_tstringnode8->type->type_table[cltype24] == idtype25;
2485 }
2486 }
2487 if (!var23) {
2488 fprintf(stderr, "Runtime error: %s", "Assert failed");
2489 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21025);
2490 show_backtrace(1);
2491 }
2492 var_pexterncallsnode9 = var_nodearraylist9;
2493 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
2494 cltype27 = type_nullable_parser_nodes__AExternCalls.color;
2495 idtype28 = type_nullable_parser_nodes__AExternCalls.id;
2496 if(var_pexterncallsnode9 == NULL) {
2497 var26 = 1;
2498 } else {
2499 if(cltype27 >= var_pexterncallsnode9->type->table_size) {
2500 var26 = 0;
2501 } else {
2502 var26 = var_pexterncallsnode9->type->type_table[cltype27] == idtype28;
2503 }
2504 }
2505 if (!var26) {
2506 fprintf(stderr, "Runtime error: %s", "Assert failed");
2507 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21027);
2508 show_backtrace(1);
2509 }
2510 var29 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
2511 var30 = NULL;
2512 var31 = NULL;
2513 ((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>*/;
2514 var_ppropdefnode1 = var29;
2515 var_node_list = var_ppropdefnode1;
2516 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction478> */
2517 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
2518 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
2519 RET_LABEL:;
2520 }
2521 /* method parser#ReduceAction478#action for (self: Object, Parser) */
2522 void VIRTUAL_parser__ReduceAction478__action(val* self, val* p0) {
2523 parser__ReduceAction478__action(self, p0);
2524 RET_LABEL:;
2525 }
2526 /* method parser#ReduceAction479#action for (self: ReduceAction479, Parser) */
2527 void parser__ReduceAction479__action(val* self, val* p0) {
2528 val* var_p /* var p: Parser */;
2529 val* var /* : null */;
2530 val* var_node_list /* var node_list: nullable Object */;
2531 val* var1 /* : nullable Object */;
2532 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2533 val* var2 /* : nullable Object */;
2534 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2535 val* var3 /* : nullable Object */;
2536 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2537 val* var4 /* : nullable Object */;
2538 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2539 val* var5 /* : nullable Object */;
2540 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2541 val* var6 /* : nullable Object */;
2542 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2543 val* var7 /* : nullable Object */;
2544 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2545 val* var8 /* : nullable Object */;
2546 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2547 val* var9 /* : nullable Object */;
2548 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2549 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2550 short int var10 /* : Bool */;
2551 int cltype;
2552 int idtype;
2553 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2554 short int var11 /* : Bool */;
2555 int cltype12;
2556 int idtype13;
2557 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
2558 short int var14 /* : Bool */;
2559 int cltype15;
2560 int idtype16;
2561 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
2562 short int var17 /* : Bool */;
2563 int cltype18;
2564 int idtype19;
2565 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
2566 short int var20 /* : Bool */;
2567 int cltype21;
2568 int idtype22;
2569 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
2570 short int var23 /* : Bool */;
2571 int cltype24;
2572 int idtype25;
2573 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
2574 short int var26 /* : Bool */;
2575 int cltype27;
2576 int idtype28;
2577 val* var29 /* : AExternInitPropdef */;
2578 val* var30 /* : null */;
2579 val* var31 /* : null */;
2580 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
2581 long var32 /* : Int */;
2582 long var33 /* : Int */;
2583 var_p = p0;
2584 var = NULL;
2585 var_node_list = var;
2586 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2587 var_nodearraylist9 = var1;
2588 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2589 var_nodearraylist8 = var2;
2590 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2591 var_nodearraylist7 = var3;
2592 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2593 var_nodearraylist6 = var4;
2594 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2595 var_nodearraylist5 = var5;
2596 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2597 var_nodearraylist4 = var6;
2598 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2599 var_nodearraylist3 = var7;
2600 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2601 var_nodearraylist2 = var8;
2602 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2603 var_nodearraylist1 = var9;
2604 var_pdocnode2 = var_nodearraylist1;
2605 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2606 cltype = type_nullable_parser_nodes__ADoc.color;
2607 idtype = type_nullable_parser_nodes__ADoc.id;
2608 if(var_pdocnode2 == NULL) {
2609 var10 = 1;
2610 } else {
2611 if(cltype >= var_pdocnode2->type->table_size) {
2612 var10 = 0;
2613 } else {
2614 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
2615 }
2616 }
2617 if (!var10) {
2618 fprintf(stderr, "Runtime error: %s", "Assert failed");
2619 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21058);
2620 show_backtrace(1);
2621 }
2622 var_pvisibilitynode4 = var_nodearraylist2;
2623 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2624 cltype12 = type_nullable_parser_nodes__AVisibility.color;
2625 idtype13 = type_nullable_parser_nodes__AVisibility.id;
2626 if(var_pvisibilitynode4 == NULL) {
2627 var11 = 1;
2628 } else {
2629 if(cltype12 >= var_pvisibilitynode4->type->table_size) {
2630 var11 = 0;
2631 } else {
2632 var11 = var_pvisibilitynode4->type->type_table[cltype12] == idtype13;
2633 }
2634 }
2635 if (!var11) {
2636 fprintf(stderr, "Runtime error: %s", "Assert failed");
2637 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21060);
2638 show_backtrace(1);
2639 }
2640 var_tkwnewnode5 = var_nodearraylist3;
2641 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
2642 cltype15 = type_nullable_parser_nodes__TKwnew.color;
2643 idtype16 = type_nullable_parser_nodes__TKwnew.id;
2644 if(var_tkwnewnode5 == NULL) {
2645 var14 = 1;
2646 } else {
2647 if(cltype15 >= var_tkwnewnode5->type->table_size) {
2648 var14 = 0;
2649 } else {
2650 var14 = var_tkwnewnode5->type->type_table[cltype15] == idtype16;
2651 }
2652 }
2653 if (!var14) {
2654 fprintf(stderr, "Runtime error: %s", "Assert failed");
2655 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21062);
2656 show_backtrace(1);
2657 }
2658 var_pmethidnode6 = var_nodearraylist4;
2659 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
2660 cltype18 = type_nullable_parser_nodes__AMethid.color;
2661 idtype19 = type_nullable_parser_nodes__AMethid.id;
2662 if(var_pmethidnode6 == NULL) {
2663 var17 = 1;
2664 } else {
2665 if(cltype18 >= var_pmethidnode6->type->table_size) {
2666 var17 = 0;
2667 } else {
2668 var17 = var_pmethidnode6->type->type_table[cltype18] == idtype19;
2669 }
2670 }
2671 if (!var17) {
2672 fprintf(stderr, "Runtime error: %s", "Assert failed");
2673 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21064);
2674 show_backtrace(1);
2675 }
2676 var_psignaturenode7 = var_nodearraylist5;
2677 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
2678 cltype21 = type_nullable_parser_nodes__ASignature.color;
2679 idtype22 = type_nullable_parser_nodes__ASignature.id;
2680 if(var_psignaturenode7 == NULL) {
2681 var20 = 1;
2682 } else {
2683 if(cltype21 >= var_psignaturenode7->type->table_size) {
2684 var20 = 0;
2685 } else {
2686 var20 = var_psignaturenode7->type->type_table[cltype21] == idtype22;
2687 }
2688 }
2689 if (!var20) {
2690 fprintf(stderr, "Runtime error: %s", "Assert failed");
2691 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21066);
2692 show_backtrace(1);
2693 }
2694 var_tstringnode8 = var_nodearraylist8;
2695 /* <var_tstringnode8:nullable Object> isa nullable TString */
2696 cltype24 = type_nullable_parser_nodes__TString.color;
2697 idtype25 = type_nullable_parser_nodes__TString.id;
2698 if(var_tstringnode8 == NULL) {
2699 var23 = 1;
2700 } else {
2701 if(cltype24 >= var_tstringnode8->type->table_size) {
2702 var23 = 0;
2703 } else {
2704 var23 = var_tstringnode8->type->type_table[cltype24] == idtype25;
2705 }
2706 }
2707 if (!var23) {
2708 fprintf(stderr, "Runtime error: %s", "Assert failed");
2709 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21068);
2710 show_backtrace(1);
2711 }
2712 var_pexterncallsnode9 = var_nodearraylist9;
2713 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
2714 cltype27 = type_nullable_parser_nodes__AExternCalls.color;
2715 idtype28 = type_nullable_parser_nodes__AExternCalls.id;
2716 if(var_pexterncallsnode9 == NULL) {
2717 var26 = 1;
2718 } else {
2719 if(cltype27 >= var_pexterncallsnode9->type->table_size) {
2720 var26 = 0;
2721 } else {
2722 var26 = var_pexterncallsnode9->type->type_table[cltype27] == idtype28;
2723 }
2724 }
2725 if (!var26) {
2726 fprintf(stderr, "Runtime error: %s", "Assert failed");
2727 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21070);
2728 show_backtrace(1);
2729 }
2730 var29 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
2731 var30 = NULL;
2732 var31 = NULL;
2733 ((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>*/;
2734 var_ppropdefnode1 = var29;
2735 var_node_list = var_ppropdefnode1;
2736 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction479> */
2737 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
2738 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
2739 RET_LABEL:;
2740 }
2741 /* method parser#ReduceAction479#action for (self: Object, Parser) */
2742 void VIRTUAL_parser__ReduceAction479__action(val* self, val* p0) {
2743 parser__ReduceAction479__action(self, p0);
2744 RET_LABEL:;
2745 }
2746 /* method parser#ReduceAction480#action for (self: ReduceAction480, Parser) */
2747 void parser__ReduceAction480__action(val* self, val* p0) {
2748 val* var_p /* var p: Parser */;
2749 val* var /* : null */;
2750 val* var_node_list /* var node_list: nullable Object */;
2751 val* var1 /* : nullable Object */;
2752 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2753 val* var2 /* : nullable Object */;
2754 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2755 val* var3 /* : nullable Object */;
2756 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2757 val* var4 /* : nullable Object */;
2758 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2759 val* var5 /* : nullable Object */;
2760 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2761 val* var6 /* : nullable Object */;
2762 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2763 val* var7 /* : nullable Object */;
2764 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2765 val* var8 /* : nullable Object */;
2766 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2767 val* var9 /* : nullable Object */;
2768 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2769 val* var10 /* : nullable Object */;
2770 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2771 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2772 short int var11 /* : Bool */;
2773 int cltype;
2774 int idtype;
2775 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
2776 short int var12 /* : Bool */;
2777 int cltype13;
2778 int idtype14;
2779 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2780 short int var15 /* : Bool */;
2781 int cltype16;
2782 int idtype17;
2783 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
2784 short int var18 /* : Bool */;
2785 int cltype19;
2786 int idtype20;
2787 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
2788 short int var21 /* : Bool */;
2789 int cltype22;
2790 int idtype23;
2791 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
2792 short int var24 /* : Bool */;
2793 int cltype25;
2794 int idtype26;
2795 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
2796 short int var27 /* : Bool */;
2797 int cltype28;
2798 int idtype29;
2799 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
2800 short int var30 /* : Bool */;
2801 int cltype31;
2802 int idtype32;
2803 val* var33 /* : AExternInitPropdef */;
2804 val* var34 /* : null */;
2805 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
2806 long var35 /* : Int */;
2807 long var36 /* : Int */;
2808 var_p = p0;
2809 var = NULL;
2810 var_node_list = var;
2811 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2812 var_nodearraylist10 = var1;
2813 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2814 var_nodearraylist9 = var2;
2815 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2816 var_nodearraylist8 = var3;
2817 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2818 var_nodearraylist7 = var4;
2819 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2820 var_nodearraylist6 = var5;
2821 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2822 var_nodearraylist5 = var6;
2823 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2824 var_nodearraylist4 = var7;
2825 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2826 var_nodearraylist3 = var8;
2827 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2828 var_nodearraylist2 = var9;
2829 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2830 var_nodearraylist1 = var10;
2831 var_pdocnode2 = var_nodearraylist1;
2832 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2833 cltype = type_nullable_parser_nodes__ADoc.color;
2834 idtype = type_nullable_parser_nodes__ADoc.id;
2835 if(var_pdocnode2 == NULL) {
2836 var11 = 1;
2837 } else {
2838 if(cltype >= var_pdocnode2->type->table_size) {
2839 var11 = 0;
2840 } else {
2841 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
2842 }
2843 }
2844 if (!var11) {
2845 fprintf(stderr, "Runtime error: %s", "Assert failed");
2846 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21102);
2847 show_backtrace(1);
2848 }
2849 var_tkwredefnode3 = var_nodearraylist2;
2850 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2851 cltype13 = type_nullable_parser_nodes__TKwredef.color;
2852 idtype14 = type_nullable_parser_nodes__TKwredef.id;
2853 if(var_tkwredefnode3 == NULL) {
2854 var12 = 1;
2855 } else {
2856 if(cltype13 >= var_tkwredefnode3->type->table_size) {
2857 var12 = 0;
2858 } else {
2859 var12 = var_tkwredefnode3->type->type_table[cltype13] == idtype14;
2860 }
2861 }
2862 if (!var12) {
2863 fprintf(stderr, "Runtime error: %s", "Assert failed");
2864 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21104);
2865 show_backtrace(1);
2866 }
2867 var_pvisibilitynode4 = var_nodearraylist3;
2868 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2869 cltype16 = type_nullable_parser_nodes__AVisibility.color;
2870 idtype17 = type_nullable_parser_nodes__AVisibility.id;
2871 if(var_pvisibilitynode4 == NULL) {
2872 var15 = 1;
2873 } else {
2874 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
2875 var15 = 0;
2876 } else {
2877 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
2878 }
2879 }
2880 if (!var15) {
2881 fprintf(stderr, "Runtime error: %s", "Assert failed");
2882 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21106);
2883 show_backtrace(1);
2884 }
2885 var_tkwnewnode5 = var_nodearraylist4;
2886 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
2887 cltype19 = type_nullable_parser_nodes__TKwnew.color;
2888 idtype20 = type_nullable_parser_nodes__TKwnew.id;
2889 if(var_tkwnewnode5 == NULL) {
2890 var18 = 1;
2891 } else {
2892 if(cltype19 >= var_tkwnewnode5->type->table_size) {
2893 var18 = 0;
2894 } else {
2895 var18 = var_tkwnewnode5->type->type_table[cltype19] == idtype20;
2896 }
2897 }
2898 if (!var18) {
2899 fprintf(stderr, "Runtime error: %s", "Assert failed");
2900 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21108);
2901 show_backtrace(1);
2902 }
2903 var_pmethidnode6 = var_nodearraylist5;
2904 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
2905 cltype22 = type_nullable_parser_nodes__AMethid.color;
2906 idtype23 = type_nullable_parser_nodes__AMethid.id;
2907 if(var_pmethidnode6 == NULL) {
2908 var21 = 1;
2909 } else {
2910 if(cltype22 >= var_pmethidnode6->type->table_size) {
2911 var21 = 0;
2912 } else {
2913 var21 = var_pmethidnode6->type->type_table[cltype22] == idtype23;
2914 }
2915 }
2916 if (!var21) {
2917 fprintf(stderr, "Runtime error: %s", "Assert failed");
2918 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21110);
2919 show_backtrace(1);
2920 }
2921 var_psignaturenode7 = var_nodearraylist6;
2922 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
2923 cltype25 = type_nullable_parser_nodes__ASignature.color;
2924 idtype26 = type_nullable_parser_nodes__ASignature.id;
2925 if(var_psignaturenode7 == NULL) {
2926 var24 = 1;
2927 } else {
2928 if(cltype25 >= var_psignaturenode7->type->table_size) {
2929 var24 = 0;
2930 } else {
2931 var24 = var_psignaturenode7->type->type_table[cltype25] == idtype26;
2932 }
2933 }
2934 if (!var24) {
2935 fprintf(stderr, "Runtime error: %s", "Assert failed");
2936 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21112);
2937 show_backtrace(1);
2938 }
2939 var_tstringnode8 = var_nodearraylist9;
2940 /* <var_tstringnode8:nullable Object> isa nullable TString */
2941 cltype28 = type_nullable_parser_nodes__TString.color;
2942 idtype29 = type_nullable_parser_nodes__TString.id;
2943 if(var_tstringnode8 == NULL) {
2944 var27 = 1;
2945 } else {
2946 if(cltype28 >= var_tstringnode8->type->table_size) {
2947 var27 = 0;
2948 } else {
2949 var27 = var_tstringnode8->type->type_table[cltype28] == idtype29;
2950 }
2951 }
2952 if (!var27) {
2953 fprintf(stderr, "Runtime error: %s", "Assert failed");
2954 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21114);
2955 show_backtrace(1);
2956 }
2957 var_pexterncallsnode9 = var_nodearraylist10;
2958 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
2959 cltype31 = type_nullable_parser_nodes__AExternCalls.color;
2960 idtype32 = type_nullable_parser_nodes__AExternCalls.id;
2961 if(var_pexterncallsnode9 == NULL) {
2962 var30 = 1;
2963 } else {
2964 if(cltype31 >= var_pexterncallsnode9->type->table_size) {
2965 var30 = 0;
2966 } else {
2967 var30 = var_pexterncallsnode9->type->type_table[cltype31] == idtype32;
2968 }
2969 }
2970 if (!var30) {
2971 fprintf(stderr, "Runtime error: %s", "Assert failed");
2972 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21116);
2973 show_backtrace(1);
2974 }
2975 var33 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
2976 var34 = NULL;
2977 ((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>*/;
2978 var_ppropdefnode1 = var33;
2979 var_node_list = var_ppropdefnode1;
2980 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction480> */
2981 var36 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var35) /* go_to on <var_p:Parser>*/;
2982 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var36, var_node_list) /* push on <var_p:Parser>*/;
2983 RET_LABEL:;
2984 }
2985 /* method parser#ReduceAction480#action for (self: Object, Parser) */
2986 void VIRTUAL_parser__ReduceAction480__action(val* self, val* p0) {
2987 parser__ReduceAction480__action(self, p0);
2988 RET_LABEL:;
2989 }
2990 /* method parser#ReduceAction481#action for (self: ReduceAction481, Parser) */
2991 void parser__ReduceAction481__action(val* self, val* p0) {
2992 val* var_p /* var p: Parser */;
2993 val* var /* : null */;
2994 val* var_node_list /* var node_list: nullable Object */;
2995 val* var1 /* : nullable Object */;
2996 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2997 val* var2 /* : nullable Object */;
2998 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2999 val* var3 /* : nullable Object */;
3000 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3001 val* var4 /* : nullable Object */;
3002 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3003 val* var5 /* : nullable Object */;
3004 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3005 val* var6 /* : nullable Object */;
3006 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3007 val* var7 /* : nullable Object */;
3008 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3009 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3010 short int var8 /* : Bool */;
3011 int cltype;
3012 int idtype;
3013 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3014 short int var9 /* : Bool */;
3015 int cltype10;
3016 int idtype11;
3017 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
3018 short int var12 /* : Bool */;
3019 int cltype13;
3020 int idtype14;
3021 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
3022 short int var15 /* : Bool */;
3023 int cltype16;
3024 int idtype17;
3025 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
3026 short int var18 /* : Bool */;
3027 int cltype19;
3028 int idtype20;
3029 val* var21 /* : AExternInitPropdef */;
3030 val* var22 /* : null */;
3031 val* var23 /* : null */;
3032 val* var24 /* : null */;
3033 val* var25 /* : null */;
3034 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
3035 long var26 /* : Int */;
3036 long var27 /* : Int */;
3037 var_p = p0;
3038 var = NULL;
3039 var_node_list = var;
3040 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3041 var_nodearraylist7 = var1;
3042 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3043 var_nodearraylist6 = var2;
3044 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3045 var_nodearraylist5 = var3;
3046 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3047 var_nodearraylist4 = var4;
3048 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3049 var_nodearraylist3 = var5;
3050 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3051 var_nodearraylist2 = var6;
3052 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3053 var_nodearraylist1 = var7;
3054 var_pdocnode2 = var_nodearraylist1;
3055 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3056 cltype = type_nullable_parser_nodes__ADoc.color;
3057 idtype = type_nullable_parser_nodes__ADoc.id;
3058 if(var_pdocnode2 == NULL) {
3059 var8 = 1;
3060 } else {
3061 if(cltype >= var_pdocnode2->type->table_size) {
3062 var8 = 0;
3063 } else {
3064 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
3065 }
3066 }
3067 if (!var8) {
3068 fprintf(stderr, "Runtime error: %s", "Assert failed");
3069 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21145);
3070 show_backtrace(1);
3071 }
3072 var_pvisibilitynode4 = var_nodearraylist2;
3073 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3074 cltype10 = type_nullable_parser_nodes__AVisibility.color;
3075 idtype11 = type_nullable_parser_nodes__AVisibility.id;
3076 if(var_pvisibilitynode4 == NULL) {
3077 var9 = 1;
3078 } else {
3079 if(cltype10 >= var_pvisibilitynode4->type->table_size) {
3080 var9 = 0;
3081 } else {
3082 var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11;
3083 }
3084 }
3085 if (!var9) {
3086 fprintf(stderr, "Runtime error: %s", "Assert failed");
3087 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21147);
3088 show_backtrace(1);
3089 }
3090 var_tkwnewnode5 = var_nodearraylist3;
3091 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
3092 cltype13 = type_nullable_parser_nodes__TKwnew.color;
3093 idtype14 = type_nullable_parser_nodes__TKwnew.id;
3094 if(var_tkwnewnode5 == NULL) {
3095 var12 = 1;
3096 } else {
3097 if(cltype13 >= var_tkwnewnode5->type->table_size) {
3098 var12 = 0;
3099 } else {
3100 var12 = var_tkwnewnode5->type->type_table[cltype13] == idtype14;
3101 }
3102 }
3103 if (!var12) {
3104 fprintf(stderr, "Runtime error: %s", "Assert failed");
3105 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21149);
3106 show_backtrace(1);
3107 }
3108 var_psignaturenode7 = var_nodearraylist4;
3109 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
3110 cltype16 = type_nullable_parser_nodes__ASignature.color;
3111 idtype17 = type_nullable_parser_nodes__ASignature.id;
3112 if(var_psignaturenode7 == NULL) {
3113 var15 = 1;
3114 } else {
3115 if(cltype16 >= var_psignaturenode7->type->table_size) {
3116 var15 = 0;
3117 } else {
3118 var15 = var_psignaturenode7->type->type_table[cltype16] == idtype17;
3119 }
3120 }
3121 if (!var15) {
3122 fprintf(stderr, "Runtime error: %s", "Assert failed");
3123 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21151);
3124 show_backtrace(1);
3125 }
3126 var_pexterncodeblocknode10 = var_nodearraylist7;
3127 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
3128 cltype19 = type_nullable_parser_nodes__AExternCodeBlock.color;
3129 idtype20 = type_nullable_parser_nodes__AExternCodeBlock.id;
3130 if(var_pexterncodeblocknode10 == NULL) {
3131 var18 = 1;
3132 } else {
3133 if(cltype19 >= var_pexterncodeblocknode10->type->table_size) {
3134 var18 = 0;
3135 } else {
3136 var18 = var_pexterncodeblocknode10->type->type_table[cltype19] == idtype20;
3137 }
3138 }
3139 if (!var18) {
3140 fprintf(stderr, "Runtime error: %s", "Assert failed");
3141 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21153);
3142 show_backtrace(1);
3143 }
3144 var21 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
3145 var22 = NULL;
3146 var23 = NULL;
3147 var24 = NULL;
3148 var25 = NULL;
3149 ((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>*/;
3150 var_ppropdefnode1 = var21;
3151 var_node_list = var_ppropdefnode1;
3152 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction481> */
3153 var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on <var_p:Parser>*/;
3154 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on <var_p:Parser>*/;
3155 RET_LABEL:;
3156 }
3157 /* method parser#ReduceAction481#action for (self: Object, Parser) */
3158 void VIRTUAL_parser__ReduceAction481__action(val* self, val* p0) {
3159 parser__ReduceAction481__action(self, p0);
3160 RET_LABEL:;
3161 }
3162 /* method parser#ReduceAction482#action for (self: ReduceAction482, Parser) */
3163 void parser__ReduceAction482__action(val* self, val* p0) {
3164 val* var_p /* var p: Parser */;
3165 val* var /* : null */;
3166 val* var_node_list /* var node_list: nullable Object */;
3167 val* var1 /* : nullable Object */;
3168 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3169 val* var2 /* : nullable Object */;
3170 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3171 val* var3 /* : nullable Object */;
3172 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3173 val* var4 /* : nullable Object */;
3174 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3175 val* var5 /* : nullable Object */;
3176 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3177 val* var6 /* : nullable Object */;
3178 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3179 val* var7 /* : nullable Object */;
3180 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3181 val* var8 /* : nullable Object */;
3182 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3183 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3184 short int var9 /* : Bool */;
3185 int cltype;
3186 int idtype;
3187 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
3188 short int var10 /* : Bool */;
3189 int cltype11;
3190 int idtype12;
3191 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3192 short int var13 /* : Bool */;
3193 int cltype14;
3194 int idtype15;
3195 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
3196 short int var16 /* : Bool */;
3197 int cltype17;
3198 int idtype18;
3199 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
3200 short int var19 /* : Bool */;
3201 int cltype20;
3202 int idtype21;
3203 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
3204 short int var22 /* : Bool */;
3205 int cltype23;
3206 int idtype24;
3207 val* var25 /* : AExternInitPropdef */;
3208 val* var26 /* : null */;
3209 val* var27 /* : null */;
3210 val* var28 /* : null */;
3211 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
3212 long var29 /* : Int */;
3213 long var30 /* : Int */;
3214 var_p = p0;
3215 var = NULL;
3216 var_node_list = var;
3217 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3218 var_nodearraylist8 = var1;
3219 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3220 var_nodearraylist7 = var2;
3221 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3222 var_nodearraylist6 = var3;
3223 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3224 var_nodearraylist5 = var4;
3225 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3226 var_nodearraylist4 = var5;
3227 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3228 var_nodearraylist3 = var6;
3229 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3230 var_nodearraylist2 = var7;
3231 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3232 var_nodearraylist1 = var8;
3233 var_pdocnode2 = var_nodearraylist1;
3234 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3235 cltype = type_nullable_parser_nodes__ADoc.color;
3236 idtype = type_nullable_parser_nodes__ADoc.id;
3237 if(var_pdocnode2 == NULL) {
3238 var9 = 1;
3239 } else {
3240 if(cltype >= var_pdocnode2->type->table_size) {
3241 var9 = 0;
3242 } else {
3243 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
3244 }
3245 }
3246 if (!var9) {
3247 fprintf(stderr, "Runtime error: %s", "Assert failed");
3248 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21183);
3249 show_backtrace(1);
3250 }
3251 var_tkwredefnode3 = var_nodearraylist2;
3252 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3253 cltype11 = type_nullable_parser_nodes__TKwredef.color;
3254 idtype12 = type_nullable_parser_nodes__TKwredef.id;
3255 if(var_tkwredefnode3 == NULL) {
3256 var10 = 1;
3257 } else {
3258 if(cltype11 >= var_tkwredefnode3->type->table_size) {
3259 var10 = 0;
3260 } else {
3261 var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12;
3262 }
3263 }
3264 if (!var10) {
3265 fprintf(stderr, "Runtime error: %s", "Assert failed");
3266 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21185);
3267 show_backtrace(1);
3268 }
3269 var_pvisibilitynode4 = var_nodearraylist3;
3270 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3271 cltype14 = type_nullable_parser_nodes__AVisibility.color;
3272 idtype15 = type_nullable_parser_nodes__AVisibility.id;
3273 if(var_pvisibilitynode4 == NULL) {
3274 var13 = 1;
3275 } else {
3276 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
3277 var13 = 0;
3278 } else {
3279 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
3280 }
3281 }
3282 if (!var13) {
3283 fprintf(stderr, "Runtime error: %s", "Assert failed");
3284 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21187);
3285 show_backtrace(1);
3286 }
3287 var_tkwnewnode5 = var_nodearraylist4;
3288 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
3289 cltype17 = type_nullable_parser_nodes__TKwnew.color;
3290 idtype18 = type_nullable_parser_nodes__TKwnew.id;
3291 if(var_tkwnewnode5 == NULL) {
3292 var16 = 1;
3293 } else {
3294 if(cltype17 >= var_tkwnewnode5->type->table_size) {
3295 var16 = 0;
3296 } else {
3297 var16 = var_tkwnewnode5->type->type_table[cltype17] == idtype18;
3298 }
3299 }
3300 if (!var16) {
3301 fprintf(stderr, "Runtime error: %s", "Assert failed");
3302 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21189);
3303 show_backtrace(1);
3304 }
3305 var_psignaturenode7 = var_nodearraylist5;
3306 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
3307 cltype20 = type_nullable_parser_nodes__ASignature.color;
3308 idtype21 = type_nullable_parser_nodes__ASignature.id;
3309 if(var_psignaturenode7 == NULL) {
3310 var19 = 1;
3311 } else {
3312 if(cltype20 >= var_psignaturenode7->type->table_size) {
3313 var19 = 0;
3314 } else {
3315 var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
3316 }
3317 }
3318 if (!var19) {
3319 fprintf(stderr, "Runtime error: %s", "Assert failed");
3320 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21191);
3321 show_backtrace(1);
3322 }
3323 var_pexterncodeblocknode10 = var_nodearraylist8;
3324 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
3325 cltype23 = type_nullable_parser_nodes__AExternCodeBlock.color;
3326 idtype24 = type_nullable_parser_nodes__AExternCodeBlock.id;
3327 if(var_pexterncodeblocknode10 == NULL) {
3328 var22 = 1;
3329 } else {
3330 if(cltype23 >= var_pexterncodeblocknode10->type->table_size) {
3331 var22 = 0;
3332 } else {
3333 var22 = var_pexterncodeblocknode10->type->type_table[cltype23] == idtype24;
3334 }
3335 }
3336 if (!var22) {
3337 fprintf(stderr, "Runtime error: %s", "Assert failed");
3338 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21193);
3339 show_backtrace(1);
3340 }
3341 var25 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
3342 var26 = NULL;
3343 var27 = NULL;
3344 var28 = NULL;
3345 ((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>*/;
3346 var_ppropdefnode1 = var25;
3347 var_node_list = var_ppropdefnode1;
3348 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction482> */
3349 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
3350 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
3351 RET_LABEL:;
3352 }
3353 /* method parser#ReduceAction482#action for (self: Object, Parser) */
3354 void VIRTUAL_parser__ReduceAction482__action(val* self, val* p0) {
3355 parser__ReduceAction482__action(self, p0);
3356 RET_LABEL:;
3357 }
3358 /* method parser#ReduceAction483#action for (self: ReduceAction483, Parser) */
3359 void parser__ReduceAction483__action(val* self, val* p0) {
3360 val* var_p /* var p: Parser */;
3361 val* var /* : null */;
3362 val* var_node_list /* var node_list: nullable Object */;
3363 val* var1 /* : nullable Object */;
3364 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3365 val* var2 /* : nullable Object */;
3366 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3367 val* var3 /* : nullable Object */;
3368 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3369 val* var4 /* : nullable Object */;
3370 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3371 val* var5 /* : nullable Object */;
3372 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3373 val* var6 /* : nullable Object */;
3374 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3375 val* var7 /* : nullable Object */;
3376 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3377 val* var8 /* : nullable Object */;
3378 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3379 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3380 short int var9 /* : Bool */;
3381 int cltype;
3382 int idtype;
3383 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3384 short int var10 /* : Bool */;
3385 int cltype11;
3386 int idtype12;
3387 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
3388 short int var13 /* : Bool */;
3389 int cltype14;
3390 int idtype15;
3391 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
3392 short int var16 /* : Bool */;
3393 int cltype17;
3394 int idtype18;
3395 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
3396 short int var19 /* : Bool */;
3397 int cltype20;
3398 int idtype21;
3399 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
3400 short int var22 /* : Bool */;
3401 int cltype23;
3402 int idtype24;
3403 val* var25 /* : AExternInitPropdef */;
3404 val* var26 /* : null */;
3405 val* var27 /* : null */;
3406 val* var28 /* : null */;
3407 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
3408 long var29 /* : Int */;
3409 long var30 /* : Int */;
3410 var_p = p0;
3411 var = NULL;
3412 var_node_list = var;
3413 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3414 var_nodearraylist8 = var1;
3415 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3416 var_nodearraylist7 = var2;
3417 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3418 var_nodearraylist6 = var3;
3419 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3420 var_nodearraylist5 = var4;
3421 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3422 var_nodearraylist4 = var5;
3423 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3424 var_nodearraylist3 = var6;
3425 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3426 var_nodearraylist2 = var7;
3427 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3428 var_nodearraylist1 = var8;
3429 var_pdocnode2 = var_nodearraylist1;
3430 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3431 cltype = type_nullable_parser_nodes__ADoc.color;
3432 idtype = type_nullable_parser_nodes__ADoc.id;
3433 if(var_pdocnode2 == NULL) {
3434 var9 = 1;
3435 } else {
3436 if(cltype >= var_pdocnode2->type->table_size) {
3437 var9 = 0;
3438 } else {
3439 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
3440 }
3441 }
3442 if (!var9) {
3443 fprintf(stderr, "Runtime error: %s", "Assert failed");
3444 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21223);
3445 show_backtrace(1);
3446 }
3447 var_pvisibilitynode4 = var_nodearraylist2;
3448 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3449 cltype11 = type_nullable_parser_nodes__AVisibility.color;
3450 idtype12 = type_nullable_parser_nodes__AVisibility.id;
3451 if(var_pvisibilitynode4 == NULL) {
3452 var10 = 1;
3453 } else {
3454 if(cltype11 >= var_pvisibilitynode4->type->table_size) {
3455 var10 = 0;
3456 } else {
3457 var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
3458 }
3459 }
3460 if (!var10) {
3461 fprintf(stderr, "Runtime error: %s", "Assert failed");
3462 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21225);
3463 show_backtrace(1);
3464 }
3465 var_tkwnewnode5 = var_nodearraylist3;
3466 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
3467 cltype14 = type_nullable_parser_nodes__TKwnew.color;
3468 idtype15 = type_nullable_parser_nodes__TKwnew.id;
3469 if(var_tkwnewnode5 == NULL) {
3470 var13 = 1;
3471 } else {
3472 if(cltype14 >= var_tkwnewnode5->type->table_size) {
3473 var13 = 0;
3474 } else {
3475 var13 = var_tkwnewnode5->type->type_table[cltype14] == idtype15;
3476 }
3477 }
3478 if (!var13) {
3479 fprintf(stderr, "Runtime error: %s", "Assert failed");
3480 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21227);
3481 show_backtrace(1);
3482 }
3483 var_pmethidnode6 = var_nodearraylist4;
3484 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
3485 cltype17 = type_nullable_parser_nodes__AMethid.color;
3486 idtype18 = type_nullable_parser_nodes__AMethid.id;
3487 if(var_pmethidnode6 == NULL) {
3488 var16 = 1;
3489 } else {
3490 if(cltype17 >= var_pmethidnode6->type->table_size) {
3491 var16 = 0;
3492 } else {
3493 var16 = var_pmethidnode6->type->type_table[cltype17] == idtype18;
3494 }
3495 }
3496 if (!var16) {
3497 fprintf(stderr, "Runtime error: %s", "Assert failed");
3498 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21229);
3499 show_backtrace(1);
3500 }
3501 var_psignaturenode7 = var_nodearraylist5;
3502 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
3503 cltype20 = type_nullable_parser_nodes__ASignature.color;
3504 idtype21 = type_nullable_parser_nodes__ASignature.id;
3505 if(var_psignaturenode7 == NULL) {
3506 var19 = 1;
3507 } else {
3508 if(cltype20 >= var_psignaturenode7->type->table_size) {
3509 var19 = 0;
3510 } else {
3511 var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
3512 }
3513 }
3514 if (!var19) {
3515 fprintf(stderr, "Runtime error: %s", "Assert failed");
3516 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21231);
3517 show_backtrace(1);
3518 }
3519 var_pexterncodeblocknode10 = var_nodearraylist8;
3520 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
3521 cltype23 = type_nullable_parser_nodes__AExternCodeBlock.color;
3522 idtype24 = type_nullable_parser_nodes__AExternCodeBlock.id;
3523 if(var_pexterncodeblocknode10 == NULL) {
3524 var22 = 1;
3525 } else {
3526 if(cltype23 >= var_pexterncodeblocknode10->type->table_size) {
3527 var22 = 0;
3528 } else {
3529 var22 = var_pexterncodeblocknode10->type->type_table[cltype23] == idtype24;
3530 }
3531 }
3532 if (!var22) {
3533 fprintf(stderr, "Runtime error: %s", "Assert failed");
3534 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21233);
3535 show_backtrace(1);
3536 }
3537 var25 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
3538 var26 = NULL;
3539 var27 = NULL;
3540 var28 = NULL;
3541 ((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>*/;
3542 var_ppropdefnode1 = var25;
3543 var_node_list = var_ppropdefnode1;
3544 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction483> */
3545 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
3546 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
3547 RET_LABEL:;
3548 }
3549 /* method parser#ReduceAction483#action for (self: Object, Parser) */
3550 void VIRTUAL_parser__ReduceAction483__action(val* self, val* p0) {
3551 parser__ReduceAction483__action(self, p0);
3552 RET_LABEL:;
3553 }
3554 /* method parser#ReduceAction484#action for (self: ReduceAction484, Parser) */
3555 void parser__ReduceAction484__action(val* self, val* p0) {
3556 val* var_p /* var p: Parser */;
3557 val* var /* : null */;
3558 val* var_node_list /* var node_list: nullable Object */;
3559 val* var1 /* : nullable Object */;
3560 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3561 val* var2 /* : nullable Object */;
3562 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3563 val* var3 /* : nullable Object */;
3564 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3565 val* var4 /* : nullable Object */;
3566 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3567 val* var5 /* : nullable Object */;
3568 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3569 val* var6 /* : nullable Object */;
3570 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3571 val* var7 /* : nullable Object */;
3572 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3573 val* var8 /* : nullable Object */;
3574 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3575 val* var9 /* : nullable Object */;
3576 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3577 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3578 short int var10 /* : Bool */;
3579 int cltype;
3580 int idtype;
3581 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
3582 short int var11 /* : Bool */;
3583 int cltype12;
3584 int idtype13;
3585 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3586 short int var14 /* : Bool */;
3587 int cltype15;
3588 int idtype16;
3589 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
3590 short int var17 /* : Bool */;
3591 int cltype18;
3592 int idtype19;
3593 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
3594 short int var20 /* : Bool */;
3595 int cltype21;
3596 int idtype22;
3597 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
3598 short int var23 /* : Bool */;
3599 int cltype24;
3600 int idtype25;
3601 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
3602 short int var26 /* : Bool */;
3603 int cltype27;
3604 int idtype28;
3605 val* var29 /* : AExternInitPropdef */;
3606 val* var30 /* : null */;
3607 val* var31 /* : null */;
3608 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
3609 long var32 /* : Int */;
3610 long var33 /* : Int */;
3611 var_p = p0;
3612 var = NULL;
3613 var_node_list = var;
3614 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3615 var_nodearraylist9 = var1;
3616 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3617 var_nodearraylist8 = var2;
3618 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3619 var_nodearraylist7 = var3;
3620 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3621 var_nodearraylist6 = var4;
3622 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3623 var_nodearraylist5 = var5;
3624 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3625 var_nodearraylist4 = var6;
3626 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3627 var_nodearraylist3 = var7;
3628 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3629 var_nodearraylist2 = var8;
3630 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3631 var_nodearraylist1 = var9;
3632 var_pdocnode2 = var_nodearraylist1;
3633 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3634 cltype = type_nullable_parser_nodes__ADoc.color;
3635 idtype = type_nullable_parser_nodes__ADoc.id;
3636 if(var_pdocnode2 == NULL) {
3637 var10 = 1;
3638 } else {
3639 if(cltype >= var_pdocnode2->type->table_size) {
3640 var10 = 0;
3641 } else {
3642 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
3643 }
3644 }
3645 if (!var10) {
3646 fprintf(stderr, "Runtime error: %s", "Assert failed");
3647 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21264);
3648 show_backtrace(1);
3649 }
3650 var_tkwredefnode3 = var_nodearraylist2;
3651 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3652 cltype12 = type_nullable_parser_nodes__TKwredef.color;
3653 idtype13 = type_nullable_parser_nodes__TKwredef.id;
3654 if(var_tkwredefnode3 == NULL) {
3655 var11 = 1;
3656 } else {
3657 if(cltype12 >= var_tkwredefnode3->type->table_size) {
3658 var11 = 0;
3659 } else {
3660 var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
3661 }
3662 }
3663 if (!var11) {
3664 fprintf(stderr, "Runtime error: %s", "Assert failed");
3665 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21266);
3666 show_backtrace(1);
3667 }
3668 var_pvisibilitynode4 = var_nodearraylist3;
3669 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3670 cltype15 = type_nullable_parser_nodes__AVisibility.color;
3671 idtype16 = type_nullable_parser_nodes__AVisibility.id;
3672 if(var_pvisibilitynode4 == NULL) {
3673 var14 = 1;
3674 } else {
3675 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
3676 var14 = 0;
3677 } else {
3678 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
3679 }
3680 }
3681 if (!var14) {
3682 fprintf(stderr, "Runtime error: %s", "Assert failed");
3683 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21268);
3684 show_backtrace(1);
3685 }
3686 var_tkwnewnode5 = var_nodearraylist4;
3687 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
3688 cltype18 = type_nullable_parser_nodes__TKwnew.color;
3689 idtype19 = type_nullable_parser_nodes__TKwnew.id;
3690 if(var_tkwnewnode5 == NULL) {
3691 var17 = 1;
3692 } else {
3693 if(cltype18 >= var_tkwnewnode5->type->table_size) {
3694 var17 = 0;
3695 } else {
3696 var17 = var_tkwnewnode5->type->type_table[cltype18] == idtype19;
3697 }
3698 }
3699 if (!var17) {
3700 fprintf(stderr, "Runtime error: %s", "Assert failed");
3701 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21270);
3702 show_backtrace(1);
3703 }
3704 var_pmethidnode6 = var_nodearraylist5;
3705 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
3706 cltype21 = type_nullable_parser_nodes__AMethid.color;
3707 idtype22 = type_nullable_parser_nodes__AMethid.id;
3708 if(var_pmethidnode6 == NULL) {
3709 var20 = 1;
3710 } else {
3711 if(cltype21 >= var_pmethidnode6->type->table_size) {
3712 var20 = 0;
3713 } else {
3714 var20 = var_pmethidnode6->type->type_table[cltype21] == idtype22;
3715 }
3716 }
3717 if (!var20) {
3718 fprintf(stderr, "Runtime error: %s", "Assert failed");
3719 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21272);
3720 show_backtrace(1);
3721 }
3722 var_psignaturenode7 = var_nodearraylist6;
3723 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
3724 cltype24 = type_nullable_parser_nodes__ASignature.color;
3725 idtype25 = type_nullable_parser_nodes__ASignature.id;
3726 if(var_psignaturenode7 == NULL) {
3727 var23 = 1;
3728 } else {
3729 if(cltype24 >= var_psignaturenode7->type->table_size) {
3730 var23 = 0;
3731 } else {
3732 var23 = var_psignaturenode7->type->type_table[cltype24] == idtype25;
3733 }
3734 }
3735 if (!var23) {
3736 fprintf(stderr, "Runtime error: %s", "Assert failed");
3737 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21274);
3738 show_backtrace(1);
3739 }
3740 var_pexterncodeblocknode10 = var_nodearraylist9;
3741 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
3742 cltype27 = type_nullable_parser_nodes__AExternCodeBlock.color;
3743 idtype28 = type_nullable_parser_nodes__AExternCodeBlock.id;
3744 if(var_pexterncodeblocknode10 == NULL) {
3745 var26 = 1;
3746 } else {
3747 if(cltype27 >= var_pexterncodeblocknode10->type->table_size) {
3748 var26 = 0;
3749 } else {
3750 var26 = var_pexterncodeblocknode10->type->type_table[cltype27] == idtype28;
3751 }
3752 }
3753 if (!var26) {
3754 fprintf(stderr, "Runtime error: %s", "Assert failed");
3755 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21276);
3756 show_backtrace(1);
3757 }
3758 var29 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
3759 var30 = NULL;
3760 var31 = NULL;
3761 ((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>*/;
3762 var_ppropdefnode1 = var29;
3763 var_node_list = var_ppropdefnode1;
3764 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction484> */
3765 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
3766 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
3767 RET_LABEL:;
3768 }
3769 /* method parser#ReduceAction484#action for (self: Object, Parser) */
3770 void VIRTUAL_parser__ReduceAction484__action(val* self, val* p0) {
3771 parser__ReduceAction484__action(self, p0);
3772 RET_LABEL:;
3773 }
3774 /* method parser#ReduceAction485#action for (self: ReduceAction485, Parser) */
3775 void parser__ReduceAction485__action(val* self, val* p0) {
3776 val* var_p /* var p: Parser */;
3777 val* var /* : null */;
3778 val* var_node_list /* var node_list: nullable Object */;
3779 val* var1 /* : nullable Object */;
3780 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3781 val* var2 /* : nullable Object */;
3782 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3783 val* var3 /* : nullable Object */;
3784 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3785 val* var4 /* : nullable Object */;
3786 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3787 val* var5 /* : nullable Object */;
3788 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3789 val* var6 /* : nullable Object */;
3790 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3791 val* var7 /* : nullable Object */;
3792 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3793 val* var8 /* : nullable Object */;
3794 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3795 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3796 short int var9 /* : Bool */;
3797 int cltype;
3798 int idtype;
3799 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3800 short int var10 /* : Bool */;
3801 int cltype11;
3802 int idtype12;
3803 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
3804 short int var13 /* : Bool */;
3805 int cltype14;
3806 int idtype15;
3807 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
3808 short int var16 /* : Bool */;
3809 int cltype17;
3810 int idtype18;
3811 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
3812 short int var19 /* : Bool */;
3813 int cltype20;
3814 int idtype21;
3815 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
3816 short int var22 /* : Bool */;
3817 int cltype23;
3818 int idtype24;
3819 val* var25 /* : AExternInitPropdef */;
3820 val* var26 /* : null */;
3821 val* var27 /* : null */;
3822 val* var28 /* : null */;
3823 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
3824 long var29 /* : Int */;
3825 long var30 /* : Int */;
3826 var_p = p0;
3827 var = NULL;
3828 var_node_list = var;
3829 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3830 var_nodearraylist8 = var1;
3831 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3832 var_nodearraylist7 = var2;
3833 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3834 var_nodearraylist6 = var3;
3835 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3836 var_nodearraylist5 = var4;
3837 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3838 var_nodearraylist4 = var5;
3839 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3840 var_nodearraylist3 = var6;
3841 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3842 var_nodearraylist2 = var7;
3843 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3844 var_nodearraylist1 = var8;
3845 var_pdocnode2 = var_nodearraylist1;
3846 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3847 cltype = type_nullable_parser_nodes__ADoc.color;
3848 idtype = type_nullable_parser_nodes__ADoc.id;
3849 if(var_pdocnode2 == NULL) {
3850 var9 = 1;
3851 } else {
3852 if(cltype >= var_pdocnode2->type->table_size) {
3853 var9 = 0;
3854 } else {
3855 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
3856 }
3857 }
3858 if (!var9) {
3859 fprintf(stderr, "Runtime error: %s", "Assert failed");
3860 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21306);
3861 show_backtrace(1);
3862 }
3863 var_pvisibilitynode4 = var_nodearraylist2;
3864 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3865 cltype11 = type_nullable_parser_nodes__AVisibility.color;
3866 idtype12 = type_nullable_parser_nodes__AVisibility.id;
3867 if(var_pvisibilitynode4 == NULL) {
3868 var10 = 1;
3869 } else {
3870 if(cltype11 >= var_pvisibilitynode4->type->table_size) {
3871 var10 = 0;
3872 } else {
3873 var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
3874 }
3875 }
3876 if (!var10) {
3877 fprintf(stderr, "Runtime error: %s", "Assert failed");
3878 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21308);
3879 show_backtrace(1);
3880 }
3881 var_tkwnewnode5 = var_nodearraylist3;
3882 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
3883 cltype14 = type_nullable_parser_nodes__TKwnew.color;
3884 idtype15 = type_nullable_parser_nodes__TKwnew.id;
3885 if(var_tkwnewnode5 == NULL) {
3886 var13 = 1;
3887 } else {
3888 if(cltype14 >= var_tkwnewnode5->type->table_size) {
3889 var13 = 0;
3890 } else {
3891 var13 = var_tkwnewnode5->type->type_table[cltype14] == idtype15;
3892 }
3893 }
3894 if (!var13) {
3895 fprintf(stderr, "Runtime error: %s", "Assert failed");
3896 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21310);
3897 show_backtrace(1);
3898 }
3899 var_psignaturenode7 = var_nodearraylist4;
3900 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
3901 cltype17 = type_nullable_parser_nodes__ASignature.color;
3902 idtype18 = type_nullable_parser_nodes__ASignature.id;
3903 if(var_psignaturenode7 == NULL) {
3904 var16 = 1;
3905 } else {
3906 if(cltype17 >= var_psignaturenode7->type->table_size) {
3907 var16 = 0;
3908 } else {
3909 var16 = var_psignaturenode7->type->type_table[cltype17] == idtype18;
3910 }
3911 }
3912 if (!var16) {
3913 fprintf(stderr, "Runtime error: %s", "Assert failed");
3914 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21312);
3915 show_backtrace(1);
3916 }
3917 var_tstringnode8 = var_nodearraylist7;
3918 /* <var_tstringnode8:nullable Object> isa nullable TString */
3919 cltype20 = type_nullable_parser_nodes__TString.color;
3920 idtype21 = type_nullable_parser_nodes__TString.id;
3921 if(var_tstringnode8 == NULL) {
3922 var19 = 1;
3923 } else {
3924 if(cltype20 >= var_tstringnode8->type->table_size) {
3925 var19 = 0;
3926 } else {
3927 var19 = var_tstringnode8->type->type_table[cltype20] == idtype21;
3928 }
3929 }
3930 if (!var19) {
3931 fprintf(stderr, "Runtime error: %s", "Assert failed");
3932 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21314);
3933 show_backtrace(1);
3934 }
3935 var_pexterncodeblocknode10 = var_nodearraylist8;
3936 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
3937 cltype23 = type_nullable_parser_nodes__AExternCodeBlock.color;
3938 idtype24 = type_nullable_parser_nodes__AExternCodeBlock.id;
3939 if(var_pexterncodeblocknode10 == NULL) {
3940 var22 = 1;
3941 } else {
3942 if(cltype23 >= var_pexterncodeblocknode10->type->table_size) {
3943 var22 = 0;
3944 } else {
3945 var22 = var_pexterncodeblocknode10->type->type_table[cltype23] == idtype24;
3946 }
3947 }
3948 if (!var22) {
3949 fprintf(stderr, "Runtime error: %s", "Assert failed");
3950 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21316);
3951 show_backtrace(1);
3952 }
3953 var25 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
3954 var26 = NULL;
3955 var27 = NULL;
3956 var28 = NULL;
3957 ((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>*/;
3958 var_ppropdefnode1 = var25;
3959 var_node_list = var_ppropdefnode1;
3960 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction485> */
3961 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
3962 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
3963 RET_LABEL:;
3964 }
3965 /* method parser#ReduceAction485#action for (self: Object, Parser) */
3966 void VIRTUAL_parser__ReduceAction485__action(val* self, val* p0) {
3967 parser__ReduceAction485__action(self, p0);
3968 RET_LABEL:;
3969 }
3970 /* method parser#ReduceAction486#action for (self: ReduceAction486, Parser) */
3971 void parser__ReduceAction486__action(val* self, val* p0) {
3972 val* var_p /* var p: Parser */;
3973 val* var /* : null */;
3974 val* var_node_list /* var node_list: nullable Object */;
3975 val* var1 /* : nullable Object */;
3976 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3977 val* var2 /* : nullable Object */;
3978 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3979 val* var3 /* : nullable Object */;
3980 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3981 val* var4 /* : nullable Object */;
3982 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3983 val* var5 /* : nullable Object */;
3984 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3985 val* var6 /* : nullable Object */;
3986 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3987 val* var7 /* : nullable Object */;
3988 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3989 val* var8 /* : nullable Object */;
3990 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3991 val* var9 /* : nullable Object */;
3992 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3993 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3994 short int var10 /* : Bool */;
3995 int cltype;
3996 int idtype;
3997 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
3998 short int var11 /* : Bool */;
3999 int cltype12;
4000 int idtype13;
4001 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4002 short int var14 /* : Bool */;
4003 int cltype15;
4004 int idtype16;
4005 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
4006 short int var17 /* : Bool */;
4007 int cltype18;
4008 int idtype19;
4009 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
4010 short int var20 /* : Bool */;
4011 int cltype21;
4012 int idtype22;
4013 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
4014 short int var23 /* : Bool */;
4015 int cltype24;
4016 int idtype25;
4017 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
4018 short int var26 /* : Bool */;
4019 int cltype27;
4020 int idtype28;
4021 val* var29 /* : AExternInitPropdef */;
4022 val* var30 /* : null */;
4023 val* var31 /* : null */;
4024 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
4025 long var32 /* : Int */;
4026 long var33 /* : Int */;
4027 var_p = p0;
4028 var = NULL;
4029 var_node_list = var;
4030 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4031 var_nodearraylist9 = var1;
4032 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4033 var_nodearraylist8 = var2;
4034 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4035 var_nodearraylist7 = var3;
4036 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4037 var_nodearraylist6 = var4;
4038 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4039 var_nodearraylist5 = var5;
4040 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4041 var_nodearraylist4 = var6;
4042 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4043 var_nodearraylist3 = var7;
4044 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4045 var_nodearraylist2 = var8;
4046 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4047 var_nodearraylist1 = var9;
4048 var_pdocnode2 = var_nodearraylist1;
4049 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4050 cltype = type_nullable_parser_nodes__ADoc.color;
4051 idtype = type_nullable_parser_nodes__ADoc.id;
4052 if(var_pdocnode2 == NULL) {
4053 var10 = 1;
4054 } else {
4055 if(cltype >= var_pdocnode2->type->table_size) {
4056 var10 = 0;
4057 } else {
4058 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
4059 }
4060 }
4061 if (!var10) {
4062 fprintf(stderr, "Runtime error: %s", "Assert failed");
4063 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21347);
4064 show_backtrace(1);
4065 }
4066 var_tkwredefnode3 = var_nodearraylist2;
4067 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4068 cltype12 = type_nullable_parser_nodes__TKwredef.color;
4069 idtype13 = type_nullable_parser_nodes__TKwredef.id;
4070 if(var_tkwredefnode3 == NULL) {
4071 var11 = 1;
4072 } else {
4073 if(cltype12 >= var_tkwredefnode3->type->table_size) {
4074 var11 = 0;
4075 } else {
4076 var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
4077 }
4078 }
4079 if (!var11) {
4080 fprintf(stderr, "Runtime error: %s", "Assert failed");
4081 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21349);
4082 show_backtrace(1);
4083 }
4084 var_pvisibilitynode4 = var_nodearraylist3;
4085 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4086 cltype15 = type_nullable_parser_nodes__AVisibility.color;
4087 idtype16 = type_nullable_parser_nodes__AVisibility.id;
4088 if(var_pvisibilitynode4 == NULL) {
4089 var14 = 1;
4090 } else {
4091 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
4092 var14 = 0;
4093 } else {
4094 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
4095 }
4096 }
4097 if (!var14) {
4098 fprintf(stderr, "Runtime error: %s", "Assert failed");
4099 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21351);
4100 show_backtrace(1);
4101 }
4102 var_tkwnewnode5 = var_nodearraylist4;
4103 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
4104 cltype18 = type_nullable_parser_nodes__TKwnew.color;
4105 idtype19 = type_nullable_parser_nodes__TKwnew.id;
4106 if(var_tkwnewnode5 == NULL) {
4107 var17 = 1;
4108 } else {
4109 if(cltype18 >= var_tkwnewnode5->type->table_size) {
4110 var17 = 0;
4111 } else {
4112 var17 = var_tkwnewnode5->type->type_table[cltype18] == idtype19;
4113 }
4114 }
4115 if (!var17) {
4116 fprintf(stderr, "Runtime error: %s", "Assert failed");
4117 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21353);
4118 show_backtrace(1);
4119 }
4120 var_psignaturenode7 = var_nodearraylist5;
4121 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
4122 cltype21 = type_nullable_parser_nodes__ASignature.color;
4123 idtype22 = type_nullable_parser_nodes__ASignature.id;
4124 if(var_psignaturenode7 == NULL) {
4125 var20 = 1;
4126 } else {
4127 if(cltype21 >= var_psignaturenode7->type->table_size) {
4128 var20 = 0;
4129 } else {
4130 var20 = var_psignaturenode7->type->type_table[cltype21] == idtype22;
4131 }
4132 }
4133 if (!var20) {
4134 fprintf(stderr, "Runtime error: %s", "Assert failed");
4135 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21355);
4136 show_backtrace(1);
4137 }
4138 var_tstringnode8 = var_nodearraylist8;
4139 /* <var_tstringnode8:nullable Object> isa nullable TString */
4140 cltype24 = type_nullable_parser_nodes__TString.color;
4141 idtype25 = type_nullable_parser_nodes__TString.id;
4142 if(var_tstringnode8 == NULL) {
4143 var23 = 1;
4144 } else {
4145 if(cltype24 >= var_tstringnode8->type->table_size) {
4146 var23 = 0;
4147 } else {
4148 var23 = var_tstringnode8->type->type_table[cltype24] == idtype25;
4149 }
4150 }
4151 if (!var23) {
4152 fprintf(stderr, "Runtime error: %s", "Assert failed");
4153 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21357);
4154 show_backtrace(1);
4155 }
4156 var_pexterncodeblocknode10 = var_nodearraylist9;
4157 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
4158 cltype27 = type_nullable_parser_nodes__AExternCodeBlock.color;
4159 idtype28 = type_nullable_parser_nodes__AExternCodeBlock.id;
4160 if(var_pexterncodeblocknode10 == NULL) {
4161 var26 = 1;
4162 } else {
4163 if(cltype27 >= var_pexterncodeblocknode10->type->table_size) {
4164 var26 = 0;
4165 } else {
4166 var26 = var_pexterncodeblocknode10->type->type_table[cltype27] == idtype28;
4167 }
4168 }
4169 if (!var26) {
4170 fprintf(stderr, "Runtime error: %s", "Assert failed");
4171 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21359);
4172 show_backtrace(1);
4173 }
4174 var29 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
4175 var30 = NULL;
4176 var31 = NULL;
4177 ((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>*/;
4178 var_ppropdefnode1 = var29;
4179 var_node_list = var_ppropdefnode1;
4180 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction486> */
4181 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
4182 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
4183 RET_LABEL:;
4184 }
4185 /* method parser#ReduceAction486#action for (self: Object, Parser) */
4186 void VIRTUAL_parser__ReduceAction486__action(val* self, val* p0) {
4187 parser__ReduceAction486__action(self, p0);
4188 RET_LABEL:;
4189 }
4190 /* method parser#ReduceAction487#action for (self: ReduceAction487, Parser) */
4191 void parser__ReduceAction487__action(val* self, val* p0) {
4192 val* var_p /* var p: Parser */;
4193 val* var /* : null */;
4194 val* var_node_list /* var node_list: nullable Object */;
4195 val* var1 /* : nullable Object */;
4196 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4197 val* var2 /* : nullable Object */;
4198 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4199 val* var3 /* : nullable Object */;
4200 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4201 val* var4 /* : nullable Object */;
4202 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4203 val* var5 /* : nullable Object */;
4204 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4205 val* var6 /* : nullable Object */;
4206 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4207 val* var7 /* : nullable Object */;
4208 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4209 val* var8 /* : nullable Object */;
4210 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4211 val* var9 /* : nullable Object */;
4212 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4213 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4214 short int var10 /* : Bool */;
4215 int cltype;
4216 int idtype;
4217 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4218 short int var11 /* : Bool */;
4219 int cltype12;
4220 int idtype13;
4221 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
4222 short int var14 /* : Bool */;
4223 int cltype15;
4224 int idtype16;
4225 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
4226 short int var17 /* : Bool */;
4227 int cltype18;
4228 int idtype19;
4229 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
4230 short int var20 /* : Bool */;
4231 int cltype21;
4232 int idtype22;
4233 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
4234 short int var23 /* : Bool */;
4235 int cltype24;
4236 int idtype25;
4237 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
4238 short int var26 /* : Bool */;
4239 int cltype27;
4240 int idtype28;
4241 val* var29 /* : AExternInitPropdef */;
4242 val* var30 /* : null */;
4243 val* var31 /* : null */;
4244 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
4245 long var32 /* : Int */;
4246 long var33 /* : Int */;
4247 var_p = p0;
4248 var = NULL;
4249 var_node_list = var;
4250 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4251 var_nodearraylist9 = var1;
4252 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4253 var_nodearraylist8 = var2;
4254 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4255 var_nodearraylist7 = var3;
4256 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4257 var_nodearraylist6 = var4;
4258 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4259 var_nodearraylist5 = var5;
4260 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4261 var_nodearraylist4 = var6;
4262 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4263 var_nodearraylist3 = var7;
4264 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4265 var_nodearraylist2 = var8;
4266 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4267 var_nodearraylist1 = var9;
4268 var_pdocnode2 = var_nodearraylist1;
4269 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4270 cltype = type_nullable_parser_nodes__ADoc.color;
4271 idtype = type_nullable_parser_nodes__ADoc.id;
4272 if(var_pdocnode2 == NULL) {
4273 var10 = 1;
4274 } else {
4275 if(cltype >= var_pdocnode2->type->table_size) {
4276 var10 = 0;
4277 } else {
4278 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
4279 }
4280 }
4281 if (!var10) {
4282 fprintf(stderr, "Runtime error: %s", "Assert failed");
4283 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21390);
4284 show_backtrace(1);
4285 }
4286 var_pvisibilitynode4 = var_nodearraylist2;
4287 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4288 cltype12 = type_nullable_parser_nodes__AVisibility.color;
4289 idtype13 = type_nullable_parser_nodes__AVisibility.id;
4290 if(var_pvisibilitynode4 == NULL) {
4291 var11 = 1;
4292 } else {
4293 if(cltype12 >= var_pvisibilitynode4->type->table_size) {
4294 var11 = 0;
4295 } else {
4296 var11 = var_pvisibilitynode4->type->type_table[cltype12] == idtype13;
4297 }
4298 }
4299 if (!var11) {
4300 fprintf(stderr, "Runtime error: %s", "Assert failed");
4301 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21392);
4302 show_backtrace(1);
4303 }
4304 var_tkwnewnode5 = var_nodearraylist3;
4305 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
4306 cltype15 = type_nullable_parser_nodes__TKwnew.color;
4307 idtype16 = type_nullable_parser_nodes__TKwnew.id;
4308 if(var_tkwnewnode5 == NULL) {
4309 var14 = 1;
4310 } else {
4311 if(cltype15 >= var_tkwnewnode5->type->table_size) {
4312 var14 = 0;
4313 } else {
4314 var14 = var_tkwnewnode5->type->type_table[cltype15] == idtype16;
4315 }
4316 }
4317 if (!var14) {
4318 fprintf(stderr, "Runtime error: %s", "Assert failed");
4319 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21394);
4320 show_backtrace(1);
4321 }
4322 var_pmethidnode6 = var_nodearraylist4;
4323 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
4324 cltype18 = type_nullable_parser_nodes__AMethid.color;
4325 idtype19 = type_nullable_parser_nodes__AMethid.id;
4326 if(var_pmethidnode6 == NULL) {
4327 var17 = 1;
4328 } else {
4329 if(cltype18 >= var_pmethidnode6->type->table_size) {
4330 var17 = 0;
4331 } else {
4332 var17 = var_pmethidnode6->type->type_table[cltype18] == idtype19;
4333 }
4334 }
4335 if (!var17) {
4336 fprintf(stderr, "Runtime error: %s", "Assert failed");
4337 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21396);
4338 show_backtrace(1);
4339 }
4340 var_psignaturenode7 = var_nodearraylist5;
4341 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
4342 cltype21 = type_nullable_parser_nodes__ASignature.color;
4343 idtype22 = type_nullable_parser_nodes__ASignature.id;
4344 if(var_psignaturenode7 == NULL) {
4345 var20 = 1;
4346 } else {
4347 if(cltype21 >= var_psignaturenode7->type->table_size) {
4348 var20 = 0;
4349 } else {
4350 var20 = var_psignaturenode7->type->type_table[cltype21] == idtype22;
4351 }
4352 }
4353 if (!var20) {
4354 fprintf(stderr, "Runtime error: %s", "Assert failed");
4355 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21398);
4356 show_backtrace(1);
4357 }
4358 var_tstringnode8 = var_nodearraylist8;
4359 /* <var_tstringnode8:nullable Object> isa nullable TString */
4360 cltype24 = type_nullable_parser_nodes__TString.color;
4361 idtype25 = type_nullable_parser_nodes__TString.id;
4362 if(var_tstringnode8 == NULL) {
4363 var23 = 1;
4364 } else {
4365 if(cltype24 >= var_tstringnode8->type->table_size) {
4366 var23 = 0;
4367 } else {
4368 var23 = var_tstringnode8->type->type_table[cltype24] == idtype25;
4369 }
4370 }
4371 if (!var23) {
4372 fprintf(stderr, "Runtime error: %s", "Assert failed");
4373 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21400);
4374 show_backtrace(1);
4375 }
4376 var_pexterncodeblocknode10 = var_nodearraylist9;
4377 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
4378 cltype27 = type_nullable_parser_nodes__AExternCodeBlock.color;
4379 idtype28 = type_nullable_parser_nodes__AExternCodeBlock.id;
4380 if(var_pexterncodeblocknode10 == NULL) {
4381 var26 = 1;
4382 } else {
4383 if(cltype27 >= var_pexterncodeblocknode10->type->table_size) {
4384 var26 = 0;
4385 } else {
4386 var26 = var_pexterncodeblocknode10->type->type_table[cltype27] == idtype28;
4387 }
4388 }
4389 if (!var26) {
4390 fprintf(stderr, "Runtime error: %s", "Assert failed");
4391 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21402);
4392 show_backtrace(1);
4393 }
4394 var29 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
4395 var30 = NULL;
4396 var31 = NULL;
4397 ((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>*/;
4398 var_ppropdefnode1 = var29;
4399 var_node_list = var_ppropdefnode1;
4400 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction487> */
4401 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
4402 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
4403 RET_LABEL:;
4404 }
4405 /* method parser#ReduceAction487#action for (self: Object, Parser) */
4406 void VIRTUAL_parser__ReduceAction487__action(val* self, val* p0) {
4407 parser__ReduceAction487__action(self, p0);
4408 RET_LABEL:;
4409 }
4410 /* method parser#ReduceAction488#action for (self: ReduceAction488, Parser) */
4411 void parser__ReduceAction488__action(val* self, val* p0) {
4412 val* var_p /* var p: Parser */;
4413 val* var /* : null */;
4414 val* var_node_list /* var node_list: nullable Object */;
4415 val* var1 /* : nullable Object */;
4416 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4417 val* var2 /* : nullable Object */;
4418 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4419 val* var3 /* : nullable Object */;
4420 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4421 val* var4 /* : nullable Object */;
4422 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4423 val* var5 /* : nullable Object */;
4424 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4425 val* var6 /* : nullable Object */;
4426 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4427 val* var7 /* : nullable Object */;
4428 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4429 val* var8 /* : nullable Object */;
4430 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4431 val* var9 /* : nullable Object */;
4432 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4433 val* var10 /* : nullable Object */;
4434 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4435 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4436 short int var11 /* : Bool */;
4437 int cltype;
4438 int idtype;
4439 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
4440 short int var12 /* : Bool */;
4441 int cltype13;
4442 int idtype14;
4443 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4444 short int var15 /* : Bool */;
4445 int cltype16;
4446 int idtype17;
4447 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
4448 short int var18 /* : Bool */;
4449 int cltype19;
4450 int idtype20;
4451 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
4452 short int var21 /* : Bool */;
4453 int cltype22;
4454 int idtype23;
4455 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
4456 short int var24 /* : Bool */;
4457 int cltype25;
4458 int idtype26;
4459 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
4460 short int var27 /* : Bool */;
4461 int cltype28;
4462 int idtype29;
4463 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
4464 short int var30 /* : Bool */;
4465 int cltype31;
4466 int idtype32;
4467 val* var33 /* : AExternInitPropdef */;
4468 val* var34 /* : null */;
4469 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
4470 long var35 /* : Int */;
4471 long var36 /* : Int */;
4472 var_p = p0;
4473 var = NULL;
4474 var_node_list = var;
4475 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4476 var_nodearraylist10 = var1;
4477 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4478 var_nodearraylist9 = var2;
4479 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4480 var_nodearraylist8 = var3;
4481 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4482 var_nodearraylist7 = var4;
4483 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4484 var_nodearraylist6 = var5;
4485 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4486 var_nodearraylist5 = var6;
4487 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4488 var_nodearraylist4 = var7;
4489 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4490 var_nodearraylist3 = var8;
4491 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4492 var_nodearraylist2 = var9;
4493 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4494 var_nodearraylist1 = var10;
4495 var_pdocnode2 = var_nodearraylist1;
4496 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4497 cltype = type_nullable_parser_nodes__ADoc.color;
4498 idtype = type_nullable_parser_nodes__ADoc.id;
4499 if(var_pdocnode2 == NULL) {
4500 var11 = 1;
4501 } else {
4502 if(cltype >= var_pdocnode2->type->table_size) {
4503 var11 = 0;
4504 } else {
4505 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
4506 }
4507 }
4508 if (!var11) {
4509 fprintf(stderr, "Runtime error: %s", "Assert failed");
4510 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21434);
4511 show_backtrace(1);
4512 }
4513 var_tkwredefnode3 = var_nodearraylist2;
4514 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4515 cltype13 = type_nullable_parser_nodes__TKwredef.color;
4516 idtype14 = type_nullable_parser_nodes__TKwredef.id;
4517 if(var_tkwredefnode3 == NULL) {
4518 var12 = 1;
4519 } else {
4520 if(cltype13 >= var_tkwredefnode3->type->table_size) {
4521 var12 = 0;
4522 } else {
4523 var12 = var_tkwredefnode3->type->type_table[cltype13] == idtype14;
4524 }
4525 }
4526 if (!var12) {
4527 fprintf(stderr, "Runtime error: %s", "Assert failed");
4528 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21436);
4529 show_backtrace(1);
4530 }
4531 var_pvisibilitynode4 = var_nodearraylist3;
4532 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4533 cltype16 = type_nullable_parser_nodes__AVisibility.color;
4534 idtype17 = type_nullable_parser_nodes__AVisibility.id;
4535 if(var_pvisibilitynode4 == NULL) {
4536 var15 = 1;
4537 } else {
4538 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
4539 var15 = 0;
4540 } else {
4541 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
4542 }
4543 }
4544 if (!var15) {
4545 fprintf(stderr, "Runtime error: %s", "Assert failed");
4546 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21438);
4547 show_backtrace(1);
4548 }
4549 var_tkwnewnode5 = var_nodearraylist4;
4550 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
4551 cltype19 = type_nullable_parser_nodes__TKwnew.color;
4552 idtype20 = type_nullable_parser_nodes__TKwnew.id;
4553 if(var_tkwnewnode5 == NULL) {
4554 var18 = 1;
4555 } else {
4556 if(cltype19 >= var_tkwnewnode5->type->table_size) {
4557 var18 = 0;
4558 } else {
4559 var18 = var_tkwnewnode5->type->type_table[cltype19] == idtype20;
4560 }
4561 }
4562 if (!var18) {
4563 fprintf(stderr, "Runtime error: %s", "Assert failed");
4564 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21440);
4565 show_backtrace(1);
4566 }
4567 var_pmethidnode6 = var_nodearraylist5;
4568 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
4569 cltype22 = type_nullable_parser_nodes__AMethid.color;
4570 idtype23 = type_nullable_parser_nodes__AMethid.id;
4571 if(var_pmethidnode6 == NULL) {
4572 var21 = 1;
4573 } else {
4574 if(cltype22 >= var_pmethidnode6->type->table_size) {
4575 var21 = 0;
4576 } else {
4577 var21 = var_pmethidnode6->type->type_table[cltype22] == idtype23;
4578 }
4579 }
4580 if (!var21) {
4581 fprintf(stderr, "Runtime error: %s", "Assert failed");
4582 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21442);
4583 show_backtrace(1);
4584 }
4585 var_psignaturenode7 = var_nodearraylist6;
4586 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
4587 cltype25 = type_nullable_parser_nodes__ASignature.color;
4588 idtype26 = type_nullable_parser_nodes__ASignature.id;
4589 if(var_psignaturenode7 == NULL) {
4590 var24 = 1;
4591 } else {
4592 if(cltype25 >= var_psignaturenode7->type->table_size) {
4593 var24 = 0;
4594 } else {
4595 var24 = var_psignaturenode7->type->type_table[cltype25] == idtype26;
4596 }
4597 }
4598 if (!var24) {
4599 fprintf(stderr, "Runtime error: %s", "Assert failed");
4600 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21444);
4601 show_backtrace(1);
4602 }
4603 var_tstringnode8 = var_nodearraylist9;
4604 /* <var_tstringnode8:nullable Object> isa nullable TString */
4605 cltype28 = type_nullable_parser_nodes__TString.color;
4606 idtype29 = type_nullable_parser_nodes__TString.id;
4607 if(var_tstringnode8 == NULL) {
4608 var27 = 1;
4609 } else {
4610 if(cltype28 >= var_tstringnode8->type->table_size) {
4611 var27 = 0;
4612 } else {
4613 var27 = var_tstringnode8->type->type_table[cltype28] == idtype29;
4614 }
4615 }
4616 if (!var27) {
4617 fprintf(stderr, "Runtime error: %s", "Assert failed");
4618 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21446);
4619 show_backtrace(1);
4620 }
4621 var_pexterncodeblocknode10 = var_nodearraylist10;
4622 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
4623 cltype31 = type_nullable_parser_nodes__AExternCodeBlock.color;
4624 idtype32 = type_nullable_parser_nodes__AExternCodeBlock.id;
4625 if(var_pexterncodeblocknode10 == NULL) {
4626 var30 = 1;
4627 } else {
4628 if(cltype31 >= var_pexterncodeblocknode10->type->table_size) {
4629 var30 = 0;
4630 } else {
4631 var30 = var_pexterncodeblocknode10->type->type_table[cltype31] == idtype32;
4632 }
4633 }
4634 if (!var30) {
4635 fprintf(stderr, "Runtime error: %s", "Assert failed");
4636 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21448);
4637 show_backtrace(1);
4638 }
4639 var33 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
4640 var34 = NULL;
4641 ((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>*/;
4642 var_ppropdefnode1 = var33;
4643 var_node_list = var_ppropdefnode1;
4644 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction488> */
4645 var36 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var35) /* go_to on <var_p:Parser>*/;
4646 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var36, var_node_list) /* push on <var_p:Parser>*/;
4647 RET_LABEL:;
4648 }
4649 /* method parser#ReduceAction488#action for (self: Object, Parser) */
4650 void VIRTUAL_parser__ReduceAction488__action(val* self, val* p0) {
4651 parser__ReduceAction488__action(self, p0);
4652 RET_LABEL:;
4653 }
4654 /* method parser#ReduceAction489#action for (self: ReduceAction489, Parser) */
4655 void parser__ReduceAction489__action(val* self, val* p0) {
4656 val* var_p /* var p: Parser */;
4657 val* var /* : null */;
4658 val* var_node_list /* var node_list: nullable Object */;
4659 val* var1 /* : nullable Object */;
4660 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4661 val* var2 /* : nullable Object */;
4662 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4663 val* var3 /* : nullable Object */;
4664 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4665 val* var4 /* : nullable Object */;
4666 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4667 val* var5 /* : nullable Object */;
4668 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4669 val* var6 /* : nullable Object */;
4670 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4671 val* var7 /* : nullable Object */;
4672 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4673 val* var8 /* : nullable Object */;
4674 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4675 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4676 short int var9 /* : Bool */;
4677 int cltype;
4678 int idtype;
4679 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4680 short int var10 /* : Bool */;
4681 int cltype11;
4682 int idtype12;
4683 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
4684 short int var13 /* : Bool */;
4685 int cltype14;
4686 int idtype15;
4687 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
4688 short int var16 /* : Bool */;
4689 int cltype17;
4690 int idtype18;
4691 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
4692 short int var19 /* : Bool */;
4693 int cltype20;
4694 int idtype21;
4695 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
4696 short int var22 /* : Bool */;
4697 int cltype23;
4698 int idtype24;
4699 val* var25 /* : AExternInitPropdef */;
4700 val* var26 /* : null */;
4701 val* var27 /* : null */;
4702 val* var28 /* : null */;
4703 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
4704 long var29 /* : Int */;
4705 long var30 /* : Int */;
4706 var_p = p0;
4707 var = NULL;
4708 var_node_list = var;
4709 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4710 var_nodearraylist8 = var1;
4711 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4712 var_nodearraylist7 = var2;
4713 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4714 var_nodearraylist6 = var3;
4715 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4716 var_nodearraylist5 = var4;
4717 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4718 var_nodearraylist4 = var5;
4719 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4720 var_nodearraylist3 = var6;
4721 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4722 var_nodearraylist2 = var7;
4723 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4724 var_nodearraylist1 = var8;
4725 var_pdocnode2 = var_nodearraylist1;
4726 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4727 cltype = type_nullable_parser_nodes__ADoc.color;
4728 idtype = type_nullable_parser_nodes__ADoc.id;
4729 if(var_pdocnode2 == NULL) {
4730 var9 = 1;
4731 } else {
4732 if(cltype >= var_pdocnode2->type->table_size) {
4733 var9 = 0;
4734 } else {
4735 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
4736 }
4737 }
4738 if (!var9) {
4739 fprintf(stderr, "Runtime error: %s", "Assert failed");
4740 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21478);
4741 show_backtrace(1);
4742 }
4743 var_pvisibilitynode4 = var_nodearraylist2;
4744 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4745 cltype11 = type_nullable_parser_nodes__AVisibility.color;
4746 idtype12 = type_nullable_parser_nodes__AVisibility.id;
4747 if(var_pvisibilitynode4 == NULL) {
4748 var10 = 1;
4749 } else {
4750 if(cltype11 >= var_pvisibilitynode4->type->table_size) {
4751 var10 = 0;
4752 } else {
4753 var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
4754 }
4755 }
4756 if (!var10) {
4757 fprintf(stderr, "Runtime error: %s", "Assert failed");
4758 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21480);
4759 show_backtrace(1);
4760 }
4761 var_tkwnewnode5 = var_nodearraylist3;
4762 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
4763 cltype14 = type_nullable_parser_nodes__TKwnew.color;
4764 idtype15 = type_nullable_parser_nodes__TKwnew.id;
4765 if(var_tkwnewnode5 == NULL) {
4766 var13 = 1;
4767 } else {
4768 if(cltype14 >= var_tkwnewnode5->type->table_size) {
4769 var13 = 0;
4770 } else {
4771 var13 = var_tkwnewnode5->type->type_table[cltype14] == idtype15;
4772 }
4773 }
4774 if (!var13) {
4775 fprintf(stderr, "Runtime error: %s", "Assert failed");
4776 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21482);
4777 show_backtrace(1);
4778 }
4779 var_psignaturenode7 = var_nodearraylist4;
4780 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
4781 cltype17 = type_nullable_parser_nodes__ASignature.color;
4782 idtype18 = type_nullable_parser_nodes__ASignature.id;
4783 if(var_psignaturenode7 == NULL) {
4784 var16 = 1;
4785 } else {
4786 if(cltype17 >= var_psignaturenode7->type->table_size) {
4787 var16 = 0;
4788 } else {
4789 var16 = var_psignaturenode7->type->type_table[cltype17] == idtype18;
4790 }
4791 }
4792 if (!var16) {
4793 fprintf(stderr, "Runtime error: %s", "Assert failed");
4794 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21484);
4795 show_backtrace(1);
4796 }
4797 var_pexterncallsnode9 = var_nodearraylist7;
4798 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
4799 cltype20 = type_nullable_parser_nodes__AExternCalls.color;
4800 idtype21 = type_nullable_parser_nodes__AExternCalls.id;
4801 if(var_pexterncallsnode9 == NULL) {
4802 var19 = 1;
4803 } else {
4804 if(cltype20 >= var_pexterncallsnode9->type->table_size) {
4805 var19 = 0;
4806 } else {
4807 var19 = var_pexterncallsnode9->type->type_table[cltype20] == idtype21;
4808 }
4809 }
4810 if (!var19) {
4811 fprintf(stderr, "Runtime error: %s", "Assert failed");
4812 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21486);
4813 show_backtrace(1);
4814 }
4815 var_pexterncodeblocknode10 = var_nodearraylist8;
4816 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
4817 cltype23 = type_nullable_parser_nodes__AExternCodeBlock.color;
4818 idtype24 = type_nullable_parser_nodes__AExternCodeBlock.id;
4819 if(var_pexterncodeblocknode10 == NULL) {
4820 var22 = 1;
4821 } else {
4822 if(cltype23 >= var_pexterncodeblocknode10->type->table_size) {
4823 var22 = 0;
4824 } else {
4825 var22 = var_pexterncodeblocknode10->type->type_table[cltype23] == idtype24;
4826 }
4827 }
4828 if (!var22) {
4829 fprintf(stderr, "Runtime error: %s", "Assert failed");
4830 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21488);
4831 show_backtrace(1);
4832 }
4833 var25 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
4834 var26 = NULL;
4835 var27 = NULL;
4836 var28 = NULL;
4837 ((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>*/;
4838 var_ppropdefnode1 = var25;
4839 var_node_list = var_ppropdefnode1;
4840 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction489> */
4841 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
4842 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
4843 RET_LABEL:;
4844 }
4845 /* method parser#ReduceAction489#action for (self: Object, Parser) */
4846 void VIRTUAL_parser__ReduceAction489__action(val* self, val* p0) {
4847 parser__ReduceAction489__action(self, p0);
4848 RET_LABEL:;
4849 }
4850 /* method parser#ReduceAction490#action for (self: ReduceAction490, Parser) */
4851 void parser__ReduceAction490__action(val* self, val* p0) {
4852 val* var_p /* var p: Parser */;
4853 val* var /* : null */;
4854 val* var_node_list /* var node_list: nullable Object */;
4855 val* var1 /* : nullable Object */;
4856 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4857 val* var2 /* : nullable Object */;
4858 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4859 val* var3 /* : nullable Object */;
4860 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4861 val* var4 /* : nullable Object */;
4862 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4863 val* var5 /* : nullable Object */;
4864 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4865 val* var6 /* : nullable Object */;
4866 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4867 val* var7 /* : nullable Object */;
4868 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4869 val* var8 /* : nullable Object */;
4870 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4871 val* var9 /* : nullable Object */;
4872 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4873 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4874 short int var10 /* : Bool */;
4875 int cltype;
4876 int idtype;
4877 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
4878 short int var11 /* : Bool */;
4879 int cltype12;
4880 int idtype13;
4881 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4882 short int var14 /* : Bool */;
4883 int cltype15;
4884 int idtype16;
4885 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
4886 short int var17 /* : Bool */;
4887 int cltype18;
4888 int idtype19;
4889 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
4890 short int var20 /* : Bool */;
4891 int cltype21;
4892 int idtype22;
4893 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
4894 short int var23 /* : Bool */;
4895 int cltype24;
4896 int idtype25;
4897 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
4898 short int var26 /* : Bool */;
4899 int cltype27;
4900 int idtype28;
4901 val* var29 /* : AExternInitPropdef */;
4902 val* var30 /* : null */;
4903 val* var31 /* : null */;
4904 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
4905 long var32 /* : Int */;
4906 long var33 /* : Int */;
4907 var_p = p0;
4908 var = NULL;
4909 var_node_list = var;
4910 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4911 var_nodearraylist9 = var1;
4912 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4913 var_nodearraylist8 = var2;
4914 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4915 var_nodearraylist7 = var3;
4916 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4917 var_nodearraylist6 = var4;
4918 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4919 var_nodearraylist5 = var5;
4920 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4921 var_nodearraylist4 = var6;
4922 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4923 var_nodearraylist3 = var7;
4924 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4925 var_nodearraylist2 = var8;
4926 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4927 var_nodearraylist1 = var9;
4928 var_pdocnode2 = var_nodearraylist1;
4929 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4930 cltype = type_nullable_parser_nodes__ADoc.color;
4931 idtype = type_nullable_parser_nodes__ADoc.id;
4932 if(var_pdocnode2 == NULL) {
4933 var10 = 1;
4934 } else {
4935 if(cltype >= var_pdocnode2->type->table_size) {
4936 var10 = 0;
4937 } else {
4938 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
4939 }
4940 }
4941 if (!var10) {
4942 fprintf(stderr, "Runtime error: %s", "Assert failed");
4943 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21519);
4944 show_backtrace(1);
4945 }
4946 var_tkwredefnode3 = var_nodearraylist2;
4947 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4948 cltype12 = type_nullable_parser_nodes__TKwredef.color;
4949 idtype13 = type_nullable_parser_nodes__TKwredef.id;
4950 if(var_tkwredefnode3 == NULL) {
4951 var11 = 1;
4952 } else {
4953 if(cltype12 >= var_tkwredefnode3->type->table_size) {
4954 var11 = 0;
4955 } else {
4956 var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
4957 }
4958 }
4959 if (!var11) {
4960 fprintf(stderr, "Runtime error: %s", "Assert failed");
4961 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21521);
4962 show_backtrace(1);
4963 }
4964 var_pvisibilitynode4 = var_nodearraylist3;
4965 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4966 cltype15 = type_nullable_parser_nodes__AVisibility.color;
4967 idtype16 = type_nullable_parser_nodes__AVisibility.id;
4968 if(var_pvisibilitynode4 == NULL) {
4969 var14 = 1;
4970 } else {
4971 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
4972 var14 = 0;
4973 } else {
4974 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
4975 }
4976 }
4977 if (!var14) {
4978 fprintf(stderr, "Runtime error: %s", "Assert failed");
4979 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21523);
4980 show_backtrace(1);
4981 }
4982 var_tkwnewnode5 = var_nodearraylist4;
4983 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
4984 cltype18 = type_nullable_parser_nodes__TKwnew.color;
4985 idtype19 = type_nullable_parser_nodes__TKwnew.id;
4986 if(var_tkwnewnode5 == NULL) {
4987 var17 = 1;
4988 } else {
4989 if(cltype18 >= var_tkwnewnode5->type->table_size) {
4990 var17 = 0;
4991 } else {
4992 var17 = var_tkwnewnode5->type->type_table[cltype18] == idtype19;
4993 }
4994 }
4995 if (!var17) {
4996 fprintf(stderr, "Runtime error: %s", "Assert failed");
4997 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21525);
4998 show_backtrace(1);
4999 }
5000 var_psignaturenode7 = var_nodearraylist5;
5001 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
5002 cltype21 = type_nullable_parser_nodes__ASignature.color;
5003 idtype22 = type_nullable_parser_nodes__ASignature.id;
5004 if(var_psignaturenode7 == NULL) {
5005 var20 = 1;
5006 } else {
5007 if(cltype21 >= var_psignaturenode7->type->table_size) {
5008 var20 = 0;
5009 } else {
5010 var20 = var_psignaturenode7->type->type_table[cltype21] == idtype22;
5011 }
5012 }
5013 if (!var20) {
5014 fprintf(stderr, "Runtime error: %s", "Assert failed");
5015 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21527);
5016 show_backtrace(1);
5017 }
5018 var_pexterncallsnode9 = var_nodearraylist8;
5019 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
5020 cltype24 = type_nullable_parser_nodes__AExternCalls.color;
5021 idtype25 = type_nullable_parser_nodes__AExternCalls.id;
5022 if(var_pexterncallsnode9 == NULL) {
5023 var23 = 1;
5024 } else {
5025 if(cltype24 >= var_pexterncallsnode9->type->table_size) {
5026 var23 = 0;
5027 } else {
5028 var23 = var_pexterncallsnode9->type->type_table[cltype24] == idtype25;
5029 }
5030 }
5031 if (!var23) {
5032 fprintf(stderr, "Runtime error: %s", "Assert failed");
5033 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21529);
5034 show_backtrace(1);
5035 }
5036 var_pexterncodeblocknode10 = var_nodearraylist9;
5037 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
5038 cltype27 = type_nullable_parser_nodes__AExternCodeBlock.color;
5039 idtype28 = type_nullable_parser_nodes__AExternCodeBlock.id;
5040 if(var_pexterncodeblocknode10 == NULL) {
5041 var26 = 1;
5042 } else {
5043 if(cltype27 >= var_pexterncodeblocknode10->type->table_size) {
5044 var26 = 0;
5045 } else {
5046 var26 = var_pexterncodeblocknode10->type->type_table[cltype27] == idtype28;
5047 }
5048 }
5049 if (!var26) {
5050 fprintf(stderr, "Runtime error: %s", "Assert failed");
5051 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21531);
5052 show_backtrace(1);
5053 }
5054 var29 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
5055 var30 = NULL;
5056 var31 = NULL;
5057 ((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>*/;
5058 var_ppropdefnode1 = var29;
5059 var_node_list = var_ppropdefnode1;
5060 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction490> */
5061 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
5062 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
5063 RET_LABEL:;
5064 }
5065 /* method parser#ReduceAction490#action for (self: Object, Parser) */
5066 void VIRTUAL_parser__ReduceAction490__action(val* self, val* p0) {
5067 parser__ReduceAction490__action(self, p0);
5068 RET_LABEL:;
5069 }
5070 /* method parser#ReduceAction491#action for (self: ReduceAction491, Parser) */
5071 void parser__ReduceAction491__action(val* self, val* p0) {
5072 val* var_p /* var p: Parser */;
5073 val* var /* : null */;
5074 val* var_node_list /* var node_list: nullable Object */;
5075 val* var1 /* : nullable Object */;
5076 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5077 val* var2 /* : nullable Object */;
5078 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5079 val* var3 /* : nullable Object */;
5080 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5081 val* var4 /* : nullable Object */;
5082 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5083 val* var5 /* : nullable Object */;
5084 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5085 val* var6 /* : nullable Object */;
5086 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5087 val* var7 /* : nullable Object */;
5088 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5089 val* var8 /* : nullable Object */;
5090 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5091 val* var9 /* : nullable Object */;
5092 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5093 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5094 short int var10 /* : Bool */;
5095 int cltype;
5096 int idtype;
5097 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5098 short int var11 /* : Bool */;
5099 int cltype12;
5100 int idtype13;
5101 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
5102 short int var14 /* : Bool */;
5103 int cltype15;
5104 int idtype16;
5105 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
5106 short int var17 /* : Bool */;
5107 int cltype18;
5108 int idtype19;
5109 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
5110 short int var20 /* : Bool */;
5111 int cltype21;
5112 int idtype22;
5113 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
5114 short int var23 /* : Bool */;
5115 int cltype24;
5116 int idtype25;
5117 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
5118 short int var26 /* : Bool */;
5119 int cltype27;
5120 int idtype28;
5121 val* var29 /* : AExternInitPropdef */;
5122 val* var30 /* : null */;
5123 val* var31 /* : null */;
5124 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
5125 long var32 /* : Int */;
5126 long var33 /* : Int */;
5127 var_p = p0;
5128 var = NULL;
5129 var_node_list = var;
5130 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5131 var_nodearraylist9 = var1;
5132 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5133 var_nodearraylist8 = var2;
5134 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5135 var_nodearraylist7 = var3;
5136 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5137 var_nodearraylist6 = var4;
5138 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5139 var_nodearraylist5 = var5;
5140 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5141 var_nodearraylist4 = var6;
5142 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5143 var_nodearraylist3 = var7;
5144 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5145 var_nodearraylist2 = var8;
5146 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5147 var_nodearraylist1 = var9;
5148 var_pdocnode2 = var_nodearraylist1;
5149 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5150 cltype = type_nullable_parser_nodes__ADoc.color;
5151 idtype = type_nullable_parser_nodes__ADoc.id;
5152 if(var_pdocnode2 == NULL) {
5153 var10 = 1;
5154 } else {
5155 if(cltype >= var_pdocnode2->type->table_size) {
5156 var10 = 0;
5157 } else {
5158 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
5159 }
5160 }
5161 if (!var10) {
5162 fprintf(stderr, "Runtime error: %s", "Assert failed");
5163 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21562);
5164 show_backtrace(1);
5165 }
5166 var_pvisibilitynode4 = var_nodearraylist2;
5167 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5168 cltype12 = type_nullable_parser_nodes__AVisibility.color;
5169 idtype13 = type_nullable_parser_nodes__AVisibility.id;
5170 if(var_pvisibilitynode4 == NULL) {
5171 var11 = 1;
5172 } else {
5173 if(cltype12 >= var_pvisibilitynode4->type->table_size) {
5174 var11 = 0;
5175 } else {
5176 var11 = var_pvisibilitynode4->type->type_table[cltype12] == idtype13;
5177 }
5178 }
5179 if (!var11) {
5180 fprintf(stderr, "Runtime error: %s", "Assert failed");
5181 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21564);
5182 show_backtrace(1);
5183 }
5184 var_tkwnewnode5 = var_nodearraylist3;
5185 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
5186 cltype15 = type_nullable_parser_nodes__TKwnew.color;
5187 idtype16 = type_nullable_parser_nodes__TKwnew.id;
5188 if(var_tkwnewnode5 == NULL) {
5189 var14 = 1;
5190 } else {
5191 if(cltype15 >= var_tkwnewnode5->type->table_size) {
5192 var14 = 0;
5193 } else {
5194 var14 = var_tkwnewnode5->type->type_table[cltype15] == idtype16;
5195 }
5196 }
5197 if (!var14) {
5198 fprintf(stderr, "Runtime error: %s", "Assert failed");
5199 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21566);
5200 show_backtrace(1);
5201 }
5202 var_pmethidnode6 = var_nodearraylist4;
5203 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
5204 cltype18 = type_nullable_parser_nodes__AMethid.color;
5205 idtype19 = type_nullable_parser_nodes__AMethid.id;
5206 if(var_pmethidnode6 == NULL) {
5207 var17 = 1;
5208 } else {
5209 if(cltype18 >= var_pmethidnode6->type->table_size) {
5210 var17 = 0;
5211 } else {
5212 var17 = var_pmethidnode6->type->type_table[cltype18] == idtype19;
5213 }
5214 }
5215 if (!var17) {
5216 fprintf(stderr, "Runtime error: %s", "Assert failed");
5217 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21568);
5218 show_backtrace(1);
5219 }
5220 var_psignaturenode7 = var_nodearraylist5;
5221 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
5222 cltype21 = type_nullable_parser_nodes__ASignature.color;
5223 idtype22 = type_nullable_parser_nodes__ASignature.id;
5224 if(var_psignaturenode7 == NULL) {
5225 var20 = 1;
5226 } else {
5227 if(cltype21 >= var_psignaturenode7->type->table_size) {
5228 var20 = 0;
5229 } else {
5230 var20 = var_psignaturenode7->type->type_table[cltype21] == idtype22;
5231 }
5232 }
5233 if (!var20) {
5234 fprintf(stderr, "Runtime error: %s", "Assert failed");
5235 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21570);
5236 show_backtrace(1);
5237 }
5238 var_pexterncallsnode9 = var_nodearraylist8;
5239 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
5240 cltype24 = type_nullable_parser_nodes__AExternCalls.color;
5241 idtype25 = type_nullable_parser_nodes__AExternCalls.id;
5242 if(var_pexterncallsnode9 == NULL) {
5243 var23 = 1;
5244 } else {
5245 if(cltype24 >= var_pexterncallsnode9->type->table_size) {
5246 var23 = 0;
5247 } else {
5248 var23 = var_pexterncallsnode9->type->type_table[cltype24] == idtype25;
5249 }
5250 }
5251 if (!var23) {
5252 fprintf(stderr, "Runtime error: %s", "Assert failed");
5253 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21572);
5254 show_backtrace(1);
5255 }
5256 var_pexterncodeblocknode10 = var_nodearraylist9;
5257 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
5258 cltype27 = type_nullable_parser_nodes__AExternCodeBlock.color;
5259 idtype28 = type_nullable_parser_nodes__AExternCodeBlock.id;
5260 if(var_pexterncodeblocknode10 == NULL) {
5261 var26 = 1;
5262 } else {
5263 if(cltype27 >= var_pexterncodeblocknode10->type->table_size) {
5264 var26 = 0;
5265 } else {
5266 var26 = var_pexterncodeblocknode10->type->type_table[cltype27] == idtype28;
5267 }
5268 }
5269 if (!var26) {
5270 fprintf(stderr, "Runtime error: %s", "Assert failed");
5271 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21574);
5272 show_backtrace(1);
5273 }
5274 var29 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
5275 var30 = NULL;
5276 var31 = NULL;
5277 ((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>*/;
5278 var_ppropdefnode1 = var29;
5279 var_node_list = var_ppropdefnode1;
5280 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction491> */
5281 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
5282 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
5283 RET_LABEL:;
5284 }
5285 /* method parser#ReduceAction491#action for (self: Object, Parser) */
5286 void VIRTUAL_parser__ReduceAction491__action(val* self, val* p0) {
5287 parser__ReduceAction491__action(self, p0);
5288 RET_LABEL:;
5289 }
5290 /* method parser#ReduceAction492#action for (self: ReduceAction492, Parser) */
5291 void parser__ReduceAction492__action(val* self, val* p0) {
5292 val* var_p /* var p: Parser */;
5293 val* var /* : null */;
5294 val* var_node_list /* var node_list: nullable Object */;
5295 val* var1 /* : nullable Object */;
5296 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5297 val* var2 /* : nullable Object */;
5298 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5299 val* var3 /* : nullable Object */;
5300 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5301 val* var4 /* : nullable Object */;
5302 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5303 val* var5 /* : nullable Object */;
5304 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5305 val* var6 /* : nullable Object */;
5306 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5307 val* var7 /* : nullable Object */;
5308 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5309 val* var8 /* : nullable Object */;
5310 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5311 val* var9 /* : nullable Object */;
5312 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5313 val* var10 /* : nullable Object */;
5314 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5315 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5316 short int var11 /* : Bool */;
5317 int cltype;
5318 int idtype;
5319 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
5320 short int var12 /* : Bool */;
5321 int cltype13;
5322 int idtype14;
5323 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5324 short int var15 /* : Bool */;
5325 int cltype16;
5326 int idtype17;
5327 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
5328 short int var18 /* : Bool */;
5329 int cltype19;
5330 int idtype20;
5331 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
5332 short int var21 /* : Bool */;
5333 int cltype22;
5334 int idtype23;
5335 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
5336 short int var24 /* : Bool */;
5337 int cltype25;
5338 int idtype26;
5339 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
5340 short int var27 /* : Bool */;
5341 int cltype28;
5342 int idtype29;
5343 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
5344 short int var30 /* : Bool */;
5345 int cltype31;
5346 int idtype32;
5347 val* var33 /* : AExternInitPropdef */;
5348 val* var34 /* : null */;
5349 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
5350 long var35 /* : Int */;
5351 long var36 /* : Int */;
5352 var_p = p0;
5353 var = NULL;
5354 var_node_list = var;
5355 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5356 var_nodearraylist10 = var1;
5357 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5358 var_nodearraylist9 = var2;
5359 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5360 var_nodearraylist8 = var3;
5361 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5362 var_nodearraylist7 = var4;
5363 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5364 var_nodearraylist6 = var5;
5365 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5366 var_nodearraylist5 = var6;
5367 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5368 var_nodearraylist4 = var7;
5369 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5370 var_nodearraylist3 = var8;
5371 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5372 var_nodearraylist2 = var9;
5373 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5374 var_nodearraylist1 = var10;
5375 var_pdocnode2 = var_nodearraylist1;
5376 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5377 cltype = type_nullable_parser_nodes__ADoc.color;
5378 idtype = type_nullable_parser_nodes__ADoc.id;
5379 if(var_pdocnode2 == NULL) {
5380 var11 = 1;
5381 } else {
5382 if(cltype >= var_pdocnode2->type->table_size) {
5383 var11 = 0;
5384 } else {
5385 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
5386 }
5387 }
5388 if (!var11) {
5389 fprintf(stderr, "Runtime error: %s", "Assert failed");
5390 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21606);
5391 show_backtrace(1);
5392 }
5393 var_tkwredefnode3 = var_nodearraylist2;
5394 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
5395 cltype13 = type_nullable_parser_nodes__TKwredef.color;
5396 idtype14 = type_nullable_parser_nodes__TKwredef.id;
5397 if(var_tkwredefnode3 == NULL) {
5398 var12 = 1;
5399 } else {
5400 if(cltype13 >= var_tkwredefnode3->type->table_size) {
5401 var12 = 0;
5402 } else {
5403 var12 = var_tkwredefnode3->type->type_table[cltype13] == idtype14;
5404 }
5405 }
5406 if (!var12) {
5407 fprintf(stderr, "Runtime error: %s", "Assert failed");
5408 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21608);
5409 show_backtrace(1);
5410 }
5411 var_pvisibilitynode4 = var_nodearraylist3;
5412 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5413 cltype16 = type_nullable_parser_nodes__AVisibility.color;
5414 idtype17 = type_nullable_parser_nodes__AVisibility.id;
5415 if(var_pvisibilitynode4 == NULL) {
5416 var15 = 1;
5417 } else {
5418 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
5419 var15 = 0;
5420 } else {
5421 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
5422 }
5423 }
5424 if (!var15) {
5425 fprintf(stderr, "Runtime error: %s", "Assert failed");
5426 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21610);
5427 show_backtrace(1);
5428 }
5429 var_tkwnewnode5 = var_nodearraylist4;
5430 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
5431 cltype19 = type_nullable_parser_nodes__TKwnew.color;
5432 idtype20 = type_nullable_parser_nodes__TKwnew.id;
5433 if(var_tkwnewnode5 == NULL) {
5434 var18 = 1;
5435 } else {
5436 if(cltype19 >= var_tkwnewnode5->type->table_size) {
5437 var18 = 0;
5438 } else {
5439 var18 = var_tkwnewnode5->type->type_table[cltype19] == idtype20;
5440 }
5441 }
5442 if (!var18) {
5443 fprintf(stderr, "Runtime error: %s", "Assert failed");
5444 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21612);
5445 show_backtrace(1);
5446 }
5447 var_pmethidnode6 = var_nodearraylist5;
5448 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
5449 cltype22 = type_nullable_parser_nodes__AMethid.color;
5450 idtype23 = type_nullable_parser_nodes__AMethid.id;
5451 if(var_pmethidnode6 == NULL) {
5452 var21 = 1;
5453 } else {
5454 if(cltype22 >= var_pmethidnode6->type->table_size) {
5455 var21 = 0;
5456 } else {
5457 var21 = var_pmethidnode6->type->type_table[cltype22] == idtype23;
5458 }
5459 }
5460 if (!var21) {
5461 fprintf(stderr, "Runtime error: %s", "Assert failed");
5462 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21614);
5463 show_backtrace(1);
5464 }
5465 var_psignaturenode7 = var_nodearraylist6;
5466 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
5467 cltype25 = type_nullable_parser_nodes__ASignature.color;
5468 idtype26 = type_nullable_parser_nodes__ASignature.id;
5469 if(var_psignaturenode7 == NULL) {
5470 var24 = 1;
5471 } else {
5472 if(cltype25 >= var_psignaturenode7->type->table_size) {
5473 var24 = 0;
5474 } else {
5475 var24 = var_psignaturenode7->type->type_table[cltype25] == idtype26;
5476 }
5477 }
5478 if (!var24) {
5479 fprintf(stderr, "Runtime error: %s", "Assert failed");
5480 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21616);
5481 show_backtrace(1);
5482 }
5483 var_pexterncallsnode9 = var_nodearraylist9;
5484 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
5485 cltype28 = type_nullable_parser_nodes__AExternCalls.color;
5486 idtype29 = type_nullable_parser_nodes__AExternCalls.id;
5487 if(var_pexterncallsnode9 == NULL) {
5488 var27 = 1;
5489 } else {
5490 if(cltype28 >= var_pexterncallsnode9->type->table_size) {
5491 var27 = 0;
5492 } else {
5493 var27 = var_pexterncallsnode9->type->type_table[cltype28] == idtype29;
5494 }
5495 }
5496 if (!var27) {
5497 fprintf(stderr, "Runtime error: %s", "Assert failed");
5498 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21618);
5499 show_backtrace(1);
5500 }
5501 var_pexterncodeblocknode10 = var_nodearraylist10;
5502 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
5503 cltype31 = type_nullable_parser_nodes__AExternCodeBlock.color;
5504 idtype32 = type_nullable_parser_nodes__AExternCodeBlock.id;
5505 if(var_pexterncodeblocknode10 == NULL) {
5506 var30 = 1;
5507 } else {
5508 if(cltype31 >= var_pexterncodeblocknode10->type->table_size) {
5509 var30 = 0;
5510 } else {
5511 var30 = var_pexterncodeblocknode10->type->type_table[cltype31] == idtype32;
5512 }
5513 }
5514 if (!var30) {
5515 fprintf(stderr, "Runtime error: %s", "Assert failed");
5516 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21620);
5517 show_backtrace(1);
5518 }
5519 var33 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
5520 var34 = NULL;
5521 ((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>*/;
5522 var_ppropdefnode1 = var33;
5523 var_node_list = var_ppropdefnode1;
5524 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction492> */
5525 var36 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var35) /* go_to on <var_p:Parser>*/;
5526 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var36, var_node_list) /* push on <var_p:Parser>*/;
5527 RET_LABEL:;
5528 }
5529 /* method parser#ReduceAction492#action for (self: Object, Parser) */
5530 void VIRTUAL_parser__ReduceAction492__action(val* self, val* p0) {
5531 parser__ReduceAction492__action(self, p0);
5532 RET_LABEL:;
5533 }
5534 /* method parser#ReduceAction493#action for (self: ReduceAction493, Parser) */
5535 void parser__ReduceAction493__action(val* self, val* p0) {
5536 val* var_p /* var p: Parser */;
5537 val* var /* : null */;
5538 val* var_node_list /* var node_list: nullable Object */;
5539 val* var1 /* : nullable Object */;
5540 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5541 val* var2 /* : nullable Object */;
5542 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5543 val* var3 /* : nullable Object */;
5544 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5545 val* var4 /* : nullable Object */;
5546 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5547 val* var5 /* : nullable Object */;
5548 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5549 val* var6 /* : nullable Object */;
5550 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5551 val* var7 /* : nullable Object */;
5552 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5553 val* var8 /* : nullable Object */;
5554 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5555 val* var9 /* : nullable Object */;
5556 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5557 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5558 short int var10 /* : Bool */;
5559 int cltype;
5560 int idtype;
5561 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5562 short int var11 /* : Bool */;
5563 int cltype12;
5564 int idtype13;
5565 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
5566 short int var14 /* : Bool */;
5567 int cltype15;
5568 int idtype16;
5569 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
5570 short int var17 /* : Bool */;
5571 int cltype18;
5572 int idtype19;
5573 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
5574 short int var20 /* : Bool */;
5575 int cltype21;
5576 int idtype22;
5577 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
5578 short int var23 /* : Bool */;
5579 int cltype24;
5580 int idtype25;
5581 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
5582 short int var26 /* : Bool */;
5583 int cltype27;
5584 int idtype28;
5585 val* var29 /* : AExternInitPropdef */;
5586 val* var30 /* : null */;
5587 val* var31 /* : null */;
5588 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
5589 long var32 /* : Int */;
5590 long var33 /* : Int */;
5591 var_p = p0;
5592 var = NULL;
5593 var_node_list = var;
5594 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5595 var_nodearraylist9 = var1;
5596 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5597 var_nodearraylist8 = var2;
5598 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5599 var_nodearraylist7 = var3;
5600 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5601 var_nodearraylist6 = var4;
5602 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5603 var_nodearraylist5 = var5;
5604 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5605 var_nodearraylist4 = var6;
5606 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5607 var_nodearraylist3 = var7;
5608 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5609 var_nodearraylist2 = var8;
5610 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5611 var_nodearraylist1 = var9;
5612 var_pdocnode2 = var_nodearraylist1;
5613 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5614 cltype = type_nullable_parser_nodes__ADoc.color;
5615 idtype = type_nullable_parser_nodes__ADoc.id;
5616 if(var_pdocnode2 == NULL) {
5617 var10 = 1;
5618 } else {
5619 if(cltype >= var_pdocnode2->type->table_size) {
5620 var10 = 0;
5621 } else {
5622 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
5623 }
5624 }
5625 if (!var10) {
5626 fprintf(stderr, "Runtime error: %s", "Assert failed");
5627 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21651);
5628 show_backtrace(1);
5629 }
5630 var_pvisibilitynode4 = var_nodearraylist2;
5631 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5632 cltype12 = type_nullable_parser_nodes__AVisibility.color;
5633 idtype13 = type_nullable_parser_nodes__AVisibility.id;
5634 if(var_pvisibilitynode4 == NULL) {
5635 var11 = 1;
5636 } else {
5637 if(cltype12 >= var_pvisibilitynode4->type->table_size) {
5638 var11 = 0;
5639 } else {
5640 var11 = var_pvisibilitynode4->type->type_table[cltype12] == idtype13;
5641 }
5642 }
5643 if (!var11) {
5644 fprintf(stderr, "Runtime error: %s", "Assert failed");
5645 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21653);
5646 show_backtrace(1);
5647 }
5648 var_tkwnewnode5 = var_nodearraylist3;
5649 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
5650 cltype15 = type_nullable_parser_nodes__TKwnew.color;
5651 idtype16 = type_nullable_parser_nodes__TKwnew.id;
5652 if(var_tkwnewnode5 == NULL) {
5653 var14 = 1;
5654 } else {
5655 if(cltype15 >= var_tkwnewnode5->type->table_size) {
5656 var14 = 0;
5657 } else {
5658 var14 = var_tkwnewnode5->type->type_table[cltype15] == idtype16;
5659 }
5660 }
5661 if (!var14) {
5662 fprintf(stderr, "Runtime error: %s", "Assert failed");
5663 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21655);
5664 show_backtrace(1);
5665 }
5666 var_psignaturenode7 = var_nodearraylist4;
5667 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
5668 cltype18 = type_nullable_parser_nodes__ASignature.color;
5669 idtype19 = type_nullable_parser_nodes__ASignature.id;
5670 if(var_psignaturenode7 == NULL) {
5671 var17 = 1;
5672 } else {
5673 if(cltype18 >= var_psignaturenode7->type->table_size) {
5674 var17 = 0;
5675 } else {
5676 var17 = var_psignaturenode7->type->type_table[cltype18] == idtype19;
5677 }
5678 }
5679 if (!var17) {
5680 fprintf(stderr, "Runtime error: %s", "Assert failed");
5681 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21657);
5682 show_backtrace(1);
5683 }
5684 var_tstringnode8 = var_nodearraylist7;
5685 /* <var_tstringnode8:nullable Object> isa nullable TString */
5686 cltype21 = type_nullable_parser_nodes__TString.color;
5687 idtype22 = type_nullable_parser_nodes__TString.id;
5688 if(var_tstringnode8 == NULL) {
5689 var20 = 1;
5690 } else {
5691 if(cltype21 >= var_tstringnode8->type->table_size) {
5692 var20 = 0;
5693 } else {
5694 var20 = var_tstringnode8->type->type_table[cltype21] == idtype22;
5695 }
5696 }
5697 if (!var20) {
5698 fprintf(stderr, "Runtime error: %s", "Assert failed");
5699 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21659);
5700 show_backtrace(1);
5701 }
5702 var_pexterncallsnode9 = var_nodearraylist8;
5703 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
5704 cltype24 = type_nullable_parser_nodes__AExternCalls.color;
5705 idtype25 = type_nullable_parser_nodes__AExternCalls.id;
5706 if(var_pexterncallsnode9 == NULL) {
5707 var23 = 1;
5708 } else {
5709 if(cltype24 >= var_pexterncallsnode9->type->table_size) {
5710 var23 = 0;
5711 } else {
5712 var23 = var_pexterncallsnode9->type->type_table[cltype24] == idtype25;
5713 }
5714 }
5715 if (!var23) {
5716 fprintf(stderr, "Runtime error: %s", "Assert failed");
5717 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21661);
5718 show_backtrace(1);
5719 }
5720 var_pexterncodeblocknode10 = var_nodearraylist9;
5721 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
5722 cltype27 = type_nullable_parser_nodes__AExternCodeBlock.color;
5723 idtype28 = type_nullable_parser_nodes__AExternCodeBlock.id;
5724 if(var_pexterncodeblocknode10 == NULL) {
5725 var26 = 1;
5726 } else {
5727 if(cltype27 >= var_pexterncodeblocknode10->type->table_size) {
5728 var26 = 0;
5729 } else {
5730 var26 = var_pexterncodeblocknode10->type->type_table[cltype27] == idtype28;
5731 }
5732 }
5733 if (!var26) {
5734 fprintf(stderr, "Runtime error: %s", "Assert failed");
5735 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21663);
5736 show_backtrace(1);
5737 }
5738 var29 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
5739 var30 = NULL;
5740 var31 = NULL;
5741 ((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>*/;
5742 var_ppropdefnode1 = var29;
5743 var_node_list = var_ppropdefnode1;
5744 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction493> */
5745 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
5746 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
5747 RET_LABEL:;
5748 }
5749 /* method parser#ReduceAction493#action for (self: Object, Parser) */
5750 void VIRTUAL_parser__ReduceAction493__action(val* self, val* p0) {
5751 parser__ReduceAction493__action(self, p0);
5752 RET_LABEL:;
5753 }
5754 /* method parser#ReduceAction494#action for (self: ReduceAction494, Parser) */
5755 void parser__ReduceAction494__action(val* self, val* p0) {
5756 val* var_p /* var p: Parser */;
5757 val* var /* : null */;
5758 val* var_node_list /* var node_list: nullable Object */;
5759 val* var1 /* : nullable Object */;
5760 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5761 val* var2 /* : nullable Object */;
5762 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5763 val* var3 /* : nullable Object */;
5764 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5765 val* var4 /* : nullable Object */;
5766 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5767 val* var5 /* : nullable Object */;
5768 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5769 val* var6 /* : nullable Object */;
5770 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5771 val* var7 /* : nullable Object */;
5772 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5773 val* var8 /* : nullable Object */;
5774 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5775 val* var9 /* : nullable Object */;
5776 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5777 val* var10 /* : nullable Object */;
5778 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5779 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5780 short int var11 /* : Bool */;
5781 int cltype;
5782 int idtype;
5783 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
5784 short int var12 /* : Bool */;
5785 int cltype13;
5786 int idtype14;
5787 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5788 short int var15 /* : Bool */;
5789 int cltype16;
5790 int idtype17;
5791 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
5792 short int var18 /* : Bool */;
5793 int cltype19;
5794 int idtype20;
5795 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
5796 short int var21 /* : Bool */;
5797 int cltype22;
5798 int idtype23;
5799 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
5800 short int var24 /* : Bool */;
5801 int cltype25;
5802 int idtype26;
5803 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
5804 short int var27 /* : Bool */;
5805 int cltype28;
5806 int idtype29;
5807 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
5808 short int var30 /* : Bool */;
5809 int cltype31;
5810 int idtype32;
5811 val* var33 /* : AExternInitPropdef */;
5812 val* var34 /* : null */;
5813 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
5814 long var35 /* : Int */;
5815 long var36 /* : Int */;
5816 var_p = p0;
5817 var = NULL;
5818 var_node_list = var;
5819 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5820 var_nodearraylist10 = var1;
5821 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5822 var_nodearraylist9 = var2;
5823 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5824 var_nodearraylist8 = var3;
5825 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5826 var_nodearraylist7 = var4;
5827 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5828 var_nodearraylist6 = var5;
5829 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5830 var_nodearraylist5 = var6;
5831 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5832 var_nodearraylist4 = var7;
5833 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5834 var_nodearraylist3 = var8;
5835 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5836 var_nodearraylist2 = var9;
5837 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5838 var_nodearraylist1 = var10;
5839 var_pdocnode2 = var_nodearraylist1;
5840 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5841 cltype = type_nullable_parser_nodes__ADoc.color;
5842 idtype = type_nullable_parser_nodes__ADoc.id;
5843 if(var_pdocnode2 == NULL) {
5844 var11 = 1;
5845 } else {
5846 if(cltype >= var_pdocnode2->type->table_size) {
5847 var11 = 0;
5848 } else {
5849 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
5850 }
5851 }
5852 if (!var11) {
5853 fprintf(stderr, "Runtime error: %s", "Assert failed");
5854 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21695);
5855 show_backtrace(1);
5856 }
5857 var_tkwredefnode3 = var_nodearraylist2;
5858 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
5859 cltype13 = type_nullable_parser_nodes__TKwredef.color;
5860 idtype14 = type_nullable_parser_nodes__TKwredef.id;
5861 if(var_tkwredefnode3 == NULL) {
5862 var12 = 1;
5863 } else {
5864 if(cltype13 >= var_tkwredefnode3->type->table_size) {
5865 var12 = 0;
5866 } else {
5867 var12 = var_tkwredefnode3->type->type_table[cltype13] == idtype14;
5868 }
5869 }
5870 if (!var12) {
5871 fprintf(stderr, "Runtime error: %s", "Assert failed");
5872 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21697);
5873 show_backtrace(1);
5874 }
5875 var_pvisibilitynode4 = var_nodearraylist3;
5876 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5877 cltype16 = type_nullable_parser_nodes__AVisibility.color;
5878 idtype17 = type_nullable_parser_nodes__AVisibility.id;
5879 if(var_pvisibilitynode4 == NULL) {
5880 var15 = 1;
5881 } else {
5882 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
5883 var15 = 0;
5884 } else {
5885 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
5886 }
5887 }
5888 if (!var15) {
5889 fprintf(stderr, "Runtime error: %s", "Assert failed");
5890 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21699);
5891 show_backtrace(1);
5892 }
5893 var_tkwnewnode5 = var_nodearraylist4;
5894 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
5895 cltype19 = type_nullable_parser_nodes__TKwnew.color;
5896 idtype20 = type_nullable_parser_nodes__TKwnew.id;
5897 if(var_tkwnewnode5 == NULL) {
5898 var18 = 1;
5899 } else {
5900 if(cltype19 >= var_tkwnewnode5->type->table_size) {
5901 var18 = 0;
5902 } else {
5903 var18 = var_tkwnewnode5->type->type_table[cltype19] == idtype20;
5904 }
5905 }
5906 if (!var18) {
5907 fprintf(stderr, "Runtime error: %s", "Assert failed");
5908 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21701);
5909 show_backtrace(1);
5910 }
5911 var_psignaturenode7 = var_nodearraylist5;
5912 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
5913 cltype22 = type_nullable_parser_nodes__ASignature.color;
5914 idtype23 = type_nullable_parser_nodes__ASignature.id;
5915 if(var_psignaturenode7 == NULL) {
5916 var21 = 1;
5917 } else {
5918 if(cltype22 >= var_psignaturenode7->type->table_size) {
5919 var21 = 0;
5920 } else {
5921 var21 = var_psignaturenode7->type->type_table[cltype22] == idtype23;
5922 }
5923 }
5924 if (!var21) {
5925 fprintf(stderr, "Runtime error: %s", "Assert failed");
5926 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21703);
5927 show_backtrace(1);
5928 }
5929 var_tstringnode8 = var_nodearraylist8;
5930 /* <var_tstringnode8:nullable Object> isa nullable TString */
5931 cltype25 = type_nullable_parser_nodes__TString.color;
5932 idtype26 = type_nullable_parser_nodes__TString.id;
5933 if(var_tstringnode8 == NULL) {
5934 var24 = 1;
5935 } else {
5936 if(cltype25 >= var_tstringnode8->type->table_size) {
5937 var24 = 0;
5938 } else {
5939 var24 = var_tstringnode8->type->type_table[cltype25] == idtype26;
5940 }
5941 }
5942 if (!var24) {
5943 fprintf(stderr, "Runtime error: %s", "Assert failed");
5944 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21705);
5945 show_backtrace(1);
5946 }
5947 var_pexterncallsnode9 = var_nodearraylist9;
5948 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
5949 cltype28 = type_nullable_parser_nodes__AExternCalls.color;
5950 idtype29 = type_nullable_parser_nodes__AExternCalls.id;
5951 if(var_pexterncallsnode9 == NULL) {
5952 var27 = 1;
5953 } else {
5954 if(cltype28 >= var_pexterncallsnode9->type->table_size) {
5955 var27 = 0;
5956 } else {
5957 var27 = var_pexterncallsnode9->type->type_table[cltype28] == idtype29;
5958 }
5959 }
5960 if (!var27) {
5961 fprintf(stderr, "Runtime error: %s", "Assert failed");
5962 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21707);
5963 show_backtrace(1);
5964 }
5965 var_pexterncodeblocknode10 = var_nodearraylist10;
5966 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
5967 cltype31 = type_nullable_parser_nodes__AExternCodeBlock.color;
5968 idtype32 = type_nullable_parser_nodes__AExternCodeBlock.id;
5969 if(var_pexterncodeblocknode10 == NULL) {
5970 var30 = 1;
5971 } else {
5972 if(cltype31 >= var_pexterncodeblocknode10->type->table_size) {
5973 var30 = 0;
5974 } else {
5975 var30 = var_pexterncodeblocknode10->type->type_table[cltype31] == idtype32;
5976 }
5977 }
5978 if (!var30) {
5979 fprintf(stderr, "Runtime error: %s", "Assert failed");
5980 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21709);
5981 show_backtrace(1);
5982 }
5983 var33 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
5984 var34 = NULL;
5985 ((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>*/;
5986 var_ppropdefnode1 = var33;
5987 var_node_list = var_ppropdefnode1;
5988 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction494> */
5989 var36 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var35) /* go_to on <var_p:Parser>*/;
5990 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var36, var_node_list) /* push on <var_p:Parser>*/;
5991 RET_LABEL:;
5992 }
5993 /* method parser#ReduceAction494#action for (self: Object, Parser) */
5994 void VIRTUAL_parser__ReduceAction494__action(val* self, val* p0) {
5995 parser__ReduceAction494__action(self, p0);
5996 RET_LABEL:;
5997 }
5998 /* method parser#ReduceAction495#action for (self: ReduceAction495, Parser) */
5999 void parser__ReduceAction495__action(val* self, val* p0) {
6000 val* var_p /* var p: Parser */;
6001 val* var /* : null */;
6002 val* var_node_list /* var node_list: nullable Object */;
6003 val* var1 /* : nullable Object */;
6004 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6005 val* var2 /* : nullable Object */;
6006 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6007 val* var3 /* : nullable Object */;
6008 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6009 val* var4 /* : nullable Object */;
6010 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6011 val* var5 /* : nullable Object */;
6012 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6013 val* var6 /* : nullable Object */;
6014 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6015 val* var7 /* : nullable Object */;
6016 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6017 val* var8 /* : nullable Object */;
6018 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6019 val* var9 /* : nullable Object */;
6020 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6021 val* var10 /* : nullable Object */;
6022 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6023 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6024 short int var11 /* : Bool */;
6025 int cltype;
6026 int idtype;
6027 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6028 short int var12 /* : Bool */;
6029 int cltype13;
6030 int idtype14;
6031 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
6032 short int var15 /* : Bool */;
6033 int cltype16;
6034 int idtype17;
6035 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
6036 short int var18 /* : Bool */;
6037 int cltype19;
6038 int idtype20;
6039 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
6040 short int var21 /* : Bool */;
6041 int cltype22;
6042 int idtype23;
6043 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
6044 short int var24 /* : Bool */;
6045 int cltype25;
6046 int idtype26;
6047 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
6048 short int var27 /* : Bool */;
6049 int cltype28;
6050 int idtype29;
6051 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
6052 short int var30 /* : Bool */;
6053 int cltype31;
6054 int idtype32;
6055 val* var33 /* : AExternInitPropdef */;
6056 val* var34 /* : null */;
6057 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
6058 long var35 /* : Int */;
6059 long var36 /* : Int */;
6060 var_p = p0;
6061 var = NULL;
6062 var_node_list = var;
6063 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6064 var_nodearraylist10 = var1;
6065 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6066 var_nodearraylist9 = var2;
6067 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6068 var_nodearraylist8 = var3;
6069 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6070 var_nodearraylist7 = var4;
6071 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6072 var_nodearraylist6 = var5;
6073 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6074 var_nodearraylist5 = var6;
6075 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6076 var_nodearraylist4 = var7;
6077 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6078 var_nodearraylist3 = var8;
6079 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6080 var_nodearraylist2 = var9;
6081 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6082 var_nodearraylist1 = var10;
6083 var_pdocnode2 = var_nodearraylist1;
6084 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6085 cltype = type_nullable_parser_nodes__ADoc.color;
6086 idtype = type_nullable_parser_nodes__ADoc.id;
6087 if(var_pdocnode2 == NULL) {
6088 var11 = 1;
6089 } else {
6090 if(cltype >= var_pdocnode2->type->table_size) {
6091 var11 = 0;
6092 } else {
6093 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
6094 }
6095 }
6096 if (!var11) {
6097 fprintf(stderr, "Runtime error: %s", "Assert failed");
6098 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21741);
6099 show_backtrace(1);
6100 }
6101 var_pvisibilitynode4 = var_nodearraylist2;
6102 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6103 cltype13 = type_nullable_parser_nodes__AVisibility.color;
6104 idtype14 = type_nullable_parser_nodes__AVisibility.id;
6105 if(var_pvisibilitynode4 == NULL) {
6106 var12 = 1;
6107 } else {
6108 if(cltype13 >= var_pvisibilitynode4->type->table_size) {
6109 var12 = 0;
6110 } else {
6111 var12 = var_pvisibilitynode4->type->type_table[cltype13] == idtype14;
6112 }
6113 }
6114 if (!var12) {
6115 fprintf(stderr, "Runtime error: %s", "Assert failed");
6116 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21743);
6117 show_backtrace(1);
6118 }
6119 var_tkwnewnode5 = var_nodearraylist3;
6120 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
6121 cltype16 = type_nullable_parser_nodes__TKwnew.color;
6122 idtype17 = type_nullable_parser_nodes__TKwnew.id;
6123 if(var_tkwnewnode5 == NULL) {
6124 var15 = 1;
6125 } else {
6126 if(cltype16 >= var_tkwnewnode5->type->table_size) {
6127 var15 = 0;
6128 } else {
6129 var15 = var_tkwnewnode5->type->type_table[cltype16] == idtype17;
6130 }
6131 }
6132 if (!var15) {
6133 fprintf(stderr, "Runtime error: %s", "Assert failed");
6134 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21745);
6135 show_backtrace(1);
6136 }
6137 var_pmethidnode6 = var_nodearraylist4;
6138 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
6139 cltype19 = type_nullable_parser_nodes__AMethid.color;
6140 idtype20 = type_nullable_parser_nodes__AMethid.id;
6141 if(var_pmethidnode6 == NULL) {
6142 var18 = 1;
6143 } else {
6144 if(cltype19 >= var_pmethidnode6->type->table_size) {
6145 var18 = 0;
6146 } else {
6147 var18 = var_pmethidnode6->type->type_table[cltype19] == idtype20;
6148 }
6149 }
6150 if (!var18) {
6151 fprintf(stderr, "Runtime error: %s", "Assert failed");
6152 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21747);
6153 show_backtrace(1);
6154 }
6155 var_psignaturenode7 = var_nodearraylist5;
6156 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
6157 cltype22 = type_nullable_parser_nodes__ASignature.color;
6158 idtype23 = type_nullable_parser_nodes__ASignature.id;
6159 if(var_psignaturenode7 == NULL) {
6160 var21 = 1;
6161 } else {
6162 if(cltype22 >= var_psignaturenode7->type->table_size) {
6163 var21 = 0;
6164 } else {
6165 var21 = var_psignaturenode7->type->type_table[cltype22] == idtype23;
6166 }
6167 }
6168 if (!var21) {
6169 fprintf(stderr, "Runtime error: %s", "Assert failed");
6170 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21749);
6171 show_backtrace(1);
6172 }
6173 var_tstringnode8 = var_nodearraylist8;
6174 /* <var_tstringnode8:nullable Object> isa nullable TString */
6175 cltype25 = type_nullable_parser_nodes__TString.color;
6176 idtype26 = type_nullable_parser_nodes__TString.id;
6177 if(var_tstringnode8 == NULL) {
6178 var24 = 1;
6179 } else {
6180 if(cltype25 >= var_tstringnode8->type->table_size) {
6181 var24 = 0;
6182 } else {
6183 var24 = var_tstringnode8->type->type_table[cltype25] == idtype26;
6184 }
6185 }
6186 if (!var24) {
6187 fprintf(stderr, "Runtime error: %s", "Assert failed");
6188 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21751);
6189 show_backtrace(1);
6190 }
6191 var_pexterncallsnode9 = var_nodearraylist9;
6192 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
6193 cltype28 = type_nullable_parser_nodes__AExternCalls.color;
6194 idtype29 = type_nullable_parser_nodes__AExternCalls.id;
6195 if(var_pexterncallsnode9 == NULL) {
6196 var27 = 1;
6197 } else {
6198 if(cltype28 >= var_pexterncallsnode9->type->table_size) {
6199 var27 = 0;
6200 } else {
6201 var27 = var_pexterncallsnode9->type->type_table[cltype28] == idtype29;
6202 }
6203 }
6204 if (!var27) {
6205 fprintf(stderr, "Runtime error: %s", "Assert failed");
6206 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21753);
6207 show_backtrace(1);
6208 }
6209 var_pexterncodeblocknode10 = var_nodearraylist10;
6210 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
6211 cltype31 = type_nullable_parser_nodes__AExternCodeBlock.color;
6212 idtype32 = type_nullable_parser_nodes__AExternCodeBlock.id;
6213 if(var_pexterncodeblocknode10 == NULL) {
6214 var30 = 1;
6215 } else {
6216 if(cltype31 >= var_pexterncodeblocknode10->type->table_size) {
6217 var30 = 0;
6218 } else {
6219 var30 = var_pexterncodeblocknode10->type->type_table[cltype31] == idtype32;
6220 }
6221 }
6222 if (!var30) {
6223 fprintf(stderr, "Runtime error: %s", "Assert failed");
6224 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21755);
6225 show_backtrace(1);
6226 }
6227 var33 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
6228 var34 = NULL;
6229 ((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>*/;
6230 var_ppropdefnode1 = var33;
6231 var_node_list = var_ppropdefnode1;
6232 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction495> */
6233 var36 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var35) /* go_to on <var_p:Parser>*/;
6234 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var36, var_node_list) /* push on <var_p:Parser>*/;
6235 RET_LABEL:;
6236 }
6237 /* method parser#ReduceAction495#action for (self: Object, Parser) */
6238 void VIRTUAL_parser__ReduceAction495__action(val* self, val* p0) {
6239 parser__ReduceAction495__action(self, p0);
6240 RET_LABEL:;
6241 }
6242 /* method parser#ReduceAction496#action for (self: ReduceAction496, Parser) */
6243 void parser__ReduceAction496__action(val* self, val* p0) {
6244 val* var_p /* var p: Parser */;
6245 val* var /* : null */;
6246 val* var_node_list /* var node_list: nullable Object */;
6247 val* var1 /* : nullable Object */;
6248 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
6249 val* var2 /* : nullable Object */;
6250 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6251 val* var3 /* : nullable Object */;
6252 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6253 val* var4 /* : nullable Object */;
6254 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6255 val* var5 /* : nullable Object */;
6256 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6257 val* var6 /* : nullable Object */;
6258 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6259 val* var7 /* : nullable Object */;
6260 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6261 val* var8 /* : nullable Object */;
6262 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6263 val* var9 /* : nullable Object */;
6264 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6265 val* var10 /* : nullable Object */;
6266 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6267 val* var11 /* : nullable Object */;
6268 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6269 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6270 short int var12 /* : Bool */;
6271 int cltype;
6272 int idtype;
6273 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
6274 short int var13 /* : Bool */;
6275 int cltype14;
6276 int idtype15;
6277 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6278 short int var16 /* : Bool */;
6279 int cltype17;
6280 int idtype18;
6281 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
6282 short int var19 /* : Bool */;
6283 int cltype20;
6284 int idtype21;
6285 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
6286 short int var22 /* : Bool */;
6287 int cltype23;
6288 int idtype24;
6289 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
6290 short int var25 /* : Bool */;
6291 int cltype26;
6292 int idtype27;
6293 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
6294 short int var28 /* : Bool */;
6295 int cltype29;
6296 int idtype30;
6297 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
6298 short int var31 /* : Bool */;
6299 int cltype32;
6300 int idtype33;
6301 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
6302 short int var34 /* : Bool */;
6303 int cltype35;
6304 int idtype36;
6305 val* var37 /* : AExternInitPropdef */;
6306 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
6307 long var38 /* : Int */;
6308 long var39 /* : Int */;
6309 var_p = p0;
6310 var = NULL;
6311 var_node_list = var;
6312 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6313 var_nodearraylist11 = var1;
6314 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6315 var_nodearraylist10 = var2;
6316 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6317 var_nodearraylist9 = var3;
6318 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6319 var_nodearraylist8 = var4;
6320 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6321 var_nodearraylist7 = var5;
6322 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6323 var_nodearraylist6 = var6;
6324 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6325 var_nodearraylist5 = var7;
6326 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6327 var_nodearraylist4 = var8;
6328 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6329 var_nodearraylist3 = var9;
6330 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6331 var_nodearraylist2 = var10;
6332 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6333 var_nodearraylist1 = var11;
6334 var_pdocnode2 = var_nodearraylist1;
6335 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6336 cltype = type_nullable_parser_nodes__ADoc.color;
6337 idtype = type_nullable_parser_nodes__ADoc.id;
6338 if(var_pdocnode2 == NULL) {
6339 var12 = 1;
6340 } else {
6341 if(cltype >= var_pdocnode2->type->table_size) {
6342 var12 = 0;
6343 } else {
6344 var12 = var_pdocnode2->type->type_table[cltype] == idtype;
6345 }
6346 }
6347 if (!var12) {
6348 fprintf(stderr, "Runtime error: %s", "Assert failed");
6349 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21788);
6350 show_backtrace(1);
6351 }
6352 var_tkwredefnode3 = var_nodearraylist2;
6353 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6354 cltype14 = type_nullable_parser_nodes__TKwredef.color;
6355 idtype15 = type_nullable_parser_nodes__TKwredef.id;
6356 if(var_tkwredefnode3 == NULL) {
6357 var13 = 1;
6358 } else {
6359 if(cltype14 >= var_tkwredefnode3->type->table_size) {
6360 var13 = 0;
6361 } else {
6362 var13 = var_tkwredefnode3->type->type_table[cltype14] == idtype15;
6363 }
6364 }
6365 if (!var13) {
6366 fprintf(stderr, "Runtime error: %s", "Assert failed");
6367 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21790);
6368 show_backtrace(1);
6369 }
6370 var_pvisibilitynode4 = var_nodearraylist3;
6371 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6372 cltype17 = type_nullable_parser_nodes__AVisibility.color;
6373 idtype18 = type_nullable_parser_nodes__AVisibility.id;
6374 if(var_pvisibilitynode4 == NULL) {
6375 var16 = 1;
6376 } else {
6377 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
6378 var16 = 0;
6379 } else {
6380 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
6381 }
6382 }
6383 if (!var16) {
6384 fprintf(stderr, "Runtime error: %s", "Assert failed");
6385 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21792);
6386 show_backtrace(1);
6387 }
6388 var_tkwnewnode5 = var_nodearraylist4;
6389 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
6390 cltype20 = type_nullable_parser_nodes__TKwnew.color;
6391 idtype21 = type_nullable_parser_nodes__TKwnew.id;
6392 if(var_tkwnewnode5 == NULL) {
6393 var19 = 1;
6394 } else {
6395 if(cltype20 >= var_tkwnewnode5->type->table_size) {
6396 var19 = 0;
6397 } else {
6398 var19 = var_tkwnewnode5->type->type_table[cltype20] == idtype21;
6399 }
6400 }
6401 if (!var19) {
6402 fprintf(stderr, "Runtime error: %s", "Assert failed");
6403 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21794);
6404 show_backtrace(1);
6405 }
6406 var_pmethidnode6 = var_nodearraylist5;
6407 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
6408 cltype23 = type_nullable_parser_nodes__AMethid.color;
6409 idtype24 = type_nullable_parser_nodes__AMethid.id;
6410 if(var_pmethidnode6 == NULL) {
6411 var22 = 1;
6412 } else {
6413 if(cltype23 >= var_pmethidnode6->type->table_size) {
6414 var22 = 0;
6415 } else {
6416 var22 = var_pmethidnode6->type->type_table[cltype23] == idtype24;
6417 }
6418 }
6419 if (!var22) {
6420 fprintf(stderr, "Runtime error: %s", "Assert failed");
6421 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21796);
6422 show_backtrace(1);
6423 }
6424 var_psignaturenode7 = var_nodearraylist6;
6425 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
6426 cltype26 = type_nullable_parser_nodes__ASignature.color;
6427 idtype27 = type_nullable_parser_nodes__ASignature.id;
6428 if(var_psignaturenode7 == NULL) {
6429 var25 = 1;
6430 } else {
6431 if(cltype26 >= var_psignaturenode7->type->table_size) {
6432 var25 = 0;
6433 } else {
6434 var25 = var_psignaturenode7->type->type_table[cltype26] == idtype27;
6435 }
6436 }
6437 if (!var25) {
6438 fprintf(stderr, "Runtime error: %s", "Assert failed");
6439 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21798);
6440 show_backtrace(1);
6441 }
6442 var_tstringnode8 = var_nodearraylist9;
6443 /* <var_tstringnode8:nullable Object> isa nullable TString */
6444 cltype29 = type_nullable_parser_nodes__TString.color;
6445 idtype30 = type_nullable_parser_nodes__TString.id;
6446 if(var_tstringnode8 == NULL) {
6447 var28 = 1;
6448 } else {
6449 if(cltype29 >= var_tstringnode8->type->table_size) {
6450 var28 = 0;
6451 } else {
6452 var28 = var_tstringnode8->type->type_table[cltype29] == idtype30;
6453 }
6454 }
6455 if (!var28) {
6456 fprintf(stderr, "Runtime error: %s", "Assert failed");
6457 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21800);
6458 show_backtrace(1);
6459 }
6460 var_pexterncallsnode9 = var_nodearraylist10;
6461 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
6462 cltype32 = type_nullable_parser_nodes__AExternCalls.color;
6463 idtype33 = type_nullable_parser_nodes__AExternCalls.id;
6464 if(var_pexterncallsnode9 == NULL) {
6465 var31 = 1;
6466 } else {
6467 if(cltype32 >= var_pexterncallsnode9->type->table_size) {
6468 var31 = 0;
6469 } else {
6470 var31 = var_pexterncallsnode9->type->type_table[cltype32] == idtype33;
6471 }
6472 }
6473 if (!var31) {
6474 fprintf(stderr, "Runtime error: %s", "Assert failed");
6475 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21802);
6476 show_backtrace(1);
6477 }
6478 var_pexterncodeblocknode10 = var_nodearraylist11;
6479 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
6480 cltype35 = type_nullable_parser_nodes__AExternCodeBlock.color;
6481 idtype36 = type_nullable_parser_nodes__AExternCodeBlock.id;
6482 if(var_pexterncodeblocknode10 == NULL) {
6483 var34 = 1;
6484 } else {
6485 if(cltype35 >= var_pexterncodeblocknode10->type->table_size) {
6486 var34 = 0;
6487 } else {
6488 var34 = var_pexterncodeblocknode10->type->type_table[cltype35] == idtype36;
6489 }
6490 }
6491 if (!var34) {
6492 fprintf(stderr, "Runtime error: %s", "Assert failed");
6493 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21804);
6494 show_backtrace(1);
6495 }
6496 var37 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
6497 ((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>*/;
6498 var_ppropdefnode1 = var37;
6499 var_node_list = var_ppropdefnode1;
6500 var38 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction496> */
6501 var39 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var38) /* go_to on <var_p:Parser>*/;
6502 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var39, var_node_list) /* push on <var_p:Parser>*/;
6503 RET_LABEL:;
6504 }
6505 /* method parser#ReduceAction496#action for (self: Object, Parser) */
6506 void VIRTUAL_parser__ReduceAction496__action(val* self, val* p0) {
6507 parser__ReduceAction496__action(self, p0);
6508 RET_LABEL:;
6509 }
6510 /* method parser#ReduceAction497#action for (self: ReduceAction497, Parser) */
6511 void parser__ReduceAction497__action(val* self, val* p0) {
6512 val* var_p /* var p: Parser */;
6513 val* var /* : null */;
6514 val* var_node_list /* var node_list: nullable Object */;
6515 val* var1 /* : nullable Object */;
6516 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6517 val* var2 /* : nullable Object */;
6518 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6519 val* var3 /* : nullable Object */;
6520 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6521 val* var4 /* : nullable Object */;
6522 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6523 val* var5 /* : nullable Object */;
6524 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6525 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6526 short int var6 /* : Bool */;
6527 int cltype;
6528 int idtype;
6529 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6530 short int var7 /* : Bool */;
6531 int cltype8;
6532 int idtype9;
6533 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
6534 short int var10 /* : Bool */;
6535 int cltype11;
6536 int idtype12;
6537 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
6538 short int var13 /* : Bool */;
6539 int cltype14;
6540 int idtype15;
6541 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
6542 short int var16 /* : Bool */;
6543 int cltype17;
6544 int idtype18;
6545 val* var19 /* : AExternInitPropdef */;
6546 val* var20 /* : null */;
6547 val* var21 /* : null */;
6548 val* var22 /* : null */;
6549 val* var23 /* : null */;
6550 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
6551 long var24 /* : Int */;
6552 long var25 /* : Int */;
6553 var_p = p0;
6554 var = NULL;
6555 var_node_list = var;
6556 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6557 var_nodearraylist5 = var1;
6558 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6559 var_nodearraylist4 = var2;
6560 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6561 var_nodearraylist3 = var3;
6562 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6563 var_nodearraylist2 = var4;
6564 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6565 var_nodearraylist1 = var5;
6566 var_pdocnode2 = var_nodearraylist1;
6567 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6568 cltype = type_nullable_parser_nodes__ADoc.color;
6569 idtype = type_nullable_parser_nodes__ADoc.id;
6570 if(var_pdocnode2 == NULL) {
6571 var6 = 1;
6572 } else {
6573 if(cltype >= var_pdocnode2->type->table_size) {
6574 var6 = 0;
6575 } else {
6576 var6 = var_pdocnode2->type->type_table[cltype] == idtype;
6577 }
6578 }
6579 if (!var6) {
6580 fprintf(stderr, "Runtime error: %s", "Assert failed");
6581 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21831);
6582 show_backtrace(1);
6583 }
6584 var_pvisibilitynode4 = var_nodearraylist2;
6585 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6586 cltype8 = type_nullable_parser_nodes__AVisibility.color;
6587 idtype9 = type_nullable_parser_nodes__AVisibility.id;
6588 if(var_pvisibilitynode4 == NULL) {
6589 var7 = 1;
6590 } else {
6591 if(cltype8 >= var_pvisibilitynode4->type->table_size) {
6592 var7 = 0;
6593 } else {
6594 var7 = var_pvisibilitynode4->type->type_table[cltype8] == idtype9;
6595 }
6596 }
6597 if (!var7) {
6598 fprintf(stderr, "Runtime error: %s", "Assert failed");
6599 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21833);
6600 show_backtrace(1);
6601 }
6602 var_tkwnewnode5 = var_nodearraylist3;
6603 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
6604 cltype11 = type_nullable_parser_nodes__TKwnew.color;
6605 idtype12 = type_nullable_parser_nodes__TKwnew.id;
6606 if(var_tkwnewnode5 == NULL) {
6607 var10 = 1;
6608 } else {
6609 if(cltype11 >= var_tkwnewnode5->type->table_size) {
6610 var10 = 0;
6611 } else {
6612 var10 = var_tkwnewnode5->type->type_table[cltype11] == idtype12;
6613 }
6614 }
6615 if (!var10) {
6616 fprintf(stderr, "Runtime error: %s", "Assert failed");
6617 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21835);
6618 show_backtrace(1);
6619 }
6620 var_psignaturenode7 = var_nodearraylist4;
6621 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
6622 cltype14 = type_nullable_parser_nodes__ASignature.color;
6623 idtype15 = type_nullable_parser_nodes__ASignature.id;
6624 if(var_psignaturenode7 == NULL) {
6625 var13 = 1;
6626 } else {
6627 if(cltype14 >= var_psignaturenode7->type->table_size) {
6628 var13 = 0;
6629 } else {
6630 var13 = var_psignaturenode7->type->type_table[cltype14] == idtype15;
6631 }
6632 }
6633 if (!var13) {
6634 fprintf(stderr, "Runtime error: %s", "Assert failed");
6635 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21837);
6636 show_backtrace(1);
6637 }
6638 var_pexterncodeblocknode10 = var_nodearraylist5;
6639 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
6640 cltype17 = type_nullable_parser_nodes__AExternCodeBlock.color;
6641 idtype18 = type_nullable_parser_nodes__AExternCodeBlock.id;
6642 if(var_pexterncodeblocknode10 == NULL) {
6643 var16 = 1;
6644 } else {
6645 if(cltype17 >= var_pexterncodeblocknode10->type->table_size) {
6646 var16 = 0;
6647 } else {
6648 var16 = var_pexterncodeblocknode10->type->type_table[cltype17] == idtype18;
6649 }
6650 }
6651 if (!var16) {
6652 fprintf(stderr, "Runtime error: %s", "Assert failed");
6653 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21839);
6654 show_backtrace(1);
6655 }
6656 var19 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
6657 var20 = NULL;
6658 var21 = NULL;
6659 var22 = NULL;
6660 var23 = NULL;
6661 ((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>*/;
6662 var_ppropdefnode1 = var19;
6663 var_node_list = var_ppropdefnode1;
6664 var24 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction497> */
6665 var25 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var24) /* go_to on <var_p:Parser>*/;
6666 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var25, var_node_list) /* push on <var_p:Parser>*/;
6667 RET_LABEL:;
6668 }
6669 /* method parser#ReduceAction497#action for (self: Object, Parser) */
6670 void VIRTUAL_parser__ReduceAction497__action(val* self, val* p0) {
6671 parser__ReduceAction497__action(self, p0);
6672 RET_LABEL:;
6673 }
6674 /* method parser#ReduceAction498#action for (self: ReduceAction498, Parser) */
6675 void parser__ReduceAction498__action(val* self, val* p0) {
6676 val* var_p /* var p: Parser */;
6677 val* var /* : null */;
6678 val* var_node_list /* var node_list: nullable Object */;
6679 val* var1 /* : nullable Object */;
6680 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6681 val* var2 /* : nullable Object */;
6682 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6683 val* var3 /* : nullable Object */;
6684 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6685 val* var4 /* : nullable Object */;
6686 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6687 val* var5 /* : nullable Object */;
6688 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6689 val* var6 /* : nullable Object */;
6690 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6691 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6692 short int var7 /* : Bool */;
6693 int cltype;
6694 int idtype;
6695 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
6696 short int var8 /* : Bool */;
6697 int cltype9;
6698 int idtype10;
6699 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6700 short int var11 /* : Bool */;
6701 int cltype12;
6702 int idtype13;
6703 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
6704 short int var14 /* : Bool */;
6705 int cltype15;
6706 int idtype16;
6707 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
6708 short int var17 /* : Bool */;
6709 int cltype18;
6710 int idtype19;
6711 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
6712 short int var20 /* : Bool */;
6713 int cltype21;
6714 int idtype22;
6715 val* var23 /* : AExternInitPropdef */;
6716 val* var24 /* : null */;
6717 val* var25 /* : null */;
6718 val* var26 /* : null */;
6719 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
6720 long var27 /* : Int */;
6721 long var28 /* : Int */;
6722 var_p = p0;
6723 var = NULL;
6724 var_node_list = var;
6725 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6726 var_nodearraylist6 = var1;
6727 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6728 var_nodearraylist5 = var2;
6729 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6730 var_nodearraylist4 = var3;
6731 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6732 var_nodearraylist3 = var4;
6733 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6734 var_nodearraylist2 = var5;
6735 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6736 var_nodearraylist1 = var6;
6737 var_pdocnode2 = var_nodearraylist1;
6738 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6739 cltype = type_nullable_parser_nodes__ADoc.color;
6740 idtype = type_nullable_parser_nodes__ADoc.id;
6741 if(var_pdocnode2 == NULL) {
6742 var7 = 1;
6743 } else {
6744 if(cltype >= var_pdocnode2->type->table_size) {
6745 var7 = 0;
6746 } else {
6747 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
6748 }
6749 }
6750 if (!var7) {
6751 fprintf(stderr, "Runtime error: %s", "Assert failed");
6752 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21867);
6753 show_backtrace(1);
6754 }
6755 var_tkwredefnode3 = var_nodearraylist2;
6756 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6757 cltype9 = type_nullable_parser_nodes__TKwredef.color;
6758 idtype10 = type_nullable_parser_nodes__TKwredef.id;
6759 if(var_tkwredefnode3 == NULL) {
6760 var8 = 1;
6761 } else {
6762 if(cltype9 >= var_tkwredefnode3->type->table_size) {
6763 var8 = 0;
6764 } else {
6765 var8 = var_tkwredefnode3->type->type_table[cltype9] == idtype10;
6766 }
6767 }
6768 if (!var8) {
6769 fprintf(stderr, "Runtime error: %s", "Assert failed");
6770 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21869);
6771 show_backtrace(1);
6772 }
6773 var_pvisibilitynode4 = var_nodearraylist3;
6774 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6775 cltype12 = type_nullable_parser_nodes__AVisibility.color;
6776 idtype13 = type_nullable_parser_nodes__AVisibility.id;
6777 if(var_pvisibilitynode4 == NULL) {
6778 var11 = 1;
6779 } else {
6780 if(cltype12 >= var_pvisibilitynode4->type->table_size) {
6781 var11 = 0;
6782 } else {
6783 var11 = var_pvisibilitynode4->type->type_table[cltype12] == idtype13;
6784 }
6785 }
6786 if (!var11) {
6787 fprintf(stderr, "Runtime error: %s", "Assert failed");
6788 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21871);
6789 show_backtrace(1);
6790 }
6791 var_tkwnewnode5 = var_nodearraylist4;
6792 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
6793 cltype15 = type_nullable_parser_nodes__TKwnew.color;
6794 idtype16 = type_nullable_parser_nodes__TKwnew.id;
6795 if(var_tkwnewnode5 == NULL) {
6796 var14 = 1;
6797 } else {
6798 if(cltype15 >= var_tkwnewnode5->type->table_size) {
6799 var14 = 0;
6800 } else {
6801 var14 = var_tkwnewnode5->type->type_table[cltype15] == idtype16;
6802 }
6803 }
6804 if (!var14) {
6805 fprintf(stderr, "Runtime error: %s", "Assert failed");
6806 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21873);
6807 show_backtrace(1);
6808 }
6809 var_psignaturenode7 = var_nodearraylist5;
6810 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
6811 cltype18 = type_nullable_parser_nodes__ASignature.color;
6812 idtype19 = type_nullable_parser_nodes__ASignature.id;
6813 if(var_psignaturenode7 == NULL) {
6814 var17 = 1;
6815 } else {
6816 if(cltype18 >= var_psignaturenode7->type->table_size) {
6817 var17 = 0;
6818 } else {
6819 var17 = var_psignaturenode7->type->type_table[cltype18] == idtype19;
6820 }
6821 }
6822 if (!var17) {
6823 fprintf(stderr, "Runtime error: %s", "Assert failed");
6824 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21875);
6825 show_backtrace(1);
6826 }
6827 var_pexterncodeblocknode10 = var_nodearraylist6;
6828 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
6829 cltype21 = type_nullable_parser_nodes__AExternCodeBlock.color;
6830 idtype22 = type_nullable_parser_nodes__AExternCodeBlock.id;
6831 if(var_pexterncodeblocknode10 == NULL) {
6832 var20 = 1;
6833 } else {
6834 if(cltype21 >= var_pexterncodeblocknode10->type->table_size) {
6835 var20 = 0;
6836 } else {
6837 var20 = var_pexterncodeblocknode10->type->type_table[cltype21] == idtype22;
6838 }
6839 }
6840 if (!var20) {
6841 fprintf(stderr, "Runtime error: %s", "Assert failed");
6842 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21877);
6843 show_backtrace(1);
6844 }
6845 var23 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
6846 var24 = NULL;
6847 var25 = NULL;
6848 var26 = NULL;
6849 ((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>*/;
6850 var_ppropdefnode1 = var23;
6851 var_node_list = var_ppropdefnode1;
6852 var27 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction498> */
6853 var28 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var27) /* go_to on <var_p:Parser>*/;
6854 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var28, var_node_list) /* push on <var_p:Parser>*/;
6855 RET_LABEL:;
6856 }
6857 /* method parser#ReduceAction498#action for (self: Object, Parser) */
6858 void VIRTUAL_parser__ReduceAction498__action(val* self, val* p0) {
6859 parser__ReduceAction498__action(self, p0);
6860 RET_LABEL:;
6861 }
6862 /* method parser#ReduceAction499#action for (self: ReduceAction499, Parser) */
6863 void parser__ReduceAction499__action(val* self, val* p0) {
6864 val* var_p /* var p: Parser */;
6865 val* var /* : null */;
6866 val* var_node_list /* var node_list: nullable Object */;
6867 val* var1 /* : nullable Object */;
6868 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6869 val* var2 /* : nullable Object */;
6870 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6871 val* var3 /* : nullable Object */;
6872 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6873 val* var4 /* : nullable Object */;
6874 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6875 val* var5 /* : nullable Object */;
6876 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6877 val* var6 /* : nullable Object */;
6878 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6879 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6880 short int var7 /* : Bool */;
6881 int cltype;
6882 int idtype;
6883 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6884 short int var8 /* : Bool */;
6885 int cltype9;
6886 int idtype10;
6887 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
6888 short int var11 /* : Bool */;
6889 int cltype12;
6890 int idtype13;
6891 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
6892 short int var14 /* : Bool */;
6893 int cltype15;
6894 int idtype16;
6895 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
6896 short int var17 /* : Bool */;
6897 int cltype18;
6898 int idtype19;
6899 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
6900 short int var20 /* : Bool */;
6901 int cltype21;
6902 int idtype22;
6903 val* var23 /* : AExternInitPropdef */;
6904 val* var24 /* : null */;
6905 val* var25 /* : null */;
6906 val* var26 /* : null */;
6907 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
6908 long var27 /* : Int */;
6909 long var28 /* : Int */;
6910 var_p = p0;
6911 var = NULL;
6912 var_node_list = var;
6913 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6914 var_nodearraylist6 = var1;
6915 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6916 var_nodearraylist5 = var2;
6917 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6918 var_nodearraylist4 = var3;
6919 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6920 var_nodearraylist3 = var4;
6921 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6922 var_nodearraylist2 = var5;
6923 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6924 var_nodearraylist1 = var6;
6925 var_pdocnode2 = var_nodearraylist1;
6926 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6927 cltype = type_nullable_parser_nodes__ADoc.color;
6928 idtype = type_nullable_parser_nodes__ADoc.id;
6929 if(var_pdocnode2 == NULL) {
6930 var7 = 1;
6931 } else {
6932 if(cltype >= var_pdocnode2->type->table_size) {
6933 var7 = 0;
6934 } else {
6935 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
6936 }
6937 }
6938 if (!var7) {
6939 fprintf(stderr, "Runtime error: %s", "Assert failed");
6940 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21905);
6941 show_backtrace(1);
6942 }
6943 var_pvisibilitynode4 = var_nodearraylist2;
6944 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6945 cltype9 = type_nullable_parser_nodes__AVisibility.color;
6946 idtype10 = type_nullable_parser_nodes__AVisibility.id;
6947 if(var_pvisibilitynode4 == NULL) {
6948 var8 = 1;
6949 } else {
6950 if(cltype9 >= var_pvisibilitynode4->type->table_size) {
6951 var8 = 0;
6952 } else {
6953 var8 = var_pvisibilitynode4->type->type_table[cltype9] == idtype10;
6954 }
6955 }
6956 if (!var8) {
6957 fprintf(stderr, "Runtime error: %s", "Assert failed");
6958 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21907);
6959 show_backtrace(1);
6960 }
6961 var_tkwnewnode5 = var_nodearraylist3;
6962 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
6963 cltype12 = type_nullable_parser_nodes__TKwnew.color;
6964 idtype13 = type_nullable_parser_nodes__TKwnew.id;
6965 if(var_tkwnewnode5 == NULL) {
6966 var11 = 1;
6967 } else {
6968 if(cltype12 >= var_tkwnewnode5->type->table_size) {
6969 var11 = 0;
6970 } else {
6971 var11 = var_tkwnewnode5->type->type_table[cltype12] == idtype13;
6972 }
6973 }
6974 if (!var11) {
6975 fprintf(stderr, "Runtime error: %s", "Assert failed");
6976 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21909);
6977 show_backtrace(1);
6978 }
6979 var_pmethidnode6 = var_nodearraylist4;
6980 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
6981 cltype15 = type_nullable_parser_nodes__AMethid.color;
6982 idtype16 = type_nullable_parser_nodes__AMethid.id;
6983 if(var_pmethidnode6 == NULL) {
6984 var14 = 1;
6985 } else {
6986 if(cltype15 >= var_pmethidnode6->type->table_size) {
6987 var14 = 0;
6988 } else {
6989 var14 = var_pmethidnode6->type->type_table[cltype15] == idtype16;
6990 }
6991 }
6992 if (!var14) {
6993 fprintf(stderr, "Runtime error: %s", "Assert failed");
6994 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21911);
6995 show_backtrace(1);
6996 }
6997 var_psignaturenode7 = var_nodearraylist5;
6998 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
6999 cltype18 = type_nullable_parser_nodes__ASignature.color;
7000 idtype19 = type_nullable_parser_nodes__ASignature.id;
7001 if(var_psignaturenode7 == NULL) {
7002 var17 = 1;
7003 } else {
7004 if(cltype18 >= var_psignaturenode7->type->table_size) {
7005 var17 = 0;
7006 } else {
7007 var17 = var_psignaturenode7->type->type_table[cltype18] == idtype19;
7008 }
7009 }
7010 if (!var17) {
7011 fprintf(stderr, "Runtime error: %s", "Assert failed");
7012 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21913);
7013 show_backtrace(1);
7014 }
7015 var_pexterncodeblocknode10 = var_nodearraylist6;
7016 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
7017 cltype21 = type_nullable_parser_nodes__AExternCodeBlock.color;
7018 idtype22 = type_nullable_parser_nodes__AExternCodeBlock.id;
7019 if(var_pexterncodeblocknode10 == NULL) {
7020 var20 = 1;
7021 } else {
7022 if(cltype21 >= var_pexterncodeblocknode10->type->table_size) {
7023 var20 = 0;
7024 } else {
7025 var20 = var_pexterncodeblocknode10->type->type_table[cltype21] == idtype22;
7026 }
7027 }
7028 if (!var20) {
7029 fprintf(stderr, "Runtime error: %s", "Assert failed");
7030 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21915);
7031 show_backtrace(1);
7032 }
7033 var23 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
7034 var24 = NULL;
7035 var25 = NULL;
7036 var26 = NULL;
7037 ((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>*/;
7038 var_ppropdefnode1 = var23;
7039 var_node_list = var_ppropdefnode1;
7040 var27 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction499> */
7041 var28 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var27) /* go_to on <var_p:Parser>*/;
7042 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var28, var_node_list) /* push on <var_p:Parser>*/;
7043 RET_LABEL:;
7044 }
7045 /* method parser#ReduceAction499#action for (self: Object, Parser) */
7046 void VIRTUAL_parser__ReduceAction499__action(val* self, val* p0) {
7047 parser__ReduceAction499__action(self, p0);
7048 RET_LABEL:;
7049 }
7050 /* method parser#ReduceAction500#action for (self: ReduceAction500, Parser) */
7051 void parser__ReduceAction500__action(val* self, val* p0) {
7052 val* var_p /* var p: Parser */;
7053 val* var /* : null */;
7054 val* var_node_list /* var node_list: nullable Object */;
7055 val* var1 /* : nullable Object */;
7056 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7057 val* var2 /* : nullable Object */;
7058 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7059 val* var3 /* : nullable Object */;
7060 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7061 val* var4 /* : nullable Object */;
7062 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7063 val* var5 /* : nullable Object */;
7064 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7065 val* var6 /* : nullable Object */;
7066 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7067 val* var7 /* : nullable Object */;
7068 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7069 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7070 short int var8 /* : Bool */;
7071 int cltype;
7072 int idtype;
7073 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
7074 short int var9 /* : Bool */;
7075 int cltype10;
7076 int idtype11;
7077 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7078 short int var12 /* : Bool */;
7079 int cltype13;
7080 int idtype14;
7081 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
7082 short int var15 /* : Bool */;
7083 int cltype16;
7084 int idtype17;
7085 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
7086 short int var18 /* : Bool */;
7087 int cltype19;
7088 int idtype20;
7089 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
7090 short int var21 /* : Bool */;
7091 int cltype22;
7092 int idtype23;
7093 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
7094 short int var24 /* : Bool */;
7095 int cltype25;
7096 int idtype26;
7097 val* var27 /* : AExternInitPropdef */;
7098 val* var28 /* : null */;
7099 val* var29 /* : null */;
7100 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
7101 long var30 /* : Int */;
7102 long var31 /* : Int */;
7103 var_p = p0;
7104 var = NULL;
7105 var_node_list = var;
7106 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7107 var_nodearraylist7 = var1;
7108 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7109 var_nodearraylist6 = var2;
7110 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7111 var_nodearraylist5 = var3;
7112 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7113 var_nodearraylist4 = var4;
7114 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7115 var_nodearraylist3 = var5;
7116 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7117 var_nodearraylist2 = var6;
7118 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7119 var_nodearraylist1 = var7;
7120 var_pdocnode2 = var_nodearraylist1;
7121 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7122 cltype = type_nullable_parser_nodes__ADoc.color;
7123 idtype = type_nullable_parser_nodes__ADoc.id;
7124 if(var_pdocnode2 == NULL) {
7125 var8 = 1;
7126 } else {
7127 if(cltype >= var_pdocnode2->type->table_size) {
7128 var8 = 0;
7129 } else {
7130 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
7131 }
7132 }
7133 if (!var8) {
7134 fprintf(stderr, "Runtime error: %s", "Assert failed");
7135 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21944);
7136 show_backtrace(1);
7137 }
7138 var_tkwredefnode3 = var_nodearraylist2;
7139 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7140 cltype10 = type_nullable_parser_nodes__TKwredef.color;
7141 idtype11 = type_nullable_parser_nodes__TKwredef.id;
7142 if(var_tkwredefnode3 == NULL) {
7143 var9 = 1;
7144 } else {
7145 if(cltype10 >= var_tkwredefnode3->type->table_size) {
7146 var9 = 0;
7147 } else {
7148 var9 = var_tkwredefnode3->type->type_table[cltype10] == idtype11;
7149 }
7150 }
7151 if (!var9) {
7152 fprintf(stderr, "Runtime error: %s", "Assert failed");
7153 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21946);
7154 show_backtrace(1);
7155 }
7156 var_pvisibilitynode4 = var_nodearraylist3;
7157 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7158 cltype13 = type_nullable_parser_nodes__AVisibility.color;
7159 idtype14 = type_nullable_parser_nodes__AVisibility.id;
7160 if(var_pvisibilitynode4 == NULL) {
7161 var12 = 1;
7162 } else {
7163 if(cltype13 >= var_pvisibilitynode4->type->table_size) {
7164 var12 = 0;
7165 } else {
7166 var12 = var_pvisibilitynode4->type->type_table[cltype13] == idtype14;
7167 }
7168 }
7169 if (!var12) {
7170 fprintf(stderr, "Runtime error: %s", "Assert failed");
7171 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21948);
7172 show_backtrace(1);
7173 }
7174 var_tkwnewnode5 = var_nodearraylist4;
7175 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
7176 cltype16 = type_nullable_parser_nodes__TKwnew.color;
7177 idtype17 = type_nullable_parser_nodes__TKwnew.id;
7178 if(var_tkwnewnode5 == NULL) {
7179 var15 = 1;
7180 } else {
7181 if(cltype16 >= var_tkwnewnode5->type->table_size) {
7182 var15 = 0;
7183 } else {
7184 var15 = var_tkwnewnode5->type->type_table[cltype16] == idtype17;
7185 }
7186 }
7187 if (!var15) {
7188 fprintf(stderr, "Runtime error: %s", "Assert failed");
7189 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21950);
7190 show_backtrace(1);
7191 }
7192 var_pmethidnode6 = var_nodearraylist5;
7193 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
7194 cltype19 = type_nullable_parser_nodes__AMethid.color;
7195 idtype20 = type_nullable_parser_nodes__AMethid.id;
7196 if(var_pmethidnode6 == NULL) {
7197 var18 = 1;
7198 } else {
7199 if(cltype19 >= var_pmethidnode6->type->table_size) {
7200 var18 = 0;
7201 } else {
7202 var18 = var_pmethidnode6->type->type_table[cltype19] == idtype20;
7203 }
7204 }
7205 if (!var18) {
7206 fprintf(stderr, "Runtime error: %s", "Assert failed");
7207 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21952);
7208 show_backtrace(1);
7209 }
7210 var_psignaturenode7 = var_nodearraylist6;
7211 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
7212 cltype22 = type_nullable_parser_nodes__ASignature.color;
7213 idtype23 = type_nullable_parser_nodes__ASignature.id;
7214 if(var_psignaturenode7 == NULL) {
7215 var21 = 1;
7216 } else {
7217 if(cltype22 >= var_psignaturenode7->type->table_size) {
7218 var21 = 0;
7219 } else {
7220 var21 = var_psignaturenode7->type->type_table[cltype22] == idtype23;
7221 }
7222 }
7223 if (!var21) {
7224 fprintf(stderr, "Runtime error: %s", "Assert failed");
7225 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21954);
7226 show_backtrace(1);
7227 }
7228 var_pexterncodeblocknode10 = var_nodearraylist7;
7229 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
7230 cltype25 = type_nullable_parser_nodes__AExternCodeBlock.color;
7231 idtype26 = type_nullable_parser_nodes__AExternCodeBlock.id;
7232 if(var_pexterncodeblocknode10 == NULL) {
7233 var24 = 1;
7234 } else {
7235 if(cltype25 >= var_pexterncodeblocknode10->type->table_size) {
7236 var24 = 0;
7237 } else {
7238 var24 = var_pexterncodeblocknode10->type->type_table[cltype25] == idtype26;
7239 }
7240 }
7241 if (!var24) {
7242 fprintf(stderr, "Runtime error: %s", "Assert failed");
7243 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21956);
7244 show_backtrace(1);
7245 }
7246 var27 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
7247 var28 = NULL;
7248 var29 = NULL;
7249 ((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>*/;
7250 var_ppropdefnode1 = var27;
7251 var_node_list = var_ppropdefnode1;
7252 var30 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction500> */
7253 var31 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var30) /* go_to on <var_p:Parser>*/;
7254 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var31, var_node_list) /* push on <var_p:Parser>*/;
7255 RET_LABEL:;
7256 }
7257 /* method parser#ReduceAction500#action for (self: Object, Parser) */
7258 void VIRTUAL_parser__ReduceAction500__action(val* self, val* p0) {
7259 parser__ReduceAction500__action(self, p0);
7260 RET_LABEL:;
7261 }
7262 /* method parser#ReduceAction501#action for (self: ReduceAction501, Parser) */
7263 void parser__ReduceAction501__action(val* self, val* p0) {
7264 val* var_p /* var p: Parser */;
7265 val* var /* : null */;
7266 val* var_node_list /* var node_list: nullable Object */;
7267 val* var1 /* : nullable Object */;
7268 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7269 val* var2 /* : nullable Object */;
7270 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7271 val* var3 /* : nullable Object */;
7272 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7273 val* var4 /* : nullable Object */;
7274 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7275 val* var5 /* : nullable Object */;
7276 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7277 val* var6 /* : nullable Object */;
7278 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7279 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7280 short int var7 /* : Bool */;
7281 int cltype;
7282 int idtype;
7283 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7284 short int var8 /* : Bool */;
7285 int cltype9;
7286 int idtype10;
7287 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
7288 short int var11 /* : Bool */;
7289 int cltype12;
7290 int idtype13;
7291 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
7292 short int var14 /* : Bool */;
7293 int cltype15;
7294 int idtype16;
7295 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
7296 short int var17 /* : Bool */;
7297 int cltype18;
7298 int idtype19;
7299 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
7300 short int var20 /* : Bool */;
7301 int cltype21;
7302 int idtype22;
7303 val* var23 /* : AExternInitPropdef */;
7304 val* var24 /* : null */;
7305 val* var25 /* : null */;
7306 val* var26 /* : null */;
7307 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
7308 long var27 /* : Int */;
7309 long var28 /* : Int */;
7310 var_p = p0;
7311 var = NULL;
7312 var_node_list = var;
7313 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7314 var_nodearraylist6 = var1;
7315 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7316 var_nodearraylist5 = var2;
7317 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7318 var_nodearraylist4 = var3;
7319 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7320 var_nodearraylist3 = var4;
7321 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7322 var_nodearraylist2 = var5;
7323 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7324 var_nodearraylist1 = var6;
7325 var_pdocnode2 = var_nodearraylist1;
7326 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7327 cltype = type_nullable_parser_nodes__ADoc.color;
7328 idtype = type_nullable_parser_nodes__ADoc.id;
7329 if(var_pdocnode2 == NULL) {
7330 var7 = 1;
7331 } else {
7332 if(cltype >= var_pdocnode2->type->table_size) {
7333 var7 = 0;
7334 } else {
7335 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
7336 }
7337 }
7338 if (!var7) {
7339 fprintf(stderr, "Runtime error: %s", "Assert failed");
7340 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21984);
7341 show_backtrace(1);
7342 }
7343 var_pvisibilitynode4 = var_nodearraylist2;
7344 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7345 cltype9 = type_nullable_parser_nodes__AVisibility.color;
7346 idtype10 = type_nullable_parser_nodes__AVisibility.id;
7347 if(var_pvisibilitynode4 == NULL) {
7348 var8 = 1;
7349 } else {
7350 if(cltype9 >= var_pvisibilitynode4->type->table_size) {
7351 var8 = 0;
7352 } else {
7353 var8 = var_pvisibilitynode4->type->type_table[cltype9] == idtype10;
7354 }
7355 }
7356 if (!var8) {
7357 fprintf(stderr, "Runtime error: %s", "Assert failed");
7358 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21986);
7359 show_backtrace(1);
7360 }
7361 var_tkwnewnode5 = var_nodearraylist3;
7362 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
7363 cltype12 = type_nullable_parser_nodes__TKwnew.color;
7364 idtype13 = type_nullable_parser_nodes__TKwnew.id;
7365 if(var_tkwnewnode5 == NULL) {
7366 var11 = 1;
7367 } else {
7368 if(cltype12 >= var_tkwnewnode5->type->table_size) {
7369 var11 = 0;
7370 } else {
7371 var11 = var_tkwnewnode5->type->type_table[cltype12] == idtype13;
7372 }
7373 }
7374 if (!var11) {
7375 fprintf(stderr, "Runtime error: %s", "Assert failed");
7376 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21988);
7377 show_backtrace(1);
7378 }
7379 var_psignaturenode7 = var_nodearraylist4;
7380 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
7381 cltype15 = type_nullable_parser_nodes__ASignature.color;
7382 idtype16 = type_nullable_parser_nodes__ASignature.id;
7383 if(var_psignaturenode7 == NULL) {
7384 var14 = 1;
7385 } else {
7386 if(cltype15 >= var_psignaturenode7->type->table_size) {
7387 var14 = 0;
7388 } else {
7389 var14 = var_psignaturenode7->type->type_table[cltype15] == idtype16;
7390 }
7391 }
7392 if (!var14) {
7393 fprintf(stderr, "Runtime error: %s", "Assert failed");
7394 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21990);
7395 show_backtrace(1);
7396 }
7397 var_tstringnode8 = var_nodearraylist5;
7398 /* <var_tstringnode8:nullable Object> isa nullable TString */
7399 cltype18 = type_nullable_parser_nodes__TString.color;
7400 idtype19 = type_nullable_parser_nodes__TString.id;
7401 if(var_tstringnode8 == NULL) {
7402 var17 = 1;
7403 } else {
7404 if(cltype18 >= var_tstringnode8->type->table_size) {
7405 var17 = 0;
7406 } else {
7407 var17 = var_tstringnode8->type->type_table[cltype18] == idtype19;
7408 }
7409 }
7410 if (!var17) {
7411 fprintf(stderr, "Runtime error: %s", "Assert failed");
7412 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21992);
7413 show_backtrace(1);
7414 }
7415 var_pexterncodeblocknode10 = var_nodearraylist6;
7416 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
7417 cltype21 = type_nullable_parser_nodes__AExternCodeBlock.color;
7418 idtype22 = type_nullable_parser_nodes__AExternCodeBlock.id;
7419 if(var_pexterncodeblocknode10 == NULL) {
7420 var20 = 1;
7421 } else {
7422 if(cltype21 >= var_pexterncodeblocknode10->type->table_size) {
7423 var20 = 0;
7424 } else {
7425 var20 = var_pexterncodeblocknode10->type->type_table[cltype21] == idtype22;
7426 }
7427 }
7428 if (!var20) {
7429 fprintf(stderr, "Runtime error: %s", "Assert failed");
7430 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 21994);
7431 show_backtrace(1);
7432 }
7433 var23 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
7434 var24 = NULL;
7435 var25 = NULL;
7436 var26 = NULL;
7437 ((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>*/;
7438 var_ppropdefnode1 = var23;
7439 var_node_list = var_ppropdefnode1;
7440 var27 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction501> */
7441 var28 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var27) /* go_to on <var_p:Parser>*/;
7442 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var28, var_node_list) /* push on <var_p:Parser>*/;
7443 RET_LABEL:;
7444 }
7445 /* method parser#ReduceAction501#action for (self: Object, Parser) */
7446 void VIRTUAL_parser__ReduceAction501__action(val* self, val* p0) {
7447 parser__ReduceAction501__action(self, p0);
7448 RET_LABEL:;
7449 }
7450 /* method parser#ReduceAction502#action for (self: ReduceAction502, Parser) */
7451 void parser__ReduceAction502__action(val* self, val* p0) {
7452 val* var_p /* var p: Parser */;
7453 val* var /* : null */;
7454 val* var_node_list /* var node_list: nullable Object */;
7455 val* var1 /* : nullable Object */;
7456 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7457 val* var2 /* : nullable Object */;
7458 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7459 val* var3 /* : nullable Object */;
7460 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7461 val* var4 /* : nullable Object */;
7462 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7463 val* var5 /* : nullable Object */;
7464 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7465 val* var6 /* : nullable Object */;
7466 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7467 val* var7 /* : nullable Object */;
7468 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7469 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7470 short int var8 /* : Bool */;
7471 int cltype;
7472 int idtype;
7473 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
7474 short int var9 /* : Bool */;
7475 int cltype10;
7476 int idtype11;
7477 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7478 short int var12 /* : Bool */;
7479 int cltype13;
7480 int idtype14;
7481 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
7482 short int var15 /* : Bool */;
7483 int cltype16;
7484 int idtype17;
7485 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
7486 short int var18 /* : Bool */;
7487 int cltype19;
7488 int idtype20;
7489 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
7490 short int var21 /* : Bool */;
7491 int cltype22;
7492 int idtype23;
7493 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
7494 short int var24 /* : Bool */;
7495 int cltype25;
7496 int idtype26;
7497 val* var27 /* : AExternInitPropdef */;
7498 val* var28 /* : null */;
7499 val* var29 /* : null */;
7500 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
7501 long var30 /* : Int */;
7502 long var31 /* : Int */;
7503 var_p = p0;
7504 var = NULL;
7505 var_node_list = var;
7506 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7507 var_nodearraylist7 = var1;
7508 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7509 var_nodearraylist6 = var2;
7510 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7511 var_nodearraylist5 = var3;
7512 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7513 var_nodearraylist4 = var4;
7514 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7515 var_nodearraylist3 = var5;
7516 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7517 var_nodearraylist2 = var6;
7518 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7519 var_nodearraylist1 = var7;
7520 var_pdocnode2 = var_nodearraylist1;
7521 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7522 cltype = type_nullable_parser_nodes__ADoc.color;
7523 idtype = type_nullable_parser_nodes__ADoc.id;
7524 if(var_pdocnode2 == NULL) {
7525 var8 = 1;
7526 } else {
7527 if(cltype >= var_pdocnode2->type->table_size) {
7528 var8 = 0;
7529 } else {
7530 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
7531 }
7532 }
7533 if (!var8) {
7534 fprintf(stderr, "Runtime error: %s", "Assert failed");
7535 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22023);
7536 show_backtrace(1);
7537 }
7538 var_tkwredefnode3 = var_nodearraylist2;
7539 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7540 cltype10 = type_nullable_parser_nodes__TKwredef.color;
7541 idtype11 = type_nullable_parser_nodes__TKwredef.id;
7542 if(var_tkwredefnode3 == NULL) {
7543 var9 = 1;
7544 } else {
7545 if(cltype10 >= var_tkwredefnode3->type->table_size) {
7546 var9 = 0;
7547 } else {
7548 var9 = var_tkwredefnode3->type->type_table[cltype10] == idtype11;
7549 }
7550 }
7551 if (!var9) {
7552 fprintf(stderr, "Runtime error: %s", "Assert failed");
7553 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22025);
7554 show_backtrace(1);
7555 }
7556 var_pvisibilitynode4 = var_nodearraylist3;
7557 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7558 cltype13 = type_nullable_parser_nodes__AVisibility.color;
7559 idtype14 = type_nullable_parser_nodes__AVisibility.id;
7560 if(var_pvisibilitynode4 == NULL) {
7561 var12 = 1;
7562 } else {
7563 if(cltype13 >= var_pvisibilitynode4->type->table_size) {
7564 var12 = 0;
7565 } else {
7566 var12 = var_pvisibilitynode4->type->type_table[cltype13] == idtype14;
7567 }
7568 }
7569 if (!var12) {
7570 fprintf(stderr, "Runtime error: %s", "Assert failed");
7571 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22027);
7572 show_backtrace(1);
7573 }
7574 var_tkwnewnode5 = var_nodearraylist4;
7575 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
7576 cltype16 = type_nullable_parser_nodes__TKwnew.color;
7577 idtype17 = type_nullable_parser_nodes__TKwnew.id;
7578 if(var_tkwnewnode5 == NULL) {
7579 var15 = 1;
7580 } else {
7581 if(cltype16 >= var_tkwnewnode5->type->table_size) {
7582 var15 = 0;
7583 } else {
7584 var15 = var_tkwnewnode5->type->type_table[cltype16] == idtype17;
7585 }
7586 }
7587 if (!var15) {
7588 fprintf(stderr, "Runtime error: %s", "Assert failed");
7589 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22029);
7590 show_backtrace(1);
7591 }
7592 var_psignaturenode7 = var_nodearraylist5;
7593 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
7594 cltype19 = type_nullable_parser_nodes__ASignature.color;
7595 idtype20 = type_nullable_parser_nodes__ASignature.id;
7596 if(var_psignaturenode7 == NULL) {
7597 var18 = 1;
7598 } else {
7599 if(cltype19 >= var_psignaturenode7->type->table_size) {
7600 var18 = 0;
7601 } else {
7602 var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20;
7603 }
7604 }
7605 if (!var18) {
7606 fprintf(stderr, "Runtime error: %s", "Assert failed");
7607 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22031);
7608 show_backtrace(1);
7609 }
7610 var_tstringnode8 = var_nodearraylist6;
7611 /* <var_tstringnode8:nullable Object> isa nullable TString */
7612 cltype22 = type_nullable_parser_nodes__TString.color;
7613 idtype23 = type_nullable_parser_nodes__TString.id;
7614 if(var_tstringnode8 == NULL) {
7615 var21 = 1;
7616 } else {
7617 if(cltype22 >= var_tstringnode8->type->table_size) {
7618 var21 = 0;
7619 } else {
7620 var21 = var_tstringnode8->type->type_table[cltype22] == idtype23;
7621 }
7622 }
7623 if (!var21) {
7624 fprintf(stderr, "Runtime error: %s", "Assert failed");
7625 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22033);
7626 show_backtrace(1);
7627 }
7628 var_pexterncodeblocknode10 = var_nodearraylist7;
7629 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
7630 cltype25 = type_nullable_parser_nodes__AExternCodeBlock.color;
7631 idtype26 = type_nullable_parser_nodes__AExternCodeBlock.id;
7632 if(var_pexterncodeblocknode10 == NULL) {
7633 var24 = 1;
7634 } else {
7635 if(cltype25 >= var_pexterncodeblocknode10->type->table_size) {
7636 var24 = 0;
7637 } else {
7638 var24 = var_pexterncodeblocknode10->type->type_table[cltype25] == idtype26;
7639 }
7640 }
7641 if (!var24) {
7642 fprintf(stderr, "Runtime error: %s", "Assert failed");
7643 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22035);
7644 show_backtrace(1);
7645 }
7646 var27 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
7647 var28 = NULL;
7648 var29 = NULL;
7649 ((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>*/;
7650 var_ppropdefnode1 = var27;
7651 var_node_list = var_ppropdefnode1;
7652 var30 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction502> */
7653 var31 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var30) /* go_to on <var_p:Parser>*/;
7654 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var31, var_node_list) /* push on <var_p:Parser>*/;
7655 RET_LABEL:;
7656 }
7657 /* method parser#ReduceAction502#action for (self: Object, Parser) */
7658 void VIRTUAL_parser__ReduceAction502__action(val* self, val* p0) {
7659 parser__ReduceAction502__action(self, p0);
7660 RET_LABEL:;
7661 }
7662 /* method parser#ReduceAction503#action for (self: ReduceAction503, Parser) */
7663 void parser__ReduceAction503__action(val* self, val* p0) {
7664 val* var_p /* var p: Parser */;
7665 val* var /* : null */;
7666 val* var_node_list /* var node_list: nullable Object */;
7667 val* var1 /* : nullable Object */;
7668 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7669 val* var2 /* : nullable Object */;
7670 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7671 val* var3 /* : nullable Object */;
7672 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7673 val* var4 /* : nullable Object */;
7674 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7675 val* var5 /* : nullable Object */;
7676 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7677 val* var6 /* : nullable Object */;
7678 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7679 val* var7 /* : nullable Object */;
7680 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7681 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7682 short int var8 /* : Bool */;
7683 int cltype;
7684 int idtype;
7685 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7686 short int var9 /* : Bool */;
7687 int cltype10;
7688 int idtype11;
7689 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
7690 short int var12 /* : Bool */;
7691 int cltype13;
7692 int idtype14;
7693 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
7694 short int var15 /* : Bool */;
7695 int cltype16;
7696 int idtype17;
7697 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
7698 short int var18 /* : Bool */;
7699 int cltype19;
7700 int idtype20;
7701 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
7702 short int var21 /* : Bool */;
7703 int cltype22;
7704 int idtype23;
7705 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
7706 short int var24 /* : Bool */;
7707 int cltype25;
7708 int idtype26;
7709 val* var27 /* : AExternInitPropdef */;
7710 val* var28 /* : null */;
7711 val* var29 /* : null */;
7712 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
7713 long var30 /* : Int */;
7714 long var31 /* : Int */;
7715 var_p = p0;
7716 var = NULL;
7717 var_node_list = var;
7718 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7719 var_nodearraylist7 = var1;
7720 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7721 var_nodearraylist6 = var2;
7722 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7723 var_nodearraylist5 = var3;
7724 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7725 var_nodearraylist4 = var4;
7726 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7727 var_nodearraylist3 = var5;
7728 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7729 var_nodearraylist2 = var6;
7730 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7731 var_nodearraylist1 = var7;
7732 var_pdocnode2 = var_nodearraylist1;
7733 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7734 cltype = type_nullable_parser_nodes__ADoc.color;
7735 idtype = type_nullable_parser_nodes__ADoc.id;
7736 if(var_pdocnode2 == NULL) {
7737 var8 = 1;
7738 } else {
7739 if(cltype >= var_pdocnode2->type->table_size) {
7740 var8 = 0;
7741 } else {
7742 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
7743 }
7744 }
7745 if (!var8) {
7746 fprintf(stderr, "Runtime error: %s", "Assert failed");
7747 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22064);
7748 show_backtrace(1);
7749 }
7750 var_pvisibilitynode4 = var_nodearraylist2;
7751 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7752 cltype10 = type_nullable_parser_nodes__AVisibility.color;
7753 idtype11 = type_nullable_parser_nodes__AVisibility.id;
7754 if(var_pvisibilitynode4 == NULL) {
7755 var9 = 1;
7756 } else {
7757 if(cltype10 >= var_pvisibilitynode4->type->table_size) {
7758 var9 = 0;
7759 } else {
7760 var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11;
7761 }
7762 }
7763 if (!var9) {
7764 fprintf(stderr, "Runtime error: %s", "Assert failed");
7765 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22066);
7766 show_backtrace(1);
7767 }
7768 var_tkwnewnode5 = var_nodearraylist3;
7769 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
7770 cltype13 = type_nullable_parser_nodes__TKwnew.color;
7771 idtype14 = type_nullable_parser_nodes__TKwnew.id;
7772 if(var_tkwnewnode5 == NULL) {
7773 var12 = 1;
7774 } else {
7775 if(cltype13 >= var_tkwnewnode5->type->table_size) {
7776 var12 = 0;
7777 } else {
7778 var12 = var_tkwnewnode5->type->type_table[cltype13] == idtype14;
7779 }
7780 }
7781 if (!var12) {
7782 fprintf(stderr, "Runtime error: %s", "Assert failed");
7783 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22068);
7784 show_backtrace(1);
7785 }
7786 var_pmethidnode6 = var_nodearraylist4;
7787 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
7788 cltype16 = type_nullable_parser_nodes__AMethid.color;
7789 idtype17 = type_nullable_parser_nodes__AMethid.id;
7790 if(var_pmethidnode6 == NULL) {
7791 var15 = 1;
7792 } else {
7793 if(cltype16 >= var_pmethidnode6->type->table_size) {
7794 var15 = 0;
7795 } else {
7796 var15 = var_pmethidnode6->type->type_table[cltype16] == idtype17;
7797 }
7798 }
7799 if (!var15) {
7800 fprintf(stderr, "Runtime error: %s", "Assert failed");
7801 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22070);
7802 show_backtrace(1);
7803 }
7804 var_psignaturenode7 = var_nodearraylist5;
7805 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
7806 cltype19 = type_nullable_parser_nodes__ASignature.color;
7807 idtype20 = type_nullable_parser_nodes__ASignature.id;
7808 if(var_psignaturenode7 == NULL) {
7809 var18 = 1;
7810 } else {
7811 if(cltype19 >= var_psignaturenode7->type->table_size) {
7812 var18 = 0;
7813 } else {
7814 var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20;
7815 }
7816 }
7817 if (!var18) {
7818 fprintf(stderr, "Runtime error: %s", "Assert failed");
7819 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22072);
7820 show_backtrace(1);
7821 }
7822 var_tstringnode8 = var_nodearraylist6;
7823 /* <var_tstringnode8:nullable Object> isa nullable TString */
7824 cltype22 = type_nullable_parser_nodes__TString.color;
7825 idtype23 = type_nullable_parser_nodes__TString.id;
7826 if(var_tstringnode8 == NULL) {
7827 var21 = 1;
7828 } else {
7829 if(cltype22 >= var_tstringnode8->type->table_size) {
7830 var21 = 0;
7831 } else {
7832 var21 = var_tstringnode8->type->type_table[cltype22] == idtype23;
7833 }
7834 }
7835 if (!var21) {
7836 fprintf(stderr, "Runtime error: %s", "Assert failed");
7837 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22074);
7838 show_backtrace(1);
7839 }
7840 var_pexterncodeblocknode10 = var_nodearraylist7;
7841 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
7842 cltype25 = type_nullable_parser_nodes__AExternCodeBlock.color;
7843 idtype26 = type_nullable_parser_nodes__AExternCodeBlock.id;
7844 if(var_pexterncodeblocknode10 == NULL) {
7845 var24 = 1;
7846 } else {
7847 if(cltype25 >= var_pexterncodeblocknode10->type->table_size) {
7848 var24 = 0;
7849 } else {
7850 var24 = var_pexterncodeblocknode10->type->type_table[cltype25] == idtype26;
7851 }
7852 }
7853 if (!var24) {
7854 fprintf(stderr, "Runtime error: %s", "Assert failed");
7855 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22076);
7856 show_backtrace(1);
7857 }
7858 var27 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
7859 var28 = NULL;
7860 var29 = NULL;
7861 ((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>*/;
7862 var_ppropdefnode1 = var27;
7863 var_node_list = var_ppropdefnode1;
7864 var30 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction503> */
7865 var31 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var30) /* go_to on <var_p:Parser>*/;
7866 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var31, var_node_list) /* push on <var_p:Parser>*/;
7867 RET_LABEL:;
7868 }
7869 /* method parser#ReduceAction503#action for (self: Object, Parser) */
7870 void VIRTUAL_parser__ReduceAction503__action(val* self, val* p0) {
7871 parser__ReduceAction503__action(self, p0);
7872 RET_LABEL:;
7873 }
7874 /* method parser#ReduceAction504#action for (self: ReduceAction504, Parser) */
7875 void parser__ReduceAction504__action(val* self, val* p0) {
7876 val* var_p /* var p: Parser */;
7877 val* var /* : null */;
7878 val* var_node_list /* var node_list: nullable Object */;
7879 val* var1 /* : nullable Object */;
7880 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7881 val* var2 /* : nullable Object */;
7882 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7883 val* var3 /* : nullable Object */;
7884 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7885 val* var4 /* : nullable Object */;
7886 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7887 val* var5 /* : nullable Object */;
7888 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7889 val* var6 /* : nullable Object */;
7890 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7891 val* var7 /* : nullable Object */;
7892 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7893 val* var8 /* : nullable Object */;
7894 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7895 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7896 short int var9 /* : Bool */;
7897 int cltype;
7898 int idtype;
7899 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
7900 short int var10 /* : Bool */;
7901 int cltype11;
7902 int idtype12;
7903 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7904 short int var13 /* : Bool */;
7905 int cltype14;
7906 int idtype15;
7907 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
7908 short int var16 /* : Bool */;
7909 int cltype17;
7910 int idtype18;
7911 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
7912 short int var19 /* : Bool */;
7913 int cltype20;
7914 int idtype21;
7915 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
7916 short int var22 /* : Bool */;
7917 int cltype23;
7918 int idtype24;
7919 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
7920 short int var25 /* : Bool */;
7921 int cltype26;
7922 int idtype27;
7923 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
7924 short int var28 /* : Bool */;
7925 int cltype29;
7926 int idtype30;
7927 val* var31 /* : AExternInitPropdef */;
7928 val* var32 /* : null */;
7929 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
7930 long var33 /* : Int */;
7931 long var34 /* : Int */;
7932 var_p = p0;
7933 var = NULL;
7934 var_node_list = var;
7935 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7936 var_nodearraylist8 = var1;
7937 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7938 var_nodearraylist7 = var2;
7939 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7940 var_nodearraylist6 = var3;
7941 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7942 var_nodearraylist5 = var4;
7943 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7944 var_nodearraylist4 = var5;
7945 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7946 var_nodearraylist3 = var6;
7947 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7948 var_nodearraylist2 = var7;
7949 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7950 var_nodearraylist1 = var8;
7951 var_pdocnode2 = var_nodearraylist1;
7952 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7953 cltype = type_nullable_parser_nodes__ADoc.color;
7954 idtype = type_nullable_parser_nodes__ADoc.id;
7955 if(var_pdocnode2 == NULL) {
7956 var9 = 1;
7957 } else {
7958 if(cltype >= var_pdocnode2->type->table_size) {
7959 var9 = 0;
7960 } else {
7961 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
7962 }
7963 }
7964 if (!var9) {
7965 fprintf(stderr, "Runtime error: %s", "Assert failed");
7966 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22106);
7967 show_backtrace(1);
7968 }
7969 var_tkwredefnode3 = var_nodearraylist2;
7970 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7971 cltype11 = type_nullable_parser_nodes__TKwredef.color;
7972 idtype12 = type_nullable_parser_nodes__TKwredef.id;
7973 if(var_tkwredefnode3 == NULL) {
7974 var10 = 1;
7975 } else {
7976 if(cltype11 >= var_tkwredefnode3->type->table_size) {
7977 var10 = 0;
7978 } else {
7979 var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12;
7980 }
7981 }
7982 if (!var10) {
7983 fprintf(stderr, "Runtime error: %s", "Assert failed");
7984 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22108);
7985 show_backtrace(1);
7986 }
7987 var_pvisibilitynode4 = var_nodearraylist3;
7988 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7989 cltype14 = type_nullable_parser_nodes__AVisibility.color;
7990 idtype15 = type_nullable_parser_nodes__AVisibility.id;
7991 if(var_pvisibilitynode4 == NULL) {
7992 var13 = 1;
7993 } else {
7994 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
7995 var13 = 0;
7996 } else {
7997 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
7998 }
7999 }
8000 if (!var13) {
8001 fprintf(stderr, "Runtime error: %s", "Assert failed");
8002 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22110);
8003 show_backtrace(1);
8004 }
8005 var_tkwnewnode5 = var_nodearraylist4;
8006 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
8007 cltype17 = type_nullable_parser_nodes__TKwnew.color;
8008 idtype18 = type_nullable_parser_nodes__TKwnew.id;
8009 if(var_tkwnewnode5 == NULL) {
8010 var16 = 1;
8011 } else {
8012 if(cltype17 >= var_tkwnewnode5->type->table_size) {
8013 var16 = 0;
8014 } else {
8015 var16 = var_tkwnewnode5->type->type_table[cltype17] == idtype18;
8016 }
8017 }
8018 if (!var16) {
8019 fprintf(stderr, "Runtime error: %s", "Assert failed");
8020 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22112);
8021 show_backtrace(1);
8022 }
8023 var_pmethidnode6 = var_nodearraylist5;
8024 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
8025 cltype20 = type_nullable_parser_nodes__AMethid.color;
8026 idtype21 = type_nullable_parser_nodes__AMethid.id;
8027 if(var_pmethidnode6 == NULL) {
8028 var19 = 1;
8029 } else {
8030 if(cltype20 >= var_pmethidnode6->type->table_size) {
8031 var19 = 0;
8032 } else {
8033 var19 = var_pmethidnode6->type->type_table[cltype20] == idtype21;
8034 }
8035 }
8036 if (!var19) {
8037 fprintf(stderr, "Runtime error: %s", "Assert failed");
8038 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22114);
8039 show_backtrace(1);
8040 }
8041 var_psignaturenode7 = var_nodearraylist6;
8042 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
8043 cltype23 = type_nullable_parser_nodes__ASignature.color;
8044 idtype24 = type_nullable_parser_nodes__ASignature.id;
8045 if(var_psignaturenode7 == NULL) {
8046 var22 = 1;
8047 } else {
8048 if(cltype23 >= var_psignaturenode7->type->table_size) {
8049 var22 = 0;
8050 } else {
8051 var22 = var_psignaturenode7->type->type_table[cltype23] == idtype24;
8052 }
8053 }
8054 if (!var22) {
8055 fprintf(stderr, "Runtime error: %s", "Assert failed");
8056 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22116);
8057 show_backtrace(1);
8058 }
8059 var_tstringnode8 = var_nodearraylist7;
8060 /* <var_tstringnode8:nullable Object> isa nullable TString */
8061 cltype26 = type_nullable_parser_nodes__TString.color;
8062 idtype27 = type_nullable_parser_nodes__TString.id;
8063 if(var_tstringnode8 == NULL) {
8064 var25 = 1;
8065 } else {
8066 if(cltype26 >= var_tstringnode8->type->table_size) {
8067 var25 = 0;
8068 } else {
8069 var25 = var_tstringnode8->type->type_table[cltype26] == idtype27;
8070 }
8071 }
8072 if (!var25) {
8073 fprintf(stderr, "Runtime error: %s", "Assert failed");
8074 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22118);
8075 show_backtrace(1);
8076 }
8077 var_pexterncodeblocknode10 = var_nodearraylist8;
8078 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
8079 cltype29 = type_nullable_parser_nodes__AExternCodeBlock.color;
8080 idtype30 = type_nullable_parser_nodes__AExternCodeBlock.id;
8081 if(var_pexterncodeblocknode10 == NULL) {
8082 var28 = 1;
8083 } else {
8084 if(cltype29 >= var_pexterncodeblocknode10->type->table_size) {
8085 var28 = 0;
8086 } else {
8087 var28 = var_pexterncodeblocknode10->type->type_table[cltype29] == idtype30;
8088 }
8089 }
8090 if (!var28) {
8091 fprintf(stderr, "Runtime error: %s", "Assert failed");
8092 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22120);
8093 show_backtrace(1);
8094 }
8095 var31 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
8096 var32 = NULL;
8097 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var31->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var31, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var32, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var31:AExternInitPropdef>*/;
8098 var_ppropdefnode1 = var31;
8099 var_node_list = var_ppropdefnode1;
8100 var33 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction504> */
8101 var34 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var33) /* go_to on <var_p:Parser>*/;
8102 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var34, var_node_list) /* push on <var_p:Parser>*/;
8103 RET_LABEL:;
8104 }
8105 /* method parser#ReduceAction504#action for (self: Object, Parser) */
8106 void VIRTUAL_parser__ReduceAction504__action(val* self, val* p0) {
8107 parser__ReduceAction504__action(self, p0);
8108 RET_LABEL:;
8109 }
8110 /* method parser#ReduceAction505#action for (self: ReduceAction505, Parser) */
8111 void parser__ReduceAction505__action(val* self, val* p0) {
8112 val* var_p /* var p: Parser */;
8113 val* var /* : null */;
8114 val* var_node_list /* var node_list: nullable Object */;
8115 val* var1 /* : nullable Object */;
8116 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8117 val* var2 /* : nullable Object */;
8118 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8119 val* var3 /* : nullable Object */;
8120 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8121 val* var4 /* : nullable Object */;
8122 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8123 val* var5 /* : nullable Object */;
8124 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8125 val* var6 /* : nullable Object */;
8126 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8127 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8128 short int var7 /* : Bool */;
8129 int cltype;
8130 int idtype;
8131 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8132 short int var8 /* : Bool */;
8133 int cltype9;
8134 int idtype10;
8135 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
8136 short int var11 /* : Bool */;
8137 int cltype12;
8138 int idtype13;
8139 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
8140 short int var14 /* : Bool */;
8141 int cltype15;
8142 int idtype16;
8143 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
8144 short int var17 /* : Bool */;
8145 int cltype18;
8146 int idtype19;
8147 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
8148 short int var20 /* : Bool */;
8149 int cltype21;
8150 int idtype22;
8151 val* var23 /* : AExternInitPropdef */;
8152 val* var24 /* : null */;
8153 val* var25 /* : null */;
8154 val* var26 /* : null */;
8155 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
8156 long var27 /* : Int */;
8157 long var28 /* : Int */;
8158 var_p = p0;
8159 var = NULL;
8160 var_node_list = var;
8161 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8162 var_nodearraylist6 = var1;
8163 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8164 var_nodearraylist5 = var2;
8165 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8166 var_nodearraylist4 = var3;
8167 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8168 var_nodearraylist3 = var4;
8169 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8170 var_nodearraylist2 = var5;
8171 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8172 var_nodearraylist1 = var6;
8173 var_pdocnode2 = var_nodearraylist1;
8174 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8175 cltype = type_nullable_parser_nodes__ADoc.color;
8176 idtype = type_nullable_parser_nodes__ADoc.id;
8177 if(var_pdocnode2 == NULL) {
8178 var7 = 1;
8179 } else {
8180 if(cltype >= var_pdocnode2->type->table_size) {
8181 var7 = 0;
8182 } else {
8183 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
8184 }
8185 }
8186 if (!var7) {
8187 fprintf(stderr, "Runtime error: %s", "Assert failed");
8188 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22148);
8189 show_backtrace(1);
8190 }
8191 var_pvisibilitynode4 = var_nodearraylist2;
8192 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8193 cltype9 = type_nullable_parser_nodes__AVisibility.color;
8194 idtype10 = type_nullable_parser_nodes__AVisibility.id;
8195 if(var_pvisibilitynode4 == NULL) {
8196 var8 = 1;
8197 } else {
8198 if(cltype9 >= var_pvisibilitynode4->type->table_size) {
8199 var8 = 0;
8200 } else {
8201 var8 = var_pvisibilitynode4->type->type_table[cltype9] == idtype10;
8202 }
8203 }
8204 if (!var8) {
8205 fprintf(stderr, "Runtime error: %s", "Assert failed");
8206 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22150);
8207 show_backtrace(1);
8208 }
8209 var_tkwnewnode5 = var_nodearraylist3;
8210 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
8211 cltype12 = type_nullable_parser_nodes__TKwnew.color;
8212 idtype13 = type_nullable_parser_nodes__TKwnew.id;
8213 if(var_tkwnewnode5 == NULL) {
8214 var11 = 1;
8215 } else {
8216 if(cltype12 >= var_tkwnewnode5->type->table_size) {
8217 var11 = 0;
8218 } else {
8219 var11 = var_tkwnewnode5->type->type_table[cltype12] == idtype13;
8220 }
8221 }
8222 if (!var11) {
8223 fprintf(stderr, "Runtime error: %s", "Assert failed");
8224 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22152);
8225 show_backtrace(1);
8226 }
8227 var_psignaturenode7 = var_nodearraylist4;
8228 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
8229 cltype15 = type_nullable_parser_nodes__ASignature.color;
8230 idtype16 = type_nullable_parser_nodes__ASignature.id;
8231 if(var_psignaturenode7 == NULL) {
8232 var14 = 1;
8233 } else {
8234 if(cltype15 >= var_psignaturenode7->type->table_size) {
8235 var14 = 0;
8236 } else {
8237 var14 = var_psignaturenode7->type->type_table[cltype15] == idtype16;
8238 }
8239 }
8240 if (!var14) {
8241 fprintf(stderr, "Runtime error: %s", "Assert failed");
8242 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22154);
8243 show_backtrace(1);
8244 }
8245 var_pexterncallsnode9 = var_nodearraylist5;
8246 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
8247 cltype18 = type_nullable_parser_nodes__AExternCalls.color;
8248 idtype19 = type_nullable_parser_nodes__AExternCalls.id;
8249 if(var_pexterncallsnode9 == NULL) {
8250 var17 = 1;
8251 } else {
8252 if(cltype18 >= var_pexterncallsnode9->type->table_size) {
8253 var17 = 0;
8254 } else {
8255 var17 = var_pexterncallsnode9->type->type_table[cltype18] == idtype19;
8256 }
8257 }
8258 if (!var17) {
8259 fprintf(stderr, "Runtime error: %s", "Assert failed");
8260 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22156);
8261 show_backtrace(1);
8262 }
8263 var_pexterncodeblocknode10 = var_nodearraylist6;
8264 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
8265 cltype21 = type_nullable_parser_nodes__AExternCodeBlock.color;
8266 idtype22 = type_nullable_parser_nodes__AExternCodeBlock.id;
8267 if(var_pexterncodeblocknode10 == NULL) {
8268 var20 = 1;
8269 } else {
8270 if(cltype21 >= var_pexterncodeblocknode10->type->table_size) {
8271 var20 = 0;
8272 } else {
8273 var20 = var_pexterncodeblocknode10->type->type_table[cltype21] == idtype22;
8274 }
8275 }
8276 if (!var20) {
8277 fprintf(stderr, "Runtime error: %s", "Assert failed");
8278 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22158);
8279 show_backtrace(1);
8280 }
8281 var23 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
8282 var24 = NULL;
8283 var25 = NULL;
8284 var26 = NULL;
8285 ((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, var26, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var23:AExternInitPropdef>*/;
8286 var_ppropdefnode1 = var23;
8287 var_node_list = var_ppropdefnode1;
8288 var27 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction505> */
8289 var28 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var27) /* go_to on <var_p:Parser>*/;
8290 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var28, var_node_list) /* push on <var_p:Parser>*/;
8291 RET_LABEL:;
8292 }
8293 /* method parser#ReduceAction505#action for (self: Object, Parser) */
8294 void VIRTUAL_parser__ReduceAction505__action(val* self, val* p0) {
8295 parser__ReduceAction505__action(self, p0);
8296 RET_LABEL:;
8297 }
8298 /* method parser#ReduceAction506#action for (self: ReduceAction506, Parser) */
8299 void parser__ReduceAction506__action(val* self, val* p0) {
8300 val* var_p /* var p: Parser */;
8301 val* var /* : null */;
8302 val* var_node_list /* var node_list: nullable Object */;
8303 val* var1 /* : nullable Object */;
8304 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8305 val* var2 /* : nullable Object */;
8306 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8307 val* var3 /* : nullable Object */;
8308 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8309 val* var4 /* : nullable Object */;
8310 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8311 val* var5 /* : nullable Object */;
8312 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8313 val* var6 /* : nullable Object */;
8314 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8315 val* var7 /* : nullable Object */;
8316 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8317 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8318 short int var8 /* : Bool */;
8319 int cltype;
8320 int idtype;
8321 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
8322 short int var9 /* : Bool */;
8323 int cltype10;
8324 int idtype11;
8325 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8326 short int var12 /* : Bool */;
8327 int cltype13;
8328 int idtype14;
8329 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
8330 short int var15 /* : Bool */;
8331 int cltype16;
8332 int idtype17;
8333 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
8334 short int var18 /* : Bool */;
8335 int cltype19;
8336 int idtype20;
8337 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
8338 short int var21 /* : Bool */;
8339 int cltype22;
8340 int idtype23;
8341 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
8342 short int var24 /* : Bool */;
8343 int cltype25;
8344 int idtype26;
8345 val* var27 /* : AExternInitPropdef */;
8346 val* var28 /* : null */;
8347 val* var29 /* : null */;
8348 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
8349 long var30 /* : Int */;
8350 long var31 /* : Int */;
8351 var_p = p0;
8352 var = NULL;
8353 var_node_list = var;
8354 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8355 var_nodearraylist7 = var1;
8356 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8357 var_nodearraylist6 = var2;
8358 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8359 var_nodearraylist5 = var3;
8360 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8361 var_nodearraylist4 = var4;
8362 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8363 var_nodearraylist3 = var5;
8364 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8365 var_nodearraylist2 = var6;
8366 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8367 var_nodearraylist1 = var7;
8368 var_pdocnode2 = var_nodearraylist1;
8369 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8370 cltype = type_nullable_parser_nodes__ADoc.color;
8371 idtype = type_nullable_parser_nodes__ADoc.id;
8372 if(var_pdocnode2 == NULL) {
8373 var8 = 1;
8374 } else {
8375 if(cltype >= var_pdocnode2->type->table_size) {
8376 var8 = 0;
8377 } else {
8378 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
8379 }
8380 }
8381 if (!var8) {
8382 fprintf(stderr, "Runtime error: %s", "Assert failed");
8383 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22187);
8384 show_backtrace(1);
8385 }
8386 var_tkwredefnode3 = var_nodearraylist2;
8387 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8388 cltype10 = type_nullable_parser_nodes__TKwredef.color;
8389 idtype11 = type_nullable_parser_nodes__TKwredef.id;
8390 if(var_tkwredefnode3 == NULL) {
8391 var9 = 1;
8392 } else {
8393 if(cltype10 >= var_tkwredefnode3->type->table_size) {
8394 var9 = 0;
8395 } else {
8396 var9 = var_tkwredefnode3->type->type_table[cltype10] == idtype11;
8397 }
8398 }
8399 if (!var9) {
8400 fprintf(stderr, "Runtime error: %s", "Assert failed");
8401 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22189);
8402 show_backtrace(1);
8403 }
8404 var_pvisibilitynode4 = var_nodearraylist3;
8405 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8406 cltype13 = type_nullable_parser_nodes__AVisibility.color;
8407 idtype14 = type_nullable_parser_nodes__AVisibility.id;
8408 if(var_pvisibilitynode4 == NULL) {
8409 var12 = 1;
8410 } else {
8411 if(cltype13 >= var_pvisibilitynode4->type->table_size) {
8412 var12 = 0;
8413 } else {
8414 var12 = var_pvisibilitynode4->type->type_table[cltype13] == idtype14;
8415 }
8416 }
8417 if (!var12) {
8418 fprintf(stderr, "Runtime error: %s", "Assert failed");
8419 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22191);
8420 show_backtrace(1);
8421 }
8422 var_tkwnewnode5 = var_nodearraylist4;
8423 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
8424 cltype16 = type_nullable_parser_nodes__TKwnew.color;
8425 idtype17 = type_nullable_parser_nodes__TKwnew.id;
8426 if(var_tkwnewnode5 == NULL) {
8427 var15 = 1;
8428 } else {
8429 if(cltype16 >= var_tkwnewnode5->type->table_size) {
8430 var15 = 0;
8431 } else {
8432 var15 = var_tkwnewnode5->type->type_table[cltype16] == idtype17;
8433 }
8434 }
8435 if (!var15) {
8436 fprintf(stderr, "Runtime error: %s", "Assert failed");
8437 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22193);
8438 show_backtrace(1);
8439 }
8440 var_psignaturenode7 = var_nodearraylist5;
8441 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
8442 cltype19 = type_nullable_parser_nodes__ASignature.color;
8443 idtype20 = type_nullable_parser_nodes__ASignature.id;
8444 if(var_psignaturenode7 == NULL) {
8445 var18 = 1;
8446 } else {
8447 if(cltype19 >= var_psignaturenode7->type->table_size) {
8448 var18 = 0;
8449 } else {
8450 var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20;
8451 }
8452 }
8453 if (!var18) {
8454 fprintf(stderr, "Runtime error: %s", "Assert failed");
8455 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22195);
8456 show_backtrace(1);
8457 }
8458 var_pexterncallsnode9 = var_nodearraylist6;
8459 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
8460 cltype22 = type_nullable_parser_nodes__AExternCalls.color;
8461 idtype23 = type_nullable_parser_nodes__AExternCalls.id;
8462 if(var_pexterncallsnode9 == NULL) {
8463 var21 = 1;
8464 } else {
8465 if(cltype22 >= var_pexterncallsnode9->type->table_size) {
8466 var21 = 0;
8467 } else {
8468 var21 = var_pexterncallsnode9->type->type_table[cltype22] == idtype23;
8469 }
8470 }
8471 if (!var21) {
8472 fprintf(stderr, "Runtime error: %s", "Assert failed");
8473 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22197);
8474 show_backtrace(1);
8475 }
8476 var_pexterncodeblocknode10 = var_nodearraylist7;
8477 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
8478 cltype25 = type_nullable_parser_nodes__AExternCodeBlock.color;
8479 idtype26 = type_nullable_parser_nodes__AExternCodeBlock.id;
8480 if(var_pexterncodeblocknode10 == NULL) {
8481 var24 = 1;
8482 } else {
8483 if(cltype25 >= var_pexterncodeblocknode10->type->table_size) {
8484 var24 = 0;
8485 } else {
8486 var24 = var_pexterncodeblocknode10->type->type_table[cltype25] == idtype26;
8487 }
8488 }
8489 if (!var24) {
8490 fprintf(stderr, "Runtime error: %s", "Assert failed");
8491 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22199);
8492 show_backtrace(1);
8493 }
8494 var27 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
8495 var28 = NULL;
8496 var29 = NULL;
8497 ((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, var29, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var27:AExternInitPropdef>*/;
8498 var_ppropdefnode1 = var27;
8499 var_node_list = var_ppropdefnode1;
8500 var30 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction506> */
8501 var31 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var30) /* go_to on <var_p:Parser>*/;
8502 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var31, var_node_list) /* push on <var_p:Parser>*/;
8503 RET_LABEL:;
8504 }
8505 /* method parser#ReduceAction506#action for (self: Object, Parser) */
8506 void VIRTUAL_parser__ReduceAction506__action(val* self, val* p0) {
8507 parser__ReduceAction506__action(self, p0);
8508 RET_LABEL:;
8509 }
8510 /* method parser#ReduceAction507#action for (self: ReduceAction507, Parser) */
8511 void parser__ReduceAction507__action(val* self, val* p0) {
8512 val* var_p /* var p: Parser */;
8513 val* var /* : null */;
8514 val* var_node_list /* var node_list: nullable Object */;
8515 val* var1 /* : nullable Object */;
8516 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8517 val* var2 /* : nullable Object */;
8518 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8519 val* var3 /* : nullable Object */;
8520 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8521 val* var4 /* : nullable Object */;
8522 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8523 val* var5 /* : nullable Object */;
8524 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8525 val* var6 /* : nullable Object */;
8526 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8527 val* var7 /* : nullable Object */;
8528 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8529 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8530 short int var8 /* : Bool */;
8531 int cltype;
8532 int idtype;
8533 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8534 short int var9 /* : Bool */;
8535 int cltype10;
8536 int idtype11;
8537 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
8538 short int var12 /* : Bool */;
8539 int cltype13;
8540 int idtype14;
8541 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
8542 short int var15 /* : Bool */;
8543 int cltype16;
8544 int idtype17;
8545 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
8546 short int var18 /* : Bool */;
8547 int cltype19;
8548 int idtype20;
8549 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
8550 short int var21 /* : Bool */;
8551 int cltype22;
8552 int idtype23;
8553 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
8554 short int var24 /* : Bool */;
8555 int cltype25;
8556 int idtype26;
8557 val* var27 /* : AExternInitPropdef */;
8558 val* var28 /* : null */;
8559 val* var29 /* : null */;
8560 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
8561 long var30 /* : Int */;
8562 long var31 /* : Int */;
8563 var_p = p0;
8564 var = NULL;
8565 var_node_list = var;
8566 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8567 var_nodearraylist7 = var1;
8568 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8569 var_nodearraylist6 = var2;
8570 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8571 var_nodearraylist5 = var3;
8572 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8573 var_nodearraylist4 = var4;
8574 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8575 var_nodearraylist3 = var5;
8576 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8577 var_nodearraylist2 = var6;
8578 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8579 var_nodearraylist1 = var7;
8580 var_pdocnode2 = var_nodearraylist1;
8581 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8582 cltype = type_nullable_parser_nodes__ADoc.color;
8583 idtype = type_nullable_parser_nodes__ADoc.id;
8584 if(var_pdocnode2 == NULL) {
8585 var8 = 1;
8586 } else {
8587 if(cltype >= var_pdocnode2->type->table_size) {
8588 var8 = 0;
8589 } else {
8590 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
8591 }
8592 }
8593 if (!var8) {
8594 fprintf(stderr, "Runtime error: %s", "Assert failed");
8595 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22228);
8596 show_backtrace(1);
8597 }
8598 var_pvisibilitynode4 = var_nodearraylist2;
8599 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8600 cltype10 = type_nullable_parser_nodes__AVisibility.color;
8601 idtype11 = type_nullable_parser_nodes__AVisibility.id;
8602 if(var_pvisibilitynode4 == NULL) {
8603 var9 = 1;
8604 } else {
8605 if(cltype10 >= var_pvisibilitynode4->type->table_size) {
8606 var9 = 0;
8607 } else {
8608 var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11;
8609 }
8610 }
8611 if (!var9) {
8612 fprintf(stderr, "Runtime error: %s", "Assert failed");
8613 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22230);
8614 show_backtrace(1);
8615 }
8616 var_tkwnewnode5 = var_nodearraylist3;
8617 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
8618 cltype13 = type_nullable_parser_nodes__TKwnew.color;
8619 idtype14 = type_nullable_parser_nodes__TKwnew.id;
8620 if(var_tkwnewnode5 == NULL) {
8621 var12 = 1;
8622 } else {
8623 if(cltype13 >= var_tkwnewnode5->type->table_size) {
8624 var12 = 0;
8625 } else {
8626 var12 = var_tkwnewnode5->type->type_table[cltype13] == idtype14;
8627 }
8628 }
8629 if (!var12) {
8630 fprintf(stderr, "Runtime error: %s", "Assert failed");
8631 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22232);
8632 show_backtrace(1);
8633 }
8634 var_pmethidnode6 = var_nodearraylist4;
8635 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
8636 cltype16 = type_nullable_parser_nodes__AMethid.color;
8637 idtype17 = type_nullable_parser_nodes__AMethid.id;
8638 if(var_pmethidnode6 == NULL) {
8639 var15 = 1;
8640 } else {
8641 if(cltype16 >= var_pmethidnode6->type->table_size) {
8642 var15 = 0;
8643 } else {
8644 var15 = var_pmethidnode6->type->type_table[cltype16] == idtype17;
8645 }
8646 }
8647 if (!var15) {
8648 fprintf(stderr, "Runtime error: %s", "Assert failed");
8649 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22234);
8650 show_backtrace(1);
8651 }
8652 var_psignaturenode7 = var_nodearraylist5;
8653 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
8654 cltype19 = type_nullable_parser_nodes__ASignature.color;
8655 idtype20 = type_nullable_parser_nodes__ASignature.id;
8656 if(var_psignaturenode7 == NULL) {
8657 var18 = 1;
8658 } else {
8659 if(cltype19 >= var_psignaturenode7->type->table_size) {
8660 var18 = 0;
8661 } else {
8662 var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20;
8663 }
8664 }
8665 if (!var18) {
8666 fprintf(stderr, "Runtime error: %s", "Assert failed");
8667 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22236);
8668 show_backtrace(1);
8669 }
8670 var_pexterncallsnode9 = var_nodearraylist6;
8671 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
8672 cltype22 = type_nullable_parser_nodes__AExternCalls.color;
8673 idtype23 = type_nullable_parser_nodes__AExternCalls.id;
8674 if(var_pexterncallsnode9 == NULL) {
8675 var21 = 1;
8676 } else {
8677 if(cltype22 >= var_pexterncallsnode9->type->table_size) {
8678 var21 = 0;
8679 } else {
8680 var21 = var_pexterncallsnode9->type->type_table[cltype22] == idtype23;
8681 }
8682 }
8683 if (!var21) {
8684 fprintf(stderr, "Runtime error: %s", "Assert failed");
8685 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22238);
8686 show_backtrace(1);
8687 }
8688 var_pexterncodeblocknode10 = var_nodearraylist7;
8689 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
8690 cltype25 = type_nullable_parser_nodes__AExternCodeBlock.color;
8691 idtype26 = type_nullable_parser_nodes__AExternCodeBlock.id;
8692 if(var_pexterncodeblocknode10 == NULL) {
8693 var24 = 1;
8694 } else {
8695 if(cltype25 >= var_pexterncodeblocknode10->type->table_size) {
8696 var24 = 0;
8697 } else {
8698 var24 = var_pexterncodeblocknode10->type->type_table[cltype25] == idtype26;
8699 }
8700 }
8701 if (!var24) {
8702 fprintf(stderr, "Runtime error: %s", "Assert failed");
8703 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22240);
8704 show_backtrace(1);
8705 }
8706 var27 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
8707 var28 = NULL;
8708 var29 = NULL;
8709 ((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, var29, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var27:AExternInitPropdef>*/;
8710 var_ppropdefnode1 = var27;
8711 var_node_list = var_ppropdefnode1;
8712 var30 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction507> */
8713 var31 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var30) /* go_to on <var_p:Parser>*/;
8714 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var31, var_node_list) /* push on <var_p:Parser>*/;
8715 RET_LABEL:;
8716 }
8717 /* method parser#ReduceAction507#action for (self: Object, Parser) */
8718 void VIRTUAL_parser__ReduceAction507__action(val* self, val* p0) {
8719 parser__ReduceAction507__action(self, p0);
8720 RET_LABEL:;
8721 }
8722 /* method parser#ReduceAction508#action for (self: ReduceAction508, Parser) */
8723 void parser__ReduceAction508__action(val* self, val* p0) {
8724 val* var_p /* var p: Parser */;
8725 val* var /* : null */;
8726 val* var_node_list /* var node_list: nullable Object */;
8727 val* var1 /* : nullable Object */;
8728 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8729 val* var2 /* : nullable Object */;
8730 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8731 val* var3 /* : nullable Object */;
8732 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8733 val* var4 /* : nullable Object */;
8734 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8735 val* var5 /* : nullable Object */;
8736 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8737 val* var6 /* : nullable Object */;
8738 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8739 val* var7 /* : nullable Object */;
8740 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8741 val* var8 /* : nullable Object */;
8742 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8743 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8744 short int var9 /* : Bool */;
8745 int cltype;
8746 int idtype;
8747 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
8748 short int var10 /* : Bool */;
8749 int cltype11;
8750 int idtype12;
8751 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8752 short int var13 /* : Bool */;
8753 int cltype14;
8754 int idtype15;
8755 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
8756 short int var16 /* : Bool */;
8757 int cltype17;
8758 int idtype18;
8759 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
8760 short int var19 /* : Bool */;
8761 int cltype20;
8762 int idtype21;
8763 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
8764 short int var22 /* : Bool */;
8765 int cltype23;
8766 int idtype24;
8767 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
8768 short int var25 /* : Bool */;
8769 int cltype26;
8770 int idtype27;
8771 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
8772 short int var28 /* : Bool */;
8773 int cltype29;
8774 int idtype30;
8775 val* var31 /* : AExternInitPropdef */;
8776 val* var32 /* : null */;
8777 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
8778 long var33 /* : Int */;
8779 long var34 /* : Int */;
8780 var_p = p0;
8781 var = NULL;
8782 var_node_list = var;
8783 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8784 var_nodearraylist8 = var1;
8785 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8786 var_nodearraylist7 = var2;
8787 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8788 var_nodearraylist6 = var3;
8789 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8790 var_nodearraylist5 = var4;
8791 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8792 var_nodearraylist4 = var5;
8793 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8794 var_nodearraylist3 = var6;
8795 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8796 var_nodearraylist2 = var7;
8797 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8798 var_nodearraylist1 = var8;
8799 var_pdocnode2 = var_nodearraylist1;
8800 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8801 cltype = type_nullable_parser_nodes__ADoc.color;
8802 idtype = type_nullable_parser_nodes__ADoc.id;
8803 if(var_pdocnode2 == NULL) {
8804 var9 = 1;
8805 } else {
8806 if(cltype >= var_pdocnode2->type->table_size) {
8807 var9 = 0;
8808 } else {
8809 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
8810 }
8811 }
8812 if (!var9) {
8813 fprintf(stderr, "Runtime error: %s", "Assert failed");
8814 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22270);
8815 show_backtrace(1);
8816 }
8817 var_tkwredefnode3 = var_nodearraylist2;
8818 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8819 cltype11 = type_nullable_parser_nodes__TKwredef.color;
8820 idtype12 = type_nullable_parser_nodes__TKwredef.id;
8821 if(var_tkwredefnode3 == NULL) {
8822 var10 = 1;
8823 } else {
8824 if(cltype11 >= var_tkwredefnode3->type->table_size) {
8825 var10 = 0;
8826 } else {
8827 var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12;
8828 }
8829 }
8830 if (!var10) {
8831 fprintf(stderr, "Runtime error: %s", "Assert failed");
8832 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22272);
8833 show_backtrace(1);
8834 }
8835 var_pvisibilitynode4 = var_nodearraylist3;
8836 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8837 cltype14 = type_nullable_parser_nodes__AVisibility.color;
8838 idtype15 = type_nullable_parser_nodes__AVisibility.id;
8839 if(var_pvisibilitynode4 == NULL) {
8840 var13 = 1;
8841 } else {
8842 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
8843 var13 = 0;
8844 } else {
8845 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
8846 }
8847 }
8848 if (!var13) {
8849 fprintf(stderr, "Runtime error: %s", "Assert failed");
8850 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22274);
8851 show_backtrace(1);
8852 }
8853 var_tkwnewnode5 = var_nodearraylist4;
8854 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
8855 cltype17 = type_nullable_parser_nodes__TKwnew.color;
8856 idtype18 = type_nullable_parser_nodes__TKwnew.id;
8857 if(var_tkwnewnode5 == NULL) {
8858 var16 = 1;
8859 } else {
8860 if(cltype17 >= var_tkwnewnode5->type->table_size) {
8861 var16 = 0;
8862 } else {
8863 var16 = var_tkwnewnode5->type->type_table[cltype17] == idtype18;
8864 }
8865 }
8866 if (!var16) {
8867 fprintf(stderr, "Runtime error: %s", "Assert failed");
8868 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22276);
8869 show_backtrace(1);
8870 }
8871 var_pmethidnode6 = var_nodearraylist5;
8872 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
8873 cltype20 = type_nullable_parser_nodes__AMethid.color;
8874 idtype21 = type_nullable_parser_nodes__AMethid.id;
8875 if(var_pmethidnode6 == NULL) {
8876 var19 = 1;
8877 } else {
8878 if(cltype20 >= var_pmethidnode6->type->table_size) {
8879 var19 = 0;
8880 } else {
8881 var19 = var_pmethidnode6->type->type_table[cltype20] == idtype21;
8882 }
8883 }
8884 if (!var19) {
8885 fprintf(stderr, "Runtime error: %s", "Assert failed");
8886 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22278);
8887 show_backtrace(1);
8888 }
8889 var_psignaturenode7 = var_nodearraylist6;
8890 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
8891 cltype23 = type_nullable_parser_nodes__ASignature.color;
8892 idtype24 = type_nullable_parser_nodes__ASignature.id;
8893 if(var_psignaturenode7 == NULL) {
8894 var22 = 1;
8895 } else {
8896 if(cltype23 >= var_psignaturenode7->type->table_size) {
8897 var22 = 0;
8898 } else {
8899 var22 = var_psignaturenode7->type->type_table[cltype23] == idtype24;
8900 }
8901 }
8902 if (!var22) {
8903 fprintf(stderr, "Runtime error: %s", "Assert failed");
8904 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22280);
8905 show_backtrace(1);
8906 }
8907 var_pexterncallsnode9 = var_nodearraylist7;
8908 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
8909 cltype26 = type_nullable_parser_nodes__AExternCalls.color;
8910 idtype27 = type_nullable_parser_nodes__AExternCalls.id;
8911 if(var_pexterncallsnode9 == NULL) {
8912 var25 = 1;
8913 } else {
8914 if(cltype26 >= var_pexterncallsnode9->type->table_size) {
8915 var25 = 0;
8916 } else {
8917 var25 = var_pexterncallsnode9->type->type_table[cltype26] == idtype27;
8918 }
8919 }
8920 if (!var25) {
8921 fprintf(stderr, "Runtime error: %s", "Assert failed");
8922 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22282);
8923 show_backtrace(1);
8924 }
8925 var_pexterncodeblocknode10 = var_nodearraylist8;
8926 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
8927 cltype29 = type_nullable_parser_nodes__AExternCodeBlock.color;
8928 idtype30 = type_nullable_parser_nodes__AExternCodeBlock.id;
8929 if(var_pexterncodeblocknode10 == NULL) {
8930 var28 = 1;
8931 } else {
8932 if(cltype29 >= var_pexterncodeblocknode10->type->table_size) {
8933 var28 = 0;
8934 } else {
8935 var28 = var_pexterncodeblocknode10->type->type_table[cltype29] == idtype30;
8936 }
8937 }
8938 if (!var28) {
8939 fprintf(stderr, "Runtime error: %s", "Assert failed");
8940 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22284);
8941 show_backtrace(1);
8942 }
8943 var31 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
8944 var32 = NULL;
8945 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var31->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var31, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var32, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var31:AExternInitPropdef>*/;
8946 var_ppropdefnode1 = var31;
8947 var_node_list = var_ppropdefnode1;
8948 var33 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction508> */
8949 var34 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var33) /* go_to on <var_p:Parser>*/;
8950 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var34, var_node_list) /* push on <var_p:Parser>*/;
8951 RET_LABEL:;
8952 }
8953 /* method parser#ReduceAction508#action for (self: Object, Parser) */
8954 void VIRTUAL_parser__ReduceAction508__action(val* self, val* p0) {
8955 parser__ReduceAction508__action(self, p0);
8956 RET_LABEL:;
8957 }
8958 /* method parser#ReduceAction509#action for (self: ReduceAction509, Parser) */
8959 void parser__ReduceAction509__action(val* self, val* p0) {
8960 val* var_p /* var p: Parser */;
8961 val* var /* : null */;
8962 val* var_node_list /* var node_list: nullable Object */;
8963 val* var1 /* : nullable Object */;
8964 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8965 val* var2 /* : nullable Object */;
8966 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8967 val* var3 /* : nullable Object */;
8968 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8969 val* var4 /* : nullable Object */;
8970 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8971 val* var5 /* : nullable Object */;
8972 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8973 val* var6 /* : nullable Object */;
8974 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8975 val* var7 /* : nullable Object */;
8976 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8977 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8978 short int var8 /* : Bool */;
8979 int cltype;
8980 int idtype;
8981 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8982 short int var9 /* : Bool */;
8983 int cltype10;
8984 int idtype11;
8985 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
8986 short int var12 /* : Bool */;
8987 int cltype13;
8988 int idtype14;
8989 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
8990 short int var15 /* : Bool */;
8991 int cltype16;
8992 int idtype17;
8993 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
8994 short int var18 /* : Bool */;
8995 int cltype19;
8996 int idtype20;
8997 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
8998 short int var21 /* : Bool */;
8999 int cltype22;
9000 int idtype23;
9001 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
9002 short int var24 /* : Bool */;
9003 int cltype25;
9004 int idtype26;
9005 val* var27 /* : AExternInitPropdef */;
9006 val* var28 /* : null */;
9007 val* var29 /* : null */;
9008 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
9009 long var30 /* : Int */;
9010 long var31 /* : Int */;
9011 var_p = p0;
9012 var = NULL;
9013 var_node_list = var;
9014 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9015 var_nodearraylist7 = var1;
9016 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9017 var_nodearraylist6 = var2;
9018 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9019 var_nodearraylist5 = var3;
9020 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9021 var_nodearraylist4 = var4;
9022 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9023 var_nodearraylist3 = var5;
9024 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9025 var_nodearraylist2 = var6;
9026 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9027 var_nodearraylist1 = var7;
9028 var_pdocnode2 = var_nodearraylist1;
9029 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9030 cltype = type_nullable_parser_nodes__ADoc.color;
9031 idtype = type_nullable_parser_nodes__ADoc.id;
9032 if(var_pdocnode2 == NULL) {
9033 var8 = 1;
9034 } else {
9035 if(cltype >= var_pdocnode2->type->table_size) {
9036 var8 = 0;
9037 } else {
9038 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
9039 }
9040 }
9041 if (!var8) {
9042 fprintf(stderr, "Runtime error: %s", "Assert failed");
9043 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22313);
9044 show_backtrace(1);
9045 }
9046 var_pvisibilitynode4 = var_nodearraylist2;
9047 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9048 cltype10 = type_nullable_parser_nodes__AVisibility.color;
9049 idtype11 = type_nullable_parser_nodes__AVisibility.id;
9050 if(var_pvisibilitynode4 == NULL) {
9051 var9 = 1;
9052 } else {
9053 if(cltype10 >= var_pvisibilitynode4->type->table_size) {
9054 var9 = 0;
9055 } else {
9056 var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11;
9057 }
9058 }
9059 if (!var9) {
9060 fprintf(stderr, "Runtime error: %s", "Assert failed");
9061 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22315);
9062 show_backtrace(1);
9063 }
9064 var_tkwnewnode5 = var_nodearraylist3;
9065 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
9066 cltype13 = type_nullable_parser_nodes__TKwnew.color;
9067 idtype14 = type_nullable_parser_nodes__TKwnew.id;
9068 if(var_tkwnewnode5 == NULL) {
9069 var12 = 1;
9070 } else {
9071 if(cltype13 >= var_tkwnewnode5->type->table_size) {
9072 var12 = 0;
9073 } else {
9074 var12 = var_tkwnewnode5->type->type_table[cltype13] == idtype14;
9075 }
9076 }
9077 if (!var12) {
9078 fprintf(stderr, "Runtime error: %s", "Assert failed");
9079 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22317);
9080 show_backtrace(1);
9081 }
9082 var_psignaturenode7 = var_nodearraylist4;
9083 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
9084 cltype16 = type_nullable_parser_nodes__ASignature.color;
9085 idtype17 = type_nullable_parser_nodes__ASignature.id;
9086 if(var_psignaturenode7 == NULL) {
9087 var15 = 1;
9088 } else {
9089 if(cltype16 >= var_psignaturenode7->type->table_size) {
9090 var15 = 0;
9091 } else {
9092 var15 = var_psignaturenode7->type->type_table[cltype16] == idtype17;
9093 }
9094 }
9095 if (!var15) {
9096 fprintf(stderr, "Runtime error: %s", "Assert failed");
9097 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22319);
9098 show_backtrace(1);
9099 }
9100 var_tstringnode8 = var_nodearraylist5;
9101 /* <var_tstringnode8:nullable Object> isa nullable TString */
9102 cltype19 = type_nullable_parser_nodes__TString.color;
9103 idtype20 = type_nullable_parser_nodes__TString.id;
9104 if(var_tstringnode8 == NULL) {
9105 var18 = 1;
9106 } else {
9107 if(cltype19 >= var_tstringnode8->type->table_size) {
9108 var18 = 0;
9109 } else {
9110 var18 = var_tstringnode8->type->type_table[cltype19] == idtype20;
9111 }
9112 }
9113 if (!var18) {
9114 fprintf(stderr, "Runtime error: %s", "Assert failed");
9115 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22321);
9116 show_backtrace(1);
9117 }
9118 var_pexterncallsnode9 = var_nodearraylist6;
9119 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
9120 cltype22 = type_nullable_parser_nodes__AExternCalls.color;
9121 idtype23 = type_nullable_parser_nodes__AExternCalls.id;
9122 if(var_pexterncallsnode9 == NULL) {
9123 var21 = 1;
9124 } else {
9125 if(cltype22 >= var_pexterncallsnode9->type->table_size) {
9126 var21 = 0;
9127 } else {
9128 var21 = var_pexterncallsnode9->type->type_table[cltype22] == idtype23;
9129 }
9130 }
9131 if (!var21) {
9132 fprintf(stderr, "Runtime error: %s", "Assert failed");
9133 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22323);
9134 show_backtrace(1);
9135 }
9136 var_pexterncodeblocknode10 = var_nodearraylist7;
9137 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
9138 cltype25 = type_nullable_parser_nodes__AExternCodeBlock.color;
9139 idtype26 = type_nullable_parser_nodes__AExternCodeBlock.id;
9140 if(var_pexterncodeblocknode10 == NULL) {
9141 var24 = 1;
9142 } else {
9143 if(cltype25 >= var_pexterncodeblocknode10->type->table_size) {
9144 var24 = 0;
9145 } else {
9146 var24 = var_pexterncodeblocknode10->type->type_table[cltype25] == idtype26;
9147 }
9148 }
9149 if (!var24) {
9150 fprintf(stderr, "Runtime error: %s", "Assert failed");
9151 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22325);
9152 show_backtrace(1);
9153 }
9154 var27 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
9155 var28 = NULL;
9156 var29 = NULL;
9157 ((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, var29, var_psignaturenode7, var_tstringnode8, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var27:AExternInitPropdef>*/;
9158 var_ppropdefnode1 = var27;
9159 var_node_list = var_ppropdefnode1;
9160 var30 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction509> */
9161 var31 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var30) /* go_to on <var_p:Parser>*/;
9162 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var31, var_node_list) /* push on <var_p:Parser>*/;
9163 RET_LABEL:;
9164 }
9165 /* method parser#ReduceAction509#action for (self: Object, Parser) */
9166 void VIRTUAL_parser__ReduceAction509__action(val* self, val* p0) {
9167 parser__ReduceAction509__action(self, p0);
9168 RET_LABEL:;
9169 }
9170 /* method parser#ReduceAction510#action for (self: ReduceAction510, Parser) */
9171 void parser__ReduceAction510__action(val* self, val* p0) {
9172 val* var_p /* var p: Parser */;
9173 val* var /* : null */;
9174 val* var_node_list /* var node_list: nullable Object */;
9175 val* var1 /* : nullable Object */;
9176 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9177 val* var2 /* : nullable Object */;
9178 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9179 val* var3 /* : nullable Object */;
9180 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9181 val* var4 /* : nullable Object */;
9182 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9183 val* var5 /* : nullable Object */;
9184 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9185 val* var6 /* : nullable Object */;
9186 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9187 val* var7 /* : nullable Object */;
9188 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9189 val* var8 /* : nullable Object */;
9190 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9191 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9192 short int var9 /* : Bool */;
9193 int cltype;
9194 int idtype;
9195 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
9196 short int var10 /* : Bool */;
9197 int cltype11;
9198 int idtype12;
9199 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9200 short int var13 /* : Bool */;
9201 int cltype14;
9202 int idtype15;
9203 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
9204 short int var16 /* : Bool */;
9205 int cltype17;
9206 int idtype18;
9207 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
9208 short int var19 /* : Bool */;
9209 int cltype20;
9210 int idtype21;
9211 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
9212 short int var22 /* : Bool */;
9213 int cltype23;
9214 int idtype24;
9215 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
9216 short int var25 /* : Bool */;
9217 int cltype26;
9218 int idtype27;
9219 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
9220 short int var28 /* : Bool */;
9221 int cltype29;
9222 int idtype30;
9223 val* var31 /* : AExternInitPropdef */;
9224 val* var32 /* : null */;
9225 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
9226 long var33 /* : Int */;
9227 long var34 /* : Int */;
9228 var_p = p0;
9229 var = NULL;
9230 var_node_list = var;
9231 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9232 var_nodearraylist8 = var1;
9233 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9234 var_nodearraylist7 = var2;
9235 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9236 var_nodearraylist6 = var3;
9237 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9238 var_nodearraylist5 = var4;
9239 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9240 var_nodearraylist4 = var5;
9241 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9242 var_nodearraylist3 = var6;
9243 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9244 var_nodearraylist2 = var7;
9245 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9246 var_nodearraylist1 = var8;
9247 var_pdocnode2 = var_nodearraylist1;
9248 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9249 cltype = type_nullable_parser_nodes__ADoc.color;
9250 idtype = type_nullable_parser_nodes__ADoc.id;
9251 if(var_pdocnode2 == NULL) {
9252 var9 = 1;
9253 } else {
9254 if(cltype >= var_pdocnode2->type->table_size) {
9255 var9 = 0;
9256 } else {
9257 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
9258 }
9259 }
9260 if (!var9) {
9261 fprintf(stderr, "Runtime error: %s", "Assert failed");
9262 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22355);
9263 show_backtrace(1);
9264 }
9265 var_tkwredefnode3 = var_nodearraylist2;
9266 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
9267 cltype11 = type_nullable_parser_nodes__TKwredef.color;
9268 idtype12 = type_nullable_parser_nodes__TKwredef.id;
9269 if(var_tkwredefnode3 == NULL) {
9270 var10 = 1;
9271 } else {
9272 if(cltype11 >= var_tkwredefnode3->type->table_size) {
9273 var10 = 0;
9274 } else {
9275 var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12;
9276 }
9277 }
9278 if (!var10) {
9279 fprintf(stderr, "Runtime error: %s", "Assert failed");
9280 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22357);
9281 show_backtrace(1);
9282 }
9283 var_pvisibilitynode4 = var_nodearraylist3;
9284 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9285 cltype14 = type_nullable_parser_nodes__AVisibility.color;
9286 idtype15 = type_nullable_parser_nodes__AVisibility.id;
9287 if(var_pvisibilitynode4 == NULL) {
9288 var13 = 1;
9289 } else {
9290 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
9291 var13 = 0;
9292 } else {
9293 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
9294 }
9295 }
9296 if (!var13) {
9297 fprintf(stderr, "Runtime error: %s", "Assert failed");
9298 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22359);
9299 show_backtrace(1);
9300 }
9301 var_tkwnewnode5 = var_nodearraylist4;
9302 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
9303 cltype17 = type_nullable_parser_nodes__TKwnew.color;
9304 idtype18 = type_nullable_parser_nodes__TKwnew.id;
9305 if(var_tkwnewnode5 == NULL) {
9306 var16 = 1;
9307 } else {
9308 if(cltype17 >= var_tkwnewnode5->type->table_size) {
9309 var16 = 0;
9310 } else {
9311 var16 = var_tkwnewnode5->type->type_table[cltype17] == idtype18;
9312 }
9313 }
9314 if (!var16) {
9315 fprintf(stderr, "Runtime error: %s", "Assert failed");
9316 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22361);
9317 show_backtrace(1);
9318 }
9319 var_psignaturenode7 = var_nodearraylist5;
9320 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
9321 cltype20 = type_nullable_parser_nodes__ASignature.color;
9322 idtype21 = type_nullable_parser_nodes__ASignature.id;
9323 if(var_psignaturenode7 == NULL) {
9324 var19 = 1;
9325 } else {
9326 if(cltype20 >= var_psignaturenode7->type->table_size) {
9327 var19 = 0;
9328 } else {
9329 var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
9330 }
9331 }
9332 if (!var19) {
9333 fprintf(stderr, "Runtime error: %s", "Assert failed");
9334 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22363);
9335 show_backtrace(1);
9336 }
9337 var_tstringnode8 = var_nodearraylist6;
9338 /* <var_tstringnode8:nullable Object> isa nullable TString */
9339 cltype23 = type_nullable_parser_nodes__TString.color;
9340 idtype24 = type_nullable_parser_nodes__TString.id;
9341 if(var_tstringnode8 == NULL) {
9342 var22 = 1;
9343 } else {
9344 if(cltype23 >= var_tstringnode8->type->table_size) {
9345 var22 = 0;
9346 } else {
9347 var22 = var_tstringnode8->type->type_table[cltype23] == idtype24;
9348 }
9349 }
9350 if (!var22) {
9351 fprintf(stderr, "Runtime error: %s", "Assert failed");
9352 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22365);
9353 show_backtrace(1);
9354 }
9355 var_pexterncallsnode9 = var_nodearraylist7;
9356 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
9357 cltype26 = type_nullable_parser_nodes__AExternCalls.color;
9358 idtype27 = type_nullable_parser_nodes__AExternCalls.id;
9359 if(var_pexterncallsnode9 == NULL) {
9360 var25 = 1;
9361 } else {
9362 if(cltype26 >= var_pexterncallsnode9->type->table_size) {
9363 var25 = 0;
9364 } else {
9365 var25 = var_pexterncallsnode9->type->type_table[cltype26] == idtype27;
9366 }
9367 }
9368 if (!var25) {
9369 fprintf(stderr, "Runtime error: %s", "Assert failed");
9370 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22367);
9371 show_backtrace(1);
9372 }
9373 var_pexterncodeblocknode10 = var_nodearraylist8;
9374 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
9375 cltype29 = type_nullable_parser_nodes__AExternCodeBlock.color;
9376 idtype30 = type_nullable_parser_nodes__AExternCodeBlock.id;
9377 if(var_pexterncodeblocknode10 == NULL) {
9378 var28 = 1;
9379 } else {
9380 if(cltype29 >= var_pexterncodeblocknode10->type->table_size) {
9381 var28 = 0;
9382 } else {
9383 var28 = var_pexterncodeblocknode10->type->type_table[cltype29] == idtype30;
9384 }
9385 }
9386 if (!var28) {
9387 fprintf(stderr, "Runtime error: %s", "Assert failed");
9388 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22369);
9389 show_backtrace(1);
9390 }
9391 var31 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
9392 var32 = NULL;
9393 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var31->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var31, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var32, var_psignaturenode7, var_tstringnode8, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var31:AExternInitPropdef>*/;
9394 var_ppropdefnode1 = var31;
9395 var_node_list = var_ppropdefnode1;
9396 var33 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction510> */
9397 var34 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var33) /* go_to on <var_p:Parser>*/;
9398 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var34, var_node_list) /* push on <var_p:Parser>*/;
9399 RET_LABEL:;
9400 }
9401 /* method parser#ReduceAction510#action for (self: Object, Parser) */
9402 void VIRTUAL_parser__ReduceAction510__action(val* self, val* p0) {
9403 parser__ReduceAction510__action(self, p0);
9404 RET_LABEL:;
9405 }
9406 /* method parser#ReduceAction511#action for (self: ReduceAction511, Parser) */
9407 void parser__ReduceAction511__action(val* self, val* p0) {
9408 val* var_p /* var p: Parser */;
9409 val* var /* : null */;
9410 val* var_node_list /* var node_list: nullable Object */;
9411 val* var1 /* : nullable Object */;
9412 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9413 val* var2 /* : nullable Object */;
9414 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9415 val* var3 /* : nullable Object */;
9416 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9417 val* var4 /* : nullable Object */;
9418 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9419 val* var5 /* : nullable Object */;
9420 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9421 val* var6 /* : nullable Object */;
9422 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9423 val* var7 /* : nullable Object */;
9424 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9425 val* var8 /* : nullable Object */;
9426 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9427 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9428 short int var9 /* : Bool */;
9429 int cltype;
9430 int idtype;
9431 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9432 short int var10 /* : Bool */;
9433 int cltype11;
9434 int idtype12;
9435 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
9436 short int var13 /* : Bool */;
9437 int cltype14;
9438 int idtype15;
9439 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
9440 short int var16 /* : Bool */;
9441 int cltype17;
9442 int idtype18;
9443 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
9444 short int var19 /* : Bool */;
9445 int cltype20;
9446 int idtype21;
9447 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
9448 short int var22 /* : Bool */;
9449 int cltype23;
9450 int idtype24;
9451 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
9452 short int var25 /* : Bool */;
9453 int cltype26;
9454 int idtype27;
9455 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
9456 short int var28 /* : Bool */;
9457 int cltype29;
9458 int idtype30;
9459 val* var31 /* : AExternInitPropdef */;
9460 val* var32 /* : null */;
9461 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
9462 long var33 /* : Int */;
9463 long var34 /* : Int */;
9464 var_p = p0;
9465 var = NULL;
9466 var_node_list = var;
9467 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9468 var_nodearraylist8 = var1;
9469 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9470 var_nodearraylist7 = var2;
9471 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9472 var_nodearraylist6 = var3;
9473 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9474 var_nodearraylist5 = var4;
9475 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9476 var_nodearraylist4 = var5;
9477 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9478 var_nodearraylist3 = var6;
9479 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9480 var_nodearraylist2 = var7;
9481 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9482 var_nodearraylist1 = var8;
9483 var_pdocnode2 = var_nodearraylist1;
9484 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9485 cltype = type_nullable_parser_nodes__ADoc.color;
9486 idtype = type_nullable_parser_nodes__ADoc.id;
9487 if(var_pdocnode2 == NULL) {
9488 var9 = 1;
9489 } else {
9490 if(cltype >= var_pdocnode2->type->table_size) {
9491 var9 = 0;
9492 } else {
9493 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
9494 }
9495 }
9496 if (!var9) {
9497 fprintf(stderr, "Runtime error: %s", "Assert failed");
9498 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22399);
9499 show_backtrace(1);
9500 }
9501 var_pvisibilitynode4 = var_nodearraylist2;
9502 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9503 cltype11 = type_nullable_parser_nodes__AVisibility.color;
9504 idtype12 = type_nullable_parser_nodes__AVisibility.id;
9505 if(var_pvisibilitynode4 == NULL) {
9506 var10 = 1;
9507 } else {
9508 if(cltype11 >= var_pvisibilitynode4->type->table_size) {
9509 var10 = 0;
9510 } else {
9511 var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
9512 }
9513 }
9514 if (!var10) {
9515 fprintf(stderr, "Runtime error: %s", "Assert failed");
9516 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22401);
9517 show_backtrace(1);
9518 }
9519 var_tkwnewnode5 = var_nodearraylist3;
9520 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
9521 cltype14 = type_nullable_parser_nodes__TKwnew.color;
9522 idtype15 = type_nullable_parser_nodes__TKwnew.id;
9523 if(var_tkwnewnode5 == NULL) {
9524 var13 = 1;
9525 } else {
9526 if(cltype14 >= var_tkwnewnode5->type->table_size) {
9527 var13 = 0;
9528 } else {
9529 var13 = var_tkwnewnode5->type->type_table[cltype14] == idtype15;
9530 }
9531 }
9532 if (!var13) {
9533 fprintf(stderr, "Runtime error: %s", "Assert failed");
9534 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22403);
9535 show_backtrace(1);
9536 }
9537 var_pmethidnode6 = var_nodearraylist4;
9538 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
9539 cltype17 = type_nullable_parser_nodes__AMethid.color;
9540 idtype18 = type_nullable_parser_nodes__AMethid.id;
9541 if(var_pmethidnode6 == NULL) {
9542 var16 = 1;
9543 } else {
9544 if(cltype17 >= var_pmethidnode6->type->table_size) {
9545 var16 = 0;
9546 } else {
9547 var16 = var_pmethidnode6->type->type_table[cltype17] == idtype18;
9548 }
9549 }
9550 if (!var16) {
9551 fprintf(stderr, "Runtime error: %s", "Assert failed");
9552 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22405);
9553 show_backtrace(1);
9554 }
9555 var_psignaturenode7 = var_nodearraylist5;
9556 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
9557 cltype20 = type_nullable_parser_nodes__ASignature.color;
9558 idtype21 = type_nullable_parser_nodes__ASignature.id;
9559 if(var_psignaturenode7 == NULL) {
9560 var19 = 1;
9561 } else {
9562 if(cltype20 >= var_psignaturenode7->type->table_size) {
9563 var19 = 0;
9564 } else {
9565 var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
9566 }
9567 }
9568 if (!var19) {
9569 fprintf(stderr, "Runtime error: %s", "Assert failed");
9570 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22407);
9571 show_backtrace(1);
9572 }
9573 var_tstringnode8 = var_nodearraylist6;
9574 /* <var_tstringnode8:nullable Object> isa nullable TString */
9575 cltype23 = type_nullable_parser_nodes__TString.color;
9576 idtype24 = type_nullable_parser_nodes__TString.id;
9577 if(var_tstringnode8 == NULL) {
9578 var22 = 1;
9579 } else {
9580 if(cltype23 >= var_tstringnode8->type->table_size) {
9581 var22 = 0;
9582 } else {
9583 var22 = var_tstringnode8->type->type_table[cltype23] == idtype24;
9584 }
9585 }
9586 if (!var22) {
9587 fprintf(stderr, "Runtime error: %s", "Assert failed");
9588 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22409);
9589 show_backtrace(1);
9590 }
9591 var_pexterncallsnode9 = var_nodearraylist7;
9592 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
9593 cltype26 = type_nullable_parser_nodes__AExternCalls.color;
9594 idtype27 = type_nullable_parser_nodes__AExternCalls.id;
9595 if(var_pexterncallsnode9 == NULL) {
9596 var25 = 1;
9597 } else {
9598 if(cltype26 >= var_pexterncallsnode9->type->table_size) {
9599 var25 = 0;
9600 } else {
9601 var25 = var_pexterncallsnode9->type->type_table[cltype26] == idtype27;
9602 }
9603 }
9604 if (!var25) {
9605 fprintf(stderr, "Runtime error: %s", "Assert failed");
9606 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22411);
9607 show_backtrace(1);
9608 }
9609 var_pexterncodeblocknode10 = var_nodearraylist8;
9610 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
9611 cltype29 = type_nullable_parser_nodes__AExternCodeBlock.color;
9612 idtype30 = type_nullable_parser_nodes__AExternCodeBlock.id;
9613 if(var_pexterncodeblocknode10 == NULL) {
9614 var28 = 1;
9615 } else {
9616 if(cltype29 >= var_pexterncodeblocknode10->type->table_size) {
9617 var28 = 0;
9618 } else {
9619 var28 = var_pexterncodeblocknode10->type->type_table[cltype29] == idtype30;
9620 }
9621 }
9622 if (!var28) {
9623 fprintf(stderr, "Runtime error: %s", "Assert failed");
9624 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22413);
9625 show_backtrace(1);
9626 }
9627 var31 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
9628 var32 = NULL;
9629 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var31->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var31, var_pdocnode2, var32, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var31:AExternInitPropdef>*/;
9630 var_ppropdefnode1 = var31;
9631 var_node_list = var_ppropdefnode1;
9632 var33 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction511> */
9633 var34 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var33) /* go_to on <var_p:Parser>*/;
9634 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var34, var_node_list) /* push on <var_p:Parser>*/;
9635 RET_LABEL:;
9636 }
9637 /* method parser#ReduceAction511#action for (self: Object, Parser) */
9638 void VIRTUAL_parser__ReduceAction511__action(val* self, val* p0) {
9639 parser__ReduceAction511__action(self, p0);
9640 RET_LABEL:;
9641 }
9642 /* method parser#ReduceAction512#action for (self: ReduceAction512, Parser) */
9643 void parser__ReduceAction512__action(val* self, val* p0) {
9644 val* var_p /* var p: Parser */;
9645 val* var /* : null */;
9646 val* var_node_list /* var node_list: nullable Object */;
9647 val* var1 /* : nullable Object */;
9648 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9649 val* var2 /* : nullable Object */;
9650 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9651 val* var3 /* : nullable Object */;
9652 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9653 val* var4 /* : nullable Object */;
9654 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9655 val* var5 /* : nullable Object */;
9656 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9657 val* var6 /* : nullable Object */;
9658 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9659 val* var7 /* : nullable Object */;
9660 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9661 val* var8 /* : nullable Object */;
9662 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9663 val* var9 /* : nullable Object */;
9664 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9665 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9666 short int var10 /* : Bool */;
9667 int cltype;
9668 int idtype;
9669 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
9670 short int var11 /* : Bool */;
9671 int cltype12;
9672 int idtype13;
9673 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9674 short int var14 /* : Bool */;
9675 int cltype15;
9676 int idtype16;
9677 val* var_tkwnewnode5 /* var tkwnewnode5: nullable Object */;
9678 short int var17 /* : Bool */;
9679 int cltype18;
9680 int idtype19;
9681 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
9682 short int var20 /* : Bool */;
9683 int cltype21;
9684 int idtype22;
9685 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
9686 short int var23 /* : Bool */;
9687 int cltype24;
9688 int idtype25;
9689 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
9690 short int var26 /* : Bool */;
9691 int cltype27;
9692 int idtype28;
9693 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
9694 short int var29 /* : Bool */;
9695 int cltype30;
9696 int idtype31;
9697 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
9698 short int var32 /* : Bool */;
9699 int cltype33;
9700 int idtype34;
9701 val* var35 /* : AExternInitPropdef */;
9702 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternInitPropdef */;
9703 long var36 /* : Int */;
9704 long var37 /* : Int */;
9705 var_p = p0;
9706 var = NULL;
9707 var_node_list = var;
9708 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9709 var_nodearraylist9 = var1;
9710 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9711 var_nodearraylist8 = var2;
9712 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9713 var_nodearraylist7 = var3;
9714 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9715 var_nodearraylist6 = var4;
9716 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9717 var_nodearraylist5 = var5;
9718 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9719 var_nodearraylist4 = var6;
9720 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9721 var_nodearraylist3 = var7;
9722 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9723 var_nodearraylist2 = var8;
9724 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9725 var_nodearraylist1 = var9;
9726 var_pdocnode2 = var_nodearraylist1;
9727 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9728 cltype = type_nullable_parser_nodes__ADoc.color;
9729 idtype = type_nullable_parser_nodes__ADoc.id;
9730 if(var_pdocnode2 == NULL) {
9731 var10 = 1;
9732 } else {
9733 if(cltype >= var_pdocnode2->type->table_size) {
9734 var10 = 0;
9735 } else {
9736 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
9737 }
9738 }
9739 if (!var10) {
9740 fprintf(stderr, "Runtime error: %s", "Assert failed");
9741 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22444);
9742 show_backtrace(1);
9743 }
9744 var_tkwredefnode3 = var_nodearraylist2;
9745 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
9746 cltype12 = type_nullable_parser_nodes__TKwredef.color;
9747 idtype13 = type_nullable_parser_nodes__TKwredef.id;
9748 if(var_tkwredefnode3 == NULL) {
9749 var11 = 1;
9750 } else {
9751 if(cltype12 >= var_tkwredefnode3->type->table_size) {
9752 var11 = 0;
9753 } else {
9754 var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
9755 }
9756 }
9757 if (!var11) {
9758 fprintf(stderr, "Runtime error: %s", "Assert failed");
9759 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22446);
9760 show_backtrace(1);
9761 }
9762 var_pvisibilitynode4 = var_nodearraylist3;
9763 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9764 cltype15 = type_nullable_parser_nodes__AVisibility.color;
9765 idtype16 = type_nullable_parser_nodes__AVisibility.id;
9766 if(var_pvisibilitynode4 == NULL) {
9767 var14 = 1;
9768 } else {
9769 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
9770 var14 = 0;
9771 } else {
9772 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
9773 }
9774 }
9775 if (!var14) {
9776 fprintf(stderr, "Runtime error: %s", "Assert failed");
9777 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22448);
9778 show_backtrace(1);
9779 }
9780 var_tkwnewnode5 = var_nodearraylist4;
9781 /* <var_tkwnewnode5:nullable Object> isa nullable TKwnew */
9782 cltype18 = type_nullable_parser_nodes__TKwnew.color;
9783 idtype19 = type_nullable_parser_nodes__TKwnew.id;
9784 if(var_tkwnewnode5 == NULL) {
9785 var17 = 1;
9786 } else {
9787 if(cltype18 >= var_tkwnewnode5->type->table_size) {
9788 var17 = 0;
9789 } else {
9790 var17 = var_tkwnewnode5->type->type_table[cltype18] == idtype19;
9791 }
9792 }
9793 if (!var17) {
9794 fprintf(stderr, "Runtime error: %s", "Assert failed");
9795 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22450);
9796 show_backtrace(1);
9797 }
9798 var_pmethidnode6 = var_nodearraylist5;
9799 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
9800 cltype21 = type_nullable_parser_nodes__AMethid.color;
9801 idtype22 = type_nullable_parser_nodes__AMethid.id;
9802 if(var_pmethidnode6 == NULL) {
9803 var20 = 1;
9804 } else {
9805 if(cltype21 >= var_pmethidnode6->type->table_size) {
9806 var20 = 0;
9807 } else {
9808 var20 = var_pmethidnode6->type->type_table[cltype21] == idtype22;
9809 }
9810 }
9811 if (!var20) {
9812 fprintf(stderr, "Runtime error: %s", "Assert failed");
9813 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22452);
9814 show_backtrace(1);
9815 }
9816 var_psignaturenode7 = var_nodearraylist6;
9817 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
9818 cltype24 = type_nullable_parser_nodes__ASignature.color;
9819 idtype25 = type_nullable_parser_nodes__ASignature.id;
9820 if(var_psignaturenode7 == NULL) {
9821 var23 = 1;
9822 } else {
9823 if(cltype24 >= var_psignaturenode7->type->table_size) {
9824 var23 = 0;
9825 } else {
9826 var23 = var_psignaturenode7->type->type_table[cltype24] == idtype25;
9827 }
9828 }
9829 if (!var23) {
9830 fprintf(stderr, "Runtime error: %s", "Assert failed");
9831 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22454);
9832 show_backtrace(1);
9833 }
9834 var_tstringnode8 = var_nodearraylist7;
9835 /* <var_tstringnode8:nullable Object> isa nullable TString */
9836 cltype27 = type_nullable_parser_nodes__TString.color;
9837 idtype28 = type_nullable_parser_nodes__TString.id;
9838 if(var_tstringnode8 == NULL) {
9839 var26 = 1;
9840 } else {
9841 if(cltype27 >= var_tstringnode8->type->table_size) {
9842 var26 = 0;
9843 } else {
9844 var26 = var_tstringnode8->type->type_table[cltype27] == idtype28;
9845 }
9846 }
9847 if (!var26) {
9848 fprintf(stderr, "Runtime error: %s", "Assert failed");
9849 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22456);
9850 show_backtrace(1);
9851 }
9852 var_pexterncallsnode9 = var_nodearraylist8;
9853 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
9854 cltype30 = type_nullable_parser_nodes__AExternCalls.color;
9855 idtype31 = type_nullable_parser_nodes__AExternCalls.id;
9856 if(var_pexterncallsnode9 == NULL) {
9857 var29 = 1;
9858 } else {
9859 if(cltype30 >= var_pexterncallsnode9->type->table_size) {
9860 var29 = 0;
9861 } else {
9862 var29 = var_pexterncallsnode9->type->type_table[cltype30] == idtype31;
9863 }
9864 }
9865 if (!var29) {
9866 fprintf(stderr, "Runtime error: %s", "Assert failed");
9867 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22458);
9868 show_backtrace(1);
9869 }
9870 var_pexterncodeblocknode10 = var_nodearraylist9;
9871 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
9872 cltype33 = type_nullable_parser_nodes__AExternCodeBlock.color;
9873 idtype34 = type_nullable_parser_nodes__AExternCodeBlock.id;
9874 if(var_pexterncodeblocknode10 == NULL) {
9875 var32 = 1;
9876 } else {
9877 if(cltype33 >= var_pexterncodeblocknode10->type->table_size) {
9878 var32 = 0;
9879 } else {
9880 var32 = var_pexterncodeblocknode10->type->type_table[cltype33] == idtype34;
9881 }
9882 }
9883 if (!var32) {
9884 fprintf(stderr, "Runtime error: %s", "Assert failed");
9885 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 22460);
9886 show_backtrace(1);
9887 }
9888 var35 = NEW_parser_nodes__AExternInitPropdef(&type_parser_nodes__AExternInitPropdef);
9889 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var35->class->vft[COLOR_parser_prod__AExternInitPropdef__init_aexterninitpropdef]))(var35, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwnewnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var_pexterncallsnode9, var_pexterncodeblocknode10) /* init_aexterninitpropdef on <var35:AExternInitPropdef>*/;
9890 var_ppropdefnode1 = var35;
9891 var_node_list = var_ppropdefnode1;
9892 var36 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction512> */
9893 var37 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var36) /* go_to on <var_p:Parser>*/;
9894 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var37, var_node_list) /* push on <var_p:Parser>*/;
9895 RET_LABEL:;
9896 }
9897 /* method parser#ReduceAction512#action for (self: Object, Parser) */
9898 void VIRTUAL_parser__ReduceAction512__action(val* self, val* p0) {
9899 parser__ReduceAction512__action(self, p0);
9900 RET_LABEL:;
9901 }
9902 /* method parser#ReduceAction513#action for (self: ReduceAction513, Parser) */
9903 void parser__ReduceAction513__action(val* self, val* p0) {
9904 val* var_p /* var p: Parser */;
9905 val* var /* : null */;
9906 val* var_node_list /* var node_list: nullable Object */;
9907 val* var1 /* : nullable Object */;
9908 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9909 val* var2 /* : nullable Object */;
9910 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9911 val* var_pannotationsnode1 /* var pannotationsnode1: nullable Object */;
9912 long var3 /* : Int */;
9913 long var4 /* : Int */;
9914 var_p = p0;
9915 var = NULL;
9916 var_node_list = var;
9917 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9918 var_nodearraylist2 = var1;
9919 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9920 var_nodearraylist1 = var2;
9921 var_pannotationsnode1 = var_nodearraylist2;
9922 var_node_list = var_pannotationsnode1;
9923 var3 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction513> */
9924 var4 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var3) /* go_to on <var_p:Parser>*/;
9925 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var4, var_node_list) /* push on <var_p:Parser>*/;
9926 RET_LABEL:;
9927 }
9928 /* method parser#ReduceAction513#action for (self: Object, Parser) */
9929 void VIRTUAL_parser__ReduceAction513__action(val* self, val* p0) {
9930 parser__ReduceAction513__action(self, p0);
9931 RET_LABEL:;
9932 }
9933 /* method parser#ReduceAction514#action for (self: ReduceAction514, Parser) */
9934 void parser__ReduceAction514__action(val* self, val* p0) {
9935 val* var_p /* var p: Parser */;
9936 val* var /* : null */;
9937 val* var_node_list /* var node_list: nullable Object */;
9938 val* var1 /* : nullable Object */;
9939 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9940 val* var2 /* : nullable Object */;
9941 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9942 val* var3 /* : nullable Object */;
9943 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9944 val* var4 /* : nullable Object */;
9945 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9946 val* var_pannotationsnode1 /* var pannotationsnode1: nullable Object */;
9947 long var5 /* : Int */;
9948 long var6 /* : Int */;
9949 var_p = p0;
9950 var = NULL;
9951 var_node_list = var;
9952 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9953 var_nodearraylist4 = var1;
9954 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9955 var_nodearraylist3 = var2;
9956 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9957 var_nodearraylist2 = var3;
9958 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9959 var_nodearraylist1 = var4;
9960 var_pannotationsnode1 = var_nodearraylist3;
9961 var_node_list = var_pannotationsnode1;
9962 var5 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction514> */
9963 var6 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var5) /* go_to on <var_p:Parser>*/;
9964 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var6, var_node_list) /* push on <var_p:Parser>*/;
9965 RET_LABEL:;
9966 }
9967 /* method parser#ReduceAction514#action for (self: Object, Parser) */
9968 void VIRTUAL_parser__ReduceAction514__action(val* self, val* p0) {
9969 parser__ReduceAction514__action(self, p0);
9970 RET_LABEL:;
9971 }
9972 /* method parser#ReduceAction516#action for (self: ReduceAction516, Parser) */
9973 void parser__ReduceAction516__action(val* self, val* p0) {
9974 val* var_p /* var p: Parser */;
9975 val* var /* : null */;
9976 val* var_node_list /* var node_list: nullable Object */;
9977 val* var1 /* : nullable Object */;
9978 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9979 val* var2 /* : nullable Object */;
9980 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9981 val* var3 /* : nullable Object */;
9982 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9983 val* var_pannotationsnode1 /* var pannotationsnode1: nullable Object */;
9984 long var4 /* : Int */;
9985 long var5 /* : Int */;
9986 var_p = p0;
9987 var = NULL;
9988 var_node_list = var;
9989 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9990 var_nodearraylist3 = var1;
9991 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9992 var_nodearraylist2 = var2;
9993 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9994 var_nodearraylist1 = var3;
9995 var_pannotationsnode1 = var_nodearraylist3;
9996 var_node_list = var_pannotationsnode1;
9997 var4 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction516> */
9998 var5 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var4) /* go_to on <var_p:Parser>*/;
9999 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var5, var_node_list) /* push on <var_p:Parser>*/;
10000 RET_LABEL:;
10001 }