c_src: update for new ffi syntax
[nit.git] / c_src / parser.sep.9.c
1 #include "parser.sep.0.h"
2 /* method parser#ReduceAction314#action for (self: ReduceAction314, Parser) */
3 void parser__ReduceAction314__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_nodearraylist12 /* var nodearraylist12: nullable Object */;
9 val* var2 /* : nullable Object */;
10 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
11 val* var3 /* : nullable Object */;
12 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
13 val* var4 /* : nullable Object */;
14 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
15 val* var5 /* : nullable Object */;
16 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
17 val* var6 /* : nullable Object */;
18 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
19 val* var7 /* : nullable Object */;
20 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
21 val* var8 /* : nullable Object */;
22 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
23 val* var9 /* : nullable Object */;
24 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
25 val* var10 /* : nullable Object */;
26 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
27 val* var11 /* : nullable Object */;
28 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
29 val* var12 /* : nullable Object */;
30 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
31 val* var13 /* : Array[Object] */;
32 val* var_listnode7 /* var listnode7: Array[Object] */;
33 val* var14 /* : Array[Object] */;
34 val* var_listnode16 /* var listnode16: Array[Object] */;
35 val* var15 /* : Array[Object] */;
36 val* var_listnode18 /* var listnode18: Array[Object] */;
37 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
38 short int var16 /* : Bool */;
39 int cltype;
40 int idtype;
41 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
42 short int var17 /* : Bool */;
43 int cltype18;
44 int idtype19;
45 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
46 short int var20 /* : Bool */;
47 int cltype21;
48 int idtype22;
49 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
50 short int var23 /* : Bool */;
51 int cltype24;
52 int idtype25;
53 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
54 short int var26 /* : Bool */;
55 int cltype27;
56 int idtype28;
57 val* var29 /* : Array[Object] */;
58 val* var_listnode12 /* var listnode12: Array[Object] */;
59 val* var_listnode11 /* var listnode11: nullable Object */;
60 short int var30 /* : Bool */;
61 int cltype31;
62 int idtype32;
63 val* var33 /* : Array[Object] */;
64 val* var34 /* : AAnnotations */;
65 val* var35 /* : null */;
66 val* var36 /* : null */;
67 val* var37 /* : null */;
68 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
69 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
70 short int var38 /* : Bool */;
71 int cltype39;
72 int idtype40;
73 val* var_listnode15 /* var listnode15: nullable Object */;
74 short int var41 /* : Bool */;
75 int cltype42;
76 int idtype43;
77 val* var44 /* : Array[Object] */;
78 val* var_listnode17 /* var listnode17: nullable Object */;
79 short int var45 /* : Bool */;
80 int cltype46;
81 int idtype47;
82 val* var48 /* : Array[Object] */;
83 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
84 short int var49 /* : Bool */;
85 int cltype50;
86 int idtype51;
87 val* var52 /* : AStdClassdef */;
88 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
89 long var53 /* : Int */;
90 long var54 /* : Int */;
91 var_p = p0;
92 var = NULL;
93 var_node_list = var;
94 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
95 var_nodearraylist12 = var1;
96 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
97 var_nodearraylist11 = var2;
98 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
99 var_nodearraylist10 = var3;
100 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
101 var_nodearraylist9 = var4;
102 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
103 var_nodearraylist8 = var5;
104 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
105 var_nodearraylist7 = var6;
106 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
107 var_nodearraylist6 = var7;
108 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
109 var_nodearraylist5 = var8;
110 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
111 var_nodearraylist4 = var9;
112 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
113 var_nodearraylist3 = var10;
114 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
115 var_nodearraylist2 = var11;
116 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
117 var_nodearraylist1 = var12;
118 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
119 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
120 var_listnode7 = var13;
121 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
122 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
123 var_listnode16 = var14;
124 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
125 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
126 var_listnode18 = var15;
127 var_pdocnode2 = var_nodearraylist1;
128 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
129 cltype = type_nullable_parser_nodes__ADoc.color;
130 idtype = type_nullable_parser_nodes__ADoc.id;
131 if(var_pdocnode2 == NULL) {
132 var16 = 1;
133 } else {
134 if(cltype >= var_pdocnode2->type->table_size) {
135 var16 = 0;
136 } else {
137 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
138 }
139 }
140 if (!var16) {
141 fprintf(stderr, "Runtime error: %s", "Assert failed");
142 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14472);
143 show_backtrace(1);
144 }
145 var_tkwredefnode3 = var_nodearraylist2;
146 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
147 cltype18 = type_nullable_parser_nodes__TKwredef.color;
148 idtype19 = type_nullable_parser_nodes__TKwredef.id;
149 if(var_tkwredefnode3 == NULL) {
150 var17 = 1;
151 } else {
152 if(cltype18 >= var_tkwredefnode3->type->table_size) {
153 var17 = 0;
154 } else {
155 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
156 }
157 }
158 if (!var17) {
159 fprintf(stderr, "Runtime error: %s", "Assert failed");
160 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14474);
161 show_backtrace(1);
162 }
163 var_pvisibilitynode4 = var_nodearraylist3;
164 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
165 cltype21 = type_nullable_parser_nodes__AVisibility.color;
166 idtype22 = type_nullable_parser_nodes__AVisibility.id;
167 if(var_pvisibilitynode4 == NULL) {
168 var20 = 1;
169 } else {
170 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
171 var20 = 0;
172 } else {
173 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
174 }
175 }
176 if (!var20) {
177 fprintf(stderr, "Runtime error: %s", "Assert failed");
178 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14476);
179 show_backtrace(1);
180 }
181 var_pclasskindnode5 = var_nodearraylist4;
182 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
183 cltype24 = type_nullable_parser_nodes__AClasskind.color;
184 idtype25 = type_nullable_parser_nodes__AClasskind.id;
185 if(var_pclasskindnode5 == NULL) {
186 var23 = 1;
187 } else {
188 if(cltype24 >= var_pclasskindnode5->type->table_size) {
189 var23 = 0;
190 } else {
191 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
192 }
193 }
194 if (!var23) {
195 fprintf(stderr, "Runtime error: %s", "Assert failed");
196 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14478);
197 show_backtrace(1);
198 }
199 var_tclassidnode6 = var_nodearraylist6;
200 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
201 cltype27 = type_nullable_parser_nodes__TClassid.color;
202 idtype28 = type_nullable_parser_nodes__TClassid.id;
203 if(var_tclassidnode6 == NULL) {
204 var26 = 1;
205 } else {
206 if(cltype27 >= var_tclassidnode6->type->table_size) {
207 var26 = 0;
208 } else {
209 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
210 }
211 }
212 if (!var26) {
213 fprintf(stderr, "Runtime error: %s", "Assert failed");
214 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14480);
215 show_backtrace(1);
216 }
217 var29 = NEW_array__Array(&type_array__Arraykernel__Object);
218 ((void (*)(val*))(var29->class->vft[COLOR_array__Array__init]))(var29) /* init on <var29:Array[Object]>*/;
219 var_listnode12 = var29;
220 var_listnode11 = var_nodearraylist7;
221 /* <var_listnode11:nullable Object> isa Array[Object] */
222 cltype31 = type_array__Arraykernel__Object.color;
223 idtype32 = type_array__Arraykernel__Object.id;
224 if(var_listnode11 == NULL) {
225 var30 = 0;
226 } else {
227 if(cltype31 >= var_listnode11->type->table_size) {
228 var30 = 0;
229 } else {
230 var30 = var_listnode11->type->type_table[cltype31] == idtype32;
231 }
232 }
233 if (!var30) {
234 fprintf(stderr, "Runtime error: %s", "Assert failed");
235 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14483);
236 show_backtrace(1);
237 }
238 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction314>*/;
239 var_listnode12 = var33;
240 var34 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
241 var35 = NULL;
242 var36 = NULL;
243 var37 = NULL;
244 ((void (*)(val*, val*, val*, val*, val*))(var34->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var34, var35, var36, var_listnode12, var37) /* init_aannotations on <var34:AAnnotations>*/;
245 var_pannotationsnode8 = var34;
246 var_pexterncodeblocknode14 = var_nodearraylist8;
247 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
248 cltype39 = type_nullable_parser_nodes__AExternCodeBlock.color;
249 idtype40 = type_nullable_parser_nodes__AExternCodeBlock.id;
250 if(var_pexterncodeblocknode14 == NULL) {
251 var38 = 1;
252 } else {
253 if(cltype39 >= var_pexterncodeblocknode14->type->table_size) {
254 var38 = 0;
255 } else {
256 var38 = var_pexterncodeblocknode14->type->type_table[cltype39] == idtype40;
257 }
258 }
259 if (!var38) {
260 fprintf(stderr, "Runtime error: %s", "Assert failed");
261 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14492);
262 show_backtrace(1);
263 }
264 var_listnode15 = var_nodearraylist9;
265 /* <var_listnode15:nullable Object> isa Array[Object] */
266 cltype42 = type_array__Arraykernel__Object.color;
267 idtype43 = type_array__Arraykernel__Object.id;
268 if(var_listnode15 == NULL) {
269 var41 = 0;
270 } else {
271 if(cltype42 >= var_listnode15->type->table_size) {
272 var41 = 0;
273 } else {
274 var41 = var_listnode15->type->type_table[cltype42] == idtype43;
275 }
276 }
277 if (!var41) {
278 fprintf(stderr, "Runtime error: %s", "Assert failed");
279 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14494);
280 show_backtrace(1);
281 }
282 var44 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction314>*/;
283 var_listnode16 = var44;
284 var_listnode17 = var_nodearraylist10;
285 /* <var_listnode17:nullable Object> isa Array[Object] */
286 cltype46 = type_array__Arraykernel__Object.color;
287 idtype47 = type_array__Arraykernel__Object.id;
288 if(var_listnode17 == NULL) {
289 var45 = 0;
290 } else {
291 if(cltype46 >= var_listnode17->type->table_size) {
292 var45 = 0;
293 } else {
294 var45 = var_listnode17->type->type_table[cltype46] == idtype47;
295 }
296 }
297 if (!var45) {
298 fprintf(stderr, "Runtime error: %s", "Assert failed");
299 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14497);
300 show_backtrace(1);
301 }
302 var48 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction314>*/;
303 var_listnode18 = var48;
304 var_tkwendnode19 = var_nodearraylist12;
305 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
306 cltype50 = type_nullable_parser_nodes__TKwend.color;
307 idtype51 = type_nullable_parser_nodes__TKwend.id;
308 if(var_tkwendnode19 == NULL) {
309 var49 = 1;
310 } else {
311 if(cltype50 >= var_tkwendnode19->type->table_size) {
312 var49 = 0;
313 } else {
314 var49 = var_tkwendnode19->type->type_table[cltype50] == idtype51;
315 }
316 }
317 if (!var49) {
318 fprintf(stderr, "Runtime error: %s", "Assert failed");
319 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14500);
320 show_backtrace(1);
321 }
322 var52 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
323 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var52->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var52, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var52:AStdClassdef>*/;
324 var_pclassdefnode1 = var52;
325 var_node_list = var_pclassdefnode1;
326 var53 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction314> */
327 var54 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var53) /* go_to on <var_p:Parser>*/;
328 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var54, var_node_list) /* push on <var_p:Parser>*/;
329 RET_LABEL:;
330 }
331 /* method parser#ReduceAction314#action for (self: Object, Parser) */
332 void VIRTUAL_parser__ReduceAction314__action(val* self, val* p0) {
333 parser__ReduceAction314__action(self, p0);
334 RET_LABEL:;
335 }
336 /* method parser#ReduceAction315#action for (self: ReduceAction315, Parser) */
337 void parser__ReduceAction315__action(val* self, val* p0) {
338 val* var_p /* var p: Parser */;
339 val* var /* : null */;
340 val* var_node_list /* var node_list: nullable Object */;
341 val* var1 /* : nullable Object */;
342 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
343 val* var2 /* : nullable Object */;
344 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
345 val* var3 /* : nullable Object */;
346 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
347 val* var4 /* : nullable Object */;
348 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
349 val* var5 /* : nullable Object */;
350 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
351 val* var6 /* : nullable Object */;
352 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
353 val* var7 /* : nullable Object */;
354 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
355 val* var8 /* : nullable Object */;
356 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
357 val* var9 /* : nullable Object */;
358 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
359 val* var10 /* : nullable Object */;
360 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
361 val* var11 /* : nullable Object */;
362 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
363 val* var12 /* : nullable Object */;
364 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
365 val* var13 /* : Array[Object] */;
366 val* var_listnode7 /* var listnode7: Array[Object] */;
367 val* var14 /* : Array[Object] */;
368 val* var_listnode16 /* var listnode16: Array[Object] */;
369 val* var15 /* : Array[Object] */;
370 val* var_listnode18 /* var listnode18: Array[Object] */;
371 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
372 short int var16 /* : Bool */;
373 int cltype;
374 int idtype;
375 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
376 short int var17 /* : Bool */;
377 int cltype18;
378 int idtype19;
379 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
380 short int var20 /* : Bool */;
381 int cltype21;
382 int idtype22;
383 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
384 short int var23 /* : Bool */;
385 int cltype24;
386 int idtype25;
387 val* var26 /* : Array[Object] */;
388 val* var_listnode12 /* var listnode12: Array[Object] */;
389 val* var_listnode11 /* var listnode11: nullable Object */;
390 short int var27 /* : Bool */;
391 int cltype28;
392 int idtype29;
393 val* var30 /* : Array[Object] */;
394 val* var31 /* : AAnnotations */;
395 val* var32 /* : null */;
396 val* var33 /* : null */;
397 val* var34 /* : null */;
398 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
399 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
400 short int var35 /* : Bool */;
401 int cltype36;
402 int idtype37;
403 val* var_listnode15 /* var listnode15: nullable Object */;
404 short int var38 /* : Bool */;
405 int cltype39;
406 int idtype40;
407 val* var41 /* : Array[Object] */;
408 val* var_listnode17 /* var listnode17: nullable Object */;
409 short int var42 /* : Bool */;
410 int cltype43;
411 int idtype44;
412 val* var45 /* : Array[Object] */;
413 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
414 short int var46 /* : Bool */;
415 int cltype47;
416 int idtype48;
417 val* var49 /* : AStdClassdef */;
418 val* var50 /* : null */;
419 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
420 long var51 /* : Int */;
421 long var52 /* : Int */;
422 var_p = p0;
423 var = NULL;
424 var_node_list = var;
425 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
426 var_nodearraylist12 = var1;
427 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
428 var_nodearraylist11 = var2;
429 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
430 var_nodearraylist10 = var3;
431 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
432 var_nodearraylist9 = var4;
433 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
434 var_nodearraylist8 = var5;
435 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
436 var_nodearraylist7 = var6;
437 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
438 var_nodearraylist6 = var7;
439 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
440 var_nodearraylist5 = var8;
441 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
442 var_nodearraylist4 = var9;
443 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
444 var_nodearraylist3 = var10;
445 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
446 var_nodearraylist2 = var11;
447 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
448 var_nodearraylist1 = var12;
449 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
450 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
451 var_listnode7 = var13;
452 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
453 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
454 var_listnode16 = var14;
455 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
456 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
457 var_listnode18 = var15;
458 var_pdocnode2 = var_nodearraylist1;
459 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
460 cltype = type_nullable_parser_nodes__ADoc.color;
461 idtype = type_nullable_parser_nodes__ADoc.id;
462 if(var_pdocnode2 == NULL) {
463 var16 = 1;
464 } else {
465 if(cltype >= var_pdocnode2->type->table_size) {
466 var16 = 0;
467 } else {
468 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
469 }
470 }
471 if (!var16) {
472 fprintf(stderr, "Runtime error: %s", "Assert failed");
473 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14539);
474 show_backtrace(1);
475 }
476 var_pvisibilitynode4 = var_nodearraylist2;
477 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
478 cltype18 = type_nullable_parser_nodes__AVisibility.color;
479 idtype19 = type_nullable_parser_nodes__AVisibility.id;
480 if(var_pvisibilitynode4 == NULL) {
481 var17 = 1;
482 } else {
483 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
484 var17 = 0;
485 } else {
486 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
487 }
488 }
489 if (!var17) {
490 fprintf(stderr, "Runtime error: %s", "Assert failed");
491 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14541);
492 show_backtrace(1);
493 }
494 var_pclasskindnode5 = var_nodearraylist3;
495 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
496 cltype21 = type_nullable_parser_nodes__AClasskind.color;
497 idtype22 = type_nullable_parser_nodes__AClasskind.id;
498 if(var_pclasskindnode5 == NULL) {
499 var20 = 1;
500 } else {
501 if(cltype21 >= var_pclasskindnode5->type->table_size) {
502 var20 = 0;
503 } else {
504 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
505 }
506 }
507 if (!var20) {
508 fprintf(stderr, "Runtime error: %s", "Assert failed");
509 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14543);
510 show_backtrace(1);
511 }
512 var_tclassidnode6 = var_nodearraylist6;
513 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
514 cltype24 = type_nullable_parser_nodes__TClassid.color;
515 idtype25 = type_nullable_parser_nodes__TClassid.id;
516 if(var_tclassidnode6 == NULL) {
517 var23 = 1;
518 } else {
519 if(cltype24 >= var_tclassidnode6->type->table_size) {
520 var23 = 0;
521 } else {
522 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
523 }
524 }
525 if (!var23) {
526 fprintf(stderr, "Runtime error: %s", "Assert failed");
527 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14545);
528 show_backtrace(1);
529 }
530 var26 = NEW_array__Array(&type_array__Arraykernel__Object);
531 ((void (*)(val*))(var26->class->vft[COLOR_array__Array__init]))(var26) /* init on <var26:Array[Object]>*/;
532 var_listnode12 = var26;
533 var_listnode11 = var_nodearraylist7;
534 /* <var_listnode11:nullable Object> isa Array[Object] */
535 cltype28 = type_array__Arraykernel__Object.color;
536 idtype29 = type_array__Arraykernel__Object.id;
537 if(var_listnode11 == NULL) {
538 var27 = 0;
539 } else {
540 if(cltype28 >= var_listnode11->type->table_size) {
541 var27 = 0;
542 } else {
543 var27 = var_listnode11->type->type_table[cltype28] == idtype29;
544 }
545 }
546 if (!var27) {
547 fprintf(stderr, "Runtime error: %s", "Assert failed");
548 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14548);
549 show_backtrace(1);
550 }
551 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction315>*/;
552 var_listnode12 = var30;
553 var31 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
554 var32 = NULL;
555 var33 = NULL;
556 var34 = NULL;
557 ((void (*)(val*, val*, val*, val*, val*))(var31->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var31, var32, var33, var_listnode12, var34) /* init_aannotations on <var31:AAnnotations>*/;
558 var_pannotationsnode8 = var31;
559 var_pexterncodeblocknode14 = var_nodearraylist8;
560 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
561 cltype36 = type_nullable_parser_nodes__AExternCodeBlock.color;
562 idtype37 = type_nullable_parser_nodes__AExternCodeBlock.id;
563 if(var_pexterncodeblocknode14 == NULL) {
564 var35 = 1;
565 } else {
566 if(cltype36 >= var_pexterncodeblocknode14->type->table_size) {
567 var35 = 0;
568 } else {
569 var35 = var_pexterncodeblocknode14->type->type_table[cltype36] == idtype37;
570 }
571 }
572 if (!var35) {
573 fprintf(stderr, "Runtime error: %s", "Assert failed");
574 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14557);
575 show_backtrace(1);
576 }
577 var_listnode15 = var_nodearraylist9;
578 /* <var_listnode15:nullable Object> isa Array[Object] */
579 cltype39 = type_array__Arraykernel__Object.color;
580 idtype40 = type_array__Arraykernel__Object.id;
581 if(var_listnode15 == NULL) {
582 var38 = 0;
583 } else {
584 if(cltype39 >= var_listnode15->type->table_size) {
585 var38 = 0;
586 } else {
587 var38 = var_listnode15->type->type_table[cltype39] == idtype40;
588 }
589 }
590 if (!var38) {
591 fprintf(stderr, "Runtime error: %s", "Assert failed");
592 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14559);
593 show_backtrace(1);
594 }
595 var41 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction315>*/;
596 var_listnode16 = var41;
597 var_listnode17 = var_nodearraylist10;
598 /* <var_listnode17:nullable Object> isa Array[Object] */
599 cltype43 = type_array__Arraykernel__Object.color;
600 idtype44 = type_array__Arraykernel__Object.id;
601 if(var_listnode17 == NULL) {
602 var42 = 0;
603 } else {
604 if(cltype43 >= var_listnode17->type->table_size) {
605 var42 = 0;
606 } else {
607 var42 = var_listnode17->type->type_table[cltype43] == idtype44;
608 }
609 }
610 if (!var42) {
611 fprintf(stderr, "Runtime error: %s", "Assert failed");
612 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14562);
613 show_backtrace(1);
614 }
615 var45 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction315>*/;
616 var_listnode18 = var45;
617 var_tkwendnode19 = var_nodearraylist12;
618 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
619 cltype47 = type_nullable_parser_nodes__TKwend.color;
620 idtype48 = type_nullable_parser_nodes__TKwend.id;
621 if(var_tkwendnode19 == NULL) {
622 var46 = 1;
623 } else {
624 if(cltype47 >= var_tkwendnode19->type->table_size) {
625 var46 = 0;
626 } else {
627 var46 = var_tkwendnode19->type->type_table[cltype47] == idtype48;
628 }
629 }
630 if (!var46) {
631 fprintf(stderr, "Runtime error: %s", "Assert failed");
632 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14565);
633 show_backtrace(1);
634 }
635 var49 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
636 var50 = NULL;
637 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var49->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var49, var_pdocnode2, var50, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var49:AStdClassdef>*/;
638 var_pclassdefnode1 = var49;
639 var_node_list = var_pclassdefnode1;
640 var51 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction315> */
641 var52 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var51) /* go_to on <var_p:Parser>*/;
642 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var52, var_node_list) /* push on <var_p:Parser>*/;
643 RET_LABEL:;
644 }
645 /* method parser#ReduceAction315#action for (self: Object, Parser) */
646 void VIRTUAL_parser__ReduceAction315__action(val* self, val* p0) {
647 parser__ReduceAction315__action(self, p0);
648 RET_LABEL:;
649 }
650 /* method parser#ReduceAction316#action for (self: ReduceAction316, Parser) */
651 void parser__ReduceAction316__action(val* self, val* p0) {
652 val* var_p /* var p: Parser */;
653 val* var /* : null */;
654 val* var_node_list /* var node_list: nullable Object */;
655 val* var1 /* : nullable Object */;
656 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
657 val* var2 /* : nullable Object */;
658 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
659 val* var3 /* : nullable Object */;
660 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
661 val* var4 /* : nullable Object */;
662 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
663 val* var5 /* : nullable Object */;
664 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
665 val* var6 /* : nullable Object */;
666 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
667 val* var7 /* : nullable Object */;
668 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
669 val* var8 /* : nullable Object */;
670 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
671 val* var9 /* : nullable Object */;
672 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
673 val* var10 /* : nullable Object */;
674 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
675 val* var11 /* : nullable Object */;
676 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
677 val* var12 /* : nullable Object */;
678 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
679 val* var13 /* : nullable Object */;
680 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
681 val* var14 /* : Array[Object] */;
682 val* var_listnode7 /* var listnode7: Array[Object] */;
683 val* var15 /* : Array[Object] */;
684 val* var_listnode16 /* var listnode16: Array[Object] */;
685 val* var16 /* : Array[Object] */;
686 val* var_listnode18 /* var listnode18: Array[Object] */;
687 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
688 short int var17 /* : Bool */;
689 int cltype;
690 int idtype;
691 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
692 short int var18 /* : Bool */;
693 int cltype19;
694 int idtype20;
695 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
696 short int var21 /* : Bool */;
697 int cltype22;
698 int idtype23;
699 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
700 short int var24 /* : Bool */;
701 int cltype25;
702 int idtype26;
703 val* var27 /* : Array[Object] */;
704 val* var_listnode12 /* var listnode12: Array[Object] */;
705 val* var_listnode11 /* var listnode11: nullable Object */;
706 short int var28 /* : Bool */;
707 int cltype29;
708 int idtype30;
709 val* var31 /* : Array[Object] */;
710 val* var32 /* : AAnnotations */;
711 val* var33 /* : null */;
712 val* var34 /* : null */;
713 val* var35 /* : null */;
714 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
715 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
716 short int var36 /* : Bool */;
717 int cltype37;
718 int idtype38;
719 val* var_listnode15 /* var listnode15: nullable Object */;
720 short int var39 /* : Bool */;
721 int cltype40;
722 int idtype41;
723 val* var42 /* : Array[Object] */;
724 val* var_listnode17 /* var listnode17: nullable Object */;
725 short int var43 /* : Bool */;
726 int cltype44;
727 int idtype45;
728 val* var46 /* : Array[Object] */;
729 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
730 short int var47 /* : Bool */;
731 int cltype48;
732 int idtype49;
733 val* var50 /* : AStdClassdef */;
734 val* var51 /* : null */;
735 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
736 long var52 /* : Int */;
737 long var53 /* : Int */;
738 var_p = p0;
739 var = NULL;
740 var_node_list = var;
741 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
742 var_nodearraylist13 = var1;
743 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
744 var_nodearraylist12 = var2;
745 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
746 var_nodearraylist11 = var3;
747 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
748 var_nodearraylist10 = var4;
749 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
750 var_nodearraylist9 = var5;
751 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
752 var_nodearraylist8 = var6;
753 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
754 var_nodearraylist7 = var7;
755 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
756 var_nodearraylist6 = var8;
757 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
758 var_nodearraylist5 = var9;
759 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
760 var_nodearraylist4 = var10;
761 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
762 var_nodearraylist3 = var11;
763 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
764 var_nodearraylist2 = var12;
765 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
766 var_nodearraylist1 = var13;
767 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
768 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
769 var_listnode7 = var14;
770 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
771 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
772 var_listnode16 = var15;
773 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
774 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
775 var_listnode18 = var16;
776 var_pdocnode2 = var_nodearraylist1;
777 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
778 cltype = type_nullable_parser_nodes__ADoc.color;
779 idtype = type_nullable_parser_nodes__ADoc.id;
780 if(var_pdocnode2 == NULL) {
781 var17 = 1;
782 } else {
783 if(cltype >= var_pdocnode2->type->table_size) {
784 var17 = 0;
785 } else {
786 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
787 }
788 }
789 if (!var17) {
790 fprintf(stderr, "Runtime error: %s", "Assert failed");
791 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14605);
792 show_backtrace(1);
793 }
794 var_pvisibilitynode4 = var_nodearraylist2;
795 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
796 cltype19 = type_nullable_parser_nodes__AVisibility.color;
797 idtype20 = type_nullable_parser_nodes__AVisibility.id;
798 if(var_pvisibilitynode4 == NULL) {
799 var18 = 1;
800 } else {
801 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
802 var18 = 0;
803 } else {
804 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
805 }
806 }
807 if (!var18) {
808 fprintf(stderr, "Runtime error: %s", "Assert failed");
809 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14607);
810 show_backtrace(1);
811 }
812 var_pclasskindnode5 = var_nodearraylist3;
813 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
814 cltype22 = type_nullable_parser_nodes__AClasskind.color;
815 idtype23 = type_nullable_parser_nodes__AClasskind.id;
816 if(var_pclasskindnode5 == NULL) {
817 var21 = 1;
818 } else {
819 if(cltype22 >= var_pclasskindnode5->type->table_size) {
820 var21 = 0;
821 } else {
822 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
823 }
824 }
825 if (!var21) {
826 fprintf(stderr, "Runtime error: %s", "Assert failed");
827 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14609);
828 show_backtrace(1);
829 }
830 var_tclassidnode6 = var_nodearraylist7;
831 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
832 cltype25 = type_nullable_parser_nodes__TClassid.color;
833 idtype26 = type_nullable_parser_nodes__TClassid.id;
834 if(var_tclassidnode6 == NULL) {
835 var24 = 1;
836 } else {
837 if(cltype25 >= var_tclassidnode6->type->table_size) {
838 var24 = 0;
839 } else {
840 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
841 }
842 }
843 if (!var24) {
844 fprintf(stderr, "Runtime error: %s", "Assert failed");
845 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14611);
846 show_backtrace(1);
847 }
848 var27 = NEW_array__Array(&type_array__Arraykernel__Object);
849 ((void (*)(val*))(var27->class->vft[COLOR_array__Array__init]))(var27) /* init on <var27:Array[Object]>*/;
850 var_listnode12 = var27;
851 var_listnode11 = var_nodearraylist8;
852 /* <var_listnode11:nullable Object> isa Array[Object] */
853 cltype29 = type_array__Arraykernel__Object.color;
854 idtype30 = type_array__Arraykernel__Object.id;
855 if(var_listnode11 == NULL) {
856 var28 = 0;
857 } else {
858 if(cltype29 >= var_listnode11->type->table_size) {
859 var28 = 0;
860 } else {
861 var28 = var_listnode11->type->type_table[cltype29] == idtype30;
862 }
863 }
864 if (!var28) {
865 fprintf(stderr, "Runtime error: %s", "Assert failed");
866 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14614);
867 show_backtrace(1);
868 }
869 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction316>*/;
870 var_listnode12 = var31;
871 var32 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
872 var33 = NULL;
873 var34 = NULL;
874 var35 = NULL;
875 ((void (*)(val*, val*, val*, val*, val*))(var32->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var32, var33, var34, var_listnode12, var35) /* init_aannotations on <var32:AAnnotations>*/;
876 var_pannotationsnode8 = var32;
877 var_pexterncodeblocknode14 = var_nodearraylist9;
878 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
879 cltype37 = type_nullable_parser_nodes__AExternCodeBlock.color;
880 idtype38 = type_nullable_parser_nodes__AExternCodeBlock.id;
881 if(var_pexterncodeblocknode14 == NULL) {
882 var36 = 1;
883 } else {
884 if(cltype37 >= var_pexterncodeblocknode14->type->table_size) {
885 var36 = 0;
886 } else {
887 var36 = var_pexterncodeblocknode14->type->type_table[cltype37] == idtype38;
888 }
889 }
890 if (!var36) {
891 fprintf(stderr, "Runtime error: %s", "Assert failed");
892 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14623);
893 show_backtrace(1);
894 }
895 var_listnode15 = var_nodearraylist10;
896 /* <var_listnode15:nullable Object> isa Array[Object] */
897 cltype40 = type_array__Arraykernel__Object.color;
898 idtype41 = type_array__Arraykernel__Object.id;
899 if(var_listnode15 == NULL) {
900 var39 = 0;
901 } else {
902 if(cltype40 >= var_listnode15->type->table_size) {
903 var39 = 0;
904 } else {
905 var39 = var_listnode15->type->type_table[cltype40] == idtype41;
906 }
907 }
908 if (!var39) {
909 fprintf(stderr, "Runtime error: %s", "Assert failed");
910 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14625);
911 show_backtrace(1);
912 }
913 var42 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction316>*/;
914 var_listnode16 = var42;
915 var_listnode17 = var_nodearraylist11;
916 /* <var_listnode17:nullable Object> isa Array[Object] */
917 cltype44 = type_array__Arraykernel__Object.color;
918 idtype45 = type_array__Arraykernel__Object.id;
919 if(var_listnode17 == NULL) {
920 var43 = 0;
921 } else {
922 if(cltype44 >= var_listnode17->type->table_size) {
923 var43 = 0;
924 } else {
925 var43 = var_listnode17->type->type_table[cltype44] == idtype45;
926 }
927 }
928 if (!var43) {
929 fprintf(stderr, "Runtime error: %s", "Assert failed");
930 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14628);
931 show_backtrace(1);
932 }
933 var46 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction316>*/;
934 var_listnode18 = var46;
935 var_tkwendnode19 = var_nodearraylist13;
936 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
937 cltype48 = type_nullable_parser_nodes__TKwend.color;
938 idtype49 = type_nullable_parser_nodes__TKwend.id;
939 if(var_tkwendnode19 == NULL) {
940 var47 = 1;
941 } else {
942 if(cltype48 >= var_tkwendnode19->type->table_size) {
943 var47 = 0;
944 } else {
945 var47 = var_tkwendnode19->type->type_table[cltype48] == idtype49;
946 }
947 }
948 if (!var47) {
949 fprintf(stderr, "Runtime error: %s", "Assert failed");
950 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14631);
951 show_backtrace(1);
952 }
953 var50 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
954 var51 = NULL;
955 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var50->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var50, var_pdocnode2, var51, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var50:AStdClassdef>*/;
956 var_pclassdefnode1 = var50;
957 var_node_list = var_pclassdefnode1;
958 var52 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction316> */
959 var53 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var52) /* go_to on <var_p:Parser>*/;
960 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var53, var_node_list) /* push on <var_p:Parser>*/;
961 RET_LABEL:;
962 }
963 /* method parser#ReduceAction316#action for (self: Object, Parser) */
964 void VIRTUAL_parser__ReduceAction316__action(val* self, val* p0) {
965 parser__ReduceAction316__action(self, p0);
966 RET_LABEL:;
967 }
968 /* method parser#ReduceAction318#action for (self: ReduceAction318, Parser) */
969 void parser__ReduceAction318__action(val* self, val* p0) {
970 val* var_p /* var p: Parser */;
971 val* var /* : null */;
972 val* var_node_list /* var node_list: nullable Object */;
973 val* var1 /* : nullable Object */;
974 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
975 val* var2 /* : nullable Object */;
976 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
977 val* var3 /* : nullable Object */;
978 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
979 val* var4 /* : nullable Object */;
980 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
981 val* var5 /* : nullable Object */;
982 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
983 val* var6 /* : nullable Object */;
984 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
985 val* var7 /* : nullable Object */;
986 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
987 val* var8 /* : nullable Object */;
988 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
989 val* var9 /* : nullable Object */;
990 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
991 val* var10 /* : nullable Object */;
992 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
993 val* var11 /* : nullable Object */;
994 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
995 val* var12 /* : nullable Object */;
996 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
997 val* var13 /* : nullable Object */;
998 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
999 val* var14 /* : Array[Object] */;
1000 val* var_listnode7 /* var listnode7: Array[Object] */;
1001 val* var15 /* : Array[Object] */;
1002 val* var_listnode16 /* var listnode16: Array[Object] */;
1003 val* var16 /* : Array[Object] */;
1004 val* var_listnode18 /* var listnode18: Array[Object] */;
1005 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1006 short int var17 /* : Bool */;
1007 int cltype;
1008 int idtype;
1009 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
1010 short int var18 /* : Bool */;
1011 int cltype19;
1012 int idtype20;
1013 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1014 short int var21 /* : Bool */;
1015 int cltype22;
1016 int idtype23;
1017 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1018 short int var24 /* : Bool */;
1019 int cltype25;
1020 int idtype26;
1021 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1022 short int var27 /* : Bool */;
1023 int cltype28;
1024 int idtype29;
1025 val* var30 /* : Array[Object] */;
1026 val* var_listnode12 /* var listnode12: Array[Object] */;
1027 val* var_listnode11 /* var listnode11: nullable Object */;
1028 short int var31 /* : Bool */;
1029 int cltype32;
1030 int idtype33;
1031 val* var34 /* : Array[Object] */;
1032 val* var35 /* : AAnnotations */;
1033 val* var36 /* : null */;
1034 val* var37 /* : null */;
1035 val* var38 /* : null */;
1036 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
1037 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
1038 short int var39 /* : Bool */;
1039 int cltype40;
1040 int idtype41;
1041 val* var_listnode15 /* var listnode15: nullable Object */;
1042 short int var42 /* : Bool */;
1043 int cltype43;
1044 int idtype44;
1045 val* var45 /* : Array[Object] */;
1046 val* var_listnode17 /* var listnode17: nullable Object */;
1047 short int var46 /* : Bool */;
1048 int cltype47;
1049 int idtype48;
1050 val* var49 /* : Array[Object] */;
1051 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
1052 short int var50 /* : Bool */;
1053 int cltype51;
1054 int idtype52;
1055 val* var53 /* : AStdClassdef */;
1056 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1057 long var54 /* : Int */;
1058 long var55 /* : Int */;
1059 var_p = p0;
1060 var = NULL;
1061 var_node_list = var;
1062 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1063 var_nodearraylist13 = var1;
1064 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1065 var_nodearraylist12 = var2;
1066 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1067 var_nodearraylist11 = var3;
1068 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1069 var_nodearraylist10 = var4;
1070 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1071 var_nodearraylist9 = var5;
1072 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1073 var_nodearraylist8 = var6;
1074 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1075 var_nodearraylist7 = var7;
1076 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1077 var_nodearraylist6 = var8;
1078 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1079 var_nodearraylist5 = var9;
1080 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1081 var_nodearraylist4 = var10;
1082 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1083 var_nodearraylist3 = var11;
1084 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1085 var_nodearraylist2 = var12;
1086 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1087 var_nodearraylist1 = var13;
1088 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
1089 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
1090 var_listnode7 = var14;
1091 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
1092 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
1093 var_listnode16 = var15;
1094 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
1095 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
1096 var_listnode18 = var16;
1097 var_pdocnode2 = var_nodearraylist1;
1098 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1099 cltype = type_nullable_parser_nodes__ADoc.color;
1100 idtype = type_nullable_parser_nodes__ADoc.id;
1101 if(var_pdocnode2 == NULL) {
1102 var17 = 1;
1103 } else {
1104 if(cltype >= var_pdocnode2->type->table_size) {
1105 var17 = 0;
1106 } else {
1107 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
1108 }
1109 }
1110 if (!var17) {
1111 fprintf(stderr, "Runtime error: %s", "Assert failed");
1112 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14671);
1113 show_backtrace(1);
1114 }
1115 var_tkwredefnode3 = var_nodearraylist2;
1116 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1117 cltype19 = type_nullable_parser_nodes__TKwredef.color;
1118 idtype20 = type_nullable_parser_nodes__TKwredef.id;
1119 if(var_tkwredefnode3 == NULL) {
1120 var18 = 1;
1121 } else {
1122 if(cltype19 >= var_tkwredefnode3->type->table_size) {
1123 var18 = 0;
1124 } else {
1125 var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20;
1126 }
1127 }
1128 if (!var18) {
1129 fprintf(stderr, "Runtime error: %s", "Assert failed");
1130 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14673);
1131 show_backtrace(1);
1132 }
1133 var_pvisibilitynode4 = var_nodearraylist3;
1134 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1135 cltype22 = type_nullable_parser_nodes__AVisibility.color;
1136 idtype23 = type_nullable_parser_nodes__AVisibility.id;
1137 if(var_pvisibilitynode4 == NULL) {
1138 var21 = 1;
1139 } else {
1140 if(cltype22 >= var_pvisibilitynode4->type->table_size) {
1141 var21 = 0;
1142 } else {
1143 var21 = var_pvisibilitynode4->type->type_table[cltype22] == idtype23;
1144 }
1145 }
1146 if (!var21) {
1147 fprintf(stderr, "Runtime error: %s", "Assert failed");
1148 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14675);
1149 show_backtrace(1);
1150 }
1151 var_pclasskindnode5 = var_nodearraylist4;
1152 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1153 cltype25 = type_nullable_parser_nodes__AClasskind.color;
1154 idtype26 = type_nullable_parser_nodes__AClasskind.id;
1155 if(var_pclasskindnode5 == NULL) {
1156 var24 = 1;
1157 } else {
1158 if(cltype25 >= var_pclasskindnode5->type->table_size) {
1159 var24 = 0;
1160 } else {
1161 var24 = var_pclasskindnode5->type->type_table[cltype25] == idtype26;
1162 }
1163 }
1164 if (!var24) {
1165 fprintf(stderr, "Runtime error: %s", "Assert failed");
1166 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14677);
1167 show_backtrace(1);
1168 }
1169 var_tclassidnode6 = var_nodearraylist7;
1170 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1171 cltype28 = type_nullable_parser_nodes__TClassid.color;
1172 idtype29 = type_nullable_parser_nodes__TClassid.id;
1173 if(var_tclassidnode6 == NULL) {
1174 var27 = 1;
1175 } else {
1176 if(cltype28 >= var_tclassidnode6->type->table_size) {
1177 var27 = 0;
1178 } else {
1179 var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29;
1180 }
1181 }
1182 if (!var27) {
1183 fprintf(stderr, "Runtime error: %s", "Assert failed");
1184 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14679);
1185 show_backtrace(1);
1186 }
1187 var30 = NEW_array__Array(&type_array__Arraykernel__Object);
1188 ((void (*)(val*))(var30->class->vft[COLOR_array__Array__init]))(var30) /* init on <var30:Array[Object]>*/;
1189 var_listnode12 = var30;
1190 var_listnode11 = var_nodearraylist8;
1191 /* <var_listnode11:nullable Object> isa Array[Object] */
1192 cltype32 = type_array__Arraykernel__Object.color;
1193 idtype33 = type_array__Arraykernel__Object.id;
1194 if(var_listnode11 == NULL) {
1195 var31 = 0;
1196 } else {
1197 if(cltype32 >= var_listnode11->type->table_size) {
1198 var31 = 0;
1199 } else {
1200 var31 = var_listnode11->type->type_table[cltype32] == idtype33;
1201 }
1202 }
1203 if (!var31) {
1204 fprintf(stderr, "Runtime error: %s", "Assert failed");
1205 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14682);
1206 show_backtrace(1);
1207 }
1208 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction318>*/;
1209 var_listnode12 = var34;
1210 var35 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
1211 var36 = NULL;
1212 var37 = NULL;
1213 var38 = NULL;
1214 ((void (*)(val*, val*, val*, val*, val*))(var35->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var35, var36, var37, var_listnode12, var38) /* init_aannotations on <var35:AAnnotations>*/;
1215 var_pannotationsnode8 = var35;
1216 var_pexterncodeblocknode14 = var_nodearraylist9;
1217 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
1218 cltype40 = type_nullable_parser_nodes__AExternCodeBlock.color;
1219 idtype41 = type_nullable_parser_nodes__AExternCodeBlock.id;
1220 if(var_pexterncodeblocknode14 == NULL) {
1221 var39 = 1;
1222 } else {
1223 if(cltype40 >= var_pexterncodeblocknode14->type->table_size) {
1224 var39 = 0;
1225 } else {
1226 var39 = var_pexterncodeblocknode14->type->type_table[cltype40] == idtype41;
1227 }
1228 }
1229 if (!var39) {
1230 fprintf(stderr, "Runtime error: %s", "Assert failed");
1231 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14691);
1232 show_backtrace(1);
1233 }
1234 var_listnode15 = var_nodearraylist10;
1235 /* <var_listnode15:nullable Object> isa Array[Object] */
1236 cltype43 = type_array__Arraykernel__Object.color;
1237 idtype44 = type_array__Arraykernel__Object.id;
1238 if(var_listnode15 == NULL) {
1239 var42 = 0;
1240 } else {
1241 if(cltype43 >= var_listnode15->type->table_size) {
1242 var42 = 0;
1243 } else {
1244 var42 = var_listnode15->type->type_table[cltype43] == idtype44;
1245 }
1246 }
1247 if (!var42) {
1248 fprintf(stderr, "Runtime error: %s", "Assert failed");
1249 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14693);
1250 show_backtrace(1);
1251 }
1252 var45 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction318>*/;
1253 var_listnode16 = var45;
1254 var_listnode17 = var_nodearraylist11;
1255 /* <var_listnode17:nullable Object> isa Array[Object] */
1256 cltype47 = type_array__Arraykernel__Object.color;
1257 idtype48 = type_array__Arraykernel__Object.id;
1258 if(var_listnode17 == NULL) {
1259 var46 = 0;
1260 } else {
1261 if(cltype47 >= var_listnode17->type->table_size) {
1262 var46 = 0;
1263 } else {
1264 var46 = var_listnode17->type->type_table[cltype47] == idtype48;
1265 }
1266 }
1267 if (!var46) {
1268 fprintf(stderr, "Runtime error: %s", "Assert failed");
1269 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14696);
1270 show_backtrace(1);
1271 }
1272 var49 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction318>*/;
1273 var_listnode18 = var49;
1274 var_tkwendnode19 = var_nodearraylist13;
1275 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
1276 cltype51 = type_nullable_parser_nodes__TKwend.color;
1277 idtype52 = type_nullable_parser_nodes__TKwend.id;
1278 if(var_tkwendnode19 == NULL) {
1279 var50 = 1;
1280 } else {
1281 if(cltype51 >= var_tkwendnode19->type->table_size) {
1282 var50 = 0;
1283 } else {
1284 var50 = var_tkwendnode19->type->type_table[cltype51] == idtype52;
1285 }
1286 }
1287 if (!var50) {
1288 fprintf(stderr, "Runtime error: %s", "Assert failed");
1289 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14699);
1290 show_backtrace(1);
1291 }
1292 var53 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1293 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var53->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var53, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var53:AStdClassdef>*/;
1294 var_pclassdefnode1 = var53;
1295 var_node_list = var_pclassdefnode1;
1296 var54 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction318> */
1297 var55 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var54) /* go_to on <var_p:Parser>*/;
1298 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var55, var_node_list) /* push on <var_p:Parser>*/;
1299 RET_LABEL:;
1300 }
1301 /* method parser#ReduceAction318#action for (self: Object, Parser) */
1302 void VIRTUAL_parser__ReduceAction318__action(val* self, val* p0) {
1303 parser__ReduceAction318__action(self, p0);
1304 RET_LABEL:;
1305 }
1306 /* method parser#ReduceAction319#action for (self: ReduceAction319, Parser) */
1307 void parser__ReduceAction319__action(val* self, val* p0) {
1308 val* var_p /* var p: Parser */;
1309 val* var /* : null */;
1310 val* var_node_list /* var node_list: nullable Object */;
1311 val* var1 /* : nullable Object */;
1312 val* var_nodearraylist14 /* var nodearraylist14: nullable Object */;
1313 val* var2 /* : nullable Object */;
1314 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
1315 val* var3 /* : nullable Object */;
1316 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
1317 val* var4 /* : nullable Object */;
1318 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
1319 val* var5 /* : nullable Object */;
1320 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1321 val* var6 /* : nullable Object */;
1322 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1323 val* var7 /* : nullable Object */;
1324 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1325 val* var8 /* : nullable Object */;
1326 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1327 val* var9 /* : nullable Object */;
1328 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1329 val* var10 /* : nullable Object */;
1330 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1331 val* var11 /* : nullable Object */;
1332 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1333 val* var12 /* : nullable Object */;
1334 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1335 val* var13 /* : nullable Object */;
1336 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1337 val* var14 /* : nullable Object */;
1338 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1339 val* var15 /* : Array[Object] */;
1340 val* var_listnode7 /* var listnode7: Array[Object] */;
1341 val* var16 /* : Array[Object] */;
1342 val* var_listnode16 /* var listnode16: Array[Object] */;
1343 val* var17 /* : Array[Object] */;
1344 val* var_listnode18 /* var listnode18: Array[Object] */;
1345 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1346 short int var18 /* : Bool */;
1347 int cltype;
1348 int idtype;
1349 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
1350 short int var19 /* : Bool */;
1351 int cltype20;
1352 int idtype21;
1353 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1354 short int var22 /* : Bool */;
1355 int cltype23;
1356 int idtype24;
1357 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1358 short int var25 /* : Bool */;
1359 int cltype26;
1360 int idtype27;
1361 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1362 short int var28 /* : Bool */;
1363 int cltype29;
1364 int idtype30;
1365 val* var31 /* : Array[Object] */;
1366 val* var_listnode12 /* var listnode12: Array[Object] */;
1367 val* var_listnode11 /* var listnode11: nullable Object */;
1368 short int var32 /* : Bool */;
1369 int cltype33;
1370 int idtype34;
1371 val* var35 /* : Array[Object] */;
1372 val* var36 /* : AAnnotations */;
1373 val* var37 /* : null */;
1374 val* var38 /* : null */;
1375 val* var39 /* : null */;
1376 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
1377 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
1378 short int var40 /* : Bool */;
1379 int cltype41;
1380 int idtype42;
1381 val* var_listnode15 /* var listnode15: nullable Object */;
1382 short int var43 /* : Bool */;
1383 int cltype44;
1384 int idtype45;
1385 val* var46 /* : Array[Object] */;
1386 val* var_listnode17 /* var listnode17: nullable Object */;
1387 short int var47 /* : Bool */;
1388 int cltype48;
1389 int idtype49;
1390 val* var50 /* : Array[Object] */;
1391 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
1392 short int var51 /* : Bool */;
1393 int cltype52;
1394 int idtype53;
1395 val* var54 /* : AStdClassdef */;
1396 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1397 long var55 /* : Int */;
1398 long var56 /* : Int */;
1399 var_p = p0;
1400 var = NULL;
1401 var_node_list = var;
1402 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1403 var_nodearraylist14 = var1;
1404 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1405 var_nodearraylist13 = var2;
1406 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1407 var_nodearraylist12 = var3;
1408 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1409 var_nodearraylist11 = var4;
1410 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1411 var_nodearraylist10 = var5;
1412 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1413 var_nodearraylist9 = var6;
1414 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1415 var_nodearraylist8 = var7;
1416 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1417 var_nodearraylist7 = var8;
1418 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1419 var_nodearraylist6 = var9;
1420 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1421 var_nodearraylist5 = var10;
1422 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1423 var_nodearraylist4 = var11;
1424 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1425 var_nodearraylist3 = var12;
1426 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1427 var_nodearraylist2 = var13;
1428 var14 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1429 var_nodearraylist1 = var14;
1430 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
1431 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
1432 var_listnode7 = var15;
1433 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
1434 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
1435 var_listnode16 = var16;
1436 var17 = NEW_array__Array(&type_array__Arraykernel__Object);
1437 ((void (*)(val*))(var17->class->vft[COLOR_array__Array__init]))(var17) /* init on <var17:Array[Object]>*/;
1438 var_listnode18 = var17;
1439 var_pdocnode2 = var_nodearraylist1;
1440 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1441 cltype = type_nullable_parser_nodes__ADoc.color;
1442 idtype = type_nullable_parser_nodes__ADoc.id;
1443 if(var_pdocnode2 == NULL) {
1444 var18 = 1;
1445 } else {
1446 if(cltype >= var_pdocnode2->type->table_size) {
1447 var18 = 0;
1448 } else {
1449 var18 = var_pdocnode2->type->type_table[cltype] == idtype;
1450 }
1451 }
1452 if (!var18) {
1453 fprintf(stderr, "Runtime error: %s", "Assert failed");
1454 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14740);
1455 show_backtrace(1);
1456 }
1457 var_tkwredefnode3 = var_nodearraylist2;
1458 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1459 cltype20 = type_nullable_parser_nodes__TKwredef.color;
1460 idtype21 = type_nullable_parser_nodes__TKwredef.id;
1461 if(var_tkwredefnode3 == NULL) {
1462 var19 = 1;
1463 } else {
1464 if(cltype20 >= var_tkwredefnode3->type->table_size) {
1465 var19 = 0;
1466 } else {
1467 var19 = var_tkwredefnode3->type->type_table[cltype20] == idtype21;
1468 }
1469 }
1470 if (!var19) {
1471 fprintf(stderr, "Runtime error: %s", "Assert failed");
1472 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14742);
1473 show_backtrace(1);
1474 }
1475 var_pvisibilitynode4 = var_nodearraylist3;
1476 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1477 cltype23 = type_nullable_parser_nodes__AVisibility.color;
1478 idtype24 = type_nullable_parser_nodes__AVisibility.id;
1479 if(var_pvisibilitynode4 == NULL) {
1480 var22 = 1;
1481 } else {
1482 if(cltype23 >= var_pvisibilitynode4->type->table_size) {
1483 var22 = 0;
1484 } else {
1485 var22 = var_pvisibilitynode4->type->type_table[cltype23] == idtype24;
1486 }
1487 }
1488 if (!var22) {
1489 fprintf(stderr, "Runtime error: %s", "Assert failed");
1490 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14744);
1491 show_backtrace(1);
1492 }
1493 var_pclasskindnode5 = var_nodearraylist4;
1494 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1495 cltype26 = type_nullable_parser_nodes__AClasskind.color;
1496 idtype27 = type_nullable_parser_nodes__AClasskind.id;
1497 if(var_pclasskindnode5 == NULL) {
1498 var25 = 1;
1499 } else {
1500 if(cltype26 >= var_pclasskindnode5->type->table_size) {
1501 var25 = 0;
1502 } else {
1503 var25 = var_pclasskindnode5->type->type_table[cltype26] == idtype27;
1504 }
1505 }
1506 if (!var25) {
1507 fprintf(stderr, "Runtime error: %s", "Assert failed");
1508 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14746);
1509 show_backtrace(1);
1510 }
1511 var_tclassidnode6 = var_nodearraylist8;
1512 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1513 cltype29 = type_nullable_parser_nodes__TClassid.color;
1514 idtype30 = type_nullable_parser_nodes__TClassid.id;
1515 if(var_tclassidnode6 == NULL) {
1516 var28 = 1;
1517 } else {
1518 if(cltype29 >= var_tclassidnode6->type->table_size) {
1519 var28 = 0;
1520 } else {
1521 var28 = var_tclassidnode6->type->type_table[cltype29] == idtype30;
1522 }
1523 }
1524 if (!var28) {
1525 fprintf(stderr, "Runtime error: %s", "Assert failed");
1526 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14748);
1527 show_backtrace(1);
1528 }
1529 var31 = NEW_array__Array(&type_array__Arraykernel__Object);
1530 ((void (*)(val*))(var31->class->vft[COLOR_array__Array__init]))(var31) /* init on <var31:Array[Object]>*/;
1531 var_listnode12 = var31;
1532 var_listnode11 = var_nodearraylist9;
1533 /* <var_listnode11:nullable Object> isa Array[Object] */
1534 cltype33 = type_array__Arraykernel__Object.color;
1535 idtype34 = type_array__Arraykernel__Object.id;
1536 if(var_listnode11 == NULL) {
1537 var32 = 0;
1538 } else {
1539 if(cltype33 >= var_listnode11->type->table_size) {
1540 var32 = 0;
1541 } else {
1542 var32 = var_listnode11->type->type_table[cltype33] == idtype34;
1543 }
1544 }
1545 if (!var32) {
1546 fprintf(stderr, "Runtime error: %s", "Assert failed");
1547 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14751);
1548 show_backtrace(1);
1549 }
1550 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction319>*/;
1551 var_listnode12 = var35;
1552 var36 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
1553 var37 = NULL;
1554 var38 = NULL;
1555 var39 = NULL;
1556 ((void (*)(val*, val*, val*, val*, val*))(var36->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var36, var37, var38, var_listnode12, var39) /* init_aannotations on <var36:AAnnotations>*/;
1557 var_pannotationsnode8 = var36;
1558 var_pexterncodeblocknode14 = var_nodearraylist10;
1559 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
1560 cltype41 = type_nullable_parser_nodes__AExternCodeBlock.color;
1561 idtype42 = type_nullable_parser_nodes__AExternCodeBlock.id;
1562 if(var_pexterncodeblocknode14 == NULL) {
1563 var40 = 1;
1564 } else {
1565 if(cltype41 >= var_pexterncodeblocknode14->type->table_size) {
1566 var40 = 0;
1567 } else {
1568 var40 = var_pexterncodeblocknode14->type->type_table[cltype41] == idtype42;
1569 }
1570 }
1571 if (!var40) {
1572 fprintf(stderr, "Runtime error: %s", "Assert failed");
1573 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14760);
1574 show_backtrace(1);
1575 }
1576 var_listnode15 = var_nodearraylist11;
1577 /* <var_listnode15:nullable Object> isa Array[Object] */
1578 cltype44 = type_array__Arraykernel__Object.color;
1579 idtype45 = type_array__Arraykernel__Object.id;
1580 if(var_listnode15 == NULL) {
1581 var43 = 0;
1582 } else {
1583 if(cltype44 >= var_listnode15->type->table_size) {
1584 var43 = 0;
1585 } else {
1586 var43 = var_listnode15->type->type_table[cltype44] == idtype45;
1587 }
1588 }
1589 if (!var43) {
1590 fprintf(stderr, "Runtime error: %s", "Assert failed");
1591 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14762);
1592 show_backtrace(1);
1593 }
1594 var46 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction319>*/;
1595 var_listnode16 = var46;
1596 var_listnode17 = var_nodearraylist12;
1597 /* <var_listnode17:nullable Object> isa Array[Object] */
1598 cltype48 = type_array__Arraykernel__Object.color;
1599 idtype49 = type_array__Arraykernel__Object.id;
1600 if(var_listnode17 == NULL) {
1601 var47 = 0;
1602 } else {
1603 if(cltype48 >= var_listnode17->type->table_size) {
1604 var47 = 0;
1605 } else {
1606 var47 = var_listnode17->type->type_table[cltype48] == idtype49;
1607 }
1608 }
1609 if (!var47) {
1610 fprintf(stderr, "Runtime error: %s", "Assert failed");
1611 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14765);
1612 show_backtrace(1);
1613 }
1614 var50 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction319>*/;
1615 var_listnode18 = var50;
1616 var_tkwendnode19 = var_nodearraylist14;
1617 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
1618 cltype52 = type_nullable_parser_nodes__TKwend.color;
1619 idtype53 = type_nullable_parser_nodes__TKwend.id;
1620 if(var_tkwendnode19 == NULL) {
1621 var51 = 1;
1622 } else {
1623 if(cltype52 >= var_tkwendnode19->type->table_size) {
1624 var51 = 0;
1625 } else {
1626 var51 = var_tkwendnode19->type->type_table[cltype52] == idtype53;
1627 }
1628 }
1629 if (!var51) {
1630 fprintf(stderr, "Runtime error: %s", "Assert failed");
1631 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14768);
1632 show_backtrace(1);
1633 }
1634 var54 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1635 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var54->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var54, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var54:AStdClassdef>*/;
1636 var_pclassdefnode1 = var54;
1637 var_node_list = var_pclassdefnode1;
1638 var55 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction319> */
1639 var56 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var55) /* go_to on <var_p:Parser>*/;
1640 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var56, var_node_list) /* push on <var_p:Parser>*/;
1641 RET_LABEL:;
1642 }
1643 /* method parser#ReduceAction319#action for (self: Object, Parser) */
1644 void VIRTUAL_parser__ReduceAction319__action(val* self, val* p0) {
1645 parser__ReduceAction319__action(self, p0);
1646 RET_LABEL:;
1647 }
1648 /* method parser#ReduceAction321#action for (self: ReduceAction321, Parser) */
1649 void parser__ReduceAction321__action(val* self, val* p0) {
1650 val* var_p /* var p: Parser */;
1651 val* var /* : null */;
1652 val* var_node_list /* var node_list: nullable Object */;
1653 val* var1 /* : nullable Object */;
1654 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
1655 val* var2 /* : nullable Object */;
1656 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
1657 val* var3 /* : nullable Object */;
1658 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1659 val* var4 /* : nullable Object */;
1660 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1661 val* var5 /* : nullable Object */;
1662 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1663 val* var6 /* : nullable Object */;
1664 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1665 val* var7 /* : nullable Object */;
1666 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1667 val* var8 /* : nullable Object */;
1668 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1669 val* var9 /* : nullable Object */;
1670 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1671 val* var10 /* : nullable Object */;
1672 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1673 val* var11 /* : nullable Object */;
1674 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1675 val* var12 /* : nullable Object */;
1676 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1677 val* var13 /* : Array[Object] */;
1678 val* var_listnode8 /* var listnode8: Array[Object] */;
1679 val* var14 /* : Array[Object] */;
1680 val* var_listnode17 /* var listnode17: Array[Object] */;
1681 val* var15 /* : Array[Object] */;
1682 val* var_listnode19 /* var listnode19: Array[Object] */;
1683 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1684 short int var16 /* : Bool */;
1685 int cltype;
1686 int idtype;
1687 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1688 short int var17 /* : Bool */;
1689 int cltype18;
1690 int idtype19;
1691 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1692 short int var20 /* : Bool */;
1693 int cltype21;
1694 int idtype22;
1695 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1696 short int var23 /* : Bool */;
1697 int cltype24;
1698 int idtype25;
1699 val* var_listnode7 /* var listnode7: nullable Object */;
1700 short int var26 /* : Bool */;
1701 int cltype27;
1702 int idtype28;
1703 val* var29 /* : Array[Object] */;
1704 val* var30 /* : Array[Object] */;
1705 val* var_listnode13 /* var listnode13: Array[Object] */;
1706 val* var_listnode12 /* var listnode12: nullable Object */;
1707 short int var31 /* : Bool */;
1708 int cltype32;
1709 int idtype33;
1710 val* var34 /* : Array[Object] */;
1711 val* var35 /* : AAnnotations */;
1712 val* var36 /* : null */;
1713 val* var37 /* : null */;
1714 val* var38 /* : null */;
1715 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
1716 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
1717 short int var39 /* : Bool */;
1718 int cltype40;
1719 int idtype41;
1720 val* var_listnode16 /* var listnode16: nullable Object */;
1721 short int var42 /* : Bool */;
1722 int cltype43;
1723 int idtype44;
1724 val* var45 /* : Array[Object] */;
1725 val* var_listnode18 /* var listnode18: nullable Object */;
1726 short int var46 /* : Bool */;
1727 int cltype47;
1728 int idtype48;
1729 val* var49 /* : Array[Object] */;
1730 val* var_tkwendnode20 /* var tkwendnode20: nullable Object */;
1731 short int var50 /* : Bool */;
1732 int cltype51;
1733 int idtype52;
1734 val* var53 /* : AStdClassdef */;
1735 val* var54 /* : null */;
1736 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1737 long var55 /* : Int */;
1738 long var56 /* : Int */;
1739 var_p = p0;
1740 var = NULL;
1741 var_node_list = var;
1742 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1743 var_nodearraylist12 = var1;
1744 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1745 var_nodearraylist11 = var2;
1746 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1747 var_nodearraylist10 = var3;
1748 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1749 var_nodearraylist9 = var4;
1750 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1751 var_nodearraylist8 = var5;
1752 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1753 var_nodearraylist7 = var6;
1754 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1755 var_nodearraylist6 = var7;
1756 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1757 var_nodearraylist5 = var8;
1758 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1759 var_nodearraylist4 = var9;
1760 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1761 var_nodearraylist3 = var10;
1762 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1763 var_nodearraylist2 = var11;
1764 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1765 var_nodearraylist1 = var12;
1766 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
1767 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
1768 var_listnode8 = var13;
1769 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
1770 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
1771 var_listnode17 = var14;
1772 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
1773 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
1774 var_listnode19 = var15;
1775 var_pdocnode2 = var_nodearraylist1;
1776 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1777 cltype = type_nullable_parser_nodes__ADoc.color;
1778 idtype = type_nullable_parser_nodes__ADoc.id;
1779 if(var_pdocnode2 == NULL) {
1780 var16 = 1;
1781 } else {
1782 if(cltype >= var_pdocnode2->type->table_size) {
1783 var16 = 0;
1784 } else {
1785 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
1786 }
1787 }
1788 if (!var16) {
1789 fprintf(stderr, "Runtime error: %s", "Assert failed");
1790 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14807);
1791 show_backtrace(1);
1792 }
1793 var_pvisibilitynode4 = var_nodearraylist2;
1794 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1795 cltype18 = type_nullable_parser_nodes__AVisibility.color;
1796 idtype19 = type_nullable_parser_nodes__AVisibility.id;
1797 if(var_pvisibilitynode4 == NULL) {
1798 var17 = 1;
1799 } else {
1800 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
1801 var17 = 0;
1802 } else {
1803 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
1804 }
1805 }
1806 if (!var17) {
1807 fprintf(stderr, "Runtime error: %s", "Assert failed");
1808 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14809);
1809 show_backtrace(1);
1810 }
1811 var_pclasskindnode5 = var_nodearraylist3;
1812 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1813 cltype21 = type_nullable_parser_nodes__AClasskind.color;
1814 idtype22 = type_nullable_parser_nodes__AClasskind.id;
1815 if(var_pclasskindnode5 == NULL) {
1816 var20 = 1;
1817 } else {
1818 if(cltype21 >= var_pclasskindnode5->type->table_size) {
1819 var20 = 0;
1820 } else {
1821 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
1822 }
1823 }
1824 if (!var20) {
1825 fprintf(stderr, "Runtime error: %s", "Assert failed");
1826 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14811);
1827 show_backtrace(1);
1828 }
1829 var_tclassidnode6 = var_nodearraylist5;
1830 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1831 cltype24 = type_nullable_parser_nodes__TClassid.color;
1832 idtype25 = type_nullable_parser_nodes__TClassid.id;
1833 if(var_tclassidnode6 == NULL) {
1834 var23 = 1;
1835 } else {
1836 if(cltype24 >= var_tclassidnode6->type->table_size) {
1837 var23 = 0;
1838 } else {
1839 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
1840 }
1841 }
1842 if (!var23) {
1843 fprintf(stderr, "Runtime error: %s", "Assert failed");
1844 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14813);
1845 show_backtrace(1);
1846 }
1847 var_listnode7 = var_nodearraylist6;
1848 /* <var_listnode7:nullable Object> isa Array[Object] */
1849 cltype27 = type_array__Arraykernel__Object.color;
1850 idtype28 = type_array__Arraykernel__Object.id;
1851 if(var_listnode7 == NULL) {
1852 var26 = 0;
1853 } else {
1854 if(cltype27 >= var_listnode7->type->table_size) {
1855 var26 = 0;
1856 } else {
1857 var26 = var_listnode7->type->type_table[cltype27] == idtype28;
1858 }
1859 }
1860 if (!var26) {
1861 fprintf(stderr, "Runtime error: %s", "Assert failed");
1862 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14815);
1863 show_backtrace(1);
1864 }
1865 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction321>*/;
1866 var_listnode8 = var29;
1867 var30 = NEW_array__Array(&type_array__Arraykernel__Object);
1868 ((void (*)(val*))(var30->class->vft[COLOR_array__Array__init]))(var30) /* init on <var30:Array[Object]>*/;
1869 var_listnode13 = var30;
1870 var_listnode12 = var_nodearraylist7;
1871 /* <var_listnode12:nullable Object> isa Array[Object] */
1872 cltype32 = type_array__Arraykernel__Object.color;
1873 idtype33 = type_array__Arraykernel__Object.id;
1874 if(var_listnode12 == NULL) {
1875 var31 = 0;
1876 } else {
1877 if(cltype32 >= var_listnode12->type->table_size) {
1878 var31 = 0;
1879 } else {
1880 var31 = var_listnode12->type->type_table[cltype32] == idtype33;
1881 }
1882 }
1883 if (!var31) {
1884 fprintf(stderr, "Runtime error: %s", "Assert failed");
1885 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14819);
1886 show_backtrace(1);
1887 }
1888 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction321>*/;
1889 var_listnode13 = var34;
1890 var35 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
1891 var36 = NULL;
1892 var37 = NULL;
1893 var38 = NULL;
1894 ((void (*)(val*, val*, val*, val*, val*))(var35->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var35, var36, var37, var_listnode13, var38) /* init_aannotations on <var35:AAnnotations>*/;
1895 var_pannotationsnode9 = var35;
1896 var_pexterncodeblocknode15 = var_nodearraylist8;
1897 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
1898 cltype40 = type_nullable_parser_nodes__AExternCodeBlock.color;
1899 idtype41 = type_nullable_parser_nodes__AExternCodeBlock.id;
1900 if(var_pexterncodeblocknode15 == NULL) {
1901 var39 = 1;
1902 } else {
1903 if(cltype40 >= var_pexterncodeblocknode15->type->table_size) {
1904 var39 = 0;
1905 } else {
1906 var39 = var_pexterncodeblocknode15->type->type_table[cltype40] == idtype41;
1907 }
1908 }
1909 if (!var39) {
1910 fprintf(stderr, "Runtime error: %s", "Assert failed");
1911 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14828);
1912 show_backtrace(1);
1913 }
1914 var_listnode16 = var_nodearraylist9;
1915 /* <var_listnode16:nullable Object> isa Array[Object] */
1916 cltype43 = type_array__Arraykernel__Object.color;
1917 idtype44 = type_array__Arraykernel__Object.id;
1918 if(var_listnode16 == NULL) {
1919 var42 = 0;
1920 } else {
1921 if(cltype43 >= var_listnode16->type->table_size) {
1922 var42 = 0;
1923 } else {
1924 var42 = var_listnode16->type->type_table[cltype43] == idtype44;
1925 }
1926 }
1927 if (!var42) {
1928 fprintf(stderr, "Runtime error: %s", "Assert failed");
1929 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14830);
1930 show_backtrace(1);
1931 }
1932 var45 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction321>*/;
1933 var_listnode17 = var45;
1934 var_listnode18 = var_nodearraylist10;
1935 /* <var_listnode18:nullable Object> isa Array[Object] */
1936 cltype47 = type_array__Arraykernel__Object.color;
1937 idtype48 = type_array__Arraykernel__Object.id;
1938 if(var_listnode18 == NULL) {
1939 var46 = 0;
1940 } else {
1941 if(cltype47 >= var_listnode18->type->table_size) {
1942 var46 = 0;
1943 } else {
1944 var46 = var_listnode18->type->type_table[cltype47] == idtype48;
1945 }
1946 }
1947 if (!var46) {
1948 fprintf(stderr, "Runtime error: %s", "Assert failed");
1949 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14833);
1950 show_backtrace(1);
1951 }
1952 var49 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode19, var_listnode18) /* concat on <self:ReduceAction321>*/;
1953 var_listnode19 = var49;
1954 var_tkwendnode20 = var_nodearraylist12;
1955 /* <var_tkwendnode20:nullable Object> isa nullable TKwend */
1956 cltype51 = type_nullable_parser_nodes__TKwend.color;
1957 idtype52 = type_nullable_parser_nodes__TKwend.id;
1958 if(var_tkwendnode20 == NULL) {
1959 var50 = 1;
1960 } else {
1961 if(cltype51 >= var_tkwendnode20->type->table_size) {
1962 var50 = 0;
1963 } else {
1964 var50 = var_tkwendnode20->type->type_table[cltype51] == idtype52;
1965 }
1966 }
1967 if (!var50) {
1968 fprintf(stderr, "Runtime error: %s", "Assert failed");
1969 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14836);
1970 show_backtrace(1);
1971 }
1972 var53 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1973 var54 = NULL;
1974 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var53->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var53, var_pdocnode2, var54, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode17, var_listnode19, var_tkwendnode20) /* init_astdclassdef on <var53:AStdClassdef>*/;
1975 var_pclassdefnode1 = var53;
1976 var_node_list = var_pclassdefnode1;
1977 var55 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction321> */
1978 var56 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var55) /* go_to on <var_p:Parser>*/;
1979 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var56, var_node_list) /* push on <var_p:Parser>*/;
1980 RET_LABEL:;
1981 }
1982 /* method parser#ReduceAction321#action for (self: Object, Parser) */
1983 void VIRTUAL_parser__ReduceAction321__action(val* self, val* p0) {
1984 parser__ReduceAction321__action(self, p0);
1985 RET_LABEL:;
1986 }
1987 /* method parser#ReduceAction322#action for (self: ReduceAction322, Parser) */
1988 void parser__ReduceAction322__action(val* self, val* p0) {
1989 val* var_p /* var p: Parser */;
1990 val* var /* : null */;
1991 val* var_node_list /* var node_list: nullable Object */;
1992 val* var1 /* : nullable Object */;
1993 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
1994 val* var2 /* : nullable Object */;
1995 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
1996 val* var3 /* : nullable Object */;
1997 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
1998 val* var4 /* : nullable Object */;
1999 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2000 val* var5 /* : nullable Object */;
2001 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2002 val* var6 /* : nullable Object */;
2003 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2004 val* var7 /* : nullable Object */;
2005 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2006 val* var8 /* : nullable Object */;
2007 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2008 val* var9 /* : nullable Object */;
2009 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2010 val* var10 /* : nullable Object */;
2011 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2012 val* var11 /* : nullable Object */;
2013 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2014 val* var12 /* : nullable Object */;
2015 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2016 val* var13 /* : nullable Object */;
2017 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2018 val* var14 /* : Array[Object] */;
2019 val* var_listnode8 /* var listnode8: Array[Object] */;
2020 val* var15 /* : Array[Object] */;
2021 val* var_listnode17 /* var listnode17: Array[Object] */;
2022 val* var16 /* : Array[Object] */;
2023 val* var_listnode19 /* var listnode19: Array[Object] */;
2024 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2025 short int var17 /* : Bool */;
2026 int cltype;
2027 int idtype;
2028 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
2029 short int var18 /* : Bool */;
2030 int cltype19;
2031 int idtype20;
2032 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2033 short int var21 /* : Bool */;
2034 int cltype22;
2035 int idtype23;
2036 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2037 short int var24 /* : Bool */;
2038 int cltype25;
2039 int idtype26;
2040 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2041 short int var27 /* : Bool */;
2042 int cltype28;
2043 int idtype29;
2044 val* var_listnode7 /* var listnode7: nullable Object */;
2045 short int var30 /* : Bool */;
2046 int cltype31;
2047 int idtype32;
2048 val* var33 /* : Array[Object] */;
2049 val* var34 /* : Array[Object] */;
2050 val* var_listnode13 /* var listnode13: Array[Object] */;
2051 val* var_listnode12 /* var listnode12: nullable Object */;
2052 short int var35 /* : Bool */;
2053 int cltype36;
2054 int idtype37;
2055 val* var38 /* : Array[Object] */;
2056 val* var39 /* : AAnnotations */;
2057 val* var40 /* : null */;
2058 val* var41 /* : null */;
2059 val* var42 /* : null */;
2060 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
2061 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
2062 short int var43 /* : Bool */;
2063 int cltype44;
2064 int idtype45;
2065 val* var_listnode16 /* var listnode16: nullable Object */;
2066 short int var46 /* : Bool */;
2067 int cltype47;
2068 int idtype48;
2069 val* var49 /* : Array[Object] */;
2070 val* var_listnode18 /* var listnode18: nullable Object */;
2071 short int var50 /* : Bool */;
2072 int cltype51;
2073 int idtype52;
2074 val* var53 /* : Array[Object] */;
2075 val* var_tkwendnode20 /* var tkwendnode20: nullable Object */;
2076 short int var54 /* : Bool */;
2077 int cltype55;
2078 int idtype56;
2079 val* var57 /* : AStdClassdef */;
2080 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2081 long var58 /* : Int */;
2082 long var59 /* : Int */;
2083 var_p = p0;
2084 var = NULL;
2085 var_node_list = var;
2086 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2087 var_nodearraylist13 = var1;
2088 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2089 var_nodearraylist12 = var2;
2090 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2091 var_nodearraylist11 = var3;
2092 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2093 var_nodearraylist10 = var4;
2094 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2095 var_nodearraylist9 = var5;
2096 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2097 var_nodearraylist8 = var6;
2098 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2099 var_nodearraylist7 = var7;
2100 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2101 var_nodearraylist6 = var8;
2102 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2103 var_nodearraylist5 = var9;
2104 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2105 var_nodearraylist4 = var10;
2106 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2107 var_nodearraylist3 = var11;
2108 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2109 var_nodearraylist2 = var12;
2110 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2111 var_nodearraylist1 = var13;
2112 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
2113 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
2114 var_listnode8 = var14;
2115 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
2116 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
2117 var_listnode17 = var15;
2118 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
2119 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
2120 var_listnode19 = var16;
2121 var_pdocnode2 = var_nodearraylist1;
2122 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2123 cltype = type_nullable_parser_nodes__ADoc.color;
2124 idtype = type_nullable_parser_nodes__ADoc.id;
2125 if(var_pdocnode2 == NULL) {
2126 var17 = 1;
2127 } else {
2128 if(cltype >= var_pdocnode2->type->table_size) {
2129 var17 = 0;
2130 } else {
2131 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
2132 }
2133 }
2134 if (!var17) {
2135 fprintf(stderr, "Runtime error: %s", "Assert failed");
2136 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14876);
2137 show_backtrace(1);
2138 }
2139 var_tkwredefnode3 = var_nodearraylist2;
2140 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2141 cltype19 = type_nullable_parser_nodes__TKwredef.color;
2142 idtype20 = type_nullable_parser_nodes__TKwredef.id;
2143 if(var_tkwredefnode3 == NULL) {
2144 var18 = 1;
2145 } else {
2146 if(cltype19 >= var_tkwredefnode3->type->table_size) {
2147 var18 = 0;
2148 } else {
2149 var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20;
2150 }
2151 }
2152 if (!var18) {
2153 fprintf(stderr, "Runtime error: %s", "Assert failed");
2154 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14878);
2155 show_backtrace(1);
2156 }
2157 var_pvisibilitynode4 = var_nodearraylist3;
2158 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2159 cltype22 = type_nullable_parser_nodes__AVisibility.color;
2160 idtype23 = type_nullable_parser_nodes__AVisibility.id;
2161 if(var_pvisibilitynode4 == NULL) {
2162 var21 = 1;
2163 } else {
2164 if(cltype22 >= var_pvisibilitynode4->type->table_size) {
2165 var21 = 0;
2166 } else {
2167 var21 = var_pvisibilitynode4->type->type_table[cltype22] == idtype23;
2168 }
2169 }
2170 if (!var21) {
2171 fprintf(stderr, "Runtime error: %s", "Assert failed");
2172 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14880);
2173 show_backtrace(1);
2174 }
2175 var_pclasskindnode5 = var_nodearraylist4;
2176 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2177 cltype25 = type_nullable_parser_nodes__AClasskind.color;
2178 idtype26 = type_nullable_parser_nodes__AClasskind.id;
2179 if(var_pclasskindnode5 == NULL) {
2180 var24 = 1;
2181 } else {
2182 if(cltype25 >= var_pclasskindnode5->type->table_size) {
2183 var24 = 0;
2184 } else {
2185 var24 = var_pclasskindnode5->type->type_table[cltype25] == idtype26;
2186 }
2187 }
2188 if (!var24) {
2189 fprintf(stderr, "Runtime error: %s", "Assert failed");
2190 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14882);
2191 show_backtrace(1);
2192 }
2193 var_tclassidnode6 = var_nodearraylist6;
2194 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2195 cltype28 = type_nullable_parser_nodes__TClassid.color;
2196 idtype29 = type_nullable_parser_nodes__TClassid.id;
2197 if(var_tclassidnode6 == NULL) {
2198 var27 = 1;
2199 } else {
2200 if(cltype28 >= var_tclassidnode6->type->table_size) {
2201 var27 = 0;
2202 } else {
2203 var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29;
2204 }
2205 }
2206 if (!var27) {
2207 fprintf(stderr, "Runtime error: %s", "Assert failed");
2208 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14884);
2209 show_backtrace(1);
2210 }
2211 var_listnode7 = var_nodearraylist7;
2212 /* <var_listnode7:nullable Object> isa Array[Object] */
2213 cltype31 = type_array__Arraykernel__Object.color;
2214 idtype32 = type_array__Arraykernel__Object.id;
2215 if(var_listnode7 == NULL) {
2216 var30 = 0;
2217 } else {
2218 if(cltype31 >= var_listnode7->type->table_size) {
2219 var30 = 0;
2220 } else {
2221 var30 = var_listnode7->type->type_table[cltype31] == idtype32;
2222 }
2223 }
2224 if (!var30) {
2225 fprintf(stderr, "Runtime error: %s", "Assert failed");
2226 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14886);
2227 show_backtrace(1);
2228 }
2229 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction322>*/;
2230 var_listnode8 = var33;
2231 var34 = NEW_array__Array(&type_array__Arraykernel__Object);
2232 ((void (*)(val*))(var34->class->vft[COLOR_array__Array__init]))(var34) /* init on <var34:Array[Object]>*/;
2233 var_listnode13 = var34;
2234 var_listnode12 = var_nodearraylist8;
2235 /* <var_listnode12:nullable Object> isa Array[Object] */
2236 cltype36 = type_array__Arraykernel__Object.color;
2237 idtype37 = type_array__Arraykernel__Object.id;
2238 if(var_listnode12 == NULL) {
2239 var35 = 0;
2240 } else {
2241 if(cltype36 >= var_listnode12->type->table_size) {
2242 var35 = 0;
2243 } else {
2244 var35 = var_listnode12->type->type_table[cltype36] == idtype37;
2245 }
2246 }
2247 if (!var35) {
2248 fprintf(stderr, "Runtime error: %s", "Assert failed");
2249 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14890);
2250 show_backtrace(1);
2251 }
2252 var38 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction322>*/;
2253 var_listnode13 = var38;
2254 var39 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
2255 var40 = NULL;
2256 var41 = NULL;
2257 var42 = NULL;
2258 ((void (*)(val*, val*, val*, val*, val*))(var39->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var39, var40, var41, var_listnode13, var42) /* init_aannotations on <var39:AAnnotations>*/;
2259 var_pannotationsnode9 = var39;
2260 var_pexterncodeblocknode15 = var_nodearraylist9;
2261 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
2262 cltype44 = type_nullable_parser_nodes__AExternCodeBlock.color;
2263 idtype45 = type_nullable_parser_nodes__AExternCodeBlock.id;
2264 if(var_pexterncodeblocknode15 == NULL) {
2265 var43 = 1;
2266 } else {
2267 if(cltype44 >= var_pexterncodeblocknode15->type->table_size) {
2268 var43 = 0;
2269 } else {
2270 var43 = var_pexterncodeblocknode15->type->type_table[cltype44] == idtype45;
2271 }
2272 }
2273 if (!var43) {
2274 fprintf(stderr, "Runtime error: %s", "Assert failed");
2275 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14899);
2276 show_backtrace(1);
2277 }
2278 var_listnode16 = var_nodearraylist10;
2279 /* <var_listnode16:nullable Object> isa Array[Object] */
2280 cltype47 = type_array__Arraykernel__Object.color;
2281 idtype48 = type_array__Arraykernel__Object.id;
2282 if(var_listnode16 == NULL) {
2283 var46 = 0;
2284 } else {
2285 if(cltype47 >= var_listnode16->type->table_size) {
2286 var46 = 0;
2287 } else {
2288 var46 = var_listnode16->type->type_table[cltype47] == idtype48;
2289 }
2290 }
2291 if (!var46) {
2292 fprintf(stderr, "Runtime error: %s", "Assert failed");
2293 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14901);
2294 show_backtrace(1);
2295 }
2296 var49 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction322>*/;
2297 var_listnode17 = var49;
2298 var_listnode18 = var_nodearraylist11;
2299 /* <var_listnode18:nullable Object> isa Array[Object] */
2300 cltype51 = type_array__Arraykernel__Object.color;
2301 idtype52 = type_array__Arraykernel__Object.id;
2302 if(var_listnode18 == NULL) {
2303 var50 = 0;
2304 } else {
2305 if(cltype51 >= var_listnode18->type->table_size) {
2306 var50 = 0;
2307 } else {
2308 var50 = var_listnode18->type->type_table[cltype51] == idtype52;
2309 }
2310 }
2311 if (!var50) {
2312 fprintf(stderr, "Runtime error: %s", "Assert failed");
2313 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14904);
2314 show_backtrace(1);
2315 }
2316 var53 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode19, var_listnode18) /* concat on <self:ReduceAction322>*/;
2317 var_listnode19 = var53;
2318 var_tkwendnode20 = var_nodearraylist13;
2319 /* <var_tkwendnode20:nullable Object> isa nullable TKwend */
2320 cltype55 = type_nullable_parser_nodes__TKwend.color;
2321 idtype56 = type_nullable_parser_nodes__TKwend.id;
2322 if(var_tkwendnode20 == NULL) {
2323 var54 = 1;
2324 } else {
2325 if(cltype55 >= var_tkwendnode20->type->table_size) {
2326 var54 = 0;
2327 } else {
2328 var54 = var_tkwendnode20->type->type_table[cltype55] == idtype56;
2329 }
2330 }
2331 if (!var54) {
2332 fprintf(stderr, "Runtime error: %s", "Assert failed");
2333 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14907);
2334 show_backtrace(1);
2335 }
2336 var57 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2337 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var57->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var57, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode17, var_listnode19, var_tkwendnode20) /* init_astdclassdef on <var57:AStdClassdef>*/;
2338 var_pclassdefnode1 = var57;
2339 var_node_list = var_pclassdefnode1;
2340 var58 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction322> */
2341 var59 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var58) /* go_to on <var_p:Parser>*/;
2342 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var59, var_node_list) /* push on <var_p:Parser>*/;
2343 RET_LABEL:;
2344 }
2345 /* method parser#ReduceAction322#action for (self: Object, Parser) */
2346 void VIRTUAL_parser__ReduceAction322__action(val* self, val* p0) {
2347 parser__ReduceAction322__action(self, p0);
2348 RET_LABEL:;
2349 }
2350 /* method parser#ReduceAction323#action for (self: ReduceAction323, Parser) */
2351 void parser__ReduceAction323__action(val* self, val* p0) {
2352 val* var_p /* var p: Parser */;
2353 val* var /* : null */;
2354 val* var_node_list /* var node_list: nullable Object */;
2355 val* var1 /* : nullable Object */;
2356 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
2357 val* var2 /* : nullable Object */;
2358 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
2359 val* var3 /* : nullable Object */;
2360 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
2361 val* var4 /* : nullable Object */;
2362 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2363 val* var5 /* : nullable Object */;
2364 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2365 val* var6 /* : nullable Object */;
2366 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2367 val* var7 /* : nullable Object */;
2368 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2369 val* var8 /* : nullable Object */;
2370 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2371 val* var9 /* : nullable Object */;
2372 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2373 val* var10 /* : nullable Object */;
2374 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2375 val* var11 /* : nullable Object */;
2376 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2377 val* var12 /* : nullable Object */;
2378 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2379 val* var13 /* : nullable Object */;
2380 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2381 val* var14 /* : Array[Object] */;
2382 val* var_listnode8 /* var listnode8: Array[Object] */;
2383 val* var15 /* : Array[Object] */;
2384 val* var_listnode17 /* var listnode17: Array[Object] */;
2385 val* var16 /* : Array[Object] */;
2386 val* var_listnode19 /* var listnode19: Array[Object] */;
2387 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2388 short int var17 /* : Bool */;
2389 int cltype;
2390 int idtype;
2391 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2392 short int var18 /* : Bool */;
2393 int cltype19;
2394 int idtype20;
2395 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2396 short int var21 /* : Bool */;
2397 int cltype22;
2398 int idtype23;
2399 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2400 short int var24 /* : Bool */;
2401 int cltype25;
2402 int idtype26;
2403 val* var_listnode7 /* var listnode7: nullable Object */;
2404 short int var27 /* : Bool */;
2405 int cltype28;
2406 int idtype29;
2407 val* var30 /* : Array[Object] */;
2408 val* var31 /* : Array[Object] */;
2409 val* var_listnode13 /* var listnode13: Array[Object] */;
2410 val* var_listnode12 /* var listnode12: nullable Object */;
2411 short int var32 /* : Bool */;
2412 int cltype33;
2413 int idtype34;
2414 val* var35 /* : Array[Object] */;
2415 val* var36 /* : AAnnotations */;
2416 val* var37 /* : null */;
2417 val* var38 /* : null */;
2418 val* var39 /* : null */;
2419 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
2420 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
2421 short int var40 /* : Bool */;
2422 int cltype41;
2423 int idtype42;
2424 val* var_listnode16 /* var listnode16: nullable Object */;
2425 short int var43 /* : Bool */;
2426 int cltype44;
2427 int idtype45;
2428 val* var46 /* : Array[Object] */;
2429 val* var_listnode18 /* var listnode18: nullable Object */;
2430 short int var47 /* : Bool */;
2431 int cltype48;
2432 int idtype49;
2433 val* var50 /* : Array[Object] */;
2434 val* var_tkwendnode20 /* var tkwendnode20: nullable Object */;
2435 short int var51 /* : Bool */;
2436 int cltype52;
2437 int idtype53;
2438 val* var54 /* : AStdClassdef */;
2439 val* var55 /* : null */;
2440 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2441 long var56 /* : Int */;
2442 long var57 /* : Int */;
2443 var_p = p0;
2444 var = NULL;
2445 var_node_list = var;
2446 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2447 var_nodearraylist13 = var1;
2448 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2449 var_nodearraylist12 = var2;
2450 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2451 var_nodearraylist11 = var3;
2452 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2453 var_nodearraylist10 = var4;
2454 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2455 var_nodearraylist9 = var5;
2456 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2457 var_nodearraylist8 = var6;
2458 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2459 var_nodearraylist7 = var7;
2460 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2461 var_nodearraylist6 = var8;
2462 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2463 var_nodearraylist5 = var9;
2464 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2465 var_nodearraylist4 = var10;
2466 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2467 var_nodearraylist3 = var11;
2468 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2469 var_nodearraylist2 = var12;
2470 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2471 var_nodearraylist1 = var13;
2472 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
2473 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
2474 var_listnode8 = var14;
2475 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
2476 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
2477 var_listnode17 = var15;
2478 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
2479 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
2480 var_listnode19 = var16;
2481 var_pdocnode2 = var_nodearraylist1;
2482 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2483 cltype = type_nullable_parser_nodes__ADoc.color;
2484 idtype = type_nullable_parser_nodes__ADoc.id;
2485 if(var_pdocnode2 == NULL) {
2486 var17 = 1;
2487 } else {
2488 if(cltype >= var_pdocnode2->type->table_size) {
2489 var17 = 0;
2490 } else {
2491 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
2492 }
2493 }
2494 if (!var17) {
2495 fprintf(stderr, "Runtime error: %s", "Assert failed");
2496 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14947);
2497 show_backtrace(1);
2498 }
2499 var_pvisibilitynode4 = var_nodearraylist2;
2500 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2501 cltype19 = type_nullable_parser_nodes__AVisibility.color;
2502 idtype20 = type_nullable_parser_nodes__AVisibility.id;
2503 if(var_pvisibilitynode4 == NULL) {
2504 var18 = 1;
2505 } else {
2506 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
2507 var18 = 0;
2508 } else {
2509 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
2510 }
2511 }
2512 if (!var18) {
2513 fprintf(stderr, "Runtime error: %s", "Assert failed");
2514 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14949);
2515 show_backtrace(1);
2516 }
2517 var_pclasskindnode5 = var_nodearraylist3;
2518 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2519 cltype22 = type_nullable_parser_nodes__AClasskind.color;
2520 idtype23 = type_nullable_parser_nodes__AClasskind.id;
2521 if(var_pclasskindnode5 == NULL) {
2522 var21 = 1;
2523 } else {
2524 if(cltype22 >= var_pclasskindnode5->type->table_size) {
2525 var21 = 0;
2526 } else {
2527 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
2528 }
2529 }
2530 if (!var21) {
2531 fprintf(stderr, "Runtime error: %s", "Assert failed");
2532 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14951);
2533 show_backtrace(1);
2534 }
2535 var_tclassidnode6 = var_nodearraylist6;
2536 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2537 cltype25 = type_nullable_parser_nodes__TClassid.color;
2538 idtype26 = type_nullable_parser_nodes__TClassid.id;
2539 if(var_tclassidnode6 == NULL) {
2540 var24 = 1;
2541 } else {
2542 if(cltype25 >= var_tclassidnode6->type->table_size) {
2543 var24 = 0;
2544 } else {
2545 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
2546 }
2547 }
2548 if (!var24) {
2549 fprintf(stderr, "Runtime error: %s", "Assert failed");
2550 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14953);
2551 show_backtrace(1);
2552 }
2553 var_listnode7 = var_nodearraylist7;
2554 /* <var_listnode7:nullable Object> isa Array[Object] */
2555 cltype28 = type_array__Arraykernel__Object.color;
2556 idtype29 = type_array__Arraykernel__Object.id;
2557 if(var_listnode7 == NULL) {
2558 var27 = 0;
2559 } else {
2560 if(cltype28 >= var_listnode7->type->table_size) {
2561 var27 = 0;
2562 } else {
2563 var27 = var_listnode7->type->type_table[cltype28] == idtype29;
2564 }
2565 }
2566 if (!var27) {
2567 fprintf(stderr, "Runtime error: %s", "Assert failed");
2568 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14955);
2569 show_backtrace(1);
2570 }
2571 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction323>*/;
2572 var_listnode8 = var30;
2573 var31 = NEW_array__Array(&type_array__Arraykernel__Object);
2574 ((void (*)(val*))(var31->class->vft[COLOR_array__Array__init]))(var31) /* init on <var31:Array[Object]>*/;
2575 var_listnode13 = var31;
2576 var_listnode12 = var_nodearraylist8;
2577 /* <var_listnode12:nullable Object> isa Array[Object] */
2578 cltype33 = type_array__Arraykernel__Object.color;
2579 idtype34 = type_array__Arraykernel__Object.id;
2580 if(var_listnode12 == NULL) {
2581 var32 = 0;
2582 } else {
2583 if(cltype33 >= var_listnode12->type->table_size) {
2584 var32 = 0;
2585 } else {
2586 var32 = var_listnode12->type->type_table[cltype33] == idtype34;
2587 }
2588 }
2589 if (!var32) {
2590 fprintf(stderr, "Runtime error: %s", "Assert failed");
2591 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14959);
2592 show_backtrace(1);
2593 }
2594 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction323>*/;
2595 var_listnode13 = var35;
2596 var36 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
2597 var37 = NULL;
2598 var38 = NULL;
2599 var39 = NULL;
2600 ((void (*)(val*, val*, val*, val*, val*))(var36->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var36, var37, var38, var_listnode13, var39) /* init_aannotations on <var36:AAnnotations>*/;
2601 var_pannotationsnode9 = var36;
2602 var_pexterncodeblocknode15 = var_nodearraylist9;
2603 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
2604 cltype41 = type_nullable_parser_nodes__AExternCodeBlock.color;
2605 idtype42 = type_nullable_parser_nodes__AExternCodeBlock.id;
2606 if(var_pexterncodeblocknode15 == NULL) {
2607 var40 = 1;
2608 } else {
2609 if(cltype41 >= var_pexterncodeblocknode15->type->table_size) {
2610 var40 = 0;
2611 } else {
2612 var40 = var_pexterncodeblocknode15->type->type_table[cltype41] == idtype42;
2613 }
2614 }
2615 if (!var40) {
2616 fprintf(stderr, "Runtime error: %s", "Assert failed");
2617 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14968);
2618 show_backtrace(1);
2619 }
2620 var_listnode16 = var_nodearraylist10;
2621 /* <var_listnode16:nullable Object> isa Array[Object] */
2622 cltype44 = type_array__Arraykernel__Object.color;
2623 idtype45 = type_array__Arraykernel__Object.id;
2624 if(var_listnode16 == NULL) {
2625 var43 = 0;
2626 } else {
2627 if(cltype44 >= var_listnode16->type->table_size) {
2628 var43 = 0;
2629 } else {
2630 var43 = var_listnode16->type->type_table[cltype44] == idtype45;
2631 }
2632 }
2633 if (!var43) {
2634 fprintf(stderr, "Runtime error: %s", "Assert failed");
2635 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14970);
2636 show_backtrace(1);
2637 }
2638 var46 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction323>*/;
2639 var_listnode17 = var46;
2640 var_listnode18 = var_nodearraylist11;
2641 /* <var_listnode18:nullable Object> isa Array[Object] */
2642 cltype48 = type_array__Arraykernel__Object.color;
2643 idtype49 = type_array__Arraykernel__Object.id;
2644 if(var_listnode18 == NULL) {
2645 var47 = 0;
2646 } else {
2647 if(cltype48 >= var_listnode18->type->table_size) {
2648 var47 = 0;
2649 } else {
2650 var47 = var_listnode18->type->type_table[cltype48] == idtype49;
2651 }
2652 }
2653 if (!var47) {
2654 fprintf(stderr, "Runtime error: %s", "Assert failed");
2655 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14973);
2656 show_backtrace(1);
2657 }
2658 var50 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode19, var_listnode18) /* concat on <self:ReduceAction323>*/;
2659 var_listnode19 = var50;
2660 var_tkwendnode20 = var_nodearraylist13;
2661 /* <var_tkwendnode20:nullable Object> isa nullable TKwend */
2662 cltype52 = type_nullable_parser_nodes__TKwend.color;
2663 idtype53 = type_nullable_parser_nodes__TKwend.id;
2664 if(var_tkwendnode20 == NULL) {
2665 var51 = 1;
2666 } else {
2667 if(cltype52 >= var_tkwendnode20->type->table_size) {
2668 var51 = 0;
2669 } else {
2670 var51 = var_tkwendnode20->type->type_table[cltype52] == idtype53;
2671 }
2672 }
2673 if (!var51) {
2674 fprintf(stderr, "Runtime error: %s", "Assert failed");
2675 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14976);
2676 show_backtrace(1);
2677 }
2678 var54 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2679 var55 = NULL;
2680 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var54->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var54, var_pdocnode2, var55, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode17, var_listnode19, var_tkwendnode20) /* init_astdclassdef on <var54:AStdClassdef>*/;
2681 var_pclassdefnode1 = var54;
2682 var_node_list = var_pclassdefnode1;
2683 var56 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction323> */
2684 var57 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var56) /* go_to on <var_p:Parser>*/;
2685 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var57, var_node_list) /* push on <var_p:Parser>*/;
2686 RET_LABEL:;
2687 }
2688 /* method parser#ReduceAction323#action for (self: Object, Parser) */
2689 void VIRTUAL_parser__ReduceAction323__action(val* self, val* p0) {
2690 parser__ReduceAction323__action(self, p0);
2691 RET_LABEL:;
2692 }
2693 /* method parser#ReduceAction324#action for (self: ReduceAction324, Parser) */
2694 void parser__ReduceAction324__action(val* self, val* p0) {
2695 val* var_p /* var p: Parser */;
2696 val* var /* : null */;
2697 val* var_node_list /* var node_list: nullable Object */;
2698 val* var1 /* : nullable Object */;
2699 val* var_nodearraylist14 /* var nodearraylist14: nullable Object */;
2700 val* var2 /* : nullable Object */;
2701 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
2702 val* var3 /* : nullable Object */;
2703 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
2704 val* var4 /* : nullable Object */;
2705 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
2706 val* var5 /* : nullable Object */;
2707 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2708 val* var6 /* : nullable Object */;
2709 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2710 val* var7 /* : nullable Object */;
2711 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2712 val* var8 /* : nullable Object */;
2713 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2714 val* var9 /* : nullable Object */;
2715 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2716 val* var10 /* : nullable Object */;
2717 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2718 val* var11 /* : nullable Object */;
2719 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2720 val* var12 /* : nullable Object */;
2721 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2722 val* var13 /* : nullable Object */;
2723 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2724 val* var14 /* : nullable Object */;
2725 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2726 val* var15 /* : Array[Object] */;
2727 val* var_listnode8 /* var listnode8: Array[Object] */;
2728 val* var16 /* : Array[Object] */;
2729 val* var_listnode17 /* var listnode17: Array[Object] */;
2730 val* var17 /* : Array[Object] */;
2731 val* var_listnode19 /* var listnode19: Array[Object] */;
2732 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2733 short int var18 /* : Bool */;
2734 int cltype;
2735 int idtype;
2736 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2737 short int var19 /* : Bool */;
2738 int cltype20;
2739 int idtype21;
2740 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2741 short int var22 /* : Bool */;
2742 int cltype23;
2743 int idtype24;
2744 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2745 short int var25 /* : Bool */;
2746 int cltype26;
2747 int idtype27;
2748 val* var_listnode7 /* var listnode7: nullable Object */;
2749 short int var28 /* : Bool */;
2750 int cltype29;
2751 int idtype30;
2752 val* var31 /* : Array[Object] */;
2753 val* var32 /* : Array[Object] */;
2754 val* var_listnode13 /* var listnode13: Array[Object] */;
2755 val* var_listnode12 /* var listnode12: nullable Object */;
2756 short int var33 /* : Bool */;
2757 int cltype34;
2758 int idtype35;
2759 val* var36 /* : Array[Object] */;
2760 val* var37 /* : AAnnotations */;
2761 val* var38 /* : null */;
2762 val* var39 /* : null */;
2763 val* var40 /* : null */;
2764 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
2765 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
2766 short int var41 /* : Bool */;
2767 int cltype42;
2768 int idtype43;
2769 val* var_listnode16 /* var listnode16: nullable Object */;
2770 short int var44 /* : Bool */;
2771 int cltype45;
2772 int idtype46;
2773 val* var47 /* : Array[Object] */;
2774 val* var_listnode18 /* var listnode18: nullable Object */;
2775 short int var48 /* : Bool */;
2776 int cltype49;
2777 int idtype50;
2778 val* var51 /* : Array[Object] */;
2779 val* var_tkwendnode20 /* var tkwendnode20: nullable Object */;
2780 short int var52 /* : Bool */;
2781 int cltype53;
2782 int idtype54;
2783 val* var55 /* : AStdClassdef */;
2784 val* var56 /* : null */;
2785 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2786 long var57 /* : Int */;
2787 long var58 /* : Int */;
2788 var_p = p0;
2789 var = NULL;
2790 var_node_list = var;
2791 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2792 var_nodearraylist14 = var1;
2793 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2794 var_nodearraylist13 = var2;
2795 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2796 var_nodearraylist12 = var3;
2797 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2798 var_nodearraylist11 = var4;
2799 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2800 var_nodearraylist10 = var5;
2801 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2802 var_nodearraylist9 = var6;
2803 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2804 var_nodearraylist8 = var7;
2805 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2806 var_nodearraylist7 = var8;
2807 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2808 var_nodearraylist6 = var9;
2809 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2810 var_nodearraylist5 = var10;
2811 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2812 var_nodearraylist4 = var11;
2813 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2814 var_nodearraylist3 = var12;
2815 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2816 var_nodearraylist2 = var13;
2817 var14 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2818 var_nodearraylist1 = var14;
2819 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
2820 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
2821 var_listnode8 = var15;
2822 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
2823 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
2824 var_listnode17 = var16;
2825 var17 = NEW_array__Array(&type_array__Arraykernel__Object);
2826 ((void (*)(val*))(var17->class->vft[COLOR_array__Array__init]))(var17) /* init on <var17:Array[Object]>*/;
2827 var_listnode19 = var17;
2828 var_pdocnode2 = var_nodearraylist1;
2829 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2830 cltype = type_nullable_parser_nodes__ADoc.color;
2831 idtype = type_nullable_parser_nodes__ADoc.id;
2832 if(var_pdocnode2 == NULL) {
2833 var18 = 1;
2834 } else {
2835 if(cltype >= var_pdocnode2->type->table_size) {
2836 var18 = 0;
2837 } else {
2838 var18 = var_pdocnode2->type->type_table[cltype] == idtype;
2839 }
2840 }
2841 if (!var18) {
2842 fprintf(stderr, "Runtime error: %s", "Assert failed");
2843 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15017);
2844 show_backtrace(1);
2845 }
2846 var_pvisibilitynode4 = var_nodearraylist2;
2847 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2848 cltype20 = type_nullable_parser_nodes__AVisibility.color;
2849 idtype21 = type_nullable_parser_nodes__AVisibility.id;
2850 if(var_pvisibilitynode4 == NULL) {
2851 var19 = 1;
2852 } else {
2853 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
2854 var19 = 0;
2855 } else {
2856 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
2857 }
2858 }
2859 if (!var19) {
2860 fprintf(stderr, "Runtime error: %s", "Assert failed");
2861 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15019);
2862 show_backtrace(1);
2863 }
2864 var_pclasskindnode5 = var_nodearraylist3;
2865 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2866 cltype23 = type_nullable_parser_nodes__AClasskind.color;
2867 idtype24 = type_nullable_parser_nodes__AClasskind.id;
2868 if(var_pclasskindnode5 == NULL) {
2869 var22 = 1;
2870 } else {
2871 if(cltype23 >= var_pclasskindnode5->type->table_size) {
2872 var22 = 0;
2873 } else {
2874 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
2875 }
2876 }
2877 if (!var22) {
2878 fprintf(stderr, "Runtime error: %s", "Assert failed");
2879 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15021);
2880 show_backtrace(1);
2881 }
2882 var_tclassidnode6 = var_nodearraylist7;
2883 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2884 cltype26 = type_nullable_parser_nodes__TClassid.color;
2885 idtype27 = type_nullable_parser_nodes__TClassid.id;
2886 if(var_tclassidnode6 == NULL) {
2887 var25 = 1;
2888 } else {
2889 if(cltype26 >= var_tclassidnode6->type->table_size) {
2890 var25 = 0;
2891 } else {
2892 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
2893 }
2894 }
2895 if (!var25) {
2896 fprintf(stderr, "Runtime error: %s", "Assert failed");
2897 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15023);
2898 show_backtrace(1);
2899 }
2900 var_listnode7 = var_nodearraylist8;
2901 /* <var_listnode7:nullable Object> isa Array[Object] */
2902 cltype29 = type_array__Arraykernel__Object.color;
2903 idtype30 = type_array__Arraykernel__Object.id;
2904 if(var_listnode7 == NULL) {
2905 var28 = 0;
2906 } else {
2907 if(cltype29 >= var_listnode7->type->table_size) {
2908 var28 = 0;
2909 } else {
2910 var28 = var_listnode7->type->type_table[cltype29] == idtype30;
2911 }
2912 }
2913 if (!var28) {
2914 fprintf(stderr, "Runtime error: %s", "Assert failed");
2915 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15025);
2916 show_backtrace(1);
2917 }
2918 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction324>*/;
2919 var_listnode8 = var31;
2920 var32 = NEW_array__Array(&type_array__Arraykernel__Object);
2921 ((void (*)(val*))(var32->class->vft[COLOR_array__Array__init]))(var32) /* init on <var32:Array[Object]>*/;
2922 var_listnode13 = var32;
2923 var_listnode12 = var_nodearraylist9;
2924 /* <var_listnode12:nullable Object> isa Array[Object] */
2925 cltype34 = type_array__Arraykernel__Object.color;
2926 idtype35 = type_array__Arraykernel__Object.id;
2927 if(var_listnode12 == NULL) {
2928 var33 = 0;
2929 } else {
2930 if(cltype34 >= var_listnode12->type->table_size) {
2931 var33 = 0;
2932 } else {
2933 var33 = var_listnode12->type->type_table[cltype34] == idtype35;
2934 }
2935 }
2936 if (!var33) {
2937 fprintf(stderr, "Runtime error: %s", "Assert failed");
2938 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15029);
2939 show_backtrace(1);
2940 }
2941 var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction324>*/;
2942 var_listnode13 = var36;
2943 var37 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
2944 var38 = NULL;
2945 var39 = NULL;
2946 var40 = NULL;
2947 ((void (*)(val*, val*, val*, val*, val*))(var37->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var37, var38, var39, var_listnode13, var40) /* init_aannotations on <var37:AAnnotations>*/;
2948 var_pannotationsnode9 = var37;
2949 var_pexterncodeblocknode15 = var_nodearraylist10;
2950 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
2951 cltype42 = type_nullable_parser_nodes__AExternCodeBlock.color;
2952 idtype43 = type_nullable_parser_nodes__AExternCodeBlock.id;
2953 if(var_pexterncodeblocknode15 == NULL) {
2954 var41 = 1;
2955 } else {
2956 if(cltype42 >= var_pexterncodeblocknode15->type->table_size) {
2957 var41 = 0;
2958 } else {
2959 var41 = var_pexterncodeblocknode15->type->type_table[cltype42] == idtype43;
2960 }
2961 }
2962 if (!var41) {
2963 fprintf(stderr, "Runtime error: %s", "Assert failed");
2964 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15038);
2965 show_backtrace(1);
2966 }
2967 var_listnode16 = var_nodearraylist11;
2968 /* <var_listnode16:nullable Object> isa Array[Object] */
2969 cltype45 = type_array__Arraykernel__Object.color;
2970 idtype46 = type_array__Arraykernel__Object.id;
2971 if(var_listnode16 == NULL) {
2972 var44 = 0;
2973 } else {
2974 if(cltype45 >= var_listnode16->type->table_size) {
2975 var44 = 0;
2976 } else {
2977 var44 = var_listnode16->type->type_table[cltype45] == idtype46;
2978 }
2979 }
2980 if (!var44) {
2981 fprintf(stderr, "Runtime error: %s", "Assert failed");
2982 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15040);
2983 show_backtrace(1);
2984 }
2985 var47 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction324>*/;
2986 var_listnode17 = var47;
2987 var_listnode18 = var_nodearraylist12;
2988 /* <var_listnode18:nullable Object> isa Array[Object] */
2989 cltype49 = type_array__Arraykernel__Object.color;
2990 idtype50 = type_array__Arraykernel__Object.id;
2991 if(var_listnode18 == NULL) {
2992 var48 = 0;
2993 } else {
2994 if(cltype49 >= var_listnode18->type->table_size) {
2995 var48 = 0;
2996 } else {
2997 var48 = var_listnode18->type->type_table[cltype49] == idtype50;
2998 }
2999 }
3000 if (!var48) {
3001 fprintf(stderr, "Runtime error: %s", "Assert failed");
3002 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15043);
3003 show_backtrace(1);
3004 }
3005 var51 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode19, var_listnode18) /* concat on <self:ReduceAction324>*/;
3006 var_listnode19 = var51;
3007 var_tkwendnode20 = var_nodearraylist14;
3008 /* <var_tkwendnode20:nullable Object> isa nullable TKwend */
3009 cltype53 = type_nullable_parser_nodes__TKwend.color;
3010 idtype54 = type_nullable_parser_nodes__TKwend.id;
3011 if(var_tkwendnode20 == NULL) {
3012 var52 = 1;
3013 } else {
3014 if(cltype53 >= var_tkwendnode20->type->table_size) {
3015 var52 = 0;
3016 } else {
3017 var52 = var_tkwendnode20->type->type_table[cltype53] == idtype54;
3018 }
3019 }
3020 if (!var52) {
3021 fprintf(stderr, "Runtime error: %s", "Assert failed");
3022 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15046);
3023 show_backtrace(1);
3024 }
3025 var55 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3026 var56 = NULL;
3027 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var55->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var55, var_pdocnode2, var56, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode17, var_listnode19, var_tkwendnode20) /* init_astdclassdef on <var55:AStdClassdef>*/;
3028 var_pclassdefnode1 = var55;
3029 var_node_list = var_pclassdefnode1;
3030 var57 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction324> */
3031 var58 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var57) /* go_to on <var_p:Parser>*/;
3032 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var58, var_node_list) /* push on <var_p:Parser>*/;
3033 RET_LABEL:;
3034 }
3035 /* method parser#ReduceAction324#action for (self: Object, Parser) */
3036 void VIRTUAL_parser__ReduceAction324__action(val* self, val* p0) {
3037 parser__ReduceAction324__action(self, p0);
3038 RET_LABEL:;
3039 }
3040 /* method parser#ReduceAction326#action for (self: ReduceAction326, Parser) */
3041 void parser__ReduceAction326__action(val* self, val* p0) {
3042 val* var_p /* var p: Parser */;
3043 val* var /* : null */;
3044 val* var_node_list /* var node_list: nullable Object */;
3045 val* var1 /* : nullable Object */;
3046 val* var_nodearraylist14 /* var nodearraylist14: nullable Object */;
3047 val* var2 /* : nullable Object */;
3048 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
3049 val* var3 /* : nullable Object */;
3050 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
3051 val* var4 /* : nullable Object */;
3052 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
3053 val* var5 /* : nullable Object */;
3054 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
3055 val* var6 /* : nullable Object */;
3056 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3057 val* var7 /* : nullable Object */;
3058 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3059 val* var8 /* : nullable Object */;
3060 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3061 val* var9 /* : nullable Object */;
3062 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3063 val* var10 /* : nullable Object */;
3064 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3065 val* var11 /* : nullable Object */;
3066 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3067 val* var12 /* : nullable Object */;
3068 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3069 val* var13 /* : nullable Object */;
3070 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3071 val* var14 /* : nullable Object */;
3072 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3073 val* var15 /* : Array[Object] */;
3074 val* var_listnode8 /* var listnode8: Array[Object] */;
3075 val* var16 /* : Array[Object] */;
3076 val* var_listnode17 /* var listnode17: Array[Object] */;
3077 val* var17 /* : Array[Object] */;
3078 val* var_listnode19 /* var listnode19: Array[Object] */;
3079 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3080 short int var18 /* : Bool */;
3081 int cltype;
3082 int idtype;
3083 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
3084 short int var19 /* : Bool */;
3085 int cltype20;
3086 int idtype21;
3087 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3088 short int var22 /* : Bool */;
3089 int cltype23;
3090 int idtype24;
3091 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3092 short int var25 /* : Bool */;
3093 int cltype26;
3094 int idtype27;
3095 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3096 short int var28 /* : Bool */;
3097 int cltype29;
3098 int idtype30;
3099 val* var_listnode7 /* var listnode7: nullable Object */;
3100 short int var31 /* : Bool */;
3101 int cltype32;
3102 int idtype33;
3103 val* var34 /* : Array[Object] */;
3104 val* var35 /* : Array[Object] */;
3105 val* var_listnode13 /* var listnode13: Array[Object] */;
3106 val* var_listnode12 /* var listnode12: nullable Object */;
3107 short int var36 /* : Bool */;
3108 int cltype37;
3109 int idtype38;
3110 val* var39 /* : Array[Object] */;
3111 val* var40 /* : AAnnotations */;
3112 val* var41 /* : null */;
3113 val* var42 /* : null */;
3114 val* var43 /* : null */;
3115 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
3116 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
3117 short int var44 /* : Bool */;
3118 int cltype45;
3119 int idtype46;
3120 val* var_listnode16 /* var listnode16: nullable Object */;
3121 short int var47 /* : Bool */;
3122 int cltype48;
3123 int idtype49;
3124 val* var50 /* : Array[Object] */;
3125 val* var_listnode18 /* var listnode18: nullable Object */;
3126 short int var51 /* : Bool */;
3127 int cltype52;
3128 int idtype53;
3129 val* var54 /* : Array[Object] */;
3130 val* var_tkwendnode20 /* var tkwendnode20: nullable Object */;
3131 short int var55 /* : Bool */;
3132 int cltype56;
3133 int idtype57;
3134 val* var58 /* : AStdClassdef */;
3135 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3136 long var59 /* : Int */;
3137 long var60 /* : Int */;
3138 var_p = p0;
3139 var = NULL;
3140 var_node_list = var;
3141 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3142 var_nodearraylist14 = var1;
3143 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3144 var_nodearraylist13 = var2;
3145 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3146 var_nodearraylist12 = var3;
3147 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3148 var_nodearraylist11 = var4;
3149 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3150 var_nodearraylist10 = var5;
3151 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3152 var_nodearraylist9 = var6;
3153 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3154 var_nodearraylist8 = var7;
3155 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3156 var_nodearraylist7 = var8;
3157 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3158 var_nodearraylist6 = var9;
3159 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3160 var_nodearraylist5 = var10;
3161 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3162 var_nodearraylist4 = var11;
3163 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3164 var_nodearraylist3 = var12;
3165 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3166 var_nodearraylist2 = var13;
3167 var14 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3168 var_nodearraylist1 = var14;
3169 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
3170 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
3171 var_listnode8 = var15;
3172 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
3173 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
3174 var_listnode17 = var16;
3175 var17 = NEW_array__Array(&type_array__Arraykernel__Object);
3176 ((void (*)(val*))(var17->class->vft[COLOR_array__Array__init]))(var17) /* init on <var17:Array[Object]>*/;
3177 var_listnode19 = var17;
3178 var_pdocnode2 = var_nodearraylist1;
3179 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3180 cltype = type_nullable_parser_nodes__ADoc.color;
3181 idtype = type_nullable_parser_nodes__ADoc.id;
3182 if(var_pdocnode2 == NULL) {
3183 var18 = 1;
3184 } else {
3185 if(cltype >= var_pdocnode2->type->table_size) {
3186 var18 = 0;
3187 } else {
3188 var18 = var_pdocnode2->type->type_table[cltype] == idtype;
3189 }
3190 }
3191 if (!var18) {
3192 fprintf(stderr, "Runtime error: %s", "Assert failed");
3193 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15087);
3194 show_backtrace(1);
3195 }
3196 var_tkwredefnode3 = var_nodearraylist2;
3197 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3198 cltype20 = type_nullable_parser_nodes__TKwredef.color;
3199 idtype21 = type_nullable_parser_nodes__TKwredef.id;
3200 if(var_tkwredefnode3 == NULL) {
3201 var19 = 1;
3202 } else {
3203 if(cltype20 >= var_tkwredefnode3->type->table_size) {
3204 var19 = 0;
3205 } else {
3206 var19 = var_tkwredefnode3->type->type_table[cltype20] == idtype21;
3207 }
3208 }
3209 if (!var19) {
3210 fprintf(stderr, "Runtime error: %s", "Assert failed");
3211 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15089);
3212 show_backtrace(1);
3213 }
3214 var_pvisibilitynode4 = var_nodearraylist3;
3215 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3216 cltype23 = type_nullable_parser_nodes__AVisibility.color;
3217 idtype24 = type_nullable_parser_nodes__AVisibility.id;
3218 if(var_pvisibilitynode4 == NULL) {
3219 var22 = 1;
3220 } else {
3221 if(cltype23 >= var_pvisibilitynode4->type->table_size) {
3222 var22 = 0;
3223 } else {
3224 var22 = var_pvisibilitynode4->type->type_table[cltype23] == idtype24;
3225 }
3226 }
3227 if (!var22) {
3228 fprintf(stderr, "Runtime error: %s", "Assert failed");
3229 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15091);
3230 show_backtrace(1);
3231 }
3232 var_pclasskindnode5 = var_nodearraylist4;
3233 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3234 cltype26 = type_nullable_parser_nodes__AClasskind.color;
3235 idtype27 = type_nullable_parser_nodes__AClasskind.id;
3236 if(var_pclasskindnode5 == NULL) {
3237 var25 = 1;
3238 } else {
3239 if(cltype26 >= var_pclasskindnode5->type->table_size) {
3240 var25 = 0;
3241 } else {
3242 var25 = var_pclasskindnode5->type->type_table[cltype26] == idtype27;
3243 }
3244 }
3245 if (!var25) {
3246 fprintf(stderr, "Runtime error: %s", "Assert failed");
3247 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15093);
3248 show_backtrace(1);
3249 }
3250 var_tclassidnode6 = var_nodearraylist7;
3251 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3252 cltype29 = type_nullable_parser_nodes__TClassid.color;
3253 idtype30 = type_nullable_parser_nodes__TClassid.id;
3254 if(var_tclassidnode6 == NULL) {
3255 var28 = 1;
3256 } else {
3257 if(cltype29 >= var_tclassidnode6->type->table_size) {
3258 var28 = 0;
3259 } else {
3260 var28 = var_tclassidnode6->type->type_table[cltype29] == idtype30;
3261 }
3262 }
3263 if (!var28) {
3264 fprintf(stderr, "Runtime error: %s", "Assert failed");
3265 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15095);
3266 show_backtrace(1);
3267 }
3268 var_listnode7 = var_nodearraylist8;
3269 /* <var_listnode7:nullable Object> isa Array[Object] */
3270 cltype32 = type_array__Arraykernel__Object.color;
3271 idtype33 = type_array__Arraykernel__Object.id;
3272 if(var_listnode7 == NULL) {
3273 var31 = 0;
3274 } else {
3275 if(cltype32 >= var_listnode7->type->table_size) {
3276 var31 = 0;
3277 } else {
3278 var31 = var_listnode7->type->type_table[cltype32] == idtype33;
3279 }
3280 }
3281 if (!var31) {
3282 fprintf(stderr, "Runtime error: %s", "Assert failed");
3283 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15097);
3284 show_backtrace(1);
3285 }
3286 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction326>*/;
3287 var_listnode8 = var34;
3288 var35 = NEW_array__Array(&type_array__Arraykernel__Object);
3289 ((void (*)(val*))(var35->class->vft[COLOR_array__Array__init]))(var35) /* init on <var35:Array[Object]>*/;
3290 var_listnode13 = var35;
3291 var_listnode12 = var_nodearraylist9;
3292 /* <var_listnode12:nullable Object> isa Array[Object] */
3293 cltype37 = type_array__Arraykernel__Object.color;
3294 idtype38 = type_array__Arraykernel__Object.id;
3295 if(var_listnode12 == NULL) {
3296 var36 = 0;
3297 } else {
3298 if(cltype37 >= var_listnode12->type->table_size) {
3299 var36 = 0;
3300 } else {
3301 var36 = var_listnode12->type->type_table[cltype37] == idtype38;
3302 }
3303 }
3304 if (!var36) {
3305 fprintf(stderr, "Runtime error: %s", "Assert failed");
3306 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15101);
3307 show_backtrace(1);
3308 }
3309 var39 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction326>*/;
3310 var_listnode13 = var39;
3311 var40 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
3312 var41 = NULL;
3313 var42 = NULL;
3314 var43 = NULL;
3315 ((void (*)(val*, val*, val*, val*, val*))(var40->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var40, var41, var42, var_listnode13, var43) /* init_aannotations on <var40:AAnnotations>*/;
3316 var_pannotationsnode9 = var40;
3317 var_pexterncodeblocknode15 = var_nodearraylist10;
3318 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
3319 cltype45 = type_nullable_parser_nodes__AExternCodeBlock.color;
3320 idtype46 = type_nullable_parser_nodes__AExternCodeBlock.id;
3321 if(var_pexterncodeblocknode15 == NULL) {
3322 var44 = 1;
3323 } else {
3324 if(cltype45 >= var_pexterncodeblocknode15->type->table_size) {
3325 var44 = 0;
3326 } else {
3327 var44 = var_pexterncodeblocknode15->type->type_table[cltype45] == idtype46;
3328 }
3329 }
3330 if (!var44) {
3331 fprintf(stderr, "Runtime error: %s", "Assert failed");
3332 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15110);
3333 show_backtrace(1);
3334 }
3335 var_listnode16 = var_nodearraylist11;
3336 /* <var_listnode16:nullable Object> isa Array[Object] */
3337 cltype48 = type_array__Arraykernel__Object.color;
3338 idtype49 = type_array__Arraykernel__Object.id;
3339 if(var_listnode16 == NULL) {
3340 var47 = 0;
3341 } else {
3342 if(cltype48 >= var_listnode16->type->table_size) {
3343 var47 = 0;
3344 } else {
3345 var47 = var_listnode16->type->type_table[cltype48] == idtype49;
3346 }
3347 }
3348 if (!var47) {
3349 fprintf(stderr, "Runtime error: %s", "Assert failed");
3350 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15112);
3351 show_backtrace(1);
3352 }
3353 var50 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction326>*/;
3354 var_listnode17 = var50;
3355 var_listnode18 = var_nodearraylist12;
3356 /* <var_listnode18:nullable Object> isa Array[Object] */
3357 cltype52 = type_array__Arraykernel__Object.color;
3358 idtype53 = type_array__Arraykernel__Object.id;
3359 if(var_listnode18 == NULL) {
3360 var51 = 0;
3361 } else {
3362 if(cltype52 >= var_listnode18->type->table_size) {
3363 var51 = 0;
3364 } else {
3365 var51 = var_listnode18->type->type_table[cltype52] == idtype53;
3366 }
3367 }
3368 if (!var51) {
3369 fprintf(stderr, "Runtime error: %s", "Assert failed");
3370 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15115);
3371 show_backtrace(1);
3372 }
3373 var54 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode19, var_listnode18) /* concat on <self:ReduceAction326>*/;
3374 var_listnode19 = var54;
3375 var_tkwendnode20 = var_nodearraylist14;
3376 /* <var_tkwendnode20:nullable Object> isa nullable TKwend */
3377 cltype56 = type_nullable_parser_nodes__TKwend.color;
3378 idtype57 = type_nullable_parser_nodes__TKwend.id;
3379 if(var_tkwendnode20 == NULL) {
3380 var55 = 1;
3381 } else {
3382 if(cltype56 >= var_tkwendnode20->type->table_size) {
3383 var55 = 0;
3384 } else {
3385 var55 = var_tkwendnode20->type->type_table[cltype56] == idtype57;
3386 }
3387 }
3388 if (!var55) {
3389 fprintf(stderr, "Runtime error: %s", "Assert failed");
3390 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15118);
3391 show_backtrace(1);
3392 }
3393 var58 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3394 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var58->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var58, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode17, var_listnode19, var_tkwendnode20) /* init_astdclassdef on <var58:AStdClassdef>*/;
3395 var_pclassdefnode1 = var58;
3396 var_node_list = var_pclassdefnode1;
3397 var59 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction326> */
3398 var60 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var59) /* go_to on <var_p:Parser>*/;
3399 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var60, var_node_list) /* push on <var_p:Parser>*/;
3400 RET_LABEL:;
3401 }
3402 /* method parser#ReduceAction326#action for (self: Object, Parser) */
3403 void VIRTUAL_parser__ReduceAction326__action(val* self, val* p0) {
3404 parser__ReduceAction326__action(self, p0);
3405 RET_LABEL:;
3406 }
3407 /* method parser#ReduceAction327#action for (self: ReduceAction327, Parser) */
3408 void parser__ReduceAction327__action(val* self, val* p0) {
3409 val* var_p /* var p: Parser */;
3410 val* var /* : null */;
3411 val* var_node_list /* var node_list: nullable Object */;
3412 val* var1 /* : nullable Object */;
3413 val* var_nodearraylist15 /* var nodearraylist15: nullable Object */;
3414 val* var2 /* : nullable Object */;
3415 val* var_nodearraylist14 /* var nodearraylist14: nullable Object */;
3416 val* var3 /* : nullable Object */;
3417 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
3418 val* var4 /* : nullable Object */;
3419 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
3420 val* var5 /* : nullable Object */;
3421 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
3422 val* var6 /* : nullable Object */;
3423 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
3424 val* var7 /* : nullable Object */;
3425 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3426 val* var8 /* : nullable Object */;
3427 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3428 val* var9 /* : nullable Object */;
3429 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3430 val* var10 /* : nullable Object */;
3431 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3432 val* var11 /* : nullable Object */;
3433 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3434 val* var12 /* : nullable Object */;
3435 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3436 val* var13 /* : nullable Object */;
3437 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3438 val* var14 /* : nullable Object */;
3439 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3440 val* var15 /* : nullable Object */;
3441 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3442 val* var16 /* : Array[Object] */;
3443 val* var_listnode8 /* var listnode8: Array[Object] */;
3444 val* var17 /* : Array[Object] */;
3445 val* var_listnode17 /* var listnode17: Array[Object] */;
3446 val* var18 /* : Array[Object] */;
3447 val* var_listnode19 /* var listnode19: Array[Object] */;
3448 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3449 short int var19 /* : Bool */;
3450 int cltype;
3451 int idtype;
3452 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
3453 short int var20 /* : Bool */;
3454 int cltype21;
3455 int idtype22;
3456 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3457 short int var23 /* : Bool */;
3458 int cltype24;
3459 int idtype25;
3460 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3461 short int var26 /* : Bool */;
3462 int cltype27;
3463 int idtype28;
3464 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3465 short int var29 /* : Bool */;
3466 int cltype30;
3467 int idtype31;
3468 val* var_listnode7 /* var listnode7: nullable Object */;
3469 short int var32 /* : Bool */;
3470 int cltype33;
3471 int idtype34;
3472 val* var35 /* : Array[Object] */;
3473 val* var36 /* : Array[Object] */;
3474 val* var_listnode13 /* var listnode13: Array[Object] */;
3475 val* var_listnode12 /* var listnode12: nullable Object */;
3476 short int var37 /* : Bool */;
3477 int cltype38;
3478 int idtype39;
3479 val* var40 /* : Array[Object] */;
3480 val* var41 /* : AAnnotations */;
3481 val* var42 /* : null */;
3482 val* var43 /* : null */;
3483 val* var44 /* : null */;
3484 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
3485 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
3486 short int var45 /* : Bool */;
3487 int cltype46;
3488 int idtype47;
3489 val* var_listnode16 /* var listnode16: nullable Object */;
3490 short int var48 /* : Bool */;
3491 int cltype49;
3492 int idtype50;
3493 val* var51 /* : Array[Object] */;
3494 val* var_listnode18 /* var listnode18: nullable Object */;
3495 short int var52 /* : Bool */;
3496 int cltype53;
3497 int idtype54;
3498 val* var55 /* : Array[Object] */;
3499 val* var_tkwendnode20 /* var tkwendnode20: nullable Object */;
3500 short int var56 /* : Bool */;
3501 int cltype57;
3502 int idtype58;
3503 val* var59 /* : AStdClassdef */;
3504 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3505 long var60 /* : Int */;
3506 long var61 /* : Int */;
3507 var_p = p0;
3508 var = NULL;
3509 var_node_list = var;
3510 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3511 var_nodearraylist15 = var1;
3512 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3513 var_nodearraylist14 = var2;
3514 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3515 var_nodearraylist13 = var3;
3516 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3517 var_nodearraylist12 = var4;
3518 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3519 var_nodearraylist11 = var5;
3520 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3521 var_nodearraylist10 = var6;
3522 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3523 var_nodearraylist9 = var7;
3524 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3525 var_nodearraylist8 = var8;
3526 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3527 var_nodearraylist7 = var9;
3528 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3529 var_nodearraylist6 = var10;
3530 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3531 var_nodearraylist5 = var11;
3532 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3533 var_nodearraylist4 = var12;
3534 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3535 var_nodearraylist3 = var13;
3536 var14 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3537 var_nodearraylist2 = var14;
3538 var15 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3539 var_nodearraylist1 = var15;
3540 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
3541 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
3542 var_listnode8 = var16;
3543 var17 = NEW_array__Array(&type_array__Arraykernel__Object);
3544 ((void (*)(val*))(var17->class->vft[COLOR_array__Array__init]))(var17) /* init on <var17:Array[Object]>*/;
3545 var_listnode17 = var17;
3546 var18 = NEW_array__Array(&type_array__Arraykernel__Object);
3547 ((void (*)(val*))(var18->class->vft[COLOR_array__Array__init]))(var18) /* init on <var18:Array[Object]>*/;
3548 var_listnode19 = var18;
3549 var_pdocnode2 = var_nodearraylist1;
3550 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3551 cltype = type_nullable_parser_nodes__ADoc.color;
3552 idtype = type_nullable_parser_nodes__ADoc.id;
3553 if(var_pdocnode2 == NULL) {
3554 var19 = 1;
3555 } else {
3556 if(cltype >= var_pdocnode2->type->table_size) {
3557 var19 = 0;
3558 } else {
3559 var19 = var_pdocnode2->type->type_table[cltype] == idtype;
3560 }
3561 }
3562 if (!var19) {
3563 fprintf(stderr, "Runtime error: %s", "Assert failed");
3564 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15160);
3565 show_backtrace(1);
3566 }
3567 var_tkwredefnode3 = var_nodearraylist2;
3568 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3569 cltype21 = type_nullable_parser_nodes__TKwredef.color;
3570 idtype22 = type_nullable_parser_nodes__TKwredef.id;
3571 if(var_tkwredefnode3 == NULL) {
3572 var20 = 1;
3573 } else {
3574 if(cltype21 >= var_tkwredefnode3->type->table_size) {
3575 var20 = 0;
3576 } else {
3577 var20 = var_tkwredefnode3->type->type_table[cltype21] == idtype22;
3578 }
3579 }
3580 if (!var20) {
3581 fprintf(stderr, "Runtime error: %s", "Assert failed");
3582 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15162);
3583 show_backtrace(1);
3584 }
3585 var_pvisibilitynode4 = var_nodearraylist3;
3586 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3587 cltype24 = type_nullable_parser_nodes__AVisibility.color;
3588 idtype25 = type_nullable_parser_nodes__AVisibility.id;
3589 if(var_pvisibilitynode4 == NULL) {
3590 var23 = 1;
3591 } else {
3592 if(cltype24 >= var_pvisibilitynode4->type->table_size) {
3593 var23 = 0;
3594 } else {
3595 var23 = var_pvisibilitynode4->type->type_table[cltype24] == idtype25;
3596 }
3597 }
3598 if (!var23) {
3599 fprintf(stderr, "Runtime error: %s", "Assert failed");
3600 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15164);
3601 show_backtrace(1);
3602 }
3603 var_pclasskindnode5 = var_nodearraylist4;
3604 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3605 cltype27 = type_nullable_parser_nodes__AClasskind.color;
3606 idtype28 = type_nullable_parser_nodes__AClasskind.id;
3607 if(var_pclasskindnode5 == NULL) {
3608 var26 = 1;
3609 } else {
3610 if(cltype27 >= var_pclasskindnode5->type->table_size) {
3611 var26 = 0;
3612 } else {
3613 var26 = var_pclasskindnode5->type->type_table[cltype27] == idtype28;
3614 }
3615 }
3616 if (!var26) {
3617 fprintf(stderr, "Runtime error: %s", "Assert failed");
3618 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15166);
3619 show_backtrace(1);
3620 }
3621 var_tclassidnode6 = var_nodearraylist8;
3622 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3623 cltype30 = type_nullable_parser_nodes__TClassid.color;
3624 idtype31 = type_nullable_parser_nodes__TClassid.id;
3625 if(var_tclassidnode6 == NULL) {
3626 var29 = 1;
3627 } else {
3628 if(cltype30 >= var_tclassidnode6->type->table_size) {
3629 var29 = 0;
3630 } else {
3631 var29 = var_tclassidnode6->type->type_table[cltype30] == idtype31;
3632 }
3633 }
3634 if (!var29) {
3635 fprintf(stderr, "Runtime error: %s", "Assert failed");
3636 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15168);
3637 show_backtrace(1);
3638 }
3639 var_listnode7 = var_nodearraylist9;
3640 /* <var_listnode7:nullable Object> isa Array[Object] */
3641 cltype33 = type_array__Arraykernel__Object.color;
3642 idtype34 = type_array__Arraykernel__Object.id;
3643 if(var_listnode7 == NULL) {
3644 var32 = 0;
3645 } else {
3646 if(cltype33 >= var_listnode7->type->table_size) {
3647 var32 = 0;
3648 } else {
3649 var32 = var_listnode7->type->type_table[cltype33] == idtype34;
3650 }
3651 }
3652 if (!var32) {
3653 fprintf(stderr, "Runtime error: %s", "Assert failed");
3654 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15170);
3655 show_backtrace(1);
3656 }
3657 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction327>*/;
3658 var_listnode8 = var35;
3659 var36 = NEW_array__Array(&type_array__Arraykernel__Object);
3660 ((void (*)(val*))(var36->class->vft[COLOR_array__Array__init]))(var36) /* init on <var36:Array[Object]>*/;
3661 var_listnode13 = var36;
3662 var_listnode12 = var_nodearraylist10;
3663 /* <var_listnode12:nullable Object> isa Array[Object] */
3664 cltype38 = type_array__Arraykernel__Object.color;
3665 idtype39 = type_array__Arraykernel__Object.id;
3666 if(var_listnode12 == NULL) {
3667 var37 = 0;
3668 } else {
3669 if(cltype38 >= var_listnode12->type->table_size) {
3670 var37 = 0;
3671 } else {
3672 var37 = var_listnode12->type->type_table[cltype38] == idtype39;
3673 }
3674 }
3675 if (!var37) {
3676 fprintf(stderr, "Runtime error: %s", "Assert failed");
3677 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15174);
3678 show_backtrace(1);
3679 }
3680 var40 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction327>*/;
3681 var_listnode13 = var40;
3682 var41 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
3683 var42 = NULL;
3684 var43 = NULL;
3685 var44 = NULL;
3686 ((void (*)(val*, val*, val*, val*, val*))(var41->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var41, var42, var43, var_listnode13, var44) /* init_aannotations on <var41:AAnnotations>*/;
3687 var_pannotationsnode9 = var41;
3688 var_pexterncodeblocknode15 = var_nodearraylist11;
3689 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
3690 cltype46 = type_nullable_parser_nodes__AExternCodeBlock.color;
3691 idtype47 = type_nullable_parser_nodes__AExternCodeBlock.id;
3692 if(var_pexterncodeblocknode15 == NULL) {
3693 var45 = 1;
3694 } else {
3695 if(cltype46 >= var_pexterncodeblocknode15->type->table_size) {
3696 var45 = 0;
3697 } else {
3698 var45 = var_pexterncodeblocknode15->type->type_table[cltype46] == idtype47;
3699 }
3700 }
3701 if (!var45) {
3702 fprintf(stderr, "Runtime error: %s", "Assert failed");
3703 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15183);
3704 show_backtrace(1);
3705 }
3706 var_listnode16 = var_nodearraylist12;
3707 /* <var_listnode16:nullable Object> isa Array[Object] */
3708 cltype49 = type_array__Arraykernel__Object.color;
3709 idtype50 = type_array__Arraykernel__Object.id;
3710 if(var_listnode16 == NULL) {
3711 var48 = 0;
3712 } else {
3713 if(cltype49 >= var_listnode16->type->table_size) {
3714 var48 = 0;
3715 } else {
3716 var48 = var_listnode16->type->type_table[cltype49] == idtype50;
3717 }
3718 }
3719 if (!var48) {
3720 fprintf(stderr, "Runtime error: %s", "Assert failed");
3721 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15185);
3722 show_backtrace(1);
3723 }
3724 var51 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction327>*/;
3725 var_listnode17 = var51;
3726 var_listnode18 = var_nodearraylist13;
3727 /* <var_listnode18:nullable Object> isa Array[Object] */
3728 cltype53 = type_array__Arraykernel__Object.color;
3729 idtype54 = type_array__Arraykernel__Object.id;
3730 if(var_listnode18 == NULL) {
3731 var52 = 0;
3732 } else {
3733 if(cltype53 >= var_listnode18->type->table_size) {
3734 var52 = 0;
3735 } else {
3736 var52 = var_listnode18->type->type_table[cltype53] == idtype54;
3737 }
3738 }
3739 if (!var52) {
3740 fprintf(stderr, "Runtime error: %s", "Assert failed");
3741 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15188);
3742 show_backtrace(1);
3743 }
3744 var55 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode19, var_listnode18) /* concat on <self:ReduceAction327>*/;
3745 var_listnode19 = var55;
3746 var_tkwendnode20 = var_nodearraylist15;
3747 /* <var_tkwendnode20:nullable Object> isa nullable TKwend */
3748 cltype57 = type_nullable_parser_nodes__TKwend.color;
3749 idtype58 = type_nullable_parser_nodes__TKwend.id;
3750 if(var_tkwendnode20 == NULL) {
3751 var56 = 1;
3752 } else {
3753 if(cltype57 >= var_tkwendnode20->type->table_size) {
3754 var56 = 0;
3755 } else {
3756 var56 = var_tkwendnode20->type->type_table[cltype57] == idtype58;
3757 }
3758 }
3759 if (!var56) {
3760 fprintf(stderr, "Runtime error: %s", "Assert failed");
3761 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15191);
3762 show_backtrace(1);
3763 }
3764 var59 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3765 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var59->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var59, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode17, var_listnode19, var_tkwendnode20) /* init_astdclassdef on <var59:AStdClassdef>*/;
3766 var_pclassdefnode1 = var59;
3767 var_node_list = var_pclassdefnode1;
3768 var60 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction327> */
3769 var61 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var60) /* go_to on <var_p:Parser>*/;
3770 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var61, var_node_list) /* push on <var_p:Parser>*/;
3771 RET_LABEL:;
3772 }
3773 /* method parser#ReduceAction327#action for (self: Object, Parser) */
3774 void VIRTUAL_parser__ReduceAction327__action(val* self, val* p0) {
3775 parser__ReduceAction327__action(self, p0);
3776 RET_LABEL:;
3777 }
3778 /* method parser#ReduceAction329#action for (self: ReduceAction329, Parser) */
3779 void parser__ReduceAction329__action(val* self, val* p0) {
3780 val* var_p /* var p: Parser */;
3781 val* var /* : null */;
3782 val* var_node_list /* var node_list: nullable Object */;
3783 val* var1 /* : nullable Object */;
3784 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3785 val* var_tkwclassnode2 /* var tkwclassnode2: nullable Object */;
3786 short int var2 /* : Bool */;
3787 int cltype;
3788 int idtype;
3789 val* var3 /* : AConcreteClasskind */;
3790 val* var_pclasskindnode1 /* var pclasskindnode1: nullable AConcreteClasskind */;
3791 long var4 /* : Int */;
3792 long var5 /* : Int */;
3793 var_p = p0;
3794 var = NULL;
3795 var_node_list = var;
3796 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3797 var_nodearraylist1 = var1;
3798 var_tkwclassnode2 = var_nodearraylist1;
3799 /* <var_tkwclassnode2:nullable Object> isa nullable TKwclass */
3800 cltype = type_nullable_parser_nodes__TKwclass.color;
3801 idtype = type_nullable_parser_nodes__TKwclass.id;
3802 if(var_tkwclassnode2 == NULL) {
3803 var2 = 1;
3804 } else {
3805 if(cltype >= var_tkwclassnode2->type->table_size) {
3806 var2 = 0;
3807 } else {
3808 var2 = var_tkwclassnode2->type->type_table[cltype] == idtype;
3809 }
3810 }
3811 if (!var2) {
3812 fprintf(stderr, "Runtime error: %s", "Assert failed");
3813 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15216);
3814 show_backtrace(1);
3815 }
3816 var3 = NEW_parser_nodes__AConcreteClasskind(&type_parser_nodes__AConcreteClasskind);
3817 ((void (*)(val*, val*))(var3->class->vft[COLOR_parser_prod__AConcreteClasskind__init_aconcreteclasskind]))(var3, var_tkwclassnode2) /* init_aconcreteclasskind on <var3:AConcreteClasskind>*/;
3818 var_pclasskindnode1 = var3;
3819 var_node_list = var_pclasskindnode1;
3820 var4 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction329> */
3821 var5 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var4) /* go_to on <var_p:Parser>*/;
3822 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var5, var_node_list) /* push on <var_p:Parser>*/;
3823 RET_LABEL:;
3824 }
3825 /* method parser#ReduceAction329#action for (self: Object, Parser) */
3826 void VIRTUAL_parser__ReduceAction329__action(val* self, val* p0) {
3827 parser__ReduceAction329__action(self, p0);
3828 RET_LABEL:;
3829 }
3830 /* method parser#ReduceAction330#action for (self: ReduceAction330, Parser) */
3831 void parser__ReduceAction330__action(val* self, val* p0) {
3832 val* var_p /* var p: Parser */;
3833 val* var /* : null */;
3834 val* var_node_list /* var node_list: nullable Object */;
3835 val* var1 /* : nullable Object */;
3836 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3837 val* var2 /* : nullable Object */;
3838 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3839 val* var_tkwabstractnode2 /* var tkwabstractnode2: nullable Object */;
3840 short int var3 /* : Bool */;
3841 int cltype;
3842 int idtype;
3843 val* var_tkwclassnode3 /* var tkwclassnode3: nullable Object */;
3844 short int var4 /* : Bool */;
3845 int cltype5;
3846 int idtype6;
3847 val* var7 /* : AAbstractClasskind */;
3848 val* var_pclasskindnode1 /* var pclasskindnode1: nullable AAbstractClasskind */;
3849 long var8 /* : Int */;
3850 long var9 /* : Int */;
3851 var_p = p0;
3852 var = NULL;
3853 var_node_list = var;
3854 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3855 var_nodearraylist2 = var1;
3856 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3857 var_nodearraylist1 = var2;
3858 var_tkwabstractnode2 = var_nodearraylist1;
3859 /* <var_tkwabstractnode2:nullable Object> isa nullable TKwabstract */
3860 cltype = type_nullable_parser_nodes__TKwabstract.color;
3861 idtype = type_nullable_parser_nodes__TKwabstract.id;
3862 if(var_tkwabstractnode2 == NULL) {
3863 var3 = 1;
3864 } else {
3865 if(cltype >= var_tkwabstractnode2->type->table_size) {
3866 var3 = 0;
3867 } else {
3868 var3 = var_tkwabstractnode2->type->type_table[cltype] == idtype;
3869 }
3870 }
3871 if (!var3) {
3872 fprintf(stderr, "Runtime error: %s", "Assert failed");
3873 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15232);
3874 show_backtrace(1);
3875 }
3876 var_tkwclassnode3 = var_nodearraylist2;
3877 /* <var_tkwclassnode3:nullable Object> isa nullable TKwclass */
3878 cltype5 = type_nullable_parser_nodes__TKwclass.color;
3879 idtype6 = type_nullable_parser_nodes__TKwclass.id;
3880 if(var_tkwclassnode3 == NULL) {
3881 var4 = 1;
3882 } else {
3883 if(cltype5 >= var_tkwclassnode3->type->table_size) {
3884 var4 = 0;
3885 } else {
3886 var4 = var_tkwclassnode3->type->type_table[cltype5] == idtype6;
3887 }
3888 }
3889 if (!var4) {
3890 fprintf(stderr, "Runtime error: %s", "Assert failed");
3891 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15234);
3892 show_backtrace(1);
3893 }
3894 var7 = NEW_parser_nodes__AAbstractClasskind(&type_parser_nodes__AAbstractClasskind);
3895 ((void (*)(val*, val*, val*))(var7->class->vft[COLOR_parser_prod__AAbstractClasskind__init_aabstractclasskind]))(var7, var_tkwabstractnode2, var_tkwclassnode3) /* init_aabstractclasskind on <var7:AAbstractClasskind>*/;
3896 var_pclasskindnode1 = var7;
3897 var_node_list = var_pclasskindnode1;
3898 var8 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction330> */
3899 var9 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var8) /* go_to on <var_p:Parser>*/;
3900 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var9, var_node_list) /* push on <var_p:Parser>*/;
3901 RET_LABEL:;
3902 }
3903 /* method parser#ReduceAction330#action for (self: Object, Parser) */
3904 void VIRTUAL_parser__ReduceAction330__action(val* self, val* p0) {
3905 parser__ReduceAction330__action(self, p0);
3906 RET_LABEL:;
3907 }
3908 /* method parser#ReduceAction331#action for (self: ReduceAction331, Parser) */
3909 void parser__ReduceAction331__action(val* self, val* p0) {
3910 val* var_p /* var p: Parser */;
3911 val* var /* : null */;
3912 val* var_node_list /* var node_list: nullable Object */;
3913 val* var1 /* : nullable Object */;
3914 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3915 val* var_tkwinterfacenode2 /* var tkwinterfacenode2: nullable Object */;
3916 short int var2 /* : Bool */;
3917 int cltype;
3918 int idtype;
3919 val* var3 /* : AInterfaceClasskind */;
3920 val* var_pclasskindnode1 /* var pclasskindnode1: nullable AInterfaceClasskind */;
3921 long var4 /* : Int */;
3922 long var5 /* : Int */;
3923 var_p = p0;
3924 var = NULL;
3925 var_node_list = var;
3926 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3927 var_nodearraylist1 = var1;
3928 var_tkwinterfacenode2 = var_nodearraylist1;
3929 /* <var_tkwinterfacenode2:nullable Object> isa nullable TKwinterface */
3930 cltype = type_nullable_parser_nodes__TKwinterface.color;
3931 idtype = type_nullable_parser_nodes__TKwinterface.id;
3932 if(var_tkwinterfacenode2 == NULL) {
3933 var2 = 1;
3934 } else {
3935 if(cltype >= var_tkwinterfacenode2->type->table_size) {
3936 var2 = 0;
3937 } else {
3938 var2 = var_tkwinterfacenode2->type->type_table[cltype] == idtype;
3939 }
3940 }
3941 if (!var2) {
3942 fprintf(stderr, "Runtime error: %s", "Assert failed");
3943 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15250);
3944 show_backtrace(1);
3945 }
3946 var3 = NEW_parser_nodes__AInterfaceClasskind(&type_parser_nodes__AInterfaceClasskind);
3947 ((void (*)(val*, val*))(var3->class->vft[COLOR_parser_prod__AInterfaceClasskind__init_ainterfaceclasskind]))(var3, var_tkwinterfacenode2) /* init_ainterfaceclasskind on <var3:AInterfaceClasskind>*/;
3948 var_pclasskindnode1 = var3;
3949 var_node_list = var_pclasskindnode1;
3950 var4 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction331> */
3951 var5 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var4) /* go_to on <var_p:Parser>*/;
3952 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var5, var_node_list) /* push on <var_p:Parser>*/;
3953 RET_LABEL:;
3954 }
3955 /* method parser#ReduceAction331#action for (self: Object, Parser) */
3956 void VIRTUAL_parser__ReduceAction331__action(val* self, val* p0) {
3957 parser__ReduceAction331__action(self, p0);
3958 RET_LABEL:;
3959 }
3960 /* method parser#ReduceAction332#action for (self: ReduceAction332, Parser) */
3961 void parser__ReduceAction332__action(val* self, val* p0) {
3962 val* var_p /* var p: Parser */;
3963 val* var /* : null */;
3964 val* var_node_list /* var node_list: nullable Object */;
3965 val* var1 /* : nullable Object */;
3966 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3967 val* var_tkwenumnode2 /* var tkwenumnode2: nullable Object */;
3968 short int var2 /* : Bool */;
3969 int cltype;
3970 int idtype;
3971 val* var3 /* : AEnumClasskind */;
3972 val* var_pclasskindnode1 /* var pclasskindnode1: nullable AEnumClasskind */;
3973 long var4 /* : Int */;
3974 long var5 /* : Int */;
3975 var_p = p0;
3976 var = NULL;
3977 var_node_list = var;
3978 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3979 var_nodearraylist1 = var1;
3980 var_tkwenumnode2 = var_nodearraylist1;
3981 /* <var_tkwenumnode2:nullable Object> isa nullable TKwenum */
3982 cltype = type_nullable_parser_nodes__TKwenum.color;
3983 idtype = type_nullable_parser_nodes__TKwenum.id;
3984 if(var_tkwenumnode2 == NULL) {
3985 var2 = 1;
3986 } else {
3987 if(cltype >= var_tkwenumnode2->type->table_size) {
3988 var2 = 0;
3989 } else {
3990 var2 = var_tkwenumnode2->type->type_table[cltype] == idtype;
3991 }
3992 }
3993 if (!var2) {
3994 fprintf(stderr, "Runtime error: %s", "Assert failed");
3995 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15265);
3996 show_backtrace(1);
3997 }
3998 var3 = NEW_parser_nodes__AEnumClasskind(&type_parser_nodes__AEnumClasskind);
3999 ((void (*)(val*, val*))(var3->class->vft[COLOR_parser_prod__AEnumClasskind__init_aenumclasskind]))(var3, var_tkwenumnode2) /* init_aenumclasskind on <var3:AEnumClasskind>*/;
4000 var_pclasskindnode1 = var3;
4001 var_node_list = var_pclasskindnode1;
4002 var4 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction332> */
4003 var5 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var4) /* go_to on <var_p:Parser>*/;
4004 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var5, var_node_list) /* push on <var_p:Parser>*/;
4005 RET_LABEL:;
4006 }
4007 /* method parser#ReduceAction332#action for (self: Object, Parser) */
4008 void VIRTUAL_parser__ReduceAction332__action(val* self, val* p0) {
4009 parser__ReduceAction332__action(self, p0);
4010 RET_LABEL:;
4011 }
4012 /* method parser#ReduceAction333#action for (self: ReduceAction333, Parser) */
4013 void parser__ReduceAction333__action(val* self, val* p0) {
4014 val* var_p /* var p: Parser */;
4015 val* var /* : null */;
4016 val* var_node_list /* var node_list: nullable Object */;
4017 val* var1 /* : nullable Object */;
4018 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4019 val* var_tkwexternnode2 /* var tkwexternnode2: nullable Object */;
4020 short int var2 /* : Bool */;
4021 int cltype;
4022 int idtype;
4023 val* var3 /* : AExternClasskind */;
4024 val* var4 /* : null */;
4025 val* var_pclasskindnode1 /* var pclasskindnode1: nullable AExternClasskind */;
4026 long var5 /* : Int */;
4027 long var6 /* : Int */;
4028 var_p = p0;
4029 var = NULL;
4030 var_node_list = var;
4031 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4032 var_nodearraylist1 = var1;
4033 var_tkwexternnode2 = var_nodearraylist1;
4034 /* <var_tkwexternnode2:nullable Object> isa nullable TKwextern */
4035 cltype = type_nullable_parser_nodes__TKwextern.color;
4036 idtype = type_nullable_parser_nodes__TKwextern.id;
4037 if(var_tkwexternnode2 == NULL) {
4038 var2 = 1;
4039 } else {
4040 if(cltype >= var_tkwexternnode2->type->table_size) {
4041 var2 = 0;
4042 } else {
4043 var2 = var_tkwexternnode2->type->type_table[cltype] == idtype;
4044 }
4045 }
4046 if (!var2) {
4047 fprintf(stderr, "Runtime error: %s", "Assert failed");
4048 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15280);
4049 show_backtrace(1);
4050 }
4051 var3 = NEW_parser_nodes__AExternClasskind(&type_parser_nodes__AExternClasskind);
4052 var4 = NULL;
4053 ((void (*)(val*, val*, val*))(var3->class->vft[COLOR_parser_prod__AExternClasskind__init_aexternclasskind]))(var3, var_tkwexternnode2, var4) /* init_aexternclasskind on <var3:AExternClasskind>*/;
4054 var_pclasskindnode1 = var3;
4055 var_node_list = var_pclasskindnode1;
4056 var5 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction333> */
4057 var6 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var5) /* go_to on <var_p:Parser>*/;
4058 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var6, var_node_list) /* push on <var_p:Parser>*/;
4059 RET_LABEL:;
4060 }
4061 /* method parser#ReduceAction333#action for (self: Object, Parser) */
4062 void VIRTUAL_parser__ReduceAction333__action(val* self, val* p0) {
4063 parser__ReduceAction333__action(self, p0);
4064 RET_LABEL:;
4065 }
4066 /* method parser#ReduceAction334#action for (self: ReduceAction334, Parser) */
4067 void parser__ReduceAction334__action(val* self, val* p0) {
4068 val* var_p /* var p: Parser */;
4069 val* var /* : null */;
4070 val* var_node_list /* var node_list: nullable Object */;
4071 val* var1 /* : nullable Object */;
4072 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4073 val* var2 /* : nullable Object */;
4074 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4075 val* var_tkwexternnode2 /* var tkwexternnode2: nullable Object */;
4076 short int var3 /* : Bool */;
4077 int cltype;
4078 int idtype;
4079 val* var_tkwclassnode3 /* var tkwclassnode3: nullable Object */;
4080 short int var4 /* : Bool */;
4081 int cltype5;
4082 int idtype6;
4083 val* var7 /* : AExternClasskind */;
4084 val* var_pclasskindnode1 /* var pclasskindnode1: nullable AExternClasskind */;
4085 long var8 /* : Int */;
4086 long var9 /* : Int */;
4087 var_p = p0;
4088 var = NULL;
4089 var_node_list = var;
4090 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4091 var_nodearraylist2 = var1;
4092 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4093 var_nodearraylist1 = var2;
4094 var_tkwexternnode2 = var_nodearraylist1;
4095 /* <var_tkwexternnode2:nullable Object> isa nullable TKwextern */
4096 cltype = type_nullable_parser_nodes__TKwextern.color;
4097 idtype = type_nullable_parser_nodes__TKwextern.id;
4098 if(var_tkwexternnode2 == NULL) {
4099 var3 = 1;
4100 } else {
4101 if(cltype >= var_tkwexternnode2->type->table_size) {
4102 var3 = 0;
4103 } else {
4104 var3 = var_tkwexternnode2->type->type_table[cltype] == idtype;
4105 }
4106 }
4107 if (!var3) {
4108 fprintf(stderr, "Runtime error: %s", "Assert failed");
4109 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15297);
4110 show_backtrace(1);
4111 }
4112 var_tkwclassnode3 = var_nodearraylist2;
4113 /* <var_tkwclassnode3:nullable Object> isa nullable TKwclass */
4114 cltype5 = type_nullable_parser_nodes__TKwclass.color;
4115 idtype6 = type_nullable_parser_nodes__TKwclass.id;
4116 if(var_tkwclassnode3 == NULL) {
4117 var4 = 1;
4118 } else {
4119 if(cltype5 >= var_tkwclassnode3->type->table_size) {
4120 var4 = 0;
4121 } else {
4122 var4 = var_tkwclassnode3->type->type_table[cltype5] == idtype6;
4123 }
4124 }
4125 if (!var4) {
4126 fprintf(stderr, "Runtime error: %s", "Assert failed");
4127 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15299);
4128 show_backtrace(1);
4129 }
4130 var7 = NEW_parser_nodes__AExternClasskind(&type_parser_nodes__AExternClasskind);
4131 ((void (*)(val*, val*, val*))(var7->class->vft[COLOR_parser_prod__AExternClasskind__init_aexternclasskind]))(var7, var_tkwexternnode2, var_tkwclassnode3) /* init_aexternclasskind on <var7:AExternClasskind>*/;
4132 var_pclasskindnode1 = var7;
4133 var_node_list = var_pclasskindnode1;
4134 var8 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction334> */
4135 var9 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var8) /* go_to on <var_p:Parser>*/;
4136 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var9, var_node_list) /* push on <var_p:Parser>*/;
4137 RET_LABEL:;
4138 }
4139 /* method parser#ReduceAction334#action for (self: Object, Parser) */
4140 void VIRTUAL_parser__ReduceAction334__action(val* self, val* p0) {
4141 parser__ReduceAction334__action(self, p0);
4142 RET_LABEL:;
4143 }
4144 /* method parser#ReduceAction335#action for (self: ReduceAction335, Parser) */
4145 void parser__ReduceAction335__action(val* self, val* p0) {
4146 val* var_p /* var p: Parser */;
4147 val* var /* : null */;
4148 val* var_node_list /* var node_list: nullable Object */;
4149 val* var1 /* : nullable Object */;
4150 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4151 val* var2 /* : nullable Object */;
4152 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4153 val* var3 /* : nullable Object */;
4154 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4155 val* var4 /* : nullable Object */;
4156 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4157 val* var5 /* : nullable Object */;
4158 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4159 val* var6 /* : Array[Object] */;
4160 val* var_listnode2 /* var listnode2: Array[Object] */;
4161 val* var_pformaldefnode1 /* var pformaldefnode1: nullable Object */;
4162 val* var7 /* : null */;
4163 short int var8 /* : Bool */;
4164 long var9 /* : Int */;
4165 long var10 /* : Int */;
4166 var_p = p0;
4167 var = NULL;
4168 var_node_list = var;
4169 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4170 var_nodearraylist5 = var1;
4171 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4172 var_nodearraylist4 = var2;
4173 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4174 var_nodearraylist3 = var3;
4175 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4176 var_nodearraylist2 = var4;
4177 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4178 var_nodearraylist1 = var5;
4179 var6 = NEW_array__Array(&type_array__Arraykernel__Object);
4180 ((void (*)(val*))(var6->class->vft[COLOR_array__Array__init]))(var6) /* init on <var6:Array[Object]>*/;
4181 var_listnode2 = var6;
4182 var_pformaldefnode1 = var_nodearraylist3;
4183 var7 = NULL;
4184 if (var_pformaldefnode1 == NULL) {
4185 var8 = 0; /* is null */
4186 } else {
4187 var8 = 1; /* arg is null and recv is not */
4188 }
4189 if (var8){
4190 ((void (*)(val*, val*))(var_listnode2->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_listnode2, var_pformaldefnode1) /* add on <var_listnode2:Array[Object]>*/;
4191 } else {
4192 }
4193 var_node_list = var_listnode2;
4194 var9 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction335> */
4195 var10 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var9) /* go_to on <var_p:Parser>*/;
4196 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var10, var_node_list) /* push on <var_p:Parser>*/;
4197 RET_LABEL:;
4198 }
4199 /* method parser#ReduceAction335#action for (self: Object, Parser) */
4200 void VIRTUAL_parser__ReduceAction335__action(val* self, val* p0) {
4201 parser__ReduceAction335__action(self, p0);
4202 RET_LABEL:;
4203 }
4204 /* method parser#ReduceAction336#action for (self: ReduceAction336, Parser) */
4205 void parser__ReduceAction336__action(val* self, val* p0) {
4206 val* var_p /* var p: Parser */;
4207 val* var /* : null */;
4208 val* var_node_list /* var node_list: nullable Object */;
4209 val* var1 /* : nullable Object */;
4210 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4211 val* var2 /* : nullable Object */;
4212 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4213 val* var3 /* : nullable Object */;
4214 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4215 val* var4 /* : nullable Object */;
4216 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4217 val* var5 /* : nullable Object */;
4218 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4219 val* var6 /* : nullable Object */;
4220 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4221 val* var7 /* : Array[Object] */;
4222 val* var_listnode3 /* var listnode3: Array[Object] */;
4223 val* var_pformaldefnode1 /* var pformaldefnode1: nullable Object */;
4224 val* var_listnode2 /* var listnode2: nullable Object */;
4225 short int var8 /* : Bool */;
4226 int cltype;
4227 int idtype;
4228 val* var9 /* : null */;
4229 short int var10 /* : Bool */;
4230 val* var11 /* : Array[Object] */;
4231 long var12 /* : Int */;
4232 long var13 /* : Int */;
4233 var_p = p0;
4234 var = NULL;
4235 var_node_list = var;
4236 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4237 var_nodearraylist6 = var1;
4238 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4239 var_nodearraylist5 = var2;
4240 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4241 var_nodearraylist4 = var3;
4242 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4243 var_nodearraylist3 = var4;
4244 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4245 var_nodearraylist2 = var5;
4246 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4247 var_nodearraylist1 = var6;
4248 var7 = NEW_array__Array(&type_array__Arraykernel__Object);
4249 ((void (*)(val*))(var7->class->vft[COLOR_array__Array__init]))(var7) /* init on <var7:Array[Object]>*/;
4250 var_listnode3 = var7;
4251 var_pformaldefnode1 = var_nodearraylist3;
4252 var_listnode2 = var_nodearraylist4;
4253 /* <var_listnode2:nullable Object> isa Array[Object] */
4254 cltype = type_array__Arraykernel__Object.color;
4255 idtype = type_array__Arraykernel__Object.id;
4256 if(var_listnode2 == NULL) {
4257 var8 = 0;
4258 } else {
4259 if(cltype >= var_listnode2->type->table_size) {
4260 var8 = 0;
4261 } else {
4262 var8 = var_listnode2->type->type_table[cltype] == idtype;
4263 }
4264 }
4265 if (!var8) {
4266 fprintf(stderr, "Runtime error: %s", "Assert failed");
4267 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15341);
4268 show_backtrace(1);
4269 }
4270 var9 = NULL;
4271 if (var_pformaldefnode1 == NULL) {
4272 var10 = 0; /* is null */
4273 } else {
4274 var10 = 1; /* arg is null and recv is not */
4275 }
4276 if (var10){
4277 ((void (*)(val*, val*))(var_listnode3->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_listnode3, var_pformaldefnode1) /* add on <var_listnode3:Array[Object]>*/;
4278 } else {
4279 }
4280 var11 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode3, var_listnode2) /* concat on <self:ReduceAction336>*/;
4281 var_listnode3 = var11;
4282 var_node_list = var_listnode3;
4283 var12 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction336> */
4284 var13 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var12) /* go_to on <var_p:Parser>*/;
4285 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var13, var_node_list) /* push on <var_p:Parser>*/;
4286 RET_LABEL:;
4287 }
4288 /* method parser#ReduceAction336#action for (self: Object, Parser) */
4289 void VIRTUAL_parser__ReduceAction336__action(val* self, val* p0) {
4290 parser__ReduceAction336__action(self, p0);
4291 RET_LABEL:;
4292 }
4293 /* method parser#ReduceAction337#action for (self: ReduceAction337, Parser) */
4294 void parser__ReduceAction337__action(val* self, val* p0) {
4295 val* var_p /* var p: Parser */;
4296 val* var /* : null */;
4297 val* var_node_list /* var node_list: nullable Object */;
4298 val* var1 /* : nullable Object */;
4299 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4300 val* var2 /* : nullable Object */;
4301 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4302 val* var3 /* : nullable Object */;
4303 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4304 val* var_pformaldefnode1 /* var pformaldefnode1: nullable Object */;
4305 long var4 /* : Int */;
4306 long var5 /* : Int */;
4307 var_p = p0;
4308 var = NULL;
4309 var_node_list = var;
4310 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4311 var_nodearraylist3 = var1;
4312 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4313 var_nodearraylist2 = var2;
4314 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4315 var_nodearraylist1 = var3;
4316 var_pformaldefnode1 = var_nodearraylist3;
4317 var_node_list = var_pformaldefnode1;
4318 var4 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction337> */
4319 var5 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var4) /* go_to on <var_p:Parser>*/;
4320 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var5, var_node_list) /* push on <var_p:Parser>*/;
4321 RET_LABEL:;
4322 }
4323 /* method parser#ReduceAction337#action for (self: Object, Parser) */
4324 void VIRTUAL_parser__ReduceAction337__action(val* self, val* p0) {
4325 parser__ReduceAction337__action(self, p0);
4326 RET_LABEL:;
4327 }
4328 /* method parser#ReduceAction338#action for (self: ReduceAction338, Parser) */
4329 void parser__ReduceAction338__action(val* self, val* p0) {
4330 val* var_p /* var p: Parser */;
4331 val* var /* : null */;
4332 val* var_node_list /* var node_list: nullable Object */;
4333 val* var1 /* : nullable Object */;
4334 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4335 val* var_tclassidnode2 /* var tclassidnode2: nullable Object */;
4336 short int var2 /* : Bool */;
4337 int cltype;
4338 int idtype;
4339 val* var3 /* : AFormaldef */;
4340 val* var4 /* : null */;
4341 val* var5 /* : null */;
4342 val* var_pformaldefnode1 /* var pformaldefnode1: nullable AFormaldef */;
4343 long var6 /* : Int */;
4344 long var7 /* : Int */;
4345 var_p = p0;
4346 var = NULL;
4347 var_node_list = var;
4348 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4349 var_nodearraylist1 = var1;
4350 var_tclassidnode2 = var_nodearraylist1;
4351 /* <var_tclassidnode2:nullable Object> isa nullable TClassid */
4352 cltype = type_nullable_parser_nodes__TClassid.color;
4353 idtype = type_nullable_parser_nodes__TClassid.id;
4354 if(var_tclassidnode2 == NULL) {
4355 var2 = 1;
4356 } else {
4357 if(cltype >= var_tclassidnode2->type->table_size) {
4358 var2 = 0;
4359 } else {
4360 var2 = var_tclassidnode2->type->type_table[cltype] == idtype;
4361 }
4362 }
4363 if (!var2) {
4364 fprintf(stderr, "Runtime error: %s", "Assert failed");
4365 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15370);
4366 show_backtrace(1);
4367 }
4368 var3 = NEW_parser_nodes__AFormaldef(&type_parser_nodes__AFormaldef);
4369 var4 = NULL;
4370 var5 = NULL;
4371 ((void (*)(val*, val*, val*, val*))(var3->class->vft[COLOR_parser_prod__AFormaldef__init_aformaldef]))(var3, var_tclassidnode2, var4, var5) /* init_aformaldef on <var3:AFormaldef>*/;
4372 var_pformaldefnode1 = var3;
4373 var_node_list = var_pformaldefnode1;
4374 var6 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction338> */
4375 var7 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var6) /* go_to on <var_p:Parser>*/;
4376 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var7, var_node_list) /* push on <var_p:Parser>*/;
4377 RET_LABEL:;
4378 }
4379 /* method parser#ReduceAction338#action for (self: Object, Parser) */
4380 void VIRTUAL_parser__ReduceAction338__action(val* self, val* p0) {
4381 parser__ReduceAction338__action(self, p0);
4382 RET_LABEL:;
4383 }
4384 /* method parser#ReduceAction339#action for (self: ReduceAction339, Parser) */
4385 void parser__ReduceAction339__action(val* self, val* p0) {
4386 val* var_p /* var p: Parser */;
4387 val* var /* : null */;
4388 val* var_node_list /* var node_list: nullable Object */;
4389 val* var1 /* : nullable Object */;
4390 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4391 val* var2 /* : nullable Object */;
4392 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4393 val* var_tclassidnode2 /* var tclassidnode2: nullable Object */;
4394 short int var3 /* : Bool */;
4395 int cltype;
4396 int idtype;
4397 val* var_pannotationsnode4 /* var pannotationsnode4: nullable Object */;
4398 short int var4 /* : Bool */;
4399 int cltype5;
4400 int idtype6;
4401 val* var7 /* : AFormaldef */;
4402 val* var8 /* : null */;
4403 val* var_pformaldefnode1 /* var pformaldefnode1: nullable AFormaldef */;
4404 long var9 /* : Int */;
4405 long var10 /* : Int */;
4406 var_p = p0;
4407 var = NULL;
4408 var_node_list = var;
4409 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4410 var_nodearraylist2 = var1;
4411 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4412 var_nodearraylist1 = var2;
4413 var_tclassidnode2 = var_nodearraylist1;
4414 /* <var_tclassidnode2:nullable Object> isa nullable TClassid */
4415 cltype = type_nullable_parser_nodes__TClassid.color;
4416 idtype = type_nullable_parser_nodes__TClassid.id;
4417 if(var_tclassidnode2 == NULL) {
4418 var3 = 1;
4419 } else {
4420 if(cltype >= var_tclassidnode2->type->table_size) {
4421 var3 = 0;
4422 } else {
4423 var3 = var_tclassidnode2->type->type_table[cltype] == idtype;
4424 }
4425 }
4426 if (!var3) {
4427 fprintf(stderr, "Runtime error: %s", "Assert failed");
4428 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15388);
4429 show_backtrace(1);
4430 }
4431 var_pannotationsnode4 = var_nodearraylist2;
4432 /* <var_pannotationsnode4:nullable Object> isa nullable AAnnotations */
4433 cltype5 = type_nullable_parser_nodes__AAnnotations.color;
4434 idtype6 = type_nullable_parser_nodes__AAnnotations.id;
4435 if(var_pannotationsnode4 == NULL) {
4436 var4 = 1;
4437 } else {
4438 if(cltype5 >= var_pannotationsnode4->type->table_size) {
4439 var4 = 0;
4440 } else {
4441 var4 = var_pannotationsnode4->type->type_table[cltype5] == idtype6;
4442 }
4443 }
4444 if (!var4) {
4445 fprintf(stderr, "Runtime error: %s", "Assert failed");
4446 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15390);
4447 show_backtrace(1);
4448 }
4449 var7 = NEW_parser_nodes__AFormaldef(&type_parser_nodes__AFormaldef);
4450 var8 = NULL;
4451 ((void (*)(val*, val*, val*, val*))(var7->class->vft[COLOR_parser_prod__AFormaldef__init_aformaldef]))(var7, var_tclassidnode2, var8, var_pannotationsnode4) /* init_aformaldef on <var7:AFormaldef>*/;
4452 var_pformaldefnode1 = var7;
4453 var_node_list = var_pformaldefnode1;
4454 var9 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction339> */
4455 var10 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var9) /* go_to on <var_p:Parser>*/;
4456 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var10, var_node_list) /* push on <var_p:Parser>*/;
4457 RET_LABEL:;
4458 }
4459 /* method parser#ReduceAction339#action for (self: Object, Parser) */
4460 void VIRTUAL_parser__ReduceAction339__action(val* self, val* p0) {
4461 parser__ReduceAction339__action(self, p0);
4462 RET_LABEL:;
4463 }
4464 /* method parser#ReduceAction340#action for (self: ReduceAction340, Parser) */
4465 void parser__ReduceAction340__action(val* self, val* p0) {
4466 val* var_p /* var p: Parser */;
4467 val* var /* : null */;
4468 val* var_node_list /* var node_list: nullable Object */;
4469 val* var1 /* : nullable Object */;
4470 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4471 val* var2 /* : nullable Object */;
4472 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4473 val* var_tclassidnode2 /* var tclassidnode2: nullable Object */;
4474 short int var3 /* : Bool */;
4475 int cltype;
4476 int idtype;
4477 val* var_ptypenode3 /* var ptypenode3: nullable Object */;
4478 short int var4 /* : Bool */;
4479 int cltype5;
4480 int idtype6;
4481 val* var7 /* : AFormaldef */;
4482 val* var8 /* : null */;
4483 val* var_pformaldefnode1 /* var pformaldefnode1: nullable AFormaldef */;
4484 long var9 /* : Int */;
4485 long var10 /* : Int */;
4486 var_p = p0;
4487 var = NULL;
4488 var_node_list = var;
4489 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4490 var_nodearraylist2 = var1;
4491 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4492 var_nodearraylist1 = var2;
4493 var_tclassidnode2 = var_nodearraylist1;
4494 /* <var_tclassidnode2:nullable Object> isa nullable TClassid */
4495 cltype = type_nullable_parser_nodes__TClassid.color;
4496 idtype = type_nullable_parser_nodes__TClassid.id;
4497 if(var_tclassidnode2 == NULL) {
4498 var3 = 1;
4499 } else {
4500 if(cltype >= var_tclassidnode2->type->table_size) {
4501 var3 = 0;
4502 } else {
4503 var3 = var_tclassidnode2->type->type_table[cltype] == idtype;
4504 }
4505 }
4506 if (!var3) {
4507 fprintf(stderr, "Runtime error: %s", "Assert failed");
4508 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15408);
4509 show_backtrace(1);
4510 }
4511 var_ptypenode3 = var_nodearraylist2;
4512 /* <var_ptypenode3:nullable Object> isa nullable AType */
4513 cltype5 = type_nullable_parser_nodes__AType.color;
4514 idtype6 = type_nullable_parser_nodes__AType.id;
4515 if(var_ptypenode3 == NULL) {
4516 var4 = 1;
4517 } else {
4518 if(cltype5 >= var_ptypenode3->type->table_size) {
4519 var4 = 0;
4520 } else {
4521 var4 = var_ptypenode3->type->type_table[cltype5] == idtype6;
4522 }
4523 }
4524 if (!var4) {
4525 fprintf(stderr, "Runtime error: %s", "Assert failed");
4526 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15410);
4527 show_backtrace(1);
4528 }
4529 var7 = NEW_parser_nodes__AFormaldef(&type_parser_nodes__AFormaldef);
4530 var8 = NULL;
4531 ((void (*)(val*, val*, val*, val*))(var7->class->vft[COLOR_parser_prod__AFormaldef__init_aformaldef]))(var7, var_tclassidnode2, var_ptypenode3, var8) /* init_aformaldef on <var7:AFormaldef>*/;
4532 var_pformaldefnode1 = var7;
4533 var_node_list = var_pformaldefnode1;
4534 var9 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction340> */
4535 var10 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var9) /* go_to on <var_p:Parser>*/;
4536 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var10, var_node_list) /* push on <var_p:Parser>*/;
4537 RET_LABEL:;
4538 }
4539 /* method parser#ReduceAction340#action for (self: Object, Parser) */
4540 void VIRTUAL_parser__ReduceAction340__action(val* self, val* p0) {
4541 parser__ReduceAction340__action(self, p0);
4542 RET_LABEL:;
4543 }
4544 /* method parser#ReduceAction341#action for (self: ReduceAction341, Parser) */
4545 void parser__ReduceAction341__action(val* self, val* p0) {
4546 val* var_p /* var p: Parser */;
4547 val* var /* : null */;
4548 val* var_node_list /* var node_list: nullable Object */;
4549 val* var1 /* : nullable Object */;
4550 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4551 val* var2 /* : nullable Object */;
4552 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4553 val* var3 /* : nullable Object */;
4554 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4555 val* var_tclassidnode2 /* var tclassidnode2: nullable Object */;
4556 short int var4 /* : Bool */;
4557 int cltype;
4558 int idtype;
4559 val* var_ptypenode3 /* var ptypenode3: nullable Object */;
4560 short int var5 /* : Bool */;
4561 int cltype6;
4562 int idtype7;
4563 val* var_pannotationsnode4 /* var pannotationsnode4: nullable Object */;
4564 short int var8 /* : Bool */;
4565 int cltype9;
4566 int idtype10;
4567 val* var11 /* : AFormaldef */;
4568 val* var_pformaldefnode1 /* var pformaldefnode1: nullable AFormaldef */;
4569 long var12 /* : Int */;
4570 long var13 /* : Int */;
4571 var_p = p0;
4572 var = NULL;
4573 var_node_list = var;
4574 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4575 var_nodearraylist3 = var1;
4576 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4577 var_nodearraylist2 = var2;
4578 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4579 var_nodearraylist1 = var3;
4580 var_tclassidnode2 = var_nodearraylist1;
4581 /* <var_tclassidnode2:nullable Object> isa nullable TClassid */
4582 cltype = type_nullable_parser_nodes__TClassid.color;
4583 idtype = type_nullable_parser_nodes__TClassid.id;
4584 if(var_tclassidnode2 == NULL) {
4585 var4 = 1;
4586 } else {
4587 if(cltype >= var_tclassidnode2->type->table_size) {
4588 var4 = 0;
4589 } else {
4590 var4 = var_tclassidnode2->type->type_table[cltype] == idtype;
4591 }
4592 }
4593 if (!var4) {
4594 fprintf(stderr, "Runtime error: %s", "Assert failed");
4595 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15429);
4596 show_backtrace(1);
4597 }
4598 var_ptypenode3 = var_nodearraylist3;
4599 /* <var_ptypenode3:nullable Object> isa nullable AType */
4600 cltype6 = type_nullable_parser_nodes__AType.color;
4601 idtype7 = type_nullable_parser_nodes__AType.id;
4602 if(var_ptypenode3 == NULL) {
4603 var5 = 1;
4604 } else {
4605 if(cltype6 >= var_ptypenode3->type->table_size) {
4606 var5 = 0;
4607 } else {
4608 var5 = var_ptypenode3->type->type_table[cltype6] == idtype7;
4609 }
4610 }
4611 if (!var5) {
4612 fprintf(stderr, "Runtime error: %s", "Assert failed");
4613 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15431);
4614 show_backtrace(1);
4615 }
4616 var_pannotationsnode4 = var_nodearraylist2;
4617 /* <var_pannotationsnode4:nullable Object> isa nullable AAnnotations */
4618 cltype9 = type_nullable_parser_nodes__AAnnotations.color;
4619 idtype10 = type_nullable_parser_nodes__AAnnotations.id;
4620 if(var_pannotationsnode4 == NULL) {
4621 var8 = 1;
4622 } else {
4623 if(cltype9 >= var_pannotationsnode4->type->table_size) {
4624 var8 = 0;
4625 } else {
4626 var8 = var_pannotationsnode4->type->type_table[cltype9] == idtype10;
4627 }
4628 }
4629 if (!var8) {
4630 fprintf(stderr, "Runtime error: %s", "Assert failed");
4631 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15433);
4632 show_backtrace(1);
4633 }
4634 var11 = NEW_parser_nodes__AFormaldef(&type_parser_nodes__AFormaldef);
4635 ((void (*)(val*, val*, val*, val*))(var11->class->vft[COLOR_parser_prod__AFormaldef__init_aformaldef]))(var11, var_tclassidnode2, var_ptypenode3, var_pannotationsnode4) /* init_aformaldef on <var11:AFormaldef>*/;
4636 var_pformaldefnode1 = var11;
4637 var_node_list = var_pformaldefnode1;
4638 var12 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction341> */
4639 var13 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var12) /* go_to on <var_p:Parser>*/;
4640 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var13, var_node_list) /* push on <var_p:Parser>*/;
4641 RET_LABEL:;
4642 }
4643 /* method parser#ReduceAction341#action for (self: Object, Parser) */
4644 void VIRTUAL_parser__ReduceAction341__action(val* self, val* p0) {
4645 parser__ReduceAction341__action(self, p0);
4646 RET_LABEL:;
4647 }
4648 /* method parser#ReduceAction342#action for (self: ReduceAction342, Parser) */
4649 void parser__ReduceAction342__action(val* self, val* p0) {
4650 val* var_p /* var p: Parser */;
4651 val* var /* : null */;
4652 val* var_node_list /* var node_list: nullable Object */;
4653 val* var1 /* : nullable Object */;
4654 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4655 val* var2 /* : nullable Object */;
4656 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4657 val* var3 /* : nullable Object */;
4658 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4659 val* var4 /* : nullable Object */;
4660 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4661 val* var_tkwsupernode2 /* var tkwsupernode2: nullable Object */;
4662 short int var5 /* : Bool */;
4663 int cltype;
4664 int idtype;
4665 val* var_ptypenode3 /* var ptypenode3: nullable Object */;
4666 short int var6 /* : Bool */;
4667 int cltype7;
4668 int idtype8;
4669 val* var9 /* : ASuperclass */;
4670 val* var10 /* : null */;
4671 val* var_psuperclassnode1 /* var psuperclassnode1: nullable ASuperclass */;
4672 long var11 /* : Int */;
4673 long var12 /* : Int */;
4674 var_p = p0;
4675 var = NULL;
4676 var_node_list = var;
4677 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4678 var_nodearraylist4 = var1;
4679 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4680 var_nodearraylist3 = var2;
4681 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4682 var_nodearraylist2 = var3;
4683 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4684 var_nodearraylist1 = var4;
4685 var_tkwsupernode2 = var_nodearraylist2;
4686 /* <var_tkwsupernode2:nullable Object> isa nullable TKwsuper */
4687 cltype = type_nullable_parser_nodes__TKwsuper.color;
4688 idtype = type_nullable_parser_nodes__TKwsuper.id;
4689 if(var_tkwsupernode2 == NULL) {
4690 var5 = 1;
4691 } else {
4692 if(cltype >= var_tkwsupernode2->type->table_size) {
4693 var5 = 0;
4694 } else {
4695 var5 = var_tkwsupernode2->type->type_table[cltype] == idtype;
4696 }
4697 }
4698 if (!var5) {
4699 fprintf(stderr, "Runtime error: %s", "Assert failed");
4700 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15453);
4701 show_backtrace(1);
4702 }
4703 var_ptypenode3 = var_nodearraylist4;
4704 /* <var_ptypenode3:nullable Object> isa nullable AType */
4705 cltype7 = type_nullable_parser_nodes__AType.color;
4706 idtype8 = type_nullable_parser_nodes__AType.id;
4707 if(var_ptypenode3 == NULL) {
4708 var6 = 1;
4709 } else {
4710 if(cltype7 >= var_ptypenode3->type->table_size) {
4711 var6 = 0;
4712 } else {
4713 var6 = var_ptypenode3->type->type_table[cltype7] == idtype8;
4714 }
4715 }
4716 if (!var6) {
4717 fprintf(stderr, "Runtime error: %s", "Assert failed");
4718 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15455);
4719 show_backtrace(1);
4720 }
4721 var9 = NEW_parser_nodes__ASuperclass(&type_parser_nodes__ASuperclass);
4722 var10 = NULL;
4723 ((void (*)(val*, val*, val*, val*))(var9->class->vft[COLOR_parser_prod__ASuperclass__init_asuperclass]))(var9, var_tkwsupernode2, var_ptypenode3, var10) /* init_asuperclass on <var9:ASuperclass>*/;
4724 var_psuperclassnode1 = var9;
4725 var_node_list = var_psuperclassnode1;
4726 var11 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction342> */
4727 var12 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var11) /* go_to on <var_p:Parser>*/;
4728 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var12, var_node_list) /* push on <var_p:Parser>*/;
4729 RET_LABEL:;
4730 }
4731 /* method parser#ReduceAction342#action for (self: Object, Parser) */
4732 void VIRTUAL_parser__ReduceAction342__action(val* self, val* p0) {
4733 parser__ReduceAction342__action(self, p0);
4734 RET_LABEL:;
4735 }
4736 /* method parser#ReduceAction343#action for (self: ReduceAction343, Parser) */
4737 void parser__ReduceAction343__action(val* self, val* p0) {
4738 val* var_p /* var p: Parser */;
4739 val* var /* : null */;
4740 val* var_node_list /* var node_list: nullable Object */;
4741 val* var1 /* : nullable Object */;
4742 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4743 val* var2 /* : nullable Object */;
4744 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4745 val* var3 /* : nullable Object */;
4746 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4747 val* var4 /* : nullable Object */;
4748 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4749 val* var5 /* : nullable Object */;
4750 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4751 val* var_tkwsupernode2 /* var tkwsupernode2: nullable Object */;
4752 short int var6 /* : Bool */;
4753 int cltype;
4754 int idtype;
4755 val* var_ptypenode3 /* var ptypenode3: nullable Object */;
4756 short int var7 /* : Bool */;
4757 int cltype8;
4758 int idtype9;
4759 val* var_pannotationsnode4 /* var pannotationsnode4: nullable Object */;
4760 short int var10 /* : Bool */;
4761 int cltype11;
4762 int idtype12;
4763 val* var13 /* : ASuperclass */;
4764 val* var_psuperclassnode1 /* var psuperclassnode1: nullable ASuperclass */;
4765 long var14 /* : Int */;
4766 long var15 /* : Int */;
4767 var_p = p0;
4768 var = NULL;
4769 var_node_list = var;
4770 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4771 var_nodearraylist5 = var1;
4772 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4773 var_nodearraylist4 = var2;
4774 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4775 var_nodearraylist3 = var3;
4776 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4777 var_nodearraylist2 = var4;
4778 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4779 var_nodearraylist1 = var5;
4780 var_tkwsupernode2 = var_nodearraylist2;
4781 /* <var_tkwsupernode2:nullable Object> isa nullable TKwsuper */
4782 cltype = type_nullable_parser_nodes__TKwsuper.color;
4783 idtype = type_nullable_parser_nodes__TKwsuper.id;
4784 if(var_tkwsupernode2 == NULL) {
4785 var6 = 1;
4786 } else {
4787 if(cltype >= var_tkwsupernode2->type->table_size) {
4788 var6 = 0;
4789 } else {
4790 var6 = var_tkwsupernode2->type->type_table[cltype] == idtype;
4791 }
4792 }
4793 if (!var6) {
4794 fprintf(stderr, "Runtime error: %s", "Assert failed");
4795 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15476);
4796 show_backtrace(1);
4797 }
4798 var_ptypenode3 = var_nodearraylist4;
4799 /* <var_ptypenode3:nullable Object> isa nullable AType */
4800 cltype8 = type_nullable_parser_nodes__AType.color;
4801 idtype9 = type_nullable_parser_nodes__AType.id;
4802 if(var_ptypenode3 == NULL) {
4803 var7 = 1;
4804 } else {
4805 if(cltype8 >= var_ptypenode3->type->table_size) {
4806 var7 = 0;
4807 } else {
4808 var7 = var_ptypenode3->type->type_table[cltype8] == idtype9;
4809 }
4810 }
4811 if (!var7) {
4812 fprintf(stderr, "Runtime error: %s", "Assert failed");
4813 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15478);
4814 show_backtrace(1);
4815 }
4816 var_pannotationsnode4 = var_nodearraylist5;
4817 /* <var_pannotationsnode4:nullable Object> isa nullable AAnnotations */
4818 cltype11 = type_nullable_parser_nodes__AAnnotations.color;
4819 idtype12 = type_nullable_parser_nodes__AAnnotations.id;
4820 if(var_pannotationsnode4 == NULL) {
4821 var10 = 1;
4822 } else {
4823 if(cltype11 >= var_pannotationsnode4->type->table_size) {
4824 var10 = 0;
4825 } else {
4826 var10 = var_pannotationsnode4->type->type_table[cltype11] == idtype12;
4827 }
4828 }
4829 if (!var10) {
4830 fprintf(stderr, "Runtime error: %s", "Assert failed");
4831 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15480);
4832 show_backtrace(1);
4833 }
4834 var13 = NEW_parser_nodes__ASuperclass(&type_parser_nodes__ASuperclass);
4835 ((void (*)(val*, val*, val*, val*))(var13->class->vft[COLOR_parser_prod__ASuperclass__init_asuperclass]))(var13, var_tkwsupernode2, var_ptypenode3, var_pannotationsnode4) /* init_asuperclass on <var13:ASuperclass>*/;
4836 var_psuperclassnode1 = var13;
4837 var_node_list = var_psuperclassnode1;
4838 var14 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction343> */
4839 var15 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var14) /* go_to on <var_p:Parser>*/;
4840 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var15, var_node_list) /* push on <var_p:Parser>*/;
4841 RET_LABEL:;
4842 }
4843 /* method parser#ReduceAction343#action for (self: Object, Parser) */
4844 void VIRTUAL_parser__ReduceAction343__action(val* self, val* p0) {
4845 parser__ReduceAction343__action(self, p0);
4846 RET_LABEL:;
4847 }
4848 /* method parser#ReduceAction344#action for (self: ReduceAction344, Parser) */
4849 void parser__ReduceAction344__action(val* self, val* p0) {
4850 val* var_p /* var p: Parser */;
4851 val* var /* : null */;
4852 val* var_node_list /* var node_list: nullable Object */;
4853 val* var1 /* : nullable Object */;
4854 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4855 val* var2 /* : nullable Object */;
4856 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4857 val* var_ppropdefnode1 /* var ppropdefnode1: nullable Object */;
4858 long var3 /* : Int */;
4859 long var4 /* : Int */;
4860 var_p = p0;
4861 var = NULL;
4862 var_node_list = var;
4863 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4864 var_nodearraylist2 = var1;
4865 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4866 var_nodearraylist1 = var2;
4867 var_ppropdefnode1 = var_nodearraylist1;
4868 var_node_list = var_ppropdefnode1;
4869 var3 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction344> */
4870 var4 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var3) /* go_to on <var_p:Parser>*/;
4871 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var4, var_node_list) /* push on <var_p:Parser>*/;
4872 RET_LABEL:;
4873 }
4874 /* method parser#ReduceAction344#action for (self: Object, Parser) */
4875 void VIRTUAL_parser__ReduceAction344__action(val* self, val* p0) {
4876 parser__ReduceAction344__action(self, p0);
4877 RET_LABEL:;
4878 }
4879 /* method parser#ReduceAction345#action for (self: ReduceAction345, Parser) */
4880 void parser__ReduceAction345__action(val* self, val* p0) {
4881 val* var_p /* var p: Parser */;
4882 val* var /* : null */;
4883 val* var_node_list /* var node_list: nullable Object */;
4884 val* var1 /* : nullable Object */;
4885 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4886 val* var2 /* : nullable Object */;
4887 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4888 val* var3 /* : nullable Object */;
4889 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4890 val* var4 /* : nullable Object */;
4891 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4892 val* var5 /* : nullable Object */;
4893 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4894 val* var6 /* : nullable Object */;
4895 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4896 val* var7 /* : nullable Object */;
4897 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4898 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4899 short int var8 /* : Bool */;
4900 int cltype;
4901 int idtype;
4902 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4903 short int var9 /* : Bool */;
4904 int cltype10;
4905 int idtype11;
4906 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
4907 short int var12 /* : Bool */;
4908 int cltype13;
4909 int idtype14;
4910 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
4911 short int var15 /* : Bool */;
4912 int cltype16;
4913 int idtype17;
4914 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
4915 short int var18 /* : Bool */;
4916 int cltype19;
4917 int idtype20;
4918 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
4919 short int var21 /* : Bool */;
4920 int cltype22;
4921 int idtype23;
4922 val* var24 /* : AConcreteMethPropdef */;
4923 val* var25 /* : null */;
4924 val* var26 /* : null */;
4925 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteMethPropdef */;
4926 long var27 /* : Int */;
4927 long var28 /* : Int */;
4928 var_p = p0;
4929 var = NULL;
4930 var_node_list = var;
4931 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4932 var_nodearraylist7 = var1;
4933 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4934 var_nodearraylist6 = var2;
4935 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4936 var_nodearraylist5 = var3;
4937 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4938 var_nodearraylist4 = var4;
4939 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4940 var_nodearraylist3 = var5;
4941 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4942 var_nodearraylist2 = var6;
4943 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4944 var_nodearraylist1 = var7;
4945 var_pdocnode2 = var_nodearraylist1;
4946 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4947 cltype = type_nullable_parser_nodes__ADoc.color;
4948 idtype = type_nullable_parser_nodes__ADoc.id;
4949 if(var_pdocnode2 == NULL) {
4950 var8 = 1;
4951 } else {
4952 if(cltype >= var_pdocnode2->type->table_size) {
4953 var8 = 0;
4954 } else {
4955 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
4956 }
4957 }
4958 if (!var8) {
4959 fprintf(stderr, "Runtime error: %s", "Assert failed");
4960 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15515);
4961 show_backtrace(1);
4962 }
4963 var_pvisibilitynode4 = var_nodearraylist2;
4964 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4965 cltype10 = type_nullable_parser_nodes__AVisibility.color;
4966 idtype11 = type_nullable_parser_nodes__AVisibility.id;
4967 if(var_pvisibilitynode4 == NULL) {
4968 var9 = 1;
4969 } else {
4970 if(cltype10 >= var_pvisibilitynode4->type->table_size) {
4971 var9 = 0;
4972 } else {
4973 var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11;
4974 }
4975 }
4976 if (!var9) {
4977 fprintf(stderr, "Runtime error: %s", "Assert failed");
4978 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15517);
4979 show_backtrace(1);
4980 }
4981 var_tkwmethnode5 = var_nodearraylist3;
4982 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
4983 cltype13 = type_nullable_parser_nodes__TKwmeth.color;
4984 idtype14 = type_nullable_parser_nodes__TKwmeth.id;
4985 if(var_tkwmethnode5 == NULL) {
4986 var12 = 1;
4987 } else {
4988 if(cltype13 >= var_tkwmethnode5->type->table_size) {
4989 var12 = 0;
4990 } else {
4991 var12 = var_tkwmethnode5->type->type_table[cltype13] == idtype14;
4992 }
4993 }
4994 if (!var12) {
4995 fprintf(stderr, "Runtime error: %s", "Assert failed");
4996 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15519);
4997 show_backtrace(1);
4998 }
4999 var_pmethidnode6 = var_nodearraylist4;
5000 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
5001 cltype16 = type_nullable_parser_nodes__AMethid.color;
5002 idtype17 = type_nullable_parser_nodes__AMethid.id;
5003 if(var_pmethidnode6 == NULL) {
5004 var15 = 1;
5005 } else {
5006 if(cltype16 >= var_pmethidnode6->type->table_size) {
5007 var15 = 0;
5008 } else {
5009 var15 = var_pmethidnode6->type->type_table[cltype16] == idtype17;
5010 }
5011 }
5012 if (!var15) {
5013 fprintf(stderr, "Runtime error: %s", "Assert failed");
5014 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15521);
5015 show_backtrace(1);
5016 }
5017 var_psignaturenode7 = var_nodearraylist5;
5018 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
5019 cltype19 = type_nullable_parser_nodes__ASignature.color;
5020 idtype20 = type_nullable_parser_nodes__ASignature.id;
5021 if(var_psignaturenode7 == NULL) {
5022 var18 = 1;
5023 } else {
5024 if(cltype19 >= var_psignaturenode7->type->table_size) {
5025 var18 = 0;
5026 } else {
5027 var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20;
5028 }
5029 }
5030 if (!var18) {
5031 fprintf(stderr, "Runtime error: %s", "Assert failed");
5032 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15523);
5033 show_backtrace(1);
5034 }
5035 var_pexprnode9 = var_nodearraylist7;
5036 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
5037 cltype22 = type_nullable_parser_nodes__AExpr.color;
5038 idtype23 = type_nullable_parser_nodes__AExpr.id;
5039 if(var_pexprnode9 == NULL) {
5040 var21 = 1;
5041 } else {
5042 if(cltype22 >= var_pexprnode9->type->table_size) {
5043 var21 = 0;
5044 } else {
5045 var21 = var_pexprnode9->type->type_table[cltype22] == idtype23;
5046 }
5047 }
5048 if (!var21) {
5049 fprintf(stderr, "Runtime error: %s", "Assert failed");
5050 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15525);
5051 show_backtrace(1);
5052 }
5053 var24 = NEW_parser_nodes__AConcreteMethPropdef(&type_parser_nodes__AConcreteMethPropdef);
5054 var25 = NULL;
5055 var26 = NULL;
5056 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var24->class->vft[COLOR_parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef]))(var24, var_pdocnode2, var25, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var26, var_pexprnode9) /* init_aconcretemethpropdef on <var24:AConcreteMethPropdef>*/;
5057 var_ppropdefnode1 = var24;
5058 var_node_list = var_ppropdefnode1;
5059 var27 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction345> */
5060 var28 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var27) /* go_to on <var_p:Parser>*/;
5061 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var28, var_node_list) /* push on <var_p:Parser>*/;
5062 RET_LABEL:;
5063 }
5064 /* method parser#ReduceAction345#action for (self: Object, Parser) */
5065 void VIRTUAL_parser__ReduceAction345__action(val* self, val* p0) {
5066 parser__ReduceAction345__action(self, p0);
5067 RET_LABEL:;
5068 }
5069 /* method parser#ReduceAction346#action for (self: ReduceAction346, Parser) */
5070 void parser__ReduceAction346__action(val* self, val* p0) {
5071 val* var_p /* var p: Parser */;
5072 val* var /* : null */;
5073 val* var_node_list /* var node_list: nullable Object */;
5074 val* var1 /* : nullable Object */;
5075 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5076 val* var2 /* : nullable Object */;
5077 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5078 val* var3 /* : nullable Object */;
5079 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5080 val* var4 /* : nullable Object */;
5081 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5082 val* var5 /* : nullable Object */;
5083 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5084 val* var6 /* : nullable Object */;
5085 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5086 val* var7 /* : nullable Object */;
5087 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5088 val* var8 /* : nullable Object */;
5089 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5090 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5091 short int var9 /* : Bool */;
5092 int cltype;
5093 int idtype;
5094 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
5095 short int var10 /* : Bool */;
5096 int cltype11;
5097 int idtype12;
5098 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5099 short int var13 /* : Bool */;
5100 int cltype14;
5101 int idtype15;
5102 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
5103 short int var16 /* : Bool */;
5104 int cltype17;
5105 int idtype18;
5106 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
5107 short int var19 /* : Bool */;
5108 int cltype20;
5109 int idtype21;
5110 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
5111 short int var22 /* : Bool */;
5112 int cltype23;
5113 int idtype24;
5114 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
5115 short int var25 /* : Bool */;
5116 int cltype26;
5117 int idtype27;
5118 val* var28 /* : AConcreteMethPropdef */;
5119 val* var29 /* : null */;
5120 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteMethPropdef */;
5121 long var30 /* : Int */;
5122 long var31 /* : Int */;
5123 var_p = p0;
5124 var = NULL;
5125 var_node_list = var;
5126 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5127 var_nodearraylist8 = var1;
5128 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5129 var_nodearraylist7 = var2;
5130 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5131 var_nodearraylist6 = var3;
5132 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5133 var_nodearraylist5 = var4;
5134 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5135 var_nodearraylist4 = var5;
5136 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5137 var_nodearraylist3 = var6;
5138 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5139 var_nodearraylist2 = var7;
5140 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5141 var_nodearraylist1 = var8;
5142 var_pdocnode2 = var_nodearraylist1;
5143 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5144 cltype = type_nullable_parser_nodes__ADoc.color;
5145 idtype = type_nullable_parser_nodes__ADoc.id;
5146 if(var_pdocnode2 == NULL) {
5147 var9 = 1;
5148 } else {
5149 if(cltype >= var_pdocnode2->type->table_size) {
5150 var9 = 0;
5151 } else {
5152 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
5153 }
5154 }
5155 if (!var9) {
5156 fprintf(stderr, "Runtime error: %s", "Assert failed");
5157 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15554);
5158 show_backtrace(1);
5159 }
5160 var_tkwredefnode3 = var_nodearraylist2;
5161 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
5162 cltype11 = type_nullable_parser_nodes__TKwredef.color;
5163 idtype12 = type_nullable_parser_nodes__TKwredef.id;
5164 if(var_tkwredefnode3 == NULL) {
5165 var10 = 1;
5166 } else {
5167 if(cltype11 >= var_tkwredefnode3->type->table_size) {
5168 var10 = 0;
5169 } else {
5170 var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12;
5171 }
5172 }
5173 if (!var10) {
5174 fprintf(stderr, "Runtime error: %s", "Assert failed");
5175 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15556);
5176 show_backtrace(1);
5177 }
5178 var_pvisibilitynode4 = var_nodearraylist3;
5179 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5180 cltype14 = type_nullable_parser_nodes__AVisibility.color;
5181 idtype15 = type_nullable_parser_nodes__AVisibility.id;
5182 if(var_pvisibilitynode4 == NULL) {
5183 var13 = 1;
5184 } else {
5185 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
5186 var13 = 0;
5187 } else {
5188 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
5189 }
5190 }
5191 if (!var13) {
5192 fprintf(stderr, "Runtime error: %s", "Assert failed");
5193 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15558);
5194 show_backtrace(1);
5195 }
5196 var_tkwmethnode5 = var_nodearraylist4;
5197 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
5198 cltype17 = type_nullable_parser_nodes__TKwmeth.color;
5199 idtype18 = type_nullable_parser_nodes__TKwmeth.id;
5200 if(var_tkwmethnode5 == NULL) {
5201 var16 = 1;
5202 } else {
5203 if(cltype17 >= var_tkwmethnode5->type->table_size) {
5204 var16 = 0;
5205 } else {
5206 var16 = var_tkwmethnode5->type->type_table[cltype17] == idtype18;
5207 }
5208 }
5209 if (!var16) {
5210 fprintf(stderr, "Runtime error: %s", "Assert failed");
5211 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15560);
5212 show_backtrace(1);
5213 }
5214 var_pmethidnode6 = var_nodearraylist5;
5215 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
5216 cltype20 = type_nullable_parser_nodes__AMethid.color;
5217 idtype21 = type_nullable_parser_nodes__AMethid.id;
5218 if(var_pmethidnode6 == NULL) {
5219 var19 = 1;
5220 } else {
5221 if(cltype20 >= var_pmethidnode6->type->table_size) {
5222 var19 = 0;
5223 } else {
5224 var19 = var_pmethidnode6->type->type_table[cltype20] == idtype21;
5225 }
5226 }
5227 if (!var19) {
5228 fprintf(stderr, "Runtime error: %s", "Assert failed");
5229 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15562);
5230 show_backtrace(1);
5231 }
5232 var_psignaturenode7 = var_nodearraylist6;
5233 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
5234 cltype23 = type_nullable_parser_nodes__ASignature.color;
5235 idtype24 = type_nullable_parser_nodes__ASignature.id;
5236 if(var_psignaturenode7 == NULL) {
5237 var22 = 1;
5238 } else {
5239 if(cltype23 >= var_psignaturenode7->type->table_size) {
5240 var22 = 0;
5241 } else {
5242 var22 = var_psignaturenode7->type->type_table[cltype23] == idtype24;
5243 }
5244 }
5245 if (!var22) {
5246 fprintf(stderr, "Runtime error: %s", "Assert failed");
5247 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15564);
5248 show_backtrace(1);
5249 }
5250 var_pexprnode9 = var_nodearraylist8;
5251 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
5252 cltype26 = type_nullable_parser_nodes__AExpr.color;
5253 idtype27 = type_nullable_parser_nodes__AExpr.id;
5254 if(var_pexprnode9 == NULL) {
5255 var25 = 1;
5256 } else {
5257 if(cltype26 >= var_pexprnode9->type->table_size) {
5258 var25 = 0;
5259 } else {
5260 var25 = var_pexprnode9->type->type_table[cltype26] == idtype27;
5261 }
5262 }
5263 if (!var25) {
5264 fprintf(stderr, "Runtime error: %s", "Assert failed");
5265 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15566);
5266 show_backtrace(1);
5267 }
5268 var28 = NEW_parser_nodes__AConcreteMethPropdef(&type_parser_nodes__AConcreteMethPropdef);
5269 var29 = NULL;
5270 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var28->class->vft[COLOR_parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef]))(var28, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var29, var_pexprnode9) /* init_aconcretemethpropdef on <var28:AConcreteMethPropdef>*/;
5271 var_ppropdefnode1 = var28;
5272 var_node_list = var_ppropdefnode1;
5273 var30 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction346> */
5274 var31 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var30) /* go_to on <var_p:Parser>*/;
5275 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var31, var_node_list) /* push on <var_p:Parser>*/;
5276 RET_LABEL:;
5277 }
5278 /* method parser#ReduceAction346#action for (self: Object, Parser) */
5279 void VIRTUAL_parser__ReduceAction346__action(val* self, val* p0) {
5280 parser__ReduceAction346__action(self, p0);
5281 RET_LABEL:;
5282 }
5283 /* method parser#ReduceAction347#action for (self: ReduceAction347, Parser) */
5284 void parser__ReduceAction347__action(val* self, val* p0) {
5285 val* var_p /* var p: Parser */;
5286 val* var /* : null */;
5287 val* var_node_list /* var node_list: nullable Object */;
5288 val* var1 /* : nullable Object */;
5289 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5290 val* var2 /* : nullable Object */;
5291 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5292 val* var3 /* : nullable Object */;
5293 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5294 val* var4 /* : nullable Object */;
5295 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5296 val* var5 /* : nullable Object */;
5297 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5298 val* var6 /* : nullable Object */;
5299 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5300 val* var7 /* : nullable Object */;
5301 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5302 val* var8 /* : nullable Object */;
5303 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5304 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5305 short int var9 /* : Bool */;
5306 int cltype;
5307 int idtype;
5308 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5309 short int var10 /* : Bool */;
5310 int cltype11;
5311 int idtype12;
5312 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
5313 short int var13 /* : Bool */;
5314 int cltype14;
5315 int idtype15;
5316 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
5317 short int var16 /* : Bool */;
5318 int cltype17;
5319 int idtype18;
5320 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
5321 short int var19 /* : Bool */;
5322 int cltype20;
5323 int idtype21;
5324 val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */;
5325 short int var22 /* : Bool */;
5326 int cltype23;
5327 int idtype24;
5328 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
5329 short int var25 /* : Bool */;
5330 int cltype26;
5331 int idtype27;
5332 val* var28 /* : AConcreteMethPropdef */;
5333 val* var29 /* : null */;
5334 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteMethPropdef */;
5335 long var30 /* : Int */;
5336 long var31 /* : Int */;
5337 var_p = p0;
5338 var = NULL;
5339 var_node_list = var;
5340 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5341 var_nodearraylist8 = var1;
5342 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5343 var_nodearraylist7 = var2;
5344 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5345 var_nodearraylist6 = var3;
5346 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5347 var_nodearraylist5 = var4;
5348 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5349 var_nodearraylist4 = var5;
5350 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5351 var_nodearraylist3 = var6;
5352 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5353 var_nodearraylist2 = var7;
5354 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5355 var_nodearraylist1 = var8;
5356 var_pdocnode2 = var_nodearraylist1;
5357 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5358 cltype = type_nullable_parser_nodes__ADoc.color;
5359 idtype = type_nullable_parser_nodes__ADoc.id;
5360 if(var_pdocnode2 == NULL) {
5361 var9 = 1;
5362 } else {
5363 if(cltype >= var_pdocnode2->type->table_size) {
5364 var9 = 0;
5365 } else {
5366 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
5367 }
5368 }
5369 if (!var9) {
5370 fprintf(stderr, "Runtime error: %s", "Assert failed");
5371 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15595);
5372 show_backtrace(1);
5373 }
5374 var_pvisibilitynode4 = var_nodearraylist2;
5375 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5376 cltype11 = type_nullable_parser_nodes__AVisibility.color;
5377 idtype12 = type_nullable_parser_nodes__AVisibility.id;
5378 if(var_pvisibilitynode4 == NULL) {
5379 var10 = 1;
5380 } else {
5381 if(cltype11 >= var_pvisibilitynode4->type->table_size) {
5382 var10 = 0;
5383 } else {
5384 var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
5385 }
5386 }
5387 if (!var10) {
5388 fprintf(stderr, "Runtime error: %s", "Assert failed");
5389 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15597);
5390 show_backtrace(1);
5391 }
5392 var_tkwmethnode5 = var_nodearraylist3;
5393 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
5394 cltype14 = type_nullable_parser_nodes__TKwmeth.color;
5395 idtype15 = type_nullable_parser_nodes__TKwmeth.id;
5396 if(var_tkwmethnode5 == NULL) {
5397 var13 = 1;
5398 } else {
5399 if(cltype14 >= var_tkwmethnode5->type->table_size) {
5400 var13 = 0;
5401 } else {
5402 var13 = var_tkwmethnode5->type->type_table[cltype14] == idtype15;
5403 }
5404 }
5405 if (!var13) {
5406 fprintf(stderr, "Runtime error: %s", "Assert failed");
5407 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15599);
5408 show_backtrace(1);
5409 }
5410 var_pmethidnode6 = var_nodearraylist4;
5411 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
5412 cltype17 = type_nullable_parser_nodes__AMethid.color;
5413 idtype18 = type_nullable_parser_nodes__AMethid.id;
5414 if(var_pmethidnode6 == NULL) {
5415 var16 = 1;
5416 } else {
5417 if(cltype17 >= var_pmethidnode6->type->table_size) {
5418 var16 = 0;
5419 } else {
5420 var16 = var_pmethidnode6->type->type_table[cltype17] == idtype18;
5421 }
5422 }
5423 if (!var16) {
5424 fprintf(stderr, "Runtime error: %s", "Assert failed");
5425 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15601);
5426 show_backtrace(1);
5427 }
5428 var_psignaturenode7 = var_nodearraylist5;
5429 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
5430 cltype20 = type_nullable_parser_nodes__ASignature.color;
5431 idtype21 = type_nullable_parser_nodes__ASignature.id;
5432 if(var_psignaturenode7 == NULL) {
5433 var19 = 1;
5434 } else {
5435 if(cltype20 >= var_psignaturenode7->type->table_size) {
5436 var19 = 0;
5437 } else {
5438 var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
5439 }
5440 }
5441 if (!var19) {
5442 fprintf(stderr, "Runtime error: %s", "Assert failed");
5443 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15603);
5444 show_backtrace(1);
5445 }
5446 var_pannotationsnode8 = var_nodearraylist6;
5447 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
5448 cltype23 = type_nullable_parser_nodes__AAnnotations.color;
5449 idtype24 = type_nullable_parser_nodes__AAnnotations.id;
5450 if(var_pannotationsnode8 == NULL) {
5451 var22 = 1;
5452 } else {
5453 if(cltype23 >= var_pannotationsnode8->type->table_size) {
5454 var22 = 0;
5455 } else {
5456 var22 = var_pannotationsnode8->type->type_table[cltype23] == idtype24;
5457 }
5458 }
5459 if (!var22) {
5460 fprintf(stderr, "Runtime error: %s", "Assert failed");
5461 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15605);
5462 show_backtrace(1);
5463 }
5464 var_pexprnode9 = var_nodearraylist8;
5465 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
5466 cltype26 = type_nullable_parser_nodes__AExpr.color;
5467 idtype27 = type_nullable_parser_nodes__AExpr.id;
5468 if(var_pexprnode9 == NULL) {
5469 var25 = 1;
5470 } else {
5471 if(cltype26 >= var_pexprnode9->type->table_size) {
5472 var25 = 0;
5473 } else {
5474 var25 = var_pexprnode9->type->type_table[cltype26] == idtype27;
5475 }
5476 }
5477 if (!var25) {
5478 fprintf(stderr, "Runtime error: %s", "Assert failed");
5479 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15607);
5480 show_backtrace(1);
5481 }
5482 var28 = NEW_parser_nodes__AConcreteMethPropdef(&type_parser_nodes__AConcreteMethPropdef);
5483 var29 = NULL;
5484 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var28->class->vft[COLOR_parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef]))(var28, var_pdocnode2, var29, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_pannotationsnode8, var_pexprnode9) /* init_aconcretemethpropdef on <var28:AConcreteMethPropdef>*/;
5485 var_ppropdefnode1 = var28;
5486 var_node_list = var_ppropdefnode1;
5487 var30 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction347> */
5488 var31 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var30) /* go_to on <var_p:Parser>*/;
5489 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var31, var_node_list) /* push on <var_p:Parser>*/;
5490 RET_LABEL:;
5491 }
5492 /* method parser#ReduceAction347#action for (self: Object, Parser) */
5493 void VIRTUAL_parser__ReduceAction347__action(val* self, val* p0) {
5494 parser__ReduceAction347__action(self, p0);
5495 RET_LABEL:;
5496 }
5497 /* method parser#ReduceAction348#action for (self: ReduceAction348, Parser) */
5498 void parser__ReduceAction348__action(val* self, val* p0) {
5499 val* var_p /* var p: Parser */;
5500 val* var /* : null */;
5501 val* var_node_list /* var node_list: nullable Object */;
5502 val* var1 /* : nullable Object */;
5503 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5504 val* var2 /* : nullable Object */;
5505 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5506 val* var3 /* : nullable Object */;
5507 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5508 val* var4 /* : nullable Object */;
5509 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5510 val* var5 /* : nullable Object */;
5511 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5512 val* var6 /* : nullable Object */;
5513 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5514 val* var7 /* : nullable Object */;
5515 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5516 val* var8 /* : nullable Object */;
5517 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5518 val* var9 /* : nullable Object */;
5519 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5520 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5521 short int var10 /* : Bool */;
5522 int cltype;
5523 int idtype;
5524 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
5525 short int var11 /* : Bool */;
5526 int cltype12;
5527 int idtype13;
5528 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5529 short int var14 /* : Bool */;
5530 int cltype15;
5531 int idtype16;
5532 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
5533 short int var17 /* : Bool */;
5534 int cltype18;
5535 int idtype19;
5536 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
5537 short int var20 /* : Bool */;
5538 int cltype21;
5539 int idtype22;
5540 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
5541 short int var23 /* : Bool */;
5542 int cltype24;
5543 int idtype25;
5544 val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */;
5545 short int var26 /* : Bool */;
5546 int cltype27;
5547 int idtype28;
5548 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
5549 short int var29 /* : Bool */;
5550 int cltype30;
5551 int idtype31;
5552 val* var32 /* : AConcreteMethPropdef */;
5553 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteMethPropdef */;
5554 long var33 /* : Int */;
5555 long var34 /* : Int */;
5556 var_p = p0;
5557 var = NULL;
5558 var_node_list = var;
5559 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5560 var_nodearraylist9 = var1;
5561 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5562 var_nodearraylist8 = var2;
5563 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5564 var_nodearraylist7 = var3;
5565 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5566 var_nodearraylist6 = var4;
5567 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5568 var_nodearraylist5 = var5;
5569 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5570 var_nodearraylist4 = var6;
5571 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5572 var_nodearraylist3 = var7;
5573 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5574 var_nodearraylist2 = var8;
5575 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5576 var_nodearraylist1 = var9;
5577 var_pdocnode2 = var_nodearraylist1;
5578 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5579 cltype = type_nullable_parser_nodes__ADoc.color;
5580 idtype = type_nullable_parser_nodes__ADoc.id;
5581 if(var_pdocnode2 == NULL) {
5582 var10 = 1;
5583 } else {
5584 if(cltype >= var_pdocnode2->type->table_size) {
5585 var10 = 0;
5586 } else {
5587 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
5588 }
5589 }
5590 if (!var10) {
5591 fprintf(stderr, "Runtime error: %s", "Assert failed");
5592 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15637);
5593 show_backtrace(1);
5594 }
5595 var_tkwredefnode3 = var_nodearraylist2;
5596 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
5597 cltype12 = type_nullable_parser_nodes__TKwredef.color;
5598 idtype13 = type_nullable_parser_nodes__TKwredef.id;
5599 if(var_tkwredefnode3 == NULL) {
5600 var11 = 1;
5601 } else {
5602 if(cltype12 >= var_tkwredefnode3->type->table_size) {
5603 var11 = 0;
5604 } else {
5605 var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
5606 }
5607 }
5608 if (!var11) {
5609 fprintf(stderr, "Runtime error: %s", "Assert failed");
5610 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15639);
5611 show_backtrace(1);
5612 }
5613 var_pvisibilitynode4 = var_nodearraylist3;
5614 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5615 cltype15 = type_nullable_parser_nodes__AVisibility.color;
5616 idtype16 = type_nullable_parser_nodes__AVisibility.id;
5617 if(var_pvisibilitynode4 == NULL) {
5618 var14 = 1;
5619 } else {
5620 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
5621 var14 = 0;
5622 } else {
5623 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
5624 }
5625 }
5626 if (!var14) {
5627 fprintf(stderr, "Runtime error: %s", "Assert failed");
5628 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15641);
5629 show_backtrace(1);
5630 }
5631 var_tkwmethnode5 = var_nodearraylist4;
5632 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
5633 cltype18 = type_nullable_parser_nodes__TKwmeth.color;
5634 idtype19 = type_nullable_parser_nodes__TKwmeth.id;
5635 if(var_tkwmethnode5 == NULL) {
5636 var17 = 1;
5637 } else {
5638 if(cltype18 >= var_tkwmethnode5->type->table_size) {
5639 var17 = 0;
5640 } else {
5641 var17 = var_tkwmethnode5->type->type_table[cltype18] == idtype19;
5642 }
5643 }
5644 if (!var17) {
5645 fprintf(stderr, "Runtime error: %s", "Assert failed");
5646 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15643);
5647 show_backtrace(1);
5648 }
5649 var_pmethidnode6 = var_nodearraylist5;
5650 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
5651 cltype21 = type_nullable_parser_nodes__AMethid.color;
5652 idtype22 = type_nullable_parser_nodes__AMethid.id;
5653 if(var_pmethidnode6 == NULL) {
5654 var20 = 1;
5655 } else {
5656 if(cltype21 >= var_pmethidnode6->type->table_size) {
5657 var20 = 0;
5658 } else {
5659 var20 = var_pmethidnode6->type->type_table[cltype21] == idtype22;
5660 }
5661 }
5662 if (!var20) {
5663 fprintf(stderr, "Runtime error: %s", "Assert failed");
5664 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15645);
5665 show_backtrace(1);
5666 }
5667 var_psignaturenode7 = var_nodearraylist6;
5668 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
5669 cltype24 = type_nullable_parser_nodes__ASignature.color;
5670 idtype25 = type_nullable_parser_nodes__ASignature.id;
5671 if(var_psignaturenode7 == NULL) {
5672 var23 = 1;
5673 } else {
5674 if(cltype24 >= var_psignaturenode7->type->table_size) {
5675 var23 = 0;
5676 } else {
5677 var23 = var_psignaturenode7->type->type_table[cltype24] == idtype25;
5678 }
5679 }
5680 if (!var23) {
5681 fprintf(stderr, "Runtime error: %s", "Assert failed");
5682 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15647);
5683 show_backtrace(1);
5684 }
5685 var_pannotationsnode8 = var_nodearraylist7;
5686 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
5687 cltype27 = type_nullable_parser_nodes__AAnnotations.color;
5688 idtype28 = type_nullable_parser_nodes__AAnnotations.id;
5689 if(var_pannotationsnode8 == NULL) {
5690 var26 = 1;
5691 } else {
5692 if(cltype27 >= var_pannotationsnode8->type->table_size) {
5693 var26 = 0;
5694 } else {
5695 var26 = var_pannotationsnode8->type->type_table[cltype27] == idtype28;
5696 }
5697 }
5698 if (!var26) {
5699 fprintf(stderr, "Runtime error: %s", "Assert failed");
5700 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15649);
5701 show_backtrace(1);
5702 }
5703 var_pexprnode9 = var_nodearraylist9;
5704 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
5705 cltype30 = type_nullable_parser_nodes__AExpr.color;
5706 idtype31 = type_nullable_parser_nodes__AExpr.id;
5707 if(var_pexprnode9 == NULL) {
5708 var29 = 1;
5709 } else {
5710 if(cltype30 >= var_pexprnode9->type->table_size) {
5711 var29 = 0;
5712 } else {
5713 var29 = var_pexprnode9->type->type_table[cltype30] == idtype31;
5714 }
5715 }
5716 if (!var29) {
5717 fprintf(stderr, "Runtime error: %s", "Assert failed");
5718 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15651);
5719 show_backtrace(1);
5720 }
5721 var32 = NEW_parser_nodes__AConcreteMethPropdef(&type_parser_nodes__AConcreteMethPropdef);
5722 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var32->class->vft[COLOR_parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef]))(var32, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_pannotationsnode8, var_pexprnode9) /* init_aconcretemethpropdef on <var32:AConcreteMethPropdef>*/;
5723 var_ppropdefnode1 = var32;
5724 var_node_list = var_ppropdefnode1;
5725 var33 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction348> */
5726 var34 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var33) /* go_to on <var_p:Parser>*/;
5727 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var34, var_node_list) /* push on <var_p:Parser>*/;
5728 RET_LABEL:;
5729 }
5730 /* method parser#ReduceAction348#action for (self: Object, Parser) */
5731 void VIRTUAL_parser__ReduceAction348__action(val* self, val* p0) {
5732 parser__ReduceAction348__action(self, p0);
5733 RET_LABEL:;
5734 }
5735 /* method parser#ReduceAction349#action for (self: ReduceAction349, Parser) */
5736 void parser__ReduceAction349__action(val* self, val* p0) {
5737 val* var_p /* var p: Parser */;
5738 val* var /* : null */;
5739 val* var_node_list /* var node_list: nullable Object */;
5740 val* var1 /* : nullable Object */;
5741 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5742 val* var2 /* : nullable Object */;
5743 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5744 val* var3 /* : nullable Object */;
5745 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5746 val* var4 /* : nullable Object */;
5747 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5748 val* var5 /* : nullable Object */;
5749 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5750 val* var6 /* : nullable Object */;
5751 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5752 val* var7 /* : nullable Object */;
5753 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5754 val* var8 /* : nullable Object */;
5755 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5756 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5757 short int var9 /* : Bool */;
5758 int cltype;
5759 int idtype;
5760 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5761 short int var10 /* : Bool */;
5762 int cltype11;
5763 int idtype12;
5764 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
5765 short int var13 /* : Bool */;
5766 int cltype14;
5767 int idtype15;
5768 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
5769 short int var16 /* : Bool */;
5770 int cltype17;
5771 int idtype18;
5772 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
5773 short int var19 /* : Bool */;
5774 int cltype20;
5775 int idtype21;
5776 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
5777 short int var22 /* : Bool */;
5778 int cltype23;
5779 int idtype24;
5780 val* var25 /* : AConcreteMethPropdef */;
5781 val* var26 /* : null */;
5782 val* var27 /* : null */;
5783 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteMethPropdef */;
5784 long var28 /* : Int */;
5785 long var29 /* : Int */;
5786 var_p = p0;
5787 var = NULL;
5788 var_node_list = var;
5789 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5790 var_nodearraylist8 = var1;
5791 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5792 var_nodearraylist7 = var2;
5793 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5794 var_nodearraylist6 = var3;
5795 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5796 var_nodearraylist5 = var4;
5797 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5798 var_nodearraylist4 = var5;
5799 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5800 var_nodearraylist3 = var6;
5801 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5802 var_nodearraylist2 = var7;
5803 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5804 var_nodearraylist1 = var8;
5805 var_pdocnode2 = var_nodearraylist1;
5806 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5807 cltype = type_nullable_parser_nodes__ADoc.color;
5808 idtype = type_nullable_parser_nodes__ADoc.id;
5809 if(var_pdocnode2 == NULL) {
5810 var9 = 1;
5811 } else {
5812 if(cltype >= var_pdocnode2->type->table_size) {
5813 var9 = 0;
5814 } else {
5815 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
5816 }
5817 }
5818 if (!var9) {
5819 fprintf(stderr, "Runtime error: %s", "Assert failed");
5820 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15680);
5821 show_backtrace(1);
5822 }
5823 var_pvisibilitynode4 = var_nodearraylist2;
5824 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5825 cltype11 = type_nullable_parser_nodes__AVisibility.color;
5826 idtype12 = type_nullable_parser_nodes__AVisibility.id;
5827 if(var_pvisibilitynode4 == NULL) {
5828 var10 = 1;
5829 } else {
5830 if(cltype11 >= var_pvisibilitynode4->type->table_size) {
5831 var10 = 0;
5832 } else {
5833 var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
5834 }
5835 }
5836 if (!var10) {
5837 fprintf(stderr, "Runtime error: %s", "Assert failed");
5838 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15682);
5839 show_backtrace(1);
5840 }
5841 var_tkwmethnode5 = var_nodearraylist3;
5842 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
5843 cltype14 = type_nullable_parser_nodes__TKwmeth.color;
5844 idtype15 = type_nullable_parser_nodes__TKwmeth.id;
5845 if(var_tkwmethnode5 == NULL) {
5846 var13 = 1;
5847 } else {
5848 if(cltype14 >= var_tkwmethnode5->type->table_size) {
5849 var13 = 0;
5850 } else {
5851 var13 = var_tkwmethnode5->type->type_table[cltype14] == idtype15;
5852 }
5853 }
5854 if (!var13) {
5855 fprintf(stderr, "Runtime error: %s", "Assert failed");
5856 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15684);
5857 show_backtrace(1);
5858 }
5859 var_pmethidnode6 = var_nodearraylist4;
5860 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
5861 cltype17 = type_nullable_parser_nodes__AMethid.color;
5862 idtype18 = type_nullable_parser_nodes__AMethid.id;
5863 if(var_pmethidnode6 == NULL) {
5864 var16 = 1;
5865 } else {
5866 if(cltype17 >= var_pmethidnode6->type->table_size) {
5867 var16 = 0;
5868 } else {
5869 var16 = var_pmethidnode6->type->type_table[cltype17] == idtype18;
5870 }
5871 }
5872 if (!var16) {
5873 fprintf(stderr, "Runtime error: %s", "Assert failed");
5874 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15686);
5875 show_backtrace(1);
5876 }
5877 var_psignaturenode7 = var_nodearraylist5;
5878 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
5879 cltype20 = type_nullable_parser_nodes__ASignature.color;
5880 idtype21 = type_nullable_parser_nodes__ASignature.id;
5881 if(var_psignaturenode7 == NULL) {
5882 var19 = 1;
5883 } else {
5884 if(cltype20 >= var_psignaturenode7->type->table_size) {
5885 var19 = 0;
5886 } else {
5887 var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
5888 }
5889 }
5890 if (!var19) {
5891 fprintf(stderr, "Runtime error: %s", "Assert failed");
5892 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15688);
5893 show_backtrace(1);
5894 }
5895 var_pexprnode9 = var_nodearraylist7;
5896 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
5897 cltype23 = type_nullable_parser_nodes__AExpr.color;
5898 idtype24 = type_nullable_parser_nodes__AExpr.id;
5899 if(var_pexprnode9 == NULL) {
5900 var22 = 1;
5901 } else {
5902 if(cltype23 >= var_pexprnode9->type->table_size) {
5903 var22 = 0;
5904 } else {
5905 var22 = var_pexprnode9->type->type_table[cltype23] == idtype24;
5906 }
5907 }
5908 if (!var22) {
5909 fprintf(stderr, "Runtime error: %s", "Assert failed");
5910 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15690);
5911 show_backtrace(1);
5912 }
5913 var25 = NEW_parser_nodes__AConcreteMethPropdef(&type_parser_nodes__AConcreteMethPropdef);
5914 var26 = NULL;
5915 var27 = NULL;
5916 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef]))(var25, var_pdocnode2, var26, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var27, var_pexprnode9) /* init_aconcretemethpropdef on <var25:AConcreteMethPropdef>*/;
5917 var_ppropdefnode1 = var25;
5918 var_node_list = var_ppropdefnode1;
5919 var28 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction349> */
5920 var29 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var28) /* go_to on <var_p:Parser>*/;
5921 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var29, var_node_list) /* push on <var_p:Parser>*/;
5922 RET_LABEL:;
5923 }
5924 /* method parser#ReduceAction349#action for (self: Object, Parser) */
5925 void VIRTUAL_parser__ReduceAction349__action(val* self, val* p0) {
5926 parser__ReduceAction349__action(self, p0);
5927 RET_LABEL:;
5928 }
5929 /* method parser#ReduceAction350#action for (self: ReduceAction350, Parser) */
5930 void parser__ReduceAction350__action(val* self, val* p0) {
5931 val* var_p /* var p: Parser */;
5932 val* var /* : null */;
5933 val* var_node_list /* var node_list: nullable Object */;
5934 val* var1 /* : nullable Object */;
5935 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5936 val* var2 /* : nullable Object */;
5937 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5938 val* var3 /* : nullable Object */;
5939 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5940 val* var4 /* : nullable Object */;
5941 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5942 val* var5 /* : nullable Object */;
5943 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5944 val* var6 /* : nullable Object */;
5945 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5946 val* var7 /* : nullable Object */;
5947 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5948 val* var8 /* : nullable Object */;
5949 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5950 val* var9 /* : nullable Object */;
5951 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5952 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5953 short int var10 /* : Bool */;
5954 int cltype;
5955 int idtype;
5956 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
5957 short int var11 /* : Bool */;
5958 int cltype12;
5959 int idtype13;
5960 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5961 short int var14 /* : Bool */;
5962 int cltype15;
5963 int idtype16;
5964 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
5965 short int var17 /* : Bool */;
5966 int cltype18;
5967 int idtype19;
5968 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
5969 short int var20 /* : Bool */;
5970 int cltype21;
5971 int idtype22;
5972 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
5973 short int var23 /* : Bool */;
5974 int cltype24;
5975 int idtype25;
5976 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
5977 short int var26 /* : Bool */;
5978 int cltype27;
5979 int idtype28;
5980 val* var29 /* : AConcreteMethPropdef */;
5981 val* var30 /* : null */;
5982 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteMethPropdef */;
5983 long var31 /* : Int */;
5984 long var32 /* : Int */;
5985 var_p = p0;
5986 var = NULL;
5987 var_node_list = var;
5988 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5989 var_nodearraylist9 = var1;
5990 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5991 var_nodearraylist8 = var2;
5992 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5993 var_nodearraylist7 = var3;
5994 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5995 var_nodearraylist6 = var4;
5996 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5997 var_nodearraylist5 = var5;
5998 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5999 var_nodearraylist4 = var6;
6000 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6001 var_nodearraylist3 = var7;
6002 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6003 var_nodearraylist2 = var8;
6004 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6005 var_nodearraylist1 = var9;
6006 var_pdocnode2 = var_nodearraylist1;
6007 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6008 cltype = type_nullable_parser_nodes__ADoc.color;
6009 idtype = type_nullable_parser_nodes__ADoc.id;
6010 if(var_pdocnode2 == NULL) {
6011 var10 = 1;
6012 } else {
6013 if(cltype >= var_pdocnode2->type->table_size) {
6014 var10 = 0;
6015 } else {
6016 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
6017 }
6018 }
6019 if (!var10) {
6020 fprintf(stderr, "Runtime error: %s", "Assert failed");
6021 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15720);
6022 show_backtrace(1);
6023 }
6024 var_tkwredefnode3 = var_nodearraylist2;
6025 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6026 cltype12 = type_nullable_parser_nodes__TKwredef.color;
6027 idtype13 = type_nullable_parser_nodes__TKwredef.id;
6028 if(var_tkwredefnode3 == NULL) {
6029 var11 = 1;
6030 } else {
6031 if(cltype12 >= var_tkwredefnode3->type->table_size) {
6032 var11 = 0;
6033 } else {
6034 var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
6035 }
6036 }
6037 if (!var11) {
6038 fprintf(stderr, "Runtime error: %s", "Assert failed");
6039 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15722);
6040 show_backtrace(1);
6041 }
6042 var_pvisibilitynode4 = var_nodearraylist3;
6043 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6044 cltype15 = type_nullable_parser_nodes__AVisibility.color;
6045 idtype16 = type_nullable_parser_nodes__AVisibility.id;
6046 if(var_pvisibilitynode4 == NULL) {
6047 var14 = 1;
6048 } else {
6049 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
6050 var14 = 0;
6051 } else {
6052 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
6053 }
6054 }
6055 if (!var14) {
6056 fprintf(stderr, "Runtime error: %s", "Assert failed");
6057 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15724);
6058 show_backtrace(1);
6059 }
6060 var_tkwmethnode5 = var_nodearraylist4;
6061 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
6062 cltype18 = type_nullable_parser_nodes__TKwmeth.color;
6063 idtype19 = type_nullable_parser_nodes__TKwmeth.id;
6064 if(var_tkwmethnode5 == NULL) {
6065 var17 = 1;
6066 } else {
6067 if(cltype18 >= var_tkwmethnode5->type->table_size) {
6068 var17 = 0;
6069 } else {
6070 var17 = var_tkwmethnode5->type->type_table[cltype18] == idtype19;
6071 }
6072 }
6073 if (!var17) {
6074 fprintf(stderr, "Runtime error: %s", "Assert failed");
6075 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15726);
6076 show_backtrace(1);
6077 }
6078 var_pmethidnode6 = var_nodearraylist5;
6079 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
6080 cltype21 = type_nullable_parser_nodes__AMethid.color;
6081 idtype22 = type_nullable_parser_nodes__AMethid.id;
6082 if(var_pmethidnode6 == NULL) {
6083 var20 = 1;
6084 } else {
6085 if(cltype21 >= var_pmethidnode6->type->table_size) {
6086 var20 = 0;
6087 } else {
6088 var20 = var_pmethidnode6->type->type_table[cltype21] == idtype22;
6089 }
6090 }
6091 if (!var20) {
6092 fprintf(stderr, "Runtime error: %s", "Assert failed");
6093 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15728);
6094 show_backtrace(1);
6095 }
6096 var_psignaturenode7 = var_nodearraylist6;
6097 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
6098 cltype24 = type_nullable_parser_nodes__ASignature.color;
6099 idtype25 = type_nullable_parser_nodes__ASignature.id;
6100 if(var_psignaturenode7 == NULL) {
6101 var23 = 1;
6102 } else {
6103 if(cltype24 >= var_psignaturenode7->type->table_size) {
6104 var23 = 0;
6105 } else {
6106 var23 = var_psignaturenode7->type->type_table[cltype24] == idtype25;
6107 }
6108 }
6109 if (!var23) {
6110 fprintf(stderr, "Runtime error: %s", "Assert failed");
6111 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15730);
6112 show_backtrace(1);
6113 }
6114 var_pexprnode9 = var_nodearraylist8;
6115 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
6116 cltype27 = type_nullable_parser_nodes__AExpr.color;
6117 idtype28 = type_nullable_parser_nodes__AExpr.id;
6118 if(var_pexprnode9 == NULL) {
6119 var26 = 1;
6120 } else {
6121 if(cltype27 >= var_pexprnode9->type->table_size) {
6122 var26 = 0;
6123 } else {
6124 var26 = var_pexprnode9->type->type_table[cltype27] == idtype28;
6125 }
6126 }
6127 if (!var26) {
6128 fprintf(stderr, "Runtime error: %s", "Assert failed");
6129 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15732);
6130 show_backtrace(1);
6131 }
6132 var29 = NEW_parser_nodes__AConcreteMethPropdef(&type_parser_nodes__AConcreteMethPropdef);
6133 var30 = NULL;
6134 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef]))(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var30, var_pexprnode9) /* init_aconcretemethpropdef on <var29:AConcreteMethPropdef>*/;
6135 var_ppropdefnode1 = var29;
6136 var_node_list = var_ppropdefnode1;
6137 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction350> */
6138 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
6139 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
6140 RET_LABEL:;
6141 }
6142 /* method parser#ReduceAction350#action for (self: Object, Parser) */
6143 void VIRTUAL_parser__ReduceAction350__action(val* self, val* p0) {
6144 parser__ReduceAction350__action(self, p0);
6145 RET_LABEL:;
6146 }
6147 /* method parser#ReduceAction351#action for (self: ReduceAction351, Parser) */
6148 void parser__ReduceAction351__action(val* self, val* p0) {
6149 val* var_p /* var p: Parser */;
6150 val* var /* : null */;
6151 val* var_node_list /* var node_list: nullable Object */;
6152 val* var1 /* : nullable Object */;
6153 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6154 val* var2 /* : nullable Object */;
6155 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6156 val* var3 /* : nullable Object */;
6157 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6158 val* var4 /* : nullable Object */;
6159 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6160 val* var5 /* : nullable Object */;
6161 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6162 val* var6 /* : nullable Object */;
6163 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6164 val* var7 /* : nullable Object */;
6165 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6166 val* var8 /* : nullable Object */;
6167 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6168 val* var9 /* : nullable Object */;
6169 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6170 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6171 short int var10 /* : Bool */;
6172 int cltype;
6173 int idtype;
6174 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6175 short int var11 /* : Bool */;
6176 int cltype12;
6177 int idtype13;
6178 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
6179 short int var14 /* : Bool */;
6180 int cltype15;
6181 int idtype16;
6182 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
6183 short int var17 /* : Bool */;
6184 int cltype18;
6185 int idtype19;
6186 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
6187 short int var20 /* : Bool */;
6188 int cltype21;
6189 int idtype22;
6190 val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */;
6191 short int var23 /* : Bool */;
6192 int cltype24;
6193 int idtype25;
6194 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
6195 short int var26 /* : Bool */;
6196 int cltype27;
6197 int idtype28;
6198 val* var29 /* : AConcreteMethPropdef */;
6199 val* var30 /* : null */;
6200 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteMethPropdef */;
6201 long var31 /* : Int */;
6202 long var32 /* : Int */;
6203 var_p = p0;
6204 var = NULL;
6205 var_node_list = var;
6206 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6207 var_nodearraylist9 = var1;
6208 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6209 var_nodearraylist8 = var2;
6210 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6211 var_nodearraylist7 = var3;
6212 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6213 var_nodearraylist6 = var4;
6214 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6215 var_nodearraylist5 = var5;
6216 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6217 var_nodearraylist4 = var6;
6218 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6219 var_nodearraylist3 = var7;
6220 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6221 var_nodearraylist2 = var8;
6222 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6223 var_nodearraylist1 = var9;
6224 var_pdocnode2 = var_nodearraylist1;
6225 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6226 cltype = type_nullable_parser_nodes__ADoc.color;
6227 idtype = type_nullable_parser_nodes__ADoc.id;
6228 if(var_pdocnode2 == NULL) {
6229 var10 = 1;
6230 } else {
6231 if(cltype >= var_pdocnode2->type->table_size) {
6232 var10 = 0;
6233 } else {
6234 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
6235 }
6236 }
6237 if (!var10) {
6238 fprintf(stderr, "Runtime error: %s", "Assert failed");
6239 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15762);
6240 show_backtrace(1);
6241 }
6242 var_pvisibilitynode4 = var_nodearraylist2;
6243 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6244 cltype12 = type_nullable_parser_nodes__AVisibility.color;
6245 idtype13 = type_nullable_parser_nodes__AVisibility.id;
6246 if(var_pvisibilitynode4 == NULL) {
6247 var11 = 1;
6248 } else {
6249 if(cltype12 >= var_pvisibilitynode4->type->table_size) {
6250 var11 = 0;
6251 } else {
6252 var11 = var_pvisibilitynode4->type->type_table[cltype12] == idtype13;
6253 }
6254 }
6255 if (!var11) {
6256 fprintf(stderr, "Runtime error: %s", "Assert failed");
6257 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15764);
6258 show_backtrace(1);
6259 }
6260 var_tkwmethnode5 = var_nodearraylist3;
6261 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
6262 cltype15 = type_nullable_parser_nodes__TKwmeth.color;
6263 idtype16 = type_nullable_parser_nodes__TKwmeth.id;
6264 if(var_tkwmethnode5 == NULL) {
6265 var14 = 1;
6266 } else {
6267 if(cltype15 >= var_tkwmethnode5->type->table_size) {
6268 var14 = 0;
6269 } else {
6270 var14 = var_tkwmethnode5->type->type_table[cltype15] == idtype16;
6271 }
6272 }
6273 if (!var14) {
6274 fprintf(stderr, "Runtime error: %s", "Assert failed");
6275 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15766);
6276 show_backtrace(1);
6277 }
6278 var_pmethidnode6 = var_nodearraylist4;
6279 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
6280 cltype18 = type_nullable_parser_nodes__AMethid.color;
6281 idtype19 = type_nullable_parser_nodes__AMethid.id;
6282 if(var_pmethidnode6 == NULL) {
6283 var17 = 1;
6284 } else {
6285 if(cltype18 >= var_pmethidnode6->type->table_size) {
6286 var17 = 0;
6287 } else {
6288 var17 = var_pmethidnode6->type->type_table[cltype18] == idtype19;
6289 }
6290 }
6291 if (!var17) {
6292 fprintf(stderr, "Runtime error: %s", "Assert failed");
6293 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15768);
6294 show_backtrace(1);
6295 }
6296 var_psignaturenode7 = var_nodearraylist5;
6297 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
6298 cltype21 = type_nullable_parser_nodes__ASignature.color;
6299 idtype22 = type_nullable_parser_nodes__ASignature.id;
6300 if(var_psignaturenode7 == NULL) {
6301 var20 = 1;
6302 } else {
6303 if(cltype21 >= var_psignaturenode7->type->table_size) {
6304 var20 = 0;
6305 } else {
6306 var20 = var_psignaturenode7->type->type_table[cltype21] == idtype22;
6307 }
6308 }
6309 if (!var20) {
6310 fprintf(stderr, "Runtime error: %s", "Assert failed");
6311 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15770);
6312 show_backtrace(1);
6313 }
6314 var_pannotationsnode8 = var_nodearraylist6;
6315 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
6316 cltype24 = type_nullable_parser_nodes__AAnnotations.color;
6317 idtype25 = type_nullable_parser_nodes__AAnnotations.id;
6318 if(var_pannotationsnode8 == NULL) {
6319 var23 = 1;
6320 } else {
6321 if(cltype24 >= var_pannotationsnode8->type->table_size) {
6322 var23 = 0;
6323 } else {
6324 var23 = var_pannotationsnode8->type->type_table[cltype24] == idtype25;
6325 }
6326 }
6327 if (!var23) {
6328 fprintf(stderr, "Runtime error: %s", "Assert failed");
6329 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15772);
6330 show_backtrace(1);
6331 }
6332 var_pexprnode9 = var_nodearraylist8;
6333 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
6334 cltype27 = type_nullable_parser_nodes__AExpr.color;
6335 idtype28 = type_nullable_parser_nodes__AExpr.id;
6336 if(var_pexprnode9 == NULL) {
6337 var26 = 1;
6338 } else {
6339 if(cltype27 >= var_pexprnode9->type->table_size) {
6340 var26 = 0;
6341 } else {
6342 var26 = var_pexprnode9->type->type_table[cltype27] == idtype28;
6343 }
6344 }
6345 if (!var26) {
6346 fprintf(stderr, "Runtime error: %s", "Assert failed");
6347 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15774);
6348 show_backtrace(1);
6349 }
6350 var29 = NEW_parser_nodes__AConcreteMethPropdef(&type_parser_nodes__AConcreteMethPropdef);
6351 var30 = NULL;
6352 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef]))(var29, var_pdocnode2, var30, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_pannotationsnode8, var_pexprnode9) /* init_aconcretemethpropdef on <var29:AConcreteMethPropdef>*/;
6353 var_ppropdefnode1 = var29;
6354 var_node_list = var_ppropdefnode1;
6355 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction351> */
6356 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
6357 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
6358 RET_LABEL:;
6359 }
6360 /* method parser#ReduceAction351#action for (self: Object, Parser) */
6361 void VIRTUAL_parser__ReduceAction351__action(val* self, val* p0) {
6362 parser__ReduceAction351__action(self, p0);
6363 RET_LABEL:;
6364 }
6365 /* method parser#ReduceAction352#action for (self: ReduceAction352, Parser) */
6366 void parser__ReduceAction352__action(val* self, val* p0) {
6367 val* var_p /* var p: Parser */;
6368 val* var /* : null */;
6369 val* var_node_list /* var node_list: nullable Object */;
6370 val* var1 /* : nullable Object */;
6371 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6372 val* var2 /* : nullable Object */;
6373 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6374 val* var3 /* : nullable Object */;
6375 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6376 val* var4 /* : nullable Object */;
6377 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6378 val* var5 /* : nullable Object */;
6379 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6380 val* var6 /* : nullable Object */;
6381 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6382 val* var7 /* : nullable Object */;
6383 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6384 val* var8 /* : nullable Object */;
6385 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6386 val* var9 /* : nullable Object */;
6387 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6388 val* var10 /* : nullable Object */;
6389 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6390 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6391 short int var11 /* : Bool */;
6392 int cltype;
6393 int idtype;
6394 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
6395 short int var12 /* : Bool */;
6396 int cltype13;
6397 int idtype14;
6398 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6399 short int var15 /* : Bool */;
6400 int cltype16;
6401 int idtype17;
6402 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
6403 short int var18 /* : Bool */;
6404 int cltype19;
6405 int idtype20;
6406 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
6407 short int var21 /* : Bool */;
6408 int cltype22;
6409 int idtype23;
6410 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
6411 short int var24 /* : Bool */;
6412 int cltype25;
6413 int idtype26;
6414 val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */;
6415 short int var27 /* : Bool */;
6416 int cltype28;
6417 int idtype29;
6418 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
6419 short int var30 /* : Bool */;
6420 int cltype31;
6421 int idtype32;
6422 val* var33 /* : AConcreteMethPropdef */;
6423 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteMethPropdef */;
6424 long var34 /* : Int */;
6425 long var35 /* : Int */;
6426 var_p = p0;
6427 var = NULL;
6428 var_node_list = var;
6429 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6430 var_nodearraylist10 = var1;
6431 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6432 var_nodearraylist9 = var2;
6433 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6434 var_nodearraylist8 = var3;
6435 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6436 var_nodearraylist7 = var4;
6437 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6438 var_nodearraylist6 = var5;
6439 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6440 var_nodearraylist5 = var6;
6441 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6442 var_nodearraylist4 = var7;
6443 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6444 var_nodearraylist3 = var8;
6445 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6446 var_nodearraylist2 = var9;
6447 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6448 var_nodearraylist1 = var10;
6449 var_pdocnode2 = var_nodearraylist1;
6450 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6451 cltype = type_nullable_parser_nodes__ADoc.color;
6452 idtype = type_nullable_parser_nodes__ADoc.id;
6453 if(var_pdocnode2 == NULL) {
6454 var11 = 1;
6455 } else {
6456 if(cltype >= var_pdocnode2->type->table_size) {
6457 var11 = 0;
6458 } else {
6459 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
6460 }
6461 }
6462 if (!var11) {
6463 fprintf(stderr, "Runtime error: %s", "Assert failed");
6464 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15805);
6465 show_backtrace(1);
6466 }
6467 var_tkwredefnode3 = var_nodearraylist2;
6468 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6469 cltype13 = type_nullable_parser_nodes__TKwredef.color;
6470 idtype14 = type_nullable_parser_nodes__TKwredef.id;
6471 if(var_tkwredefnode3 == NULL) {
6472 var12 = 1;
6473 } else {
6474 if(cltype13 >= var_tkwredefnode3->type->table_size) {
6475 var12 = 0;
6476 } else {
6477 var12 = var_tkwredefnode3->type->type_table[cltype13] == idtype14;
6478 }
6479 }
6480 if (!var12) {
6481 fprintf(stderr, "Runtime error: %s", "Assert failed");
6482 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15807);
6483 show_backtrace(1);
6484 }
6485 var_pvisibilitynode4 = var_nodearraylist3;
6486 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6487 cltype16 = type_nullable_parser_nodes__AVisibility.color;
6488 idtype17 = type_nullable_parser_nodes__AVisibility.id;
6489 if(var_pvisibilitynode4 == NULL) {
6490 var15 = 1;
6491 } else {
6492 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
6493 var15 = 0;
6494 } else {
6495 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
6496 }
6497 }
6498 if (!var15) {
6499 fprintf(stderr, "Runtime error: %s", "Assert failed");
6500 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15809);
6501 show_backtrace(1);
6502 }
6503 var_tkwmethnode5 = var_nodearraylist4;
6504 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
6505 cltype19 = type_nullable_parser_nodes__TKwmeth.color;
6506 idtype20 = type_nullable_parser_nodes__TKwmeth.id;
6507 if(var_tkwmethnode5 == NULL) {
6508 var18 = 1;
6509 } else {
6510 if(cltype19 >= var_tkwmethnode5->type->table_size) {
6511 var18 = 0;
6512 } else {
6513 var18 = var_tkwmethnode5->type->type_table[cltype19] == idtype20;
6514 }
6515 }
6516 if (!var18) {
6517 fprintf(stderr, "Runtime error: %s", "Assert failed");
6518 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15811);
6519 show_backtrace(1);
6520 }
6521 var_pmethidnode6 = var_nodearraylist5;
6522 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
6523 cltype22 = type_nullable_parser_nodes__AMethid.color;
6524 idtype23 = type_nullable_parser_nodes__AMethid.id;
6525 if(var_pmethidnode6 == NULL) {
6526 var21 = 1;
6527 } else {
6528 if(cltype22 >= var_pmethidnode6->type->table_size) {
6529 var21 = 0;
6530 } else {
6531 var21 = var_pmethidnode6->type->type_table[cltype22] == idtype23;
6532 }
6533 }
6534 if (!var21) {
6535 fprintf(stderr, "Runtime error: %s", "Assert failed");
6536 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15813);
6537 show_backtrace(1);
6538 }
6539 var_psignaturenode7 = var_nodearraylist6;
6540 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
6541 cltype25 = type_nullable_parser_nodes__ASignature.color;
6542 idtype26 = type_nullable_parser_nodes__ASignature.id;
6543 if(var_psignaturenode7 == NULL) {
6544 var24 = 1;
6545 } else {
6546 if(cltype25 >= var_psignaturenode7->type->table_size) {
6547 var24 = 0;
6548 } else {
6549 var24 = var_psignaturenode7->type->type_table[cltype25] == idtype26;
6550 }
6551 }
6552 if (!var24) {
6553 fprintf(stderr, "Runtime error: %s", "Assert failed");
6554 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15815);
6555 show_backtrace(1);
6556 }
6557 var_pannotationsnode8 = var_nodearraylist7;
6558 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
6559 cltype28 = type_nullable_parser_nodes__AAnnotations.color;
6560 idtype29 = type_nullable_parser_nodes__AAnnotations.id;
6561 if(var_pannotationsnode8 == NULL) {
6562 var27 = 1;
6563 } else {
6564 if(cltype28 >= var_pannotationsnode8->type->table_size) {
6565 var27 = 0;
6566 } else {
6567 var27 = var_pannotationsnode8->type->type_table[cltype28] == idtype29;
6568 }
6569 }
6570 if (!var27) {
6571 fprintf(stderr, "Runtime error: %s", "Assert failed");
6572 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15817);
6573 show_backtrace(1);
6574 }
6575 var_pexprnode9 = var_nodearraylist9;
6576 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
6577 cltype31 = type_nullable_parser_nodes__AExpr.color;
6578 idtype32 = type_nullable_parser_nodes__AExpr.id;
6579 if(var_pexprnode9 == NULL) {
6580 var30 = 1;
6581 } else {
6582 if(cltype31 >= var_pexprnode9->type->table_size) {
6583 var30 = 0;
6584 } else {
6585 var30 = var_pexprnode9->type->type_table[cltype31] == idtype32;
6586 }
6587 }
6588 if (!var30) {
6589 fprintf(stderr, "Runtime error: %s", "Assert failed");
6590 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15819);
6591 show_backtrace(1);
6592 }
6593 var33 = NEW_parser_nodes__AConcreteMethPropdef(&type_parser_nodes__AConcreteMethPropdef);
6594 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef]))(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_pannotationsnode8, var_pexprnode9) /* init_aconcretemethpropdef on <var33:AConcreteMethPropdef>*/;
6595 var_ppropdefnode1 = var33;
6596 var_node_list = var_ppropdefnode1;
6597 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction352> */
6598 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
6599 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
6600 RET_LABEL:;
6601 }
6602 /* method parser#ReduceAction352#action for (self: Object, Parser) */
6603 void VIRTUAL_parser__ReduceAction352__action(val* self, val* p0) {
6604 parser__ReduceAction352__action(self, p0);
6605 RET_LABEL:;
6606 }
6607 /* method parser#ReduceAction353#action for (self: ReduceAction353, Parser) */
6608 void parser__ReduceAction353__action(val* self, val* p0) {
6609 val* var_p /* var p: Parser */;
6610 val* var /* : null */;
6611 val* var_node_list /* var node_list: nullable Object */;
6612 val* var1 /* : nullable Object */;
6613 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6614 val* var2 /* : nullable Object */;
6615 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6616 val* var3 /* : nullable Object */;
6617 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6618 val* var4 /* : nullable Object */;
6619 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6620 val* var5 /* : nullable Object */;
6621 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6622 val* var6 /* : nullable Object */;
6623 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6624 val* var7 /* : nullable Object */;
6625 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6626 val* var8 /* : nullable Object */;
6627 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6628 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6629 short int var9 /* : Bool */;
6630 int cltype;
6631 int idtype;
6632 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6633 short int var10 /* : Bool */;
6634 int cltype11;
6635 int idtype12;
6636 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
6637 short int var13 /* : Bool */;
6638 int cltype14;
6639 int idtype15;
6640 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
6641 short int var16 /* : Bool */;
6642 int cltype17;
6643 int idtype18;
6644 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
6645 short int var19 /* : Bool */;
6646 int cltype20;
6647 int idtype21;
6648 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
6649 short int var22 /* : Bool */;
6650 int cltype23;
6651 int idtype24;
6652 val* var25 /* : AConcreteMethPropdef */;
6653 val* var26 /* : null */;
6654 val* var27 /* : null */;
6655 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteMethPropdef */;
6656 long var28 /* : Int */;
6657 long var29 /* : Int */;
6658 var_p = p0;
6659 var = NULL;
6660 var_node_list = var;
6661 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6662 var_nodearraylist8 = var1;
6663 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6664 var_nodearraylist7 = var2;
6665 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6666 var_nodearraylist6 = var3;
6667 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6668 var_nodearraylist5 = var4;
6669 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6670 var_nodearraylist4 = var5;
6671 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6672 var_nodearraylist3 = var6;
6673 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6674 var_nodearraylist2 = var7;
6675 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6676 var_nodearraylist1 = var8;
6677 var_pdocnode2 = var_nodearraylist1;
6678 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6679 cltype = type_nullable_parser_nodes__ADoc.color;
6680 idtype = type_nullable_parser_nodes__ADoc.id;
6681 if(var_pdocnode2 == NULL) {
6682 var9 = 1;
6683 } else {
6684 if(cltype >= var_pdocnode2->type->table_size) {
6685 var9 = 0;
6686 } else {
6687 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
6688 }
6689 }
6690 if (!var9) {
6691 fprintf(stderr, "Runtime error: %s", "Assert failed");
6692 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15848);
6693 show_backtrace(1);
6694 }
6695 var_pvisibilitynode4 = var_nodearraylist2;
6696 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6697 cltype11 = type_nullable_parser_nodes__AVisibility.color;
6698 idtype12 = type_nullable_parser_nodes__AVisibility.id;
6699 if(var_pvisibilitynode4 == NULL) {
6700 var10 = 1;
6701 } else {
6702 if(cltype11 >= var_pvisibilitynode4->type->table_size) {
6703 var10 = 0;
6704 } else {
6705 var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
6706 }
6707 }
6708 if (!var10) {
6709 fprintf(stderr, "Runtime error: %s", "Assert failed");
6710 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15850);
6711 show_backtrace(1);
6712 }
6713 var_tkwmethnode5 = var_nodearraylist3;
6714 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
6715 cltype14 = type_nullable_parser_nodes__TKwmeth.color;
6716 idtype15 = type_nullable_parser_nodes__TKwmeth.id;
6717 if(var_tkwmethnode5 == NULL) {
6718 var13 = 1;
6719 } else {
6720 if(cltype14 >= var_tkwmethnode5->type->table_size) {
6721 var13 = 0;
6722 } else {
6723 var13 = var_tkwmethnode5->type->type_table[cltype14] == idtype15;
6724 }
6725 }
6726 if (!var13) {
6727 fprintf(stderr, "Runtime error: %s", "Assert failed");
6728 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15852);
6729 show_backtrace(1);
6730 }
6731 var_pmethidnode6 = var_nodearraylist4;
6732 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
6733 cltype17 = type_nullable_parser_nodes__AMethid.color;
6734 idtype18 = type_nullable_parser_nodes__AMethid.id;
6735 if(var_pmethidnode6 == NULL) {
6736 var16 = 1;
6737 } else {
6738 if(cltype17 >= var_pmethidnode6->type->table_size) {
6739 var16 = 0;
6740 } else {
6741 var16 = var_pmethidnode6->type->type_table[cltype17] == idtype18;
6742 }
6743 }
6744 if (!var16) {
6745 fprintf(stderr, "Runtime error: %s", "Assert failed");
6746 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15854);
6747 show_backtrace(1);
6748 }
6749 var_psignaturenode7 = var_nodearraylist5;
6750 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
6751 cltype20 = type_nullable_parser_nodes__ASignature.color;
6752 idtype21 = type_nullable_parser_nodes__ASignature.id;
6753 if(var_psignaturenode7 == NULL) {
6754 var19 = 1;
6755 } else {
6756 if(cltype20 >= var_psignaturenode7->type->table_size) {
6757 var19 = 0;
6758 } else {
6759 var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
6760 }
6761 }
6762 if (!var19) {
6763 fprintf(stderr, "Runtime error: %s", "Assert failed");
6764 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15856);
6765 show_backtrace(1);
6766 }
6767 var_pexprnode9 = var_nodearraylist8;
6768 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
6769 cltype23 = type_nullable_parser_nodes__AExpr.color;
6770 idtype24 = type_nullable_parser_nodes__AExpr.id;
6771 if(var_pexprnode9 == NULL) {
6772 var22 = 1;
6773 } else {
6774 if(cltype23 >= var_pexprnode9->type->table_size) {
6775 var22 = 0;
6776 } else {
6777 var22 = var_pexprnode9->type->type_table[cltype23] == idtype24;
6778 }
6779 }
6780 if (!var22) {
6781 fprintf(stderr, "Runtime error: %s", "Assert failed");
6782 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15858);
6783 show_backtrace(1);
6784 }
6785 var25 = NEW_parser_nodes__AConcreteMethPropdef(&type_parser_nodes__AConcreteMethPropdef);
6786 var26 = NULL;
6787 var27 = NULL;
6788 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef]))(var25, var_pdocnode2, var26, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var27, var_pexprnode9) /* init_aconcretemethpropdef on <var25:AConcreteMethPropdef>*/;
6789 var_ppropdefnode1 = var25;
6790 var_node_list = var_ppropdefnode1;
6791 var28 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction353> */
6792 var29 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var28) /* go_to on <var_p:Parser>*/;
6793 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var29, var_node_list) /* push on <var_p:Parser>*/;
6794 RET_LABEL:;
6795 }
6796 /* method parser#ReduceAction353#action for (self: Object, Parser) */
6797 void VIRTUAL_parser__ReduceAction353__action(val* self, val* p0) {
6798 parser__ReduceAction353__action(self, p0);
6799 RET_LABEL:;
6800 }
6801 /* method parser#ReduceAction354#action for (self: ReduceAction354, Parser) */
6802 void parser__ReduceAction354__action(val* self, val* p0) {
6803 val* var_p /* var p: Parser */;
6804 val* var /* : null */;
6805 val* var_node_list /* var node_list: nullable Object */;
6806 val* var1 /* : nullable Object */;
6807 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6808 val* var2 /* : nullable Object */;
6809 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6810 val* var3 /* : nullable Object */;
6811 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6812 val* var4 /* : nullable Object */;
6813 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6814 val* var5 /* : nullable Object */;
6815 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6816 val* var6 /* : nullable Object */;
6817 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6818 val* var7 /* : nullable Object */;
6819 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6820 val* var8 /* : nullable Object */;
6821 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6822 val* var9 /* : nullable Object */;
6823 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6824 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6825 short int var10 /* : Bool */;
6826 int cltype;
6827 int idtype;
6828 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
6829 short int var11 /* : Bool */;
6830 int cltype12;
6831 int idtype13;
6832 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6833 short int var14 /* : Bool */;
6834 int cltype15;
6835 int idtype16;
6836 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
6837 short int var17 /* : Bool */;
6838 int cltype18;
6839 int idtype19;
6840 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
6841 short int var20 /* : Bool */;
6842 int cltype21;
6843 int idtype22;
6844 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
6845 short int var23 /* : Bool */;
6846 int cltype24;
6847 int idtype25;
6848 val* var_pexprnode9 /* var pexprnode9: nullable Object */;
6849 short int var26 /* : Bool */;
6850 int cltype27;
6851 int idtype28;
6852 val* var29 /* : AConcreteMethPropdef */;
6853 val* var30 /* : null */;
6854 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AConcreteMethPropdef */;
6855 long var31 /* : Int */;
6856 long var32 /* : Int */;
6857 var_p = p0;
6858 var = NULL;
6859 var_node_list = var;
6860 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6861 var_nodearraylist9 = var1;
6862 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6863 var_nodearraylist8 = var2;
6864 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6865 var_nodearraylist7 = var3;
6866 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6867 var_nodearraylist6 = var4;
6868 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6869 var_nodearraylist5 = var5;
6870 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6871 var_nodearraylist4 = var6;
6872 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6873 var_nodearraylist3 = var7;
6874 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6875 var_nodearraylist2 = var8;
6876 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6877 var_nodearraylist1 = var9;
6878 var_pdocnode2 = var_nodearraylist1;
6879 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6880 cltype = type_nullable_parser_nodes__ADoc.color;
6881 idtype = type_nullable_parser_nodes__ADoc.id;
6882 if(var_pdocnode2 == NULL) {
6883 var10 = 1;
6884 } else {
6885 if(cltype >= var_pdocnode2->type->table_size) {
6886 var10 = 0;
6887 } else {
6888 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
6889 }
6890 }
6891 if (!var10) {
6892 fprintf(stderr, "Runtime error: %s", "Assert failed");
6893 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15888);
6894 show_backtrace(1);
6895 }
6896 var_tkwredefnode3 = var_nodearraylist2;
6897 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6898 cltype12 = type_nullable_parser_nodes__TKwredef.color;
6899 idtype13 = type_nullable_parser_nodes__TKwredef.id;
6900 if(var_tkwredefnode3 == NULL) {
6901 var11 = 1;
6902 } else {
6903 if(cltype12 >= var_tkwredefnode3->type->table_size) {
6904 var11 = 0;
6905 } else {
6906 var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
6907 }
6908 }
6909 if (!var11) {
6910 fprintf(stderr, "Runtime error: %s", "Assert failed");
6911 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15890);
6912 show_backtrace(1);
6913 }
6914 var_pvisibilitynode4 = var_nodearraylist3;
6915 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6916 cltype15 = type_nullable_parser_nodes__AVisibility.color;
6917 idtype16 = type_nullable_parser_nodes__AVisibility.id;
6918 if(var_pvisibilitynode4 == NULL) {
6919 var14 = 1;
6920 } else {
6921 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
6922 var14 = 0;
6923 } else {
6924 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
6925 }
6926 }
6927 if (!var14) {
6928 fprintf(stderr, "Runtime error: %s", "Assert failed");
6929 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15892);
6930 show_backtrace(1);
6931 }
6932 var_tkwmethnode5 = var_nodearraylist4;
6933 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
6934 cltype18 = type_nullable_parser_nodes__TKwmeth.color;
6935 idtype19 = type_nullable_parser_nodes__TKwmeth.id;
6936 if(var_tkwmethnode5 == NULL) {
6937 var17 = 1;
6938 } else {
6939 if(cltype18 >= var_tkwmethnode5->type->table_size) {
6940 var17 = 0;
6941 } else {
6942 var17 = var_tkwmethnode5->type->type_table[cltype18] == idtype19;
6943 }
6944 }
6945 if (!var17) {
6946 fprintf(stderr, "Runtime error: %s", "Assert failed");
6947 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15894);
6948 show_backtrace(1);
6949 }
6950 var_pmethidnode6 = var_nodearraylist5;
6951 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
6952 cltype21 = type_nullable_parser_nodes__AMethid.color;
6953 idtype22 = type_nullable_parser_nodes__AMethid.id;
6954 if(var_pmethidnode6 == NULL) {
6955 var20 = 1;
6956 } else {
6957 if(cltype21 >= var_pmethidnode6->type->table_size) {
6958 var20 = 0;
6959 } else {
6960 var20 = var_pmethidnode6->type->type_table[cltype21] == idtype22;
6961 }
6962 }
6963 if (!var20) {
6964 fprintf(stderr, "Runtime error: %s", "Assert failed");
6965 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15896);
6966 show_backtrace(1);
6967 }
6968 var_psignaturenode7 = var_nodearraylist6;
6969 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
6970 cltype24 = type_nullable_parser_nodes__ASignature.color;
6971 idtype25 = type_nullable_parser_nodes__ASignature.id;
6972 if(var_psignaturenode7 == NULL) {
6973 var23 = 1;
6974 } else {
6975 if(cltype24 >= var_psignaturenode7->type->table_size) {
6976 var23 = 0;
6977 } else {
6978 var23 = var_psignaturenode7->type->type_table[cltype24] == idtype25;
6979 }
6980 }
6981 if (!var23) {
6982 fprintf(stderr, "Runtime error: %s", "Assert failed");
6983 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15898);
6984 show_backtrace(1);
6985 }
6986 var_pexprnode9 = var_nodearraylist9;
6987 /* <var_pexprnode9:nullable Object> isa nullable AExpr */
6988 cltype27 = type_nullable_parser_nodes__AExpr.color;
6989 idtype28 = type_nullable_parser_nodes__AExpr.id;
6990 if(var_pexprnode9 == NULL) {
6991 var26 = 1;
6992 } else {
6993 if(cltype27 >= var_pexprnode9->type->table_size) {
6994 var26 = 0;
6995 } else {
6996 var26 = var_pexprnode9->type->type_table[cltype27] == idtype28;
6997 }
6998 }
6999 if (!var26) {
7000 fprintf(stderr, "Runtime error: %s", "Assert failed");
7001 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15900);
7002 show_backtrace(1);
7003 }
7004 var29 = NEW_parser_nodes__AConcreteMethPropdef(&type_parser_nodes__AConcreteMethPropdef);
7005 var30 = NULL;
7006 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AConcreteMethPropdef__init_aconcretemethpropdef]))(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var30, var_pexprnode9) /* init_aconcretemethpropdef on <var29:AConcreteMethPropdef>*/;
7007 var_ppropdefnode1 = var29;
7008 var_node_list = var_ppropdefnode1;
7009 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction354> */
7010 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
7011 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
7012 RET_LABEL:;
7013 }
7014 /* method parser#ReduceAction354#action for (self: Object, Parser) */
7015 void VIRTUAL_parser__ReduceAction354__action(val* self, val* p0) {
7016 parser__ReduceAction354__action(self, p0);
7017 RET_LABEL:;
7018 }
7019 /* method parser#ReduceAction355#action for (self: ReduceAction355, Parser) */
7020 void parser__ReduceAction355__action(val* self, val* p0) {
7021 val* var_p /* var p: Parser */;
7022 val* var /* : null */;
7023 val* var_node_list /* var node_list: nullable Object */;
7024 val* var1 /* : nullable Object */;
7025 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7026 val* var2 /* : nullable Object */;
7027 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7028 val* var3 /* : nullable Object */;
7029 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7030 val* var4 /* : nullable Object */;
7031 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7032 val* var5 /* : nullable Object */;
7033 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7034 val* var6 /* : nullable Object */;
7035 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7036 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7037 short int var7 /* : Bool */;
7038 int cltype;
7039 int idtype;
7040 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7041 short int var8 /* : Bool */;
7042 int cltype9;
7043 int idtype10;
7044 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
7045 short int var11 /* : Bool */;
7046 int cltype12;
7047 int idtype13;
7048 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
7049 short int var14 /* : Bool */;
7050 int cltype15;
7051 int idtype16;
7052 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
7053 short int var17 /* : Bool */;
7054 int cltype18;
7055 int idtype19;
7056 val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */;
7057 short int var20 /* : Bool */;
7058 int cltype21;
7059 int idtype22;
7060 val* var23 /* : ADeferredMethPropdef */;
7061 val* var24 /* : null */;
7062 val* var_ppropdefnode1 /* var ppropdefnode1: nullable ADeferredMethPropdef */;
7063 long var25 /* : Int */;
7064 long var26 /* : Int */;
7065 var_p = p0;
7066 var = NULL;
7067 var_node_list = var;
7068 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7069 var_nodearraylist6 = var1;
7070 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7071 var_nodearraylist5 = var2;
7072 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7073 var_nodearraylist4 = var3;
7074 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7075 var_nodearraylist3 = var4;
7076 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7077 var_nodearraylist2 = var5;
7078 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7079 var_nodearraylist1 = var6;
7080 var_pdocnode2 = var_nodearraylist1;
7081 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7082 cltype = type_nullable_parser_nodes__ADoc.color;
7083 idtype = type_nullable_parser_nodes__ADoc.id;
7084 if(var_pdocnode2 == NULL) {
7085 var7 = 1;
7086 } else {
7087 if(cltype >= var_pdocnode2->type->table_size) {
7088 var7 = 0;
7089 } else {
7090 var7 = var_pdocnode2->type->type_table[cltype] == idtype;
7091 }
7092 }
7093 if (!var7) {
7094 fprintf(stderr, "Runtime error: %s", "Assert failed");
7095 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15927);
7096 show_backtrace(1);
7097 }
7098 var_pvisibilitynode4 = var_nodearraylist2;
7099 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7100 cltype9 = type_nullable_parser_nodes__AVisibility.color;
7101 idtype10 = type_nullable_parser_nodes__AVisibility.id;
7102 if(var_pvisibilitynode4 == NULL) {
7103 var8 = 1;
7104 } else {
7105 if(cltype9 >= var_pvisibilitynode4->type->table_size) {
7106 var8 = 0;
7107 } else {
7108 var8 = var_pvisibilitynode4->type->type_table[cltype9] == idtype10;
7109 }
7110 }
7111 if (!var8) {
7112 fprintf(stderr, "Runtime error: %s", "Assert failed");
7113 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15929);
7114 show_backtrace(1);
7115 }
7116 var_tkwmethnode5 = var_nodearraylist3;
7117 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
7118 cltype12 = type_nullable_parser_nodes__TKwmeth.color;
7119 idtype13 = type_nullable_parser_nodes__TKwmeth.id;
7120 if(var_tkwmethnode5 == NULL) {
7121 var11 = 1;
7122 } else {
7123 if(cltype12 >= var_tkwmethnode5->type->table_size) {
7124 var11 = 0;
7125 } else {
7126 var11 = var_tkwmethnode5->type->type_table[cltype12] == idtype13;
7127 }
7128 }
7129 if (!var11) {
7130 fprintf(stderr, "Runtime error: %s", "Assert failed");
7131 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15931);
7132 show_backtrace(1);
7133 }
7134 var_pmethidnode6 = var_nodearraylist4;
7135 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
7136 cltype15 = type_nullable_parser_nodes__AMethid.color;
7137 idtype16 = type_nullable_parser_nodes__AMethid.id;
7138 if(var_pmethidnode6 == NULL) {
7139 var14 = 1;
7140 } else {
7141 if(cltype15 >= var_pmethidnode6->type->table_size) {
7142 var14 = 0;
7143 } else {
7144 var14 = var_pmethidnode6->type->type_table[cltype15] == idtype16;
7145 }
7146 }
7147 if (!var14) {
7148 fprintf(stderr, "Runtime error: %s", "Assert failed");
7149 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15933);
7150 show_backtrace(1);
7151 }
7152 var_psignaturenode7 = var_nodearraylist5;
7153 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
7154 cltype18 = type_nullable_parser_nodes__ASignature.color;
7155 idtype19 = type_nullable_parser_nodes__ASignature.id;
7156 if(var_psignaturenode7 == NULL) {
7157 var17 = 1;
7158 } else {
7159 if(cltype18 >= var_psignaturenode7->type->table_size) {
7160 var17 = 0;
7161 } else {
7162 var17 = var_psignaturenode7->type->type_table[cltype18] == idtype19;
7163 }
7164 }
7165 if (!var17) {
7166 fprintf(stderr, "Runtime error: %s", "Assert failed");
7167 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15935);
7168 show_backtrace(1);
7169 }
7170 var_pannotationsnode8 = var_nodearraylist6;
7171 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
7172 cltype21 = type_nullable_parser_nodes__AAnnotations.color;
7173 idtype22 = type_nullable_parser_nodes__AAnnotations.id;
7174 if(var_pannotationsnode8 == NULL) {
7175 var20 = 1;
7176 } else {
7177 if(cltype21 >= var_pannotationsnode8->type->table_size) {
7178 var20 = 0;
7179 } else {
7180 var20 = var_pannotationsnode8->type->type_table[cltype21] == idtype22;
7181 }
7182 }
7183 if (!var20) {
7184 fprintf(stderr, "Runtime error: %s", "Assert failed");
7185 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15937);
7186 show_backtrace(1);
7187 }
7188 var23 = NEW_parser_nodes__ADeferredMethPropdef(&type_parser_nodes__ADeferredMethPropdef);
7189 var24 = NULL;
7190 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*))(var23->class->vft[COLOR_parser_prod__ADeferredMethPropdef__init_adeferredmethpropdef]))(var23, var_pdocnode2, var24, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_pannotationsnode8) /* init_adeferredmethpropdef on <var23:ADeferredMethPropdef>*/;
7191 var_ppropdefnode1 = var23;
7192 var_node_list = var_ppropdefnode1;
7193 var25 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction355> */
7194 var26 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var25) /* go_to on <var_p:Parser>*/;
7195 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var26, var_node_list) /* push on <var_p:Parser>*/;
7196 RET_LABEL:;
7197 }
7198 /* method parser#ReduceAction355#action for (self: Object, Parser) */
7199 void VIRTUAL_parser__ReduceAction355__action(val* self, val* p0) {
7200 parser__ReduceAction355__action(self, p0);
7201 RET_LABEL:;
7202 }
7203 /* method parser#ReduceAction356#action for (self: ReduceAction356, Parser) */
7204 void parser__ReduceAction356__action(val* self, val* p0) {
7205 val* var_p /* var p: Parser */;
7206 val* var /* : null */;
7207 val* var_node_list /* var node_list: nullable Object */;
7208 val* var1 /* : nullable Object */;
7209 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7210 val* var2 /* : nullable Object */;
7211 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7212 val* var3 /* : nullable Object */;
7213 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7214 val* var4 /* : nullable Object */;
7215 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7216 val* var5 /* : nullable Object */;
7217 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7218 val* var6 /* : nullable Object */;
7219 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7220 val* var7 /* : nullable Object */;
7221 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7222 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7223 short int var8 /* : Bool */;
7224 int cltype;
7225 int idtype;
7226 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
7227 short int var9 /* : Bool */;
7228 int cltype10;
7229 int idtype11;
7230 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7231 short int var12 /* : Bool */;
7232 int cltype13;
7233 int idtype14;
7234 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
7235 short int var15 /* : Bool */;
7236 int cltype16;
7237 int idtype17;
7238 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
7239 short int var18 /* : Bool */;
7240 int cltype19;
7241 int idtype20;
7242 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
7243 short int var21 /* : Bool */;
7244 int cltype22;
7245 int idtype23;
7246 val* var_pannotationsnode8 /* var pannotationsnode8: nullable Object */;
7247 short int var24 /* : Bool */;
7248 int cltype25;
7249 int idtype26;
7250 val* var27 /* : ADeferredMethPropdef */;
7251 val* var_ppropdefnode1 /* var ppropdefnode1: nullable ADeferredMethPropdef */;
7252 long var28 /* : Int */;
7253 long var29 /* : Int */;
7254 var_p = p0;
7255 var = NULL;
7256 var_node_list = var;
7257 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7258 var_nodearraylist7 = var1;
7259 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7260 var_nodearraylist6 = var2;
7261 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7262 var_nodearraylist5 = var3;
7263 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7264 var_nodearraylist4 = var4;
7265 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7266 var_nodearraylist3 = var5;
7267 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7268 var_nodearraylist2 = var6;
7269 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7270 var_nodearraylist1 = var7;
7271 var_pdocnode2 = var_nodearraylist1;
7272 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7273 cltype = type_nullable_parser_nodes__ADoc.color;
7274 idtype = type_nullable_parser_nodes__ADoc.id;
7275 if(var_pdocnode2 == NULL) {
7276 var8 = 1;
7277 } else {
7278 if(cltype >= var_pdocnode2->type->table_size) {
7279 var8 = 0;
7280 } else {
7281 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
7282 }
7283 }
7284 if (!var8) {
7285 fprintf(stderr, "Runtime error: %s", "Assert failed");
7286 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15964);
7287 show_backtrace(1);
7288 }
7289 var_tkwredefnode3 = var_nodearraylist2;
7290 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7291 cltype10 = type_nullable_parser_nodes__TKwredef.color;
7292 idtype11 = type_nullable_parser_nodes__TKwredef.id;
7293 if(var_tkwredefnode3 == NULL) {
7294 var9 = 1;
7295 } else {
7296 if(cltype10 >= var_tkwredefnode3->type->table_size) {
7297 var9 = 0;
7298 } else {
7299 var9 = var_tkwredefnode3->type->type_table[cltype10] == idtype11;
7300 }
7301 }
7302 if (!var9) {
7303 fprintf(stderr, "Runtime error: %s", "Assert failed");
7304 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15966);
7305 show_backtrace(1);
7306 }
7307 var_pvisibilitynode4 = var_nodearraylist3;
7308 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7309 cltype13 = type_nullable_parser_nodes__AVisibility.color;
7310 idtype14 = type_nullable_parser_nodes__AVisibility.id;
7311 if(var_pvisibilitynode4 == NULL) {
7312 var12 = 1;
7313 } else {
7314 if(cltype13 >= var_pvisibilitynode4->type->table_size) {
7315 var12 = 0;
7316 } else {
7317 var12 = var_pvisibilitynode4->type->type_table[cltype13] == idtype14;
7318 }
7319 }
7320 if (!var12) {
7321 fprintf(stderr, "Runtime error: %s", "Assert failed");
7322 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15968);
7323 show_backtrace(1);
7324 }
7325 var_tkwmethnode5 = var_nodearraylist4;
7326 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
7327 cltype16 = type_nullable_parser_nodes__TKwmeth.color;
7328 idtype17 = type_nullable_parser_nodes__TKwmeth.id;
7329 if(var_tkwmethnode5 == NULL) {
7330 var15 = 1;
7331 } else {
7332 if(cltype16 >= var_tkwmethnode5->type->table_size) {
7333 var15 = 0;
7334 } else {
7335 var15 = var_tkwmethnode5->type->type_table[cltype16] == idtype17;
7336 }
7337 }
7338 if (!var15) {
7339 fprintf(stderr, "Runtime error: %s", "Assert failed");
7340 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15970);
7341 show_backtrace(1);
7342 }
7343 var_pmethidnode6 = var_nodearraylist5;
7344 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
7345 cltype19 = type_nullable_parser_nodes__AMethid.color;
7346 idtype20 = type_nullable_parser_nodes__AMethid.id;
7347 if(var_pmethidnode6 == NULL) {
7348 var18 = 1;
7349 } else {
7350 if(cltype19 >= var_pmethidnode6->type->table_size) {
7351 var18 = 0;
7352 } else {
7353 var18 = var_pmethidnode6->type->type_table[cltype19] == idtype20;
7354 }
7355 }
7356 if (!var18) {
7357 fprintf(stderr, "Runtime error: %s", "Assert failed");
7358 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15972);
7359 show_backtrace(1);
7360 }
7361 var_psignaturenode7 = var_nodearraylist6;
7362 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
7363 cltype22 = type_nullable_parser_nodes__ASignature.color;
7364 idtype23 = type_nullable_parser_nodes__ASignature.id;
7365 if(var_psignaturenode7 == NULL) {
7366 var21 = 1;
7367 } else {
7368 if(cltype22 >= var_psignaturenode7->type->table_size) {
7369 var21 = 0;
7370 } else {
7371 var21 = var_psignaturenode7->type->type_table[cltype22] == idtype23;
7372 }
7373 }
7374 if (!var21) {
7375 fprintf(stderr, "Runtime error: %s", "Assert failed");
7376 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15974);
7377 show_backtrace(1);
7378 }
7379 var_pannotationsnode8 = var_nodearraylist7;
7380 /* <var_pannotationsnode8:nullable Object> isa nullable AAnnotations */
7381 cltype25 = type_nullable_parser_nodes__AAnnotations.color;
7382 idtype26 = type_nullable_parser_nodes__AAnnotations.id;
7383 if(var_pannotationsnode8 == NULL) {
7384 var24 = 1;
7385 } else {
7386 if(cltype25 >= var_pannotationsnode8->type->table_size) {
7387 var24 = 0;
7388 } else {
7389 var24 = var_pannotationsnode8->type->type_table[cltype25] == idtype26;
7390 }
7391 }
7392 if (!var24) {
7393 fprintf(stderr, "Runtime error: %s", "Assert failed");
7394 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 15976);
7395 show_backtrace(1);
7396 }
7397 var27 = NEW_parser_nodes__ADeferredMethPropdef(&type_parser_nodes__ADeferredMethPropdef);
7398 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__ADeferredMethPropdef__init_adeferredmethpropdef]))(var27, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_pannotationsnode8) /* init_adeferredmethpropdef on <var27:ADeferredMethPropdef>*/;
7399 var_ppropdefnode1 = var27;
7400 var_node_list = var_ppropdefnode1;
7401 var28 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction356> */
7402 var29 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var28) /* go_to on <var_p:Parser>*/;
7403 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var29, var_node_list) /* push on <var_p:Parser>*/;
7404 RET_LABEL:;
7405 }
7406 /* method parser#ReduceAction356#action for (self: Object, Parser) */
7407 void VIRTUAL_parser__ReduceAction356__action(val* self, val* p0) {
7408 parser__ReduceAction356__action(self, p0);
7409 RET_LABEL:;
7410 }
7411 /* method parser#ReduceAction357#action for (self: ReduceAction357, Parser) */
7412 void parser__ReduceAction357__action(val* self, val* p0) {
7413 val* var_p /* var p: Parser */;
7414 val* var /* : null */;
7415 val* var_node_list /* var node_list: nullable Object */;
7416 val* var1 /* : nullable Object */;
7417 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7418 val* var2 /* : nullable Object */;
7419 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7420 val* var3 /* : nullable Object */;
7421 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7422 val* var4 /* : nullable Object */;
7423 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7424 val* var5 /* : nullable Object */;
7425 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7426 val* var6 /* : nullable Object */;
7427 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7428 val* var7 /* : nullable Object */;
7429 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7430 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7431 short int var8 /* : Bool */;
7432 int cltype;
7433 int idtype;
7434 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7435 short int var9 /* : Bool */;
7436 int cltype10;
7437 int idtype11;
7438 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
7439 short int var12 /* : Bool */;
7440 int cltype13;
7441 int idtype14;
7442 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
7443 short int var15 /* : Bool */;
7444 int cltype16;
7445 int idtype17;
7446 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
7447 short int var18 /* : Bool */;
7448 int cltype19;
7449 int idtype20;
7450 val* var21 /* : ADeferredMethPropdef */;
7451 val* var22 /* : null */;
7452 val* var23 /* : null */;
7453 val* var_ppropdefnode1 /* var ppropdefnode1: nullable ADeferredMethPropdef */;
7454 long var24 /* : Int */;
7455 long var25 /* : Int */;
7456 var_p = p0;
7457 var = NULL;
7458 var_node_list = var;
7459 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7460 var_nodearraylist7 = var1;
7461 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7462 var_nodearraylist6 = var2;
7463 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7464 var_nodearraylist5 = var3;
7465 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7466 var_nodearraylist4 = var4;
7467 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7468 var_nodearraylist3 = var5;
7469 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7470 var_nodearraylist2 = var6;
7471 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7472 var_nodearraylist1 = var7;
7473 var_pdocnode2 = var_nodearraylist1;
7474 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7475 cltype = type_nullable_parser_nodes__ADoc.color;
7476 idtype = type_nullable_parser_nodes__ADoc.id;
7477 if(var_pdocnode2 == NULL) {
7478 var8 = 1;
7479 } else {
7480 if(cltype >= var_pdocnode2->type->table_size) {
7481 var8 = 0;
7482 } else {
7483 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
7484 }
7485 }
7486 if (!var8) {
7487 fprintf(stderr, "Runtime error: %s", "Assert failed");
7488 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16003);
7489 show_backtrace(1);
7490 }
7491 var_pvisibilitynode4 = var_nodearraylist2;
7492 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7493 cltype10 = type_nullable_parser_nodes__AVisibility.color;
7494 idtype11 = type_nullable_parser_nodes__AVisibility.id;
7495 if(var_pvisibilitynode4 == NULL) {
7496 var9 = 1;
7497 } else {
7498 if(cltype10 >= var_pvisibilitynode4->type->table_size) {
7499 var9 = 0;
7500 } else {
7501 var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11;
7502 }
7503 }
7504 if (!var9) {
7505 fprintf(stderr, "Runtime error: %s", "Assert failed");
7506 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16005);
7507 show_backtrace(1);
7508 }
7509 var_tkwmethnode5 = var_nodearraylist3;
7510 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
7511 cltype13 = type_nullable_parser_nodes__TKwmeth.color;
7512 idtype14 = type_nullable_parser_nodes__TKwmeth.id;
7513 if(var_tkwmethnode5 == NULL) {
7514 var12 = 1;
7515 } else {
7516 if(cltype13 >= var_tkwmethnode5->type->table_size) {
7517 var12 = 0;
7518 } else {
7519 var12 = var_tkwmethnode5->type->type_table[cltype13] == idtype14;
7520 }
7521 }
7522 if (!var12) {
7523 fprintf(stderr, "Runtime error: %s", "Assert failed");
7524 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16007);
7525 show_backtrace(1);
7526 }
7527 var_pmethidnode6 = var_nodearraylist4;
7528 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
7529 cltype16 = type_nullable_parser_nodes__AMethid.color;
7530 idtype17 = type_nullable_parser_nodes__AMethid.id;
7531 if(var_pmethidnode6 == NULL) {
7532 var15 = 1;
7533 } else {
7534 if(cltype16 >= var_pmethidnode6->type->table_size) {
7535 var15 = 0;
7536 } else {
7537 var15 = var_pmethidnode6->type->type_table[cltype16] == idtype17;
7538 }
7539 }
7540 if (!var15) {
7541 fprintf(stderr, "Runtime error: %s", "Assert failed");
7542 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16009);
7543 show_backtrace(1);
7544 }
7545 var_psignaturenode7 = var_nodearraylist5;
7546 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
7547 cltype19 = type_nullable_parser_nodes__ASignature.color;
7548 idtype20 = type_nullable_parser_nodes__ASignature.id;
7549 if(var_psignaturenode7 == NULL) {
7550 var18 = 1;
7551 } else {
7552 if(cltype19 >= var_psignaturenode7->type->table_size) {
7553 var18 = 0;
7554 } else {
7555 var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20;
7556 }
7557 }
7558 if (!var18) {
7559 fprintf(stderr, "Runtime error: %s", "Assert failed");
7560 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16011);
7561 show_backtrace(1);
7562 }
7563 var21 = NEW_parser_nodes__ADeferredMethPropdef(&type_parser_nodes__ADeferredMethPropdef);
7564 var22 = NULL;
7565 var23 = NULL;
7566 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*))(var21->class->vft[COLOR_parser_prod__ADeferredMethPropdef__init_adeferredmethpropdef]))(var21, var_pdocnode2, var22, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var23) /* init_adeferredmethpropdef on <var21:ADeferredMethPropdef>*/;
7567 var_ppropdefnode1 = var21;
7568 var_node_list = var_ppropdefnode1;
7569 var24 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction357> */
7570 var25 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var24) /* go_to on <var_p:Parser>*/;
7571 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var25, var_node_list) /* push on <var_p:Parser>*/;
7572 RET_LABEL:;
7573 }
7574 /* method parser#ReduceAction357#action for (self: Object, Parser) */
7575 void VIRTUAL_parser__ReduceAction357__action(val* self, val* p0) {
7576 parser__ReduceAction357__action(self, p0);
7577 RET_LABEL:;
7578 }
7579 /* method parser#ReduceAction358#action for (self: ReduceAction358, Parser) */
7580 void parser__ReduceAction358__action(val* self, val* p0) {
7581 val* var_p /* var p: Parser */;
7582 val* var /* : null */;
7583 val* var_node_list /* var node_list: nullable Object */;
7584 val* var1 /* : nullable Object */;
7585 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7586 val* var2 /* : nullable Object */;
7587 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7588 val* var3 /* : nullable Object */;
7589 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7590 val* var4 /* : nullable Object */;
7591 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7592 val* var5 /* : nullable Object */;
7593 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7594 val* var6 /* : nullable Object */;
7595 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7596 val* var7 /* : nullable Object */;
7597 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7598 val* var8 /* : nullable Object */;
7599 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7600 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7601 short int var9 /* : Bool */;
7602 int cltype;
7603 int idtype;
7604 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
7605 short int var10 /* : Bool */;
7606 int cltype11;
7607 int idtype12;
7608 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7609 short int var13 /* : Bool */;
7610 int cltype14;
7611 int idtype15;
7612 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
7613 short int var16 /* : Bool */;
7614 int cltype17;
7615 int idtype18;
7616 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
7617 short int var19 /* : Bool */;
7618 int cltype20;
7619 int idtype21;
7620 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
7621 short int var22 /* : Bool */;
7622 int cltype23;
7623 int idtype24;
7624 val* var25 /* : ADeferredMethPropdef */;
7625 val* var26 /* : null */;
7626 val* var_ppropdefnode1 /* var ppropdefnode1: nullable ADeferredMethPropdef */;
7627 long var27 /* : Int */;
7628 long var28 /* : Int */;
7629 var_p = p0;
7630 var = NULL;
7631 var_node_list = var;
7632 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7633 var_nodearraylist8 = var1;
7634 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7635 var_nodearraylist7 = var2;
7636 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7637 var_nodearraylist6 = var3;
7638 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7639 var_nodearraylist5 = var4;
7640 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7641 var_nodearraylist4 = var5;
7642 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7643 var_nodearraylist3 = var6;
7644 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7645 var_nodearraylist2 = var7;
7646 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7647 var_nodearraylist1 = var8;
7648 var_pdocnode2 = var_nodearraylist1;
7649 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7650 cltype = type_nullable_parser_nodes__ADoc.color;
7651 idtype = type_nullable_parser_nodes__ADoc.id;
7652 if(var_pdocnode2 == NULL) {
7653 var9 = 1;
7654 } else {
7655 if(cltype >= var_pdocnode2->type->table_size) {
7656 var9 = 0;
7657 } else {
7658 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
7659 }
7660 }
7661 if (!var9) {
7662 fprintf(stderr, "Runtime error: %s", "Assert failed");
7663 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16039);
7664 show_backtrace(1);
7665 }
7666 var_tkwredefnode3 = var_nodearraylist2;
7667 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7668 cltype11 = type_nullable_parser_nodes__TKwredef.color;
7669 idtype12 = type_nullable_parser_nodes__TKwredef.id;
7670 if(var_tkwredefnode3 == NULL) {
7671 var10 = 1;
7672 } else {
7673 if(cltype11 >= var_tkwredefnode3->type->table_size) {
7674 var10 = 0;
7675 } else {
7676 var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12;
7677 }
7678 }
7679 if (!var10) {
7680 fprintf(stderr, "Runtime error: %s", "Assert failed");
7681 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16041);
7682 show_backtrace(1);
7683 }
7684 var_pvisibilitynode4 = var_nodearraylist3;
7685 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7686 cltype14 = type_nullable_parser_nodes__AVisibility.color;
7687 idtype15 = type_nullable_parser_nodes__AVisibility.id;
7688 if(var_pvisibilitynode4 == NULL) {
7689 var13 = 1;
7690 } else {
7691 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
7692 var13 = 0;
7693 } else {
7694 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
7695 }
7696 }
7697 if (!var13) {
7698 fprintf(stderr, "Runtime error: %s", "Assert failed");
7699 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16043);
7700 show_backtrace(1);
7701 }
7702 var_tkwmethnode5 = var_nodearraylist4;
7703 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
7704 cltype17 = type_nullable_parser_nodes__TKwmeth.color;
7705 idtype18 = type_nullable_parser_nodes__TKwmeth.id;
7706 if(var_tkwmethnode5 == NULL) {
7707 var16 = 1;
7708 } else {
7709 if(cltype17 >= var_tkwmethnode5->type->table_size) {
7710 var16 = 0;
7711 } else {
7712 var16 = var_tkwmethnode5->type->type_table[cltype17] == idtype18;
7713 }
7714 }
7715 if (!var16) {
7716 fprintf(stderr, "Runtime error: %s", "Assert failed");
7717 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16045);
7718 show_backtrace(1);
7719 }
7720 var_pmethidnode6 = var_nodearraylist5;
7721 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
7722 cltype20 = type_nullable_parser_nodes__AMethid.color;
7723 idtype21 = type_nullable_parser_nodes__AMethid.id;
7724 if(var_pmethidnode6 == NULL) {
7725 var19 = 1;
7726 } else {
7727 if(cltype20 >= var_pmethidnode6->type->table_size) {
7728 var19 = 0;
7729 } else {
7730 var19 = var_pmethidnode6->type->type_table[cltype20] == idtype21;
7731 }
7732 }
7733 if (!var19) {
7734 fprintf(stderr, "Runtime error: %s", "Assert failed");
7735 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16047);
7736 show_backtrace(1);
7737 }
7738 var_psignaturenode7 = var_nodearraylist6;
7739 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
7740 cltype23 = type_nullable_parser_nodes__ASignature.color;
7741 idtype24 = type_nullable_parser_nodes__ASignature.id;
7742 if(var_psignaturenode7 == NULL) {
7743 var22 = 1;
7744 } else {
7745 if(cltype23 >= var_psignaturenode7->type->table_size) {
7746 var22 = 0;
7747 } else {
7748 var22 = var_psignaturenode7->type->type_table[cltype23] == idtype24;
7749 }
7750 }
7751 if (!var22) {
7752 fprintf(stderr, "Runtime error: %s", "Assert failed");
7753 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16049);
7754 show_backtrace(1);
7755 }
7756 var25 = NEW_parser_nodes__ADeferredMethPropdef(&type_parser_nodes__ADeferredMethPropdef);
7757 var26 = NULL;
7758 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__ADeferredMethPropdef__init_adeferredmethpropdef]))(var25, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var26) /* init_adeferredmethpropdef on <var25:ADeferredMethPropdef>*/;
7759 var_ppropdefnode1 = var25;
7760 var_node_list = var_ppropdefnode1;
7761 var27 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction358> */
7762 var28 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var27) /* go_to on <var_p:Parser>*/;
7763 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var28, var_node_list) /* push on <var_p:Parser>*/;
7764 RET_LABEL:;
7765 }
7766 /* method parser#ReduceAction358#action for (self: Object, Parser) */
7767 void VIRTUAL_parser__ReduceAction358__action(val* self, val* p0) {
7768 parser__ReduceAction358__action(self, p0);
7769 RET_LABEL:;
7770 }
7771 /* method parser#ReduceAction359#action for (self: ReduceAction359, Parser) */
7772 void parser__ReduceAction359__action(val* self, val* p0) {
7773 val* var_p /* var p: Parser */;
7774 val* var /* : null */;
7775 val* var_node_list /* var node_list: nullable Object */;
7776 val* var1 /* : nullable Object */;
7777 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7778 val* var2 /* : nullable Object */;
7779 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7780 val* var3 /* : nullable Object */;
7781 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7782 val* var4 /* : nullable Object */;
7783 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7784 val* var5 /* : nullable Object */;
7785 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7786 val* var6 /* : nullable Object */;
7787 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7788 val* var7 /* : nullable Object */;
7789 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7790 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7791 short int var8 /* : Bool */;
7792 int cltype;
7793 int idtype;
7794 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7795 short int var9 /* : Bool */;
7796 int cltype10;
7797 int idtype11;
7798 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
7799 short int var12 /* : Bool */;
7800 int cltype13;
7801 int idtype14;
7802 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
7803 short int var15 /* : Bool */;
7804 int cltype16;
7805 int idtype17;
7806 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
7807 short int var18 /* : Bool */;
7808 int cltype19;
7809 int idtype20;
7810 val* var21 /* : AInternMethPropdef */;
7811 val* var22 /* : null */;
7812 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AInternMethPropdef */;
7813 long var23 /* : Int */;
7814 long var24 /* : Int */;
7815 var_p = p0;
7816 var = NULL;
7817 var_node_list = var;
7818 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7819 var_nodearraylist7 = var1;
7820 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7821 var_nodearraylist6 = var2;
7822 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7823 var_nodearraylist5 = var3;
7824 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7825 var_nodearraylist4 = var4;
7826 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7827 var_nodearraylist3 = var5;
7828 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7829 var_nodearraylist2 = var6;
7830 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7831 var_nodearraylist1 = var7;
7832 var_pdocnode2 = var_nodearraylist1;
7833 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7834 cltype = type_nullable_parser_nodes__ADoc.color;
7835 idtype = type_nullable_parser_nodes__ADoc.id;
7836 if(var_pdocnode2 == NULL) {
7837 var8 = 1;
7838 } else {
7839 if(cltype >= var_pdocnode2->type->table_size) {
7840 var8 = 0;
7841 } else {
7842 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
7843 }
7844 }
7845 if (!var8) {
7846 fprintf(stderr, "Runtime error: %s", "Assert failed");
7847 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16076);
7848 show_backtrace(1);
7849 }
7850 var_pvisibilitynode4 = var_nodearraylist2;
7851 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7852 cltype10 = type_nullable_parser_nodes__AVisibility.color;
7853 idtype11 = type_nullable_parser_nodes__AVisibility.id;
7854 if(var_pvisibilitynode4 == NULL) {
7855 var9 = 1;
7856 } else {
7857 if(cltype10 >= var_pvisibilitynode4->type->table_size) {
7858 var9 = 0;
7859 } else {
7860 var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11;
7861 }
7862 }
7863 if (!var9) {
7864 fprintf(stderr, "Runtime error: %s", "Assert failed");
7865 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16078);
7866 show_backtrace(1);
7867 }
7868 var_tkwmethnode5 = var_nodearraylist3;
7869 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
7870 cltype13 = type_nullable_parser_nodes__TKwmeth.color;
7871 idtype14 = type_nullable_parser_nodes__TKwmeth.id;
7872 if(var_tkwmethnode5 == NULL) {
7873 var12 = 1;
7874 } else {
7875 if(cltype13 >= var_tkwmethnode5->type->table_size) {
7876 var12 = 0;
7877 } else {
7878 var12 = var_tkwmethnode5->type->type_table[cltype13] == idtype14;
7879 }
7880 }
7881 if (!var12) {
7882 fprintf(stderr, "Runtime error: %s", "Assert failed");
7883 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16080);
7884 show_backtrace(1);
7885 }
7886 var_pmethidnode6 = var_nodearraylist4;
7887 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
7888 cltype16 = type_nullable_parser_nodes__AMethid.color;
7889 idtype17 = type_nullable_parser_nodes__AMethid.id;
7890 if(var_pmethidnode6 == NULL) {
7891 var15 = 1;
7892 } else {
7893 if(cltype16 >= var_pmethidnode6->type->table_size) {
7894 var15 = 0;
7895 } else {
7896 var15 = var_pmethidnode6->type->type_table[cltype16] == idtype17;
7897 }
7898 }
7899 if (!var15) {
7900 fprintf(stderr, "Runtime error: %s", "Assert failed");
7901 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16082);
7902 show_backtrace(1);
7903 }
7904 var_psignaturenode7 = var_nodearraylist5;
7905 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
7906 cltype19 = type_nullable_parser_nodes__ASignature.color;
7907 idtype20 = type_nullable_parser_nodes__ASignature.id;
7908 if(var_psignaturenode7 == NULL) {
7909 var18 = 1;
7910 } else {
7911 if(cltype19 >= var_psignaturenode7->type->table_size) {
7912 var18 = 0;
7913 } else {
7914 var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20;
7915 }
7916 }
7917 if (!var18) {
7918 fprintf(stderr, "Runtime error: %s", "Assert failed");
7919 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16084);
7920 show_backtrace(1);
7921 }
7922 var21 = NEW_parser_nodes__AInternMethPropdef(&type_parser_nodes__AInternMethPropdef);
7923 var22 = NULL;
7924 ((void (*)(val*, val*, val*, val*, val*, val*, val*))(var21->class->vft[COLOR_parser_prod__AInternMethPropdef__init_ainternmethpropdef]))(var21, var_pdocnode2, var22, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7) /* init_ainternmethpropdef on <var21:AInternMethPropdef>*/;
7925 var_ppropdefnode1 = var21;
7926 var_node_list = var_ppropdefnode1;
7927 var23 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction359> */
7928 var24 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var23) /* go_to on <var_p:Parser>*/;
7929 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var24, var_node_list) /* push on <var_p:Parser>*/;
7930 RET_LABEL:;
7931 }
7932 /* method parser#ReduceAction359#action for (self: Object, Parser) */
7933 void VIRTUAL_parser__ReduceAction359__action(val* self, val* p0) {
7934 parser__ReduceAction359__action(self, p0);
7935 RET_LABEL:;
7936 }
7937 /* method parser#ReduceAction360#action for (self: ReduceAction360, Parser) */
7938 void parser__ReduceAction360__action(val* self, val* p0) {
7939 val* var_p /* var p: Parser */;
7940 val* var /* : null */;
7941 val* var_node_list /* var node_list: nullable Object */;
7942 val* var1 /* : nullable Object */;
7943 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7944 val* var2 /* : nullable Object */;
7945 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7946 val* var3 /* : nullable Object */;
7947 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7948 val* var4 /* : nullable Object */;
7949 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7950 val* var5 /* : nullable Object */;
7951 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7952 val* var6 /* : nullable Object */;
7953 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7954 val* var7 /* : nullable Object */;
7955 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7956 val* var8 /* : nullable Object */;
7957 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7958 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7959 short int var9 /* : Bool */;
7960 int cltype;
7961 int idtype;
7962 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
7963 short int var10 /* : Bool */;
7964 int cltype11;
7965 int idtype12;
7966 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7967 short int var13 /* : Bool */;
7968 int cltype14;
7969 int idtype15;
7970 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
7971 short int var16 /* : Bool */;
7972 int cltype17;
7973 int idtype18;
7974 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
7975 short int var19 /* : Bool */;
7976 int cltype20;
7977 int idtype21;
7978 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
7979 short int var22 /* : Bool */;
7980 int cltype23;
7981 int idtype24;
7982 val* var25 /* : AInternMethPropdef */;
7983 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AInternMethPropdef */;
7984 long var26 /* : Int */;
7985 long var27 /* : Int */;
7986 var_p = p0;
7987 var = NULL;
7988 var_node_list = var;
7989 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7990 var_nodearraylist8 = var1;
7991 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7992 var_nodearraylist7 = var2;
7993 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7994 var_nodearraylist6 = var3;
7995 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7996 var_nodearraylist5 = var4;
7997 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7998 var_nodearraylist4 = var5;
7999 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8000 var_nodearraylist3 = var6;
8001 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8002 var_nodearraylist2 = var7;
8003 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8004 var_nodearraylist1 = var8;
8005 var_pdocnode2 = var_nodearraylist1;
8006 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8007 cltype = type_nullable_parser_nodes__ADoc.color;
8008 idtype = type_nullable_parser_nodes__ADoc.id;
8009 if(var_pdocnode2 == NULL) {
8010 var9 = 1;
8011 } else {
8012 if(cltype >= var_pdocnode2->type->table_size) {
8013 var9 = 0;
8014 } else {
8015 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
8016 }
8017 }
8018 if (!var9) {
8019 fprintf(stderr, "Runtime error: %s", "Assert failed");
8020 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16111);
8021 show_backtrace(1);
8022 }
8023 var_tkwredefnode3 = var_nodearraylist2;
8024 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8025 cltype11 = type_nullable_parser_nodes__TKwredef.color;
8026 idtype12 = type_nullable_parser_nodes__TKwredef.id;
8027 if(var_tkwredefnode3 == NULL) {
8028 var10 = 1;
8029 } else {
8030 if(cltype11 >= var_tkwredefnode3->type->table_size) {
8031 var10 = 0;
8032 } else {
8033 var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12;
8034 }
8035 }
8036 if (!var10) {
8037 fprintf(stderr, "Runtime error: %s", "Assert failed");
8038 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16113);
8039 show_backtrace(1);
8040 }
8041 var_pvisibilitynode4 = var_nodearraylist3;
8042 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8043 cltype14 = type_nullable_parser_nodes__AVisibility.color;
8044 idtype15 = type_nullable_parser_nodes__AVisibility.id;
8045 if(var_pvisibilitynode4 == NULL) {
8046 var13 = 1;
8047 } else {
8048 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
8049 var13 = 0;
8050 } else {
8051 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
8052 }
8053 }
8054 if (!var13) {
8055 fprintf(stderr, "Runtime error: %s", "Assert failed");
8056 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16115);
8057 show_backtrace(1);
8058 }
8059 var_tkwmethnode5 = var_nodearraylist4;
8060 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
8061 cltype17 = type_nullable_parser_nodes__TKwmeth.color;
8062 idtype18 = type_nullable_parser_nodes__TKwmeth.id;
8063 if(var_tkwmethnode5 == NULL) {
8064 var16 = 1;
8065 } else {
8066 if(cltype17 >= var_tkwmethnode5->type->table_size) {
8067 var16 = 0;
8068 } else {
8069 var16 = var_tkwmethnode5->type->type_table[cltype17] == idtype18;
8070 }
8071 }
8072 if (!var16) {
8073 fprintf(stderr, "Runtime error: %s", "Assert failed");
8074 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16117);
8075 show_backtrace(1);
8076 }
8077 var_pmethidnode6 = var_nodearraylist5;
8078 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
8079 cltype20 = type_nullable_parser_nodes__AMethid.color;
8080 idtype21 = type_nullable_parser_nodes__AMethid.id;
8081 if(var_pmethidnode6 == NULL) {
8082 var19 = 1;
8083 } else {
8084 if(cltype20 >= var_pmethidnode6->type->table_size) {
8085 var19 = 0;
8086 } else {
8087 var19 = var_pmethidnode6->type->type_table[cltype20] == idtype21;
8088 }
8089 }
8090 if (!var19) {
8091 fprintf(stderr, "Runtime error: %s", "Assert failed");
8092 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16119);
8093 show_backtrace(1);
8094 }
8095 var_psignaturenode7 = var_nodearraylist6;
8096 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
8097 cltype23 = type_nullable_parser_nodes__ASignature.color;
8098 idtype24 = type_nullable_parser_nodes__ASignature.id;
8099 if(var_psignaturenode7 == NULL) {
8100 var22 = 1;
8101 } else {
8102 if(cltype23 >= var_psignaturenode7->type->table_size) {
8103 var22 = 0;
8104 } else {
8105 var22 = var_psignaturenode7->type->type_table[cltype23] == idtype24;
8106 }
8107 }
8108 if (!var22) {
8109 fprintf(stderr, "Runtime error: %s", "Assert failed");
8110 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16121);
8111 show_backtrace(1);
8112 }
8113 var25 = NEW_parser_nodes__AInternMethPropdef(&type_parser_nodes__AInternMethPropdef);
8114 ((void (*)(val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AInternMethPropdef__init_ainternmethpropdef]))(var25, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7) /* init_ainternmethpropdef on <var25:AInternMethPropdef>*/;
8115 var_ppropdefnode1 = var25;
8116 var_node_list = var_ppropdefnode1;
8117 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction360> */
8118 var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on <var_p:Parser>*/;
8119 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on <var_p:Parser>*/;
8120 RET_LABEL:;
8121 }
8122 /* method parser#ReduceAction360#action for (self: Object, Parser) */
8123 void VIRTUAL_parser__ReduceAction360__action(val* self, val* p0) {
8124 parser__ReduceAction360__action(self, p0);
8125 RET_LABEL:;
8126 }
8127 /* method parser#ReduceAction361#action for (self: ReduceAction361, Parser) */
8128 void parser__ReduceAction361__action(val* self, val* p0) {
8129 val* var_p /* var p: Parser */;
8130 val* var /* : null */;
8131 val* var_node_list /* var node_list: nullable Object */;
8132 val* var1 /* : nullable Object */;
8133 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8134 val* var2 /* : nullable Object */;
8135 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8136 val* var3 /* : nullable Object */;
8137 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8138 val* var4 /* : nullable Object */;
8139 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8140 val* var5 /* : nullable Object */;
8141 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8142 val* var6 /* : nullable Object */;
8143 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8144 val* var7 /* : nullable Object */;
8145 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8146 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8147 short int var8 /* : Bool */;
8148 int cltype;
8149 int idtype;
8150 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8151 short int var9 /* : Bool */;
8152 int cltype10;
8153 int idtype11;
8154 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
8155 short int var12 /* : Bool */;
8156 int cltype13;
8157 int idtype14;
8158 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
8159 short int var15 /* : Bool */;
8160 int cltype16;
8161 int idtype17;
8162 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
8163 short int var18 /* : Bool */;
8164 int cltype19;
8165 int idtype20;
8166 val* var21 /* : AExternMethPropdef */;
8167 val* var22 /* : null */;
8168 val* var23 /* : null */;
8169 val* var24 /* : null */;
8170 val* var25 /* : null */;
8171 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
8172 long var26 /* : Int */;
8173 long var27 /* : Int */;
8174 var_p = p0;
8175 var = NULL;
8176 var_node_list = var;
8177 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8178 var_nodearraylist7 = var1;
8179 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8180 var_nodearraylist6 = var2;
8181 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8182 var_nodearraylist5 = var3;
8183 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8184 var_nodearraylist4 = var4;
8185 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8186 var_nodearraylist3 = var5;
8187 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8188 var_nodearraylist2 = var6;
8189 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8190 var_nodearraylist1 = var7;
8191 var_pdocnode2 = var_nodearraylist1;
8192 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8193 cltype = type_nullable_parser_nodes__ADoc.color;
8194 idtype = type_nullable_parser_nodes__ADoc.id;
8195 if(var_pdocnode2 == NULL) {
8196 var8 = 1;
8197 } else {
8198 if(cltype >= var_pdocnode2->type->table_size) {
8199 var8 = 0;
8200 } else {
8201 var8 = var_pdocnode2->type->type_table[cltype] == idtype;
8202 }
8203 }
8204 if (!var8) {
8205 fprintf(stderr, "Runtime error: %s", "Assert failed");
8206 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16147);
8207 show_backtrace(1);
8208 }
8209 var_pvisibilitynode4 = var_nodearraylist2;
8210 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8211 cltype10 = type_nullable_parser_nodes__AVisibility.color;
8212 idtype11 = type_nullable_parser_nodes__AVisibility.id;
8213 if(var_pvisibilitynode4 == NULL) {
8214 var9 = 1;
8215 } else {
8216 if(cltype10 >= var_pvisibilitynode4->type->table_size) {
8217 var9 = 0;
8218 } else {
8219 var9 = var_pvisibilitynode4->type->type_table[cltype10] == idtype11;
8220 }
8221 }
8222 if (!var9) {
8223 fprintf(stderr, "Runtime error: %s", "Assert failed");
8224 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16149);
8225 show_backtrace(1);
8226 }
8227 var_tkwmethnode5 = var_nodearraylist3;
8228 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
8229 cltype13 = type_nullable_parser_nodes__TKwmeth.color;
8230 idtype14 = type_nullable_parser_nodes__TKwmeth.id;
8231 if(var_tkwmethnode5 == NULL) {
8232 var12 = 1;
8233 } else {
8234 if(cltype13 >= var_tkwmethnode5->type->table_size) {
8235 var12 = 0;
8236 } else {
8237 var12 = var_tkwmethnode5->type->type_table[cltype13] == idtype14;
8238 }
8239 }
8240 if (!var12) {
8241 fprintf(stderr, "Runtime error: %s", "Assert failed");
8242 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16151);
8243 show_backtrace(1);
8244 }
8245 var_pmethidnode6 = var_nodearraylist4;
8246 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
8247 cltype16 = type_nullable_parser_nodes__AMethid.color;
8248 idtype17 = type_nullable_parser_nodes__AMethid.id;
8249 if(var_pmethidnode6 == NULL) {
8250 var15 = 1;
8251 } else {
8252 if(cltype16 >= var_pmethidnode6->type->table_size) {
8253 var15 = 0;
8254 } else {
8255 var15 = var_pmethidnode6->type->type_table[cltype16] == idtype17;
8256 }
8257 }
8258 if (!var15) {
8259 fprintf(stderr, "Runtime error: %s", "Assert failed");
8260 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16153);
8261 show_backtrace(1);
8262 }
8263 var_psignaturenode7 = var_nodearraylist5;
8264 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
8265 cltype19 = type_nullable_parser_nodes__ASignature.color;
8266 idtype20 = type_nullable_parser_nodes__ASignature.id;
8267 if(var_psignaturenode7 == NULL) {
8268 var18 = 1;
8269 } else {
8270 if(cltype19 >= var_psignaturenode7->type->table_size) {
8271 var18 = 0;
8272 } else {
8273 var18 = var_psignaturenode7->type->type_table[cltype19] == idtype20;
8274 }
8275 }
8276 if (!var18) {
8277 fprintf(stderr, "Runtime error: %s", "Assert failed");
8278 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16155);
8279 show_backtrace(1);
8280 }
8281 var21 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
8282 var22 = NULL;
8283 var23 = NULL;
8284 var24 = NULL;
8285 var25 = NULL;
8286 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var21->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var21, var_pdocnode2, var22, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var23, var24, var25) /* init_aexternmethpropdef on <var21:AExternMethPropdef>*/;
8287 var_ppropdefnode1 = var21;
8288 var_node_list = var_ppropdefnode1;
8289 var26 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction361> */
8290 var27 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var26) /* go_to on <var_p:Parser>*/;
8291 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var27, var_node_list) /* push on <var_p:Parser>*/;
8292 RET_LABEL:;
8293 }
8294 /* method parser#ReduceAction361#action for (self: Object, Parser) */
8295 void VIRTUAL_parser__ReduceAction361__action(val* self, val* p0) {
8296 parser__ReduceAction361__action(self, p0);
8297 RET_LABEL:;
8298 }
8299 /* method parser#ReduceAction362#action for (self: ReduceAction362, Parser) */
8300 void parser__ReduceAction362__action(val* self, val* p0) {
8301 val* var_p /* var p: Parser */;
8302 val* var /* : null */;
8303 val* var_node_list /* var node_list: nullable Object */;
8304 val* var1 /* : nullable Object */;
8305 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8306 val* var2 /* : nullable Object */;
8307 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8308 val* var3 /* : nullable Object */;
8309 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8310 val* var4 /* : nullable Object */;
8311 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8312 val* var5 /* : nullable Object */;
8313 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8314 val* var6 /* : nullable Object */;
8315 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8316 val* var7 /* : nullable Object */;
8317 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8318 val* var8 /* : nullable Object */;
8319 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8320 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8321 short int var9 /* : Bool */;
8322 int cltype;
8323 int idtype;
8324 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
8325 short int var10 /* : Bool */;
8326 int cltype11;
8327 int idtype12;
8328 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8329 short int var13 /* : Bool */;
8330 int cltype14;
8331 int idtype15;
8332 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
8333 short int var16 /* : Bool */;
8334 int cltype17;
8335 int idtype18;
8336 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
8337 short int var19 /* : Bool */;
8338 int cltype20;
8339 int idtype21;
8340 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
8341 short int var22 /* : Bool */;
8342 int cltype23;
8343 int idtype24;
8344 val* var25 /* : AExternMethPropdef */;
8345 val* var26 /* : null */;
8346 val* var27 /* : null */;
8347 val* var28 /* : null */;
8348 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
8349 long var29 /* : Int */;
8350 long var30 /* : 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_nodearraylist8 = var1;
8356 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8357 var_nodearraylist7 = var2;
8358 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8359 var_nodearraylist6 = var3;
8360 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8361 var_nodearraylist5 = var4;
8362 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8363 var_nodearraylist4 = var5;
8364 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8365 var_nodearraylist3 = var6;
8366 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8367 var_nodearraylist2 = var7;
8368 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8369 var_nodearraylist1 = var8;
8370 var_pdocnode2 = var_nodearraylist1;
8371 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8372 cltype = type_nullable_parser_nodes__ADoc.color;
8373 idtype = type_nullable_parser_nodes__ADoc.id;
8374 if(var_pdocnode2 == NULL) {
8375 var9 = 1;
8376 } else {
8377 if(cltype >= var_pdocnode2->type->table_size) {
8378 var9 = 0;
8379 } else {
8380 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
8381 }
8382 }
8383 if (!var9) {
8384 fprintf(stderr, "Runtime error: %s", "Assert failed");
8385 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16185);
8386 show_backtrace(1);
8387 }
8388 var_tkwredefnode3 = var_nodearraylist2;
8389 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8390 cltype11 = type_nullable_parser_nodes__TKwredef.color;
8391 idtype12 = type_nullable_parser_nodes__TKwredef.id;
8392 if(var_tkwredefnode3 == NULL) {
8393 var10 = 1;
8394 } else {
8395 if(cltype11 >= var_tkwredefnode3->type->table_size) {
8396 var10 = 0;
8397 } else {
8398 var10 = var_tkwredefnode3->type->type_table[cltype11] == idtype12;
8399 }
8400 }
8401 if (!var10) {
8402 fprintf(stderr, "Runtime error: %s", "Assert failed");
8403 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16187);
8404 show_backtrace(1);
8405 }
8406 var_pvisibilitynode4 = var_nodearraylist3;
8407 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8408 cltype14 = type_nullable_parser_nodes__AVisibility.color;
8409 idtype15 = type_nullable_parser_nodes__AVisibility.id;
8410 if(var_pvisibilitynode4 == NULL) {
8411 var13 = 1;
8412 } else {
8413 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
8414 var13 = 0;
8415 } else {
8416 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
8417 }
8418 }
8419 if (!var13) {
8420 fprintf(stderr, "Runtime error: %s", "Assert failed");
8421 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16189);
8422 show_backtrace(1);
8423 }
8424 var_tkwmethnode5 = var_nodearraylist4;
8425 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
8426 cltype17 = type_nullable_parser_nodes__TKwmeth.color;
8427 idtype18 = type_nullable_parser_nodes__TKwmeth.id;
8428 if(var_tkwmethnode5 == NULL) {
8429 var16 = 1;
8430 } else {
8431 if(cltype17 >= var_tkwmethnode5->type->table_size) {
8432 var16 = 0;
8433 } else {
8434 var16 = var_tkwmethnode5->type->type_table[cltype17] == idtype18;
8435 }
8436 }
8437 if (!var16) {
8438 fprintf(stderr, "Runtime error: %s", "Assert failed");
8439 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16191);
8440 show_backtrace(1);
8441 }
8442 var_pmethidnode6 = var_nodearraylist5;
8443 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
8444 cltype20 = type_nullable_parser_nodes__AMethid.color;
8445 idtype21 = type_nullable_parser_nodes__AMethid.id;
8446 if(var_pmethidnode6 == NULL) {
8447 var19 = 1;
8448 } else {
8449 if(cltype20 >= var_pmethidnode6->type->table_size) {
8450 var19 = 0;
8451 } else {
8452 var19 = var_pmethidnode6->type->type_table[cltype20] == idtype21;
8453 }
8454 }
8455 if (!var19) {
8456 fprintf(stderr, "Runtime error: %s", "Assert failed");
8457 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16193);
8458 show_backtrace(1);
8459 }
8460 var_psignaturenode7 = var_nodearraylist6;
8461 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
8462 cltype23 = type_nullable_parser_nodes__ASignature.color;
8463 idtype24 = type_nullable_parser_nodes__ASignature.id;
8464 if(var_psignaturenode7 == NULL) {
8465 var22 = 1;
8466 } else {
8467 if(cltype23 >= var_psignaturenode7->type->table_size) {
8468 var22 = 0;
8469 } else {
8470 var22 = var_psignaturenode7->type->type_table[cltype23] == idtype24;
8471 }
8472 }
8473 if (!var22) {
8474 fprintf(stderr, "Runtime error: %s", "Assert failed");
8475 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16195);
8476 show_backtrace(1);
8477 }
8478 var25 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
8479 var26 = NULL;
8480 var27 = NULL;
8481 var28 = NULL;
8482 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var25, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var26, var27, var28) /* init_aexternmethpropdef on <var25:AExternMethPropdef>*/;
8483 var_ppropdefnode1 = var25;
8484 var_node_list = var_ppropdefnode1;
8485 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction362> */
8486 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
8487 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
8488 RET_LABEL:;
8489 }
8490 /* method parser#ReduceAction362#action for (self: Object, Parser) */
8491 void VIRTUAL_parser__ReduceAction362__action(val* self, val* p0) {
8492 parser__ReduceAction362__action(self, p0);
8493 RET_LABEL:;
8494 }
8495 /* method parser#ReduceAction363#action for (self: ReduceAction363, Parser) */
8496 void parser__ReduceAction363__action(val* self, val* p0) {
8497 val* var_p /* var p: Parser */;
8498 val* var /* : null */;
8499 val* var_node_list /* var node_list: nullable Object */;
8500 val* var1 /* : nullable Object */;
8501 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8502 val* var2 /* : nullable Object */;
8503 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8504 val* var3 /* : nullable Object */;
8505 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8506 val* var4 /* : nullable Object */;
8507 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8508 val* var5 /* : nullable Object */;
8509 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8510 val* var6 /* : nullable Object */;
8511 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8512 val* var7 /* : nullable Object */;
8513 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8514 val* var8 /* : nullable Object */;
8515 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8516 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8517 short int var9 /* : Bool */;
8518 int cltype;
8519 int idtype;
8520 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8521 short int var10 /* : Bool */;
8522 int cltype11;
8523 int idtype12;
8524 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
8525 short int var13 /* : Bool */;
8526 int cltype14;
8527 int idtype15;
8528 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
8529 short int var16 /* : Bool */;
8530 int cltype17;
8531 int idtype18;
8532 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
8533 short int var19 /* : Bool */;
8534 int cltype20;
8535 int idtype21;
8536 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
8537 short int var22 /* : Bool */;
8538 int cltype23;
8539 int idtype24;
8540 val* var25 /* : AExternMethPropdef */;
8541 val* var26 /* : null */;
8542 val* var27 /* : null */;
8543 val* var28 /* : null */;
8544 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
8545 long var29 /* : Int */;
8546 long var30 /* : Int */;
8547 var_p = p0;
8548 var = NULL;
8549 var_node_list = var;
8550 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8551 var_nodearraylist8 = var1;
8552 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8553 var_nodearraylist7 = var2;
8554 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8555 var_nodearraylist6 = var3;
8556 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8557 var_nodearraylist5 = var4;
8558 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8559 var_nodearraylist4 = var5;
8560 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8561 var_nodearraylist3 = var6;
8562 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8563 var_nodearraylist2 = var7;
8564 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8565 var_nodearraylist1 = var8;
8566 var_pdocnode2 = var_nodearraylist1;
8567 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8568 cltype = type_nullable_parser_nodes__ADoc.color;
8569 idtype = type_nullable_parser_nodes__ADoc.id;
8570 if(var_pdocnode2 == NULL) {
8571 var9 = 1;
8572 } else {
8573 if(cltype >= var_pdocnode2->type->table_size) {
8574 var9 = 0;
8575 } else {
8576 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
8577 }
8578 }
8579 if (!var9) {
8580 fprintf(stderr, "Runtime error: %s", "Assert failed");
8581 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16225);
8582 show_backtrace(1);
8583 }
8584 var_pvisibilitynode4 = var_nodearraylist2;
8585 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8586 cltype11 = type_nullable_parser_nodes__AVisibility.color;
8587 idtype12 = type_nullable_parser_nodes__AVisibility.id;
8588 if(var_pvisibilitynode4 == NULL) {
8589 var10 = 1;
8590 } else {
8591 if(cltype11 >= var_pvisibilitynode4->type->table_size) {
8592 var10 = 0;
8593 } else {
8594 var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
8595 }
8596 }
8597 if (!var10) {
8598 fprintf(stderr, "Runtime error: %s", "Assert failed");
8599 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16227);
8600 show_backtrace(1);
8601 }
8602 var_tkwmethnode5 = var_nodearraylist3;
8603 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
8604 cltype14 = type_nullable_parser_nodes__TKwmeth.color;
8605 idtype15 = type_nullable_parser_nodes__TKwmeth.id;
8606 if(var_tkwmethnode5 == NULL) {
8607 var13 = 1;
8608 } else {
8609 if(cltype14 >= var_tkwmethnode5->type->table_size) {
8610 var13 = 0;
8611 } else {
8612 var13 = var_tkwmethnode5->type->type_table[cltype14] == idtype15;
8613 }
8614 }
8615 if (!var13) {
8616 fprintf(stderr, "Runtime error: %s", "Assert failed");
8617 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16229);
8618 show_backtrace(1);
8619 }
8620 var_pmethidnode6 = var_nodearraylist4;
8621 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
8622 cltype17 = type_nullable_parser_nodes__AMethid.color;
8623 idtype18 = type_nullable_parser_nodes__AMethid.id;
8624 if(var_pmethidnode6 == NULL) {
8625 var16 = 1;
8626 } else {
8627 if(cltype17 >= var_pmethidnode6->type->table_size) {
8628 var16 = 0;
8629 } else {
8630 var16 = var_pmethidnode6->type->type_table[cltype17] == idtype18;
8631 }
8632 }
8633 if (!var16) {
8634 fprintf(stderr, "Runtime error: %s", "Assert failed");
8635 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16231);
8636 show_backtrace(1);
8637 }
8638 var_psignaturenode7 = var_nodearraylist5;
8639 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
8640 cltype20 = type_nullable_parser_nodes__ASignature.color;
8641 idtype21 = type_nullable_parser_nodes__ASignature.id;
8642 if(var_psignaturenode7 == NULL) {
8643 var19 = 1;
8644 } else {
8645 if(cltype20 >= var_psignaturenode7->type->table_size) {
8646 var19 = 0;
8647 } else {
8648 var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
8649 }
8650 }
8651 if (!var19) {
8652 fprintf(stderr, "Runtime error: %s", "Assert failed");
8653 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16233);
8654 show_backtrace(1);
8655 }
8656 var_tstringnode8 = var_nodearraylist8;
8657 /* <var_tstringnode8:nullable Object> isa nullable TString */
8658 cltype23 = type_nullable_parser_nodes__TString.color;
8659 idtype24 = type_nullable_parser_nodes__TString.id;
8660 if(var_tstringnode8 == NULL) {
8661 var22 = 1;
8662 } else {
8663 if(cltype23 >= var_tstringnode8->type->table_size) {
8664 var22 = 0;
8665 } else {
8666 var22 = var_tstringnode8->type->type_table[cltype23] == idtype24;
8667 }
8668 }
8669 if (!var22) {
8670 fprintf(stderr, "Runtime error: %s", "Assert failed");
8671 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16235);
8672 show_backtrace(1);
8673 }
8674 var25 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
8675 var26 = NULL;
8676 var27 = NULL;
8677 var28 = NULL;
8678 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var25, var_pdocnode2, var26, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var27, var28) /* init_aexternmethpropdef on <var25:AExternMethPropdef>*/;
8679 var_ppropdefnode1 = var25;
8680 var_node_list = var_ppropdefnode1;
8681 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction363> */
8682 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
8683 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
8684 RET_LABEL:;
8685 }
8686 /* method parser#ReduceAction363#action for (self: Object, Parser) */
8687 void VIRTUAL_parser__ReduceAction363__action(val* self, val* p0) {
8688 parser__ReduceAction363__action(self, p0);
8689 RET_LABEL:;
8690 }
8691 /* method parser#ReduceAction364#action for (self: ReduceAction364, Parser) */
8692 void parser__ReduceAction364__action(val* self, val* p0) {
8693 val* var_p /* var p: Parser */;
8694 val* var /* : null */;
8695 val* var_node_list /* var node_list: nullable Object */;
8696 val* var1 /* : nullable Object */;
8697 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8698 val* var2 /* : nullable Object */;
8699 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8700 val* var3 /* : nullable Object */;
8701 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8702 val* var4 /* : nullable Object */;
8703 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8704 val* var5 /* : nullable Object */;
8705 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8706 val* var6 /* : nullable Object */;
8707 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8708 val* var7 /* : nullable Object */;
8709 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8710 val* var8 /* : nullable Object */;
8711 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8712 val* var9 /* : nullable Object */;
8713 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8714 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8715 short int var10 /* : Bool */;
8716 int cltype;
8717 int idtype;
8718 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
8719 short int var11 /* : Bool */;
8720 int cltype12;
8721 int idtype13;
8722 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8723 short int var14 /* : Bool */;
8724 int cltype15;
8725 int idtype16;
8726 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
8727 short int var17 /* : Bool */;
8728 int cltype18;
8729 int idtype19;
8730 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
8731 short int var20 /* : Bool */;
8732 int cltype21;
8733 int idtype22;
8734 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
8735 short int var23 /* : Bool */;
8736 int cltype24;
8737 int idtype25;
8738 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
8739 short int var26 /* : Bool */;
8740 int cltype27;
8741 int idtype28;
8742 val* var29 /* : AExternMethPropdef */;
8743 val* var30 /* : null */;
8744 val* var31 /* : null */;
8745 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
8746 long var32 /* : Int */;
8747 long var33 /* : Int */;
8748 var_p = p0;
8749 var = NULL;
8750 var_node_list = var;
8751 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8752 var_nodearraylist9 = var1;
8753 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8754 var_nodearraylist8 = var2;
8755 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8756 var_nodearraylist7 = var3;
8757 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8758 var_nodearraylist6 = var4;
8759 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8760 var_nodearraylist5 = var5;
8761 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8762 var_nodearraylist4 = var6;
8763 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8764 var_nodearraylist3 = var7;
8765 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8766 var_nodearraylist2 = var8;
8767 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8768 var_nodearraylist1 = var9;
8769 var_pdocnode2 = var_nodearraylist1;
8770 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8771 cltype = type_nullable_parser_nodes__ADoc.color;
8772 idtype = type_nullable_parser_nodes__ADoc.id;
8773 if(var_pdocnode2 == NULL) {
8774 var10 = 1;
8775 } else {
8776 if(cltype >= var_pdocnode2->type->table_size) {
8777 var10 = 0;
8778 } else {
8779 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
8780 }
8781 }
8782 if (!var10) {
8783 fprintf(stderr, "Runtime error: %s", "Assert failed");
8784 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16266);
8785 show_backtrace(1);
8786 }
8787 var_tkwredefnode3 = var_nodearraylist2;
8788 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8789 cltype12 = type_nullable_parser_nodes__TKwredef.color;
8790 idtype13 = type_nullable_parser_nodes__TKwredef.id;
8791 if(var_tkwredefnode3 == NULL) {
8792 var11 = 1;
8793 } else {
8794 if(cltype12 >= var_tkwredefnode3->type->table_size) {
8795 var11 = 0;
8796 } else {
8797 var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
8798 }
8799 }
8800 if (!var11) {
8801 fprintf(stderr, "Runtime error: %s", "Assert failed");
8802 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16268);
8803 show_backtrace(1);
8804 }
8805 var_pvisibilitynode4 = var_nodearraylist3;
8806 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8807 cltype15 = type_nullable_parser_nodes__AVisibility.color;
8808 idtype16 = type_nullable_parser_nodes__AVisibility.id;
8809 if(var_pvisibilitynode4 == NULL) {
8810 var14 = 1;
8811 } else {
8812 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
8813 var14 = 0;
8814 } else {
8815 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
8816 }
8817 }
8818 if (!var14) {
8819 fprintf(stderr, "Runtime error: %s", "Assert failed");
8820 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16270);
8821 show_backtrace(1);
8822 }
8823 var_tkwmethnode5 = var_nodearraylist4;
8824 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
8825 cltype18 = type_nullable_parser_nodes__TKwmeth.color;
8826 idtype19 = type_nullable_parser_nodes__TKwmeth.id;
8827 if(var_tkwmethnode5 == NULL) {
8828 var17 = 1;
8829 } else {
8830 if(cltype18 >= var_tkwmethnode5->type->table_size) {
8831 var17 = 0;
8832 } else {
8833 var17 = var_tkwmethnode5->type->type_table[cltype18] == idtype19;
8834 }
8835 }
8836 if (!var17) {
8837 fprintf(stderr, "Runtime error: %s", "Assert failed");
8838 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16272);
8839 show_backtrace(1);
8840 }
8841 var_pmethidnode6 = var_nodearraylist5;
8842 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
8843 cltype21 = type_nullable_parser_nodes__AMethid.color;
8844 idtype22 = type_nullable_parser_nodes__AMethid.id;
8845 if(var_pmethidnode6 == NULL) {
8846 var20 = 1;
8847 } else {
8848 if(cltype21 >= var_pmethidnode6->type->table_size) {
8849 var20 = 0;
8850 } else {
8851 var20 = var_pmethidnode6->type->type_table[cltype21] == idtype22;
8852 }
8853 }
8854 if (!var20) {
8855 fprintf(stderr, "Runtime error: %s", "Assert failed");
8856 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16274);
8857 show_backtrace(1);
8858 }
8859 var_psignaturenode7 = var_nodearraylist6;
8860 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
8861 cltype24 = type_nullable_parser_nodes__ASignature.color;
8862 idtype25 = type_nullable_parser_nodes__ASignature.id;
8863 if(var_psignaturenode7 == NULL) {
8864 var23 = 1;
8865 } else {
8866 if(cltype24 >= var_psignaturenode7->type->table_size) {
8867 var23 = 0;
8868 } else {
8869 var23 = var_psignaturenode7->type->type_table[cltype24] == idtype25;
8870 }
8871 }
8872 if (!var23) {
8873 fprintf(stderr, "Runtime error: %s", "Assert failed");
8874 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16276);
8875 show_backtrace(1);
8876 }
8877 var_tstringnode8 = var_nodearraylist9;
8878 /* <var_tstringnode8:nullable Object> isa nullable TString */
8879 cltype27 = type_nullable_parser_nodes__TString.color;
8880 idtype28 = type_nullable_parser_nodes__TString.id;
8881 if(var_tstringnode8 == NULL) {
8882 var26 = 1;
8883 } else {
8884 if(cltype27 >= var_tstringnode8->type->table_size) {
8885 var26 = 0;
8886 } else {
8887 var26 = var_tstringnode8->type->type_table[cltype27] == idtype28;
8888 }
8889 }
8890 if (!var26) {
8891 fprintf(stderr, "Runtime error: %s", "Assert failed");
8892 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16278);
8893 show_backtrace(1);
8894 }
8895 var29 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
8896 var30 = NULL;
8897 var31 = NULL;
8898 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var30, var31) /* init_aexternmethpropdef on <var29:AExternMethPropdef>*/;
8899 var_ppropdefnode1 = var29;
8900 var_node_list = var_ppropdefnode1;
8901 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction364> */
8902 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
8903 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
8904 RET_LABEL:;
8905 }
8906 /* method parser#ReduceAction364#action for (self: Object, Parser) */
8907 void VIRTUAL_parser__ReduceAction364__action(val* self, val* p0) {
8908 parser__ReduceAction364__action(self, p0);
8909 RET_LABEL:;
8910 }
8911 /* method parser#ReduceAction365#action for (self: ReduceAction365, Parser) */
8912 void parser__ReduceAction365__action(val* self, val* p0) {
8913 val* var_p /* var p: Parser */;
8914 val* var /* : null */;
8915 val* var_node_list /* var node_list: nullable Object */;
8916 val* var1 /* : nullable Object */;
8917 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8918 val* var2 /* : nullable Object */;
8919 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8920 val* var3 /* : nullable Object */;
8921 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8922 val* var4 /* : nullable Object */;
8923 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8924 val* var5 /* : nullable Object */;
8925 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8926 val* var6 /* : nullable Object */;
8927 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8928 val* var7 /* : nullable Object */;
8929 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8930 val* var8 /* : nullable Object */;
8931 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8932 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8933 short int var9 /* : Bool */;
8934 int cltype;
8935 int idtype;
8936 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8937 short int var10 /* : Bool */;
8938 int cltype11;
8939 int idtype12;
8940 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
8941 short int var13 /* : Bool */;
8942 int cltype14;
8943 int idtype15;
8944 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
8945 short int var16 /* : Bool */;
8946 int cltype17;
8947 int idtype18;
8948 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
8949 short int var19 /* : Bool */;
8950 int cltype20;
8951 int idtype21;
8952 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
8953 short int var22 /* : Bool */;
8954 int cltype23;
8955 int idtype24;
8956 val* var25 /* : AExternMethPropdef */;
8957 val* var26 /* : null */;
8958 val* var27 /* : null */;
8959 val* var28 /* : null */;
8960 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
8961 long var29 /* : Int */;
8962 long var30 /* : Int */;
8963 var_p = p0;
8964 var = NULL;
8965 var_node_list = var;
8966 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8967 var_nodearraylist8 = var1;
8968 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8969 var_nodearraylist7 = var2;
8970 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8971 var_nodearraylist6 = var3;
8972 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8973 var_nodearraylist5 = var4;
8974 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8975 var_nodearraylist4 = var5;
8976 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8977 var_nodearraylist3 = var6;
8978 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8979 var_nodearraylist2 = var7;
8980 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8981 var_nodearraylist1 = var8;
8982 var_pdocnode2 = var_nodearraylist1;
8983 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8984 cltype = type_nullable_parser_nodes__ADoc.color;
8985 idtype = type_nullable_parser_nodes__ADoc.id;
8986 if(var_pdocnode2 == NULL) {
8987 var9 = 1;
8988 } else {
8989 if(cltype >= var_pdocnode2->type->table_size) {
8990 var9 = 0;
8991 } else {
8992 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
8993 }
8994 }
8995 if (!var9) {
8996 fprintf(stderr, "Runtime error: %s", "Assert failed");
8997 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16308);
8998 show_backtrace(1);
8999 }
9000 var_pvisibilitynode4 = var_nodearraylist2;
9001 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9002 cltype11 = type_nullable_parser_nodes__AVisibility.color;
9003 idtype12 = type_nullable_parser_nodes__AVisibility.id;
9004 if(var_pvisibilitynode4 == NULL) {
9005 var10 = 1;
9006 } else {
9007 if(cltype11 >= var_pvisibilitynode4->type->table_size) {
9008 var10 = 0;
9009 } else {
9010 var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
9011 }
9012 }
9013 if (!var10) {
9014 fprintf(stderr, "Runtime error: %s", "Assert failed");
9015 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16310);
9016 show_backtrace(1);
9017 }
9018 var_tkwmethnode5 = var_nodearraylist3;
9019 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
9020 cltype14 = type_nullable_parser_nodes__TKwmeth.color;
9021 idtype15 = type_nullable_parser_nodes__TKwmeth.id;
9022 if(var_tkwmethnode5 == NULL) {
9023 var13 = 1;
9024 } else {
9025 if(cltype14 >= var_tkwmethnode5->type->table_size) {
9026 var13 = 0;
9027 } else {
9028 var13 = var_tkwmethnode5->type->type_table[cltype14] == idtype15;
9029 }
9030 }
9031 if (!var13) {
9032 fprintf(stderr, "Runtime error: %s", "Assert failed");
9033 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16312);
9034 show_backtrace(1);
9035 }
9036 var_pmethidnode6 = var_nodearraylist4;
9037 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
9038 cltype17 = type_nullable_parser_nodes__AMethid.color;
9039 idtype18 = type_nullable_parser_nodes__AMethid.id;
9040 if(var_pmethidnode6 == NULL) {
9041 var16 = 1;
9042 } else {
9043 if(cltype17 >= var_pmethidnode6->type->table_size) {
9044 var16 = 0;
9045 } else {
9046 var16 = var_pmethidnode6->type->type_table[cltype17] == idtype18;
9047 }
9048 }
9049 if (!var16) {
9050 fprintf(stderr, "Runtime error: %s", "Assert failed");
9051 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16314);
9052 show_backtrace(1);
9053 }
9054 var_psignaturenode7 = var_nodearraylist5;
9055 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
9056 cltype20 = type_nullable_parser_nodes__ASignature.color;
9057 idtype21 = type_nullable_parser_nodes__ASignature.id;
9058 if(var_psignaturenode7 == NULL) {
9059 var19 = 1;
9060 } else {
9061 if(cltype20 >= var_psignaturenode7->type->table_size) {
9062 var19 = 0;
9063 } else {
9064 var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
9065 }
9066 }
9067 if (!var19) {
9068 fprintf(stderr, "Runtime error: %s", "Assert failed");
9069 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16316);
9070 show_backtrace(1);
9071 }
9072 var_pexterncallsnode9 = var_nodearraylist8;
9073 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
9074 cltype23 = type_nullable_parser_nodes__AExternCalls.color;
9075 idtype24 = type_nullable_parser_nodes__AExternCalls.id;
9076 if(var_pexterncallsnode9 == NULL) {
9077 var22 = 1;
9078 } else {
9079 if(cltype23 >= var_pexterncallsnode9->type->table_size) {
9080 var22 = 0;
9081 } else {
9082 var22 = var_pexterncallsnode9->type->type_table[cltype23] == idtype24;
9083 }
9084 }
9085 if (!var22) {
9086 fprintf(stderr, "Runtime error: %s", "Assert failed");
9087 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16318);
9088 show_backtrace(1);
9089 }
9090 var25 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
9091 var26 = NULL;
9092 var27 = NULL;
9093 var28 = NULL;
9094 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var25, var_pdocnode2, var26, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var27, var_pexterncallsnode9, var28) /* init_aexternmethpropdef on <var25:AExternMethPropdef>*/;
9095 var_ppropdefnode1 = var25;
9096 var_node_list = var_ppropdefnode1;
9097 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction365> */
9098 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
9099 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
9100 RET_LABEL:;
9101 }
9102 /* method parser#ReduceAction365#action for (self: Object, Parser) */
9103 void VIRTUAL_parser__ReduceAction365__action(val* self, val* p0) {
9104 parser__ReduceAction365__action(self, p0);
9105 RET_LABEL:;
9106 }
9107 /* method parser#ReduceAction366#action for (self: ReduceAction366, Parser) */
9108 void parser__ReduceAction366__action(val* self, val* p0) {
9109 val* var_p /* var p: Parser */;
9110 val* var /* : null */;
9111 val* var_node_list /* var node_list: nullable Object */;
9112 val* var1 /* : nullable Object */;
9113 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9114 val* var2 /* : nullable Object */;
9115 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9116 val* var3 /* : nullable Object */;
9117 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9118 val* var4 /* : nullable Object */;
9119 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9120 val* var5 /* : nullable Object */;
9121 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9122 val* var6 /* : nullable Object */;
9123 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9124 val* var7 /* : nullable Object */;
9125 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9126 val* var8 /* : nullable Object */;
9127 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9128 val* var9 /* : nullable Object */;
9129 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9130 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9131 short int var10 /* : Bool */;
9132 int cltype;
9133 int idtype;
9134 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
9135 short int var11 /* : Bool */;
9136 int cltype12;
9137 int idtype13;
9138 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9139 short int var14 /* : Bool */;
9140 int cltype15;
9141 int idtype16;
9142 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
9143 short int var17 /* : Bool */;
9144 int cltype18;
9145 int idtype19;
9146 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
9147 short int var20 /* : Bool */;
9148 int cltype21;
9149 int idtype22;
9150 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
9151 short int var23 /* : Bool */;
9152 int cltype24;
9153 int idtype25;
9154 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
9155 short int var26 /* : Bool */;
9156 int cltype27;
9157 int idtype28;
9158 val* var29 /* : AExternMethPropdef */;
9159 val* var30 /* : null */;
9160 val* var31 /* : null */;
9161 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
9162 long var32 /* : Int */;
9163 long var33 /* : Int */;
9164 var_p = p0;
9165 var = NULL;
9166 var_node_list = var;
9167 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9168 var_nodearraylist9 = var1;
9169 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9170 var_nodearraylist8 = var2;
9171 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9172 var_nodearraylist7 = var3;
9173 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9174 var_nodearraylist6 = var4;
9175 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9176 var_nodearraylist5 = var5;
9177 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9178 var_nodearraylist4 = var6;
9179 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9180 var_nodearraylist3 = var7;
9181 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9182 var_nodearraylist2 = var8;
9183 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9184 var_nodearraylist1 = var9;
9185 var_pdocnode2 = var_nodearraylist1;
9186 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9187 cltype = type_nullable_parser_nodes__ADoc.color;
9188 idtype = type_nullable_parser_nodes__ADoc.id;
9189 if(var_pdocnode2 == NULL) {
9190 var10 = 1;
9191 } else {
9192 if(cltype >= var_pdocnode2->type->table_size) {
9193 var10 = 0;
9194 } else {
9195 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
9196 }
9197 }
9198 if (!var10) {
9199 fprintf(stderr, "Runtime error: %s", "Assert failed");
9200 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16349);
9201 show_backtrace(1);
9202 }
9203 var_tkwredefnode3 = var_nodearraylist2;
9204 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
9205 cltype12 = type_nullable_parser_nodes__TKwredef.color;
9206 idtype13 = type_nullable_parser_nodes__TKwredef.id;
9207 if(var_tkwredefnode3 == NULL) {
9208 var11 = 1;
9209 } else {
9210 if(cltype12 >= var_tkwredefnode3->type->table_size) {
9211 var11 = 0;
9212 } else {
9213 var11 = var_tkwredefnode3->type->type_table[cltype12] == idtype13;
9214 }
9215 }
9216 if (!var11) {
9217 fprintf(stderr, "Runtime error: %s", "Assert failed");
9218 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16351);
9219 show_backtrace(1);
9220 }
9221 var_pvisibilitynode4 = var_nodearraylist3;
9222 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9223 cltype15 = type_nullable_parser_nodes__AVisibility.color;
9224 idtype16 = type_nullable_parser_nodes__AVisibility.id;
9225 if(var_pvisibilitynode4 == NULL) {
9226 var14 = 1;
9227 } else {
9228 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
9229 var14 = 0;
9230 } else {
9231 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
9232 }
9233 }
9234 if (!var14) {
9235 fprintf(stderr, "Runtime error: %s", "Assert failed");
9236 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16353);
9237 show_backtrace(1);
9238 }
9239 var_tkwmethnode5 = var_nodearraylist4;
9240 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
9241 cltype18 = type_nullable_parser_nodes__TKwmeth.color;
9242 idtype19 = type_nullable_parser_nodes__TKwmeth.id;
9243 if(var_tkwmethnode5 == NULL) {
9244 var17 = 1;
9245 } else {
9246 if(cltype18 >= var_tkwmethnode5->type->table_size) {
9247 var17 = 0;
9248 } else {
9249 var17 = var_tkwmethnode5->type->type_table[cltype18] == idtype19;
9250 }
9251 }
9252 if (!var17) {
9253 fprintf(stderr, "Runtime error: %s", "Assert failed");
9254 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16355);
9255 show_backtrace(1);
9256 }
9257 var_pmethidnode6 = var_nodearraylist5;
9258 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
9259 cltype21 = type_nullable_parser_nodes__AMethid.color;
9260 idtype22 = type_nullable_parser_nodes__AMethid.id;
9261 if(var_pmethidnode6 == NULL) {
9262 var20 = 1;
9263 } else {
9264 if(cltype21 >= var_pmethidnode6->type->table_size) {
9265 var20 = 0;
9266 } else {
9267 var20 = var_pmethidnode6->type->type_table[cltype21] == idtype22;
9268 }
9269 }
9270 if (!var20) {
9271 fprintf(stderr, "Runtime error: %s", "Assert failed");
9272 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16357);
9273 show_backtrace(1);
9274 }
9275 var_psignaturenode7 = var_nodearraylist6;
9276 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
9277 cltype24 = type_nullable_parser_nodes__ASignature.color;
9278 idtype25 = type_nullable_parser_nodes__ASignature.id;
9279 if(var_psignaturenode7 == NULL) {
9280 var23 = 1;
9281 } else {
9282 if(cltype24 >= var_psignaturenode7->type->table_size) {
9283 var23 = 0;
9284 } else {
9285 var23 = var_psignaturenode7->type->type_table[cltype24] == idtype25;
9286 }
9287 }
9288 if (!var23) {
9289 fprintf(stderr, "Runtime error: %s", "Assert failed");
9290 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16359);
9291 show_backtrace(1);
9292 }
9293 var_pexterncallsnode9 = var_nodearraylist9;
9294 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
9295 cltype27 = type_nullable_parser_nodes__AExternCalls.color;
9296 idtype28 = type_nullable_parser_nodes__AExternCalls.id;
9297 if(var_pexterncallsnode9 == NULL) {
9298 var26 = 1;
9299 } else {
9300 if(cltype27 >= var_pexterncallsnode9->type->table_size) {
9301 var26 = 0;
9302 } else {
9303 var26 = var_pexterncallsnode9->type->type_table[cltype27] == idtype28;
9304 }
9305 }
9306 if (!var26) {
9307 fprintf(stderr, "Runtime error: %s", "Assert failed");
9308 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16361);
9309 show_backtrace(1);
9310 }
9311 var29 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
9312 var30 = NULL;
9313 var31 = NULL;
9314 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var29, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var30, var_pexterncallsnode9, var31) /* init_aexternmethpropdef on <var29:AExternMethPropdef>*/;
9315 var_ppropdefnode1 = var29;
9316 var_node_list = var_ppropdefnode1;
9317 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction366> */
9318 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
9319 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
9320 RET_LABEL:;
9321 }
9322 /* method parser#ReduceAction366#action for (self: Object, Parser) */
9323 void VIRTUAL_parser__ReduceAction366__action(val* self, val* p0) {
9324 parser__ReduceAction366__action(self, p0);
9325 RET_LABEL:;
9326 }
9327 /* method parser#ReduceAction367#action for (self: ReduceAction367, Parser) */
9328 void parser__ReduceAction367__action(val* self, val* p0) {
9329 val* var_p /* var p: Parser */;
9330 val* var /* : null */;
9331 val* var_node_list /* var node_list: nullable Object */;
9332 val* var1 /* : nullable Object */;
9333 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9334 val* var2 /* : nullable Object */;
9335 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9336 val* var3 /* : nullable Object */;
9337 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9338 val* var4 /* : nullable Object */;
9339 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9340 val* var5 /* : nullable Object */;
9341 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9342 val* var6 /* : nullable Object */;
9343 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9344 val* var7 /* : nullable Object */;
9345 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9346 val* var8 /* : nullable Object */;
9347 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9348 val* var9 /* : nullable Object */;
9349 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9350 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9351 short int var10 /* : Bool */;
9352 int cltype;
9353 int idtype;
9354 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9355 short int var11 /* : Bool */;
9356 int cltype12;
9357 int idtype13;
9358 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
9359 short int var14 /* : Bool */;
9360 int cltype15;
9361 int idtype16;
9362 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
9363 short int var17 /* : Bool */;
9364 int cltype18;
9365 int idtype19;
9366 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
9367 short int var20 /* : Bool */;
9368 int cltype21;
9369 int idtype22;
9370 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
9371 short int var23 /* : Bool */;
9372 int cltype24;
9373 int idtype25;
9374 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
9375 short int var26 /* : Bool */;
9376 int cltype27;
9377 int idtype28;
9378 val* var29 /* : AExternMethPropdef */;
9379 val* var30 /* : null */;
9380 val* var31 /* : null */;
9381 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
9382 long var32 /* : Int */;
9383 long var33 /* : Int */;
9384 var_p = p0;
9385 var = NULL;
9386 var_node_list = var;
9387 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9388 var_nodearraylist9 = var1;
9389 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9390 var_nodearraylist8 = var2;
9391 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9392 var_nodearraylist7 = var3;
9393 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9394 var_nodearraylist6 = var4;
9395 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9396 var_nodearraylist5 = var5;
9397 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9398 var_nodearraylist4 = var6;
9399 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9400 var_nodearraylist3 = var7;
9401 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9402 var_nodearraylist2 = var8;
9403 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9404 var_nodearraylist1 = var9;
9405 var_pdocnode2 = var_nodearraylist1;
9406 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9407 cltype = type_nullable_parser_nodes__ADoc.color;
9408 idtype = type_nullable_parser_nodes__ADoc.id;
9409 if(var_pdocnode2 == NULL) {
9410 var10 = 1;
9411 } else {
9412 if(cltype >= var_pdocnode2->type->table_size) {
9413 var10 = 0;
9414 } else {
9415 var10 = var_pdocnode2->type->type_table[cltype] == idtype;
9416 }
9417 }
9418 if (!var10) {
9419 fprintf(stderr, "Runtime error: %s", "Assert failed");
9420 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16392);
9421 show_backtrace(1);
9422 }
9423 var_pvisibilitynode4 = var_nodearraylist2;
9424 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9425 cltype12 = type_nullable_parser_nodes__AVisibility.color;
9426 idtype13 = type_nullable_parser_nodes__AVisibility.id;
9427 if(var_pvisibilitynode4 == NULL) {
9428 var11 = 1;
9429 } else {
9430 if(cltype12 >= var_pvisibilitynode4->type->table_size) {
9431 var11 = 0;
9432 } else {
9433 var11 = var_pvisibilitynode4->type->type_table[cltype12] == idtype13;
9434 }
9435 }
9436 if (!var11) {
9437 fprintf(stderr, "Runtime error: %s", "Assert failed");
9438 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16394);
9439 show_backtrace(1);
9440 }
9441 var_tkwmethnode5 = var_nodearraylist3;
9442 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
9443 cltype15 = type_nullable_parser_nodes__TKwmeth.color;
9444 idtype16 = type_nullable_parser_nodes__TKwmeth.id;
9445 if(var_tkwmethnode5 == NULL) {
9446 var14 = 1;
9447 } else {
9448 if(cltype15 >= var_tkwmethnode5->type->table_size) {
9449 var14 = 0;
9450 } else {
9451 var14 = var_tkwmethnode5->type->type_table[cltype15] == idtype16;
9452 }
9453 }
9454 if (!var14) {
9455 fprintf(stderr, "Runtime error: %s", "Assert failed");
9456 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16396);
9457 show_backtrace(1);
9458 }
9459 var_pmethidnode6 = var_nodearraylist4;
9460 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
9461 cltype18 = type_nullable_parser_nodes__AMethid.color;
9462 idtype19 = type_nullable_parser_nodes__AMethid.id;
9463 if(var_pmethidnode6 == NULL) {
9464 var17 = 1;
9465 } else {
9466 if(cltype18 >= var_pmethidnode6->type->table_size) {
9467 var17 = 0;
9468 } else {
9469 var17 = var_pmethidnode6->type->type_table[cltype18] == idtype19;
9470 }
9471 }
9472 if (!var17) {
9473 fprintf(stderr, "Runtime error: %s", "Assert failed");
9474 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16398);
9475 show_backtrace(1);
9476 }
9477 var_psignaturenode7 = var_nodearraylist5;
9478 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
9479 cltype21 = type_nullable_parser_nodes__ASignature.color;
9480 idtype22 = type_nullable_parser_nodes__ASignature.id;
9481 if(var_psignaturenode7 == NULL) {
9482 var20 = 1;
9483 } else {
9484 if(cltype21 >= var_psignaturenode7->type->table_size) {
9485 var20 = 0;
9486 } else {
9487 var20 = var_psignaturenode7->type->type_table[cltype21] == idtype22;
9488 }
9489 }
9490 if (!var20) {
9491 fprintf(stderr, "Runtime error: %s", "Assert failed");
9492 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16400);
9493 show_backtrace(1);
9494 }
9495 var_tstringnode8 = var_nodearraylist8;
9496 /* <var_tstringnode8:nullable Object> isa nullable TString */
9497 cltype24 = type_nullable_parser_nodes__TString.color;
9498 idtype25 = type_nullable_parser_nodes__TString.id;
9499 if(var_tstringnode8 == NULL) {
9500 var23 = 1;
9501 } else {
9502 if(cltype24 >= var_tstringnode8->type->table_size) {
9503 var23 = 0;
9504 } else {
9505 var23 = var_tstringnode8->type->type_table[cltype24] == idtype25;
9506 }
9507 }
9508 if (!var23) {
9509 fprintf(stderr, "Runtime error: %s", "Assert failed");
9510 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16402);
9511 show_backtrace(1);
9512 }
9513 var_pexterncallsnode9 = var_nodearraylist9;
9514 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
9515 cltype27 = type_nullable_parser_nodes__AExternCalls.color;
9516 idtype28 = type_nullable_parser_nodes__AExternCalls.id;
9517 if(var_pexterncallsnode9 == NULL) {
9518 var26 = 1;
9519 } else {
9520 if(cltype27 >= var_pexterncallsnode9->type->table_size) {
9521 var26 = 0;
9522 } else {
9523 var26 = var_pexterncallsnode9->type->type_table[cltype27] == idtype28;
9524 }
9525 }
9526 if (!var26) {
9527 fprintf(stderr, "Runtime error: %s", "Assert failed");
9528 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16404);
9529 show_backtrace(1);
9530 }
9531 var29 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
9532 var30 = NULL;
9533 var31 = NULL;
9534 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var29, var_pdocnode2, var30, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var_pexterncallsnode9, var31) /* init_aexternmethpropdef on <var29:AExternMethPropdef>*/;
9535 var_ppropdefnode1 = var29;
9536 var_node_list = var_ppropdefnode1;
9537 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction367> */
9538 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
9539 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
9540 RET_LABEL:;
9541 }
9542 /* method parser#ReduceAction367#action for (self: Object, Parser) */
9543 void VIRTUAL_parser__ReduceAction367__action(val* self, val* p0) {
9544 parser__ReduceAction367__action(self, p0);
9545 RET_LABEL:;
9546 }
9547 /* method parser#ReduceAction368#action for (self: ReduceAction368, Parser) */
9548 void parser__ReduceAction368__action(val* self, val* p0) {
9549 val* var_p /* var p: Parser */;
9550 val* var /* : null */;
9551 val* var_node_list /* var node_list: nullable Object */;
9552 val* var1 /* : nullable Object */;
9553 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
9554 val* var2 /* : nullable Object */;
9555 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9556 val* var3 /* : nullable Object */;
9557 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9558 val* var4 /* : nullable Object */;
9559 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9560 val* var5 /* : nullable Object */;
9561 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9562 val* var6 /* : nullable Object */;
9563 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9564 val* var7 /* : nullable Object */;
9565 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9566 val* var8 /* : nullable Object */;
9567 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9568 val* var9 /* : nullable Object */;
9569 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9570 val* var10 /* : nullable Object */;
9571 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9572 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9573 short int var11 /* : Bool */;
9574 int cltype;
9575 int idtype;
9576 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
9577 short int var12 /* : Bool */;
9578 int cltype13;
9579 int idtype14;
9580 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9581 short int var15 /* : Bool */;
9582 int cltype16;
9583 int idtype17;
9584 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
9585 short int var18 /* : Bool */;
9586 int cltype19;
9587 int idtype20;
9588 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
9589 short int var21 /* : Bool */;
9590 int cltype22;
9591 int idtype23;
9592 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
9593 short int var24 /* : Bool */;
9594 int cltype25;
9595 int idtype26;
9596 val* var_tstringnode8 /* var tstringnode8: nullable Object */;
9597 short int var27 /* : Bool */;
9598 int cltype28;
9599 int idtype29;
9600 val* var_pexterncallsnode9 /* var pexterncallsnode9: nullable Object */;
9601 short int var30 /* : Bool */;
9602 int cltype31;
9603 int idtype32;
9604 val* var33 /* : AExternMethPropdef */;
9605 val* var34 /* : null */;
9606 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
9607 long var35 /* : Int */;
9608 long var36 /* : Int */;
9609 var_p = p0;
9610 var = NULL;
9611 var_node_list = var;
9612 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9613 var_nodearraylist10 = var1;
9614 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9615 var_nodearraylist9 = var2;
9616 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9617 var_nodearraylist8 = var3;
9618 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9619 var_nodearraylist7 = var4;
9620 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9621 var_nodearraylist6 = var5;
9622 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9623 var_nodearraylist5 = var6;
9624 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9625 var_nodearraylist4 = var7;
9626 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9627 var_nodearraylist3 = var8;
9628 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9629 var_nodearraylist2 = var9;
9630 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9631 var_nodearraylist1 = var10;
9632 var_pdocnode2 = var_nodearraylist1;
9633 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9634 cltype = type_nullable_parser_nodes__ADoc.color;
9635 idtype = type_nullable_parser_nodes__ADoc.id;
9636 if(var_pdocnode2 == NULL) {
9637 var11 = 1;
9638 } else {
9639 if(cltype >= var_pdocnode2->type->table_size) {
9640 var11 = 0;
9641 } else {
9642 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
9643 }
9644 }
9645 if (!var11) {
9646 fprintf(stderr, "Runtime error: %s", "Assert failed");
9647 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16436);
9648 show_backtrace(1);
9649 }
9650 var_tkwredefnode3 = var_nodearraylist2;
9651 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
9652 cltype13 = type_nullable_parser_nodes__TKwredef.color;
9653 idtype14 = type_nullable_parser_nodes__TKwredef.id;
9654 if(var_tkwredefnode3 == NULL) {
9655 var12 = 1;
9656 } else {
9657 if(cltype13 >= var_tkwredefnode3->type->table_size) {
9658 var12 = 0;
9659 } else {
9660 var12 = var_tkwredefnode3->type->type_table[cltype13] == idtype14;
9661 }
9662 }
9663 if (!var12) {
9664 fprintf(stderr, "Runtime error: %s", "Assert failed");
9665 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16438);
9666 show_backtrace(1);
9667 }
9668 var_pvisibilitynode4 = var_nodearraylist3;
9669 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9670 cltype16 = type_nullable_parser_nodes__AVisibility.color;
9671 idtype17 = type_nullable_parser_nodes__AVisibility.id;
9672 if(var_pvisibilitynode4 == NULL) {
9673 var15 = 1;
9674 } else {
9675 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
9676 var15 = 0;
9677 } else {
9678 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
9679 }
9680 }
9681 if (!var15) {
9682 fprintf(stderr, "Runtime error: %s", "Assert failed");
9683 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16440);
9684 show_backtrace(1);
9685 }
9686 var_tkwmethnode5 = var_nodearraylist4;
9687 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
9688 cltype19 = type_nullable_parser_nodes__TKwmeth.color;
9689 idtype20 = type_nullable_parser_nodes__TKwmeth.id;
9690 if(var_tkwmethnode5 == NULL) {
9691 var18 = 1;
9692 } else {
9693 if(cltype19 >= var_tkwmethnode5->type->table_size) {
9694 var18 = 0;
9695 } else {
9696 var18 = var_tkwmethnode5->type->type_table[cltype19] == idtype20;
9697 }
9698 }
9699 if (!var18) {
9700 fprintf(stderr, "Runtime error: %s", "Assert failed");
9701 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16442);
9702 show_backtrace(1);
9703 }
9704 var_pmethidnode6 = var_nodearraylist5;
9705 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
9706 cltype22 = type_nullable_parser_nodes__AMethid.color;
9707 idtype23 = type_nullable_parser_nodes__AMethid.id;
9708 if(var_pmethidnode6 == NULL) {
9709 var21 = 1;
9710 } else {
9711 if(cltype22 >= var_pmethidnode6->type->table_size) {
9712 var21 = 0;
9713 } else {
9714 var21 = var_pmethidnode6->type->type_table[cltype22] == idtype23;
9715 }
9716 }
9717 if (!var21) {
9718 fprintf(stderr, "Runtime error: %s", "Assert failed");
9719 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16444);
9720 show_backtrace(1);
9721 }
9722 var_psignaturenode7 = var_nodearraylist6;
9723 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
9724 cltype25 = type_nullable_parser_nodes__ASignature.color;
9725 idtype26 = type_nullable_parser_nodes__ASignature.id;
9726 if(var_psignaturenode7 == NULL) {
9727 var24 = 1;
9728 } else {
9729 if(cltype25 >= var_psignaturenode7->type->table_size) {
9730 var24 = 0;
9731 } else {
9732 var24 = var_psignaturenode7->type->type_table[cltype25] == idtype26;
9733 }
9734 }
9735 if (!var24) {
9736 fprintf(stderr, "Runtime error: %s", "Assert failed");
9737 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16446);
9738 show_backtrace(1);
9739 }
9740 var_tstringnode8 = var_nodearraylist9;
9741 /* <var_tstringnode8:nullable Object> isa nullable TString */
9742 cltype28 = type_nullable_parser_nodes__TString.color;
9743 idtype29 = type_nullable_parser_nodes__TString.id;
9744 if(var_tstringnode8 == NULL) {
9745 var27 = 1;
9746 } else {
9747 if(cltype28 >= var_tstringnode8->type->table_size) {
9748 var27 = 0;
9749 } else {
9750 var27 = var_tstringnode8->type->type_table[cltype28] == idtype29;
9751 }
9752 }
9753 if (!var27) {
9754 fprintf(stderr, "Runtime error: %s", "Assert failed");
9755 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16448);
9756 show_backtrace(1);
9757 }
9758 var_pexterncallsnode9 = var_nodearraylist10;
9759 /* <var_pexterncallsnode9:nullable Object> isa nullable AExternCalls */
9760 cltype31 = type_nullable_parser_nodes__AExternCalls.color;
9761 idtype32 = type_nullable_parser_nodes__AExternCalls.id;
9762 if(var_pexterncallsnode9 == NULL) {
9763 var30 = 1;
9764 } else {
9765 if(cltype31 >= var_pexterncallsnode9->type->table_size) {
9766 var30 = 0;
9767 } else {
9768 var30 = var_pexterncallsnode9->type->type_table[cltype31] == idtype32;
9769 }
9770 }
9771 if (!var30) {
9772 fprintf(stderr, "Runtime error: %s", "Assert failed");
9773 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16450);
9774 show_backtrace(1);
9775 }
9776 var33 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
9777 var34 = NULL;
9778 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var_tstringnode8, var_pexterncallsnode9, var34) /* init_aexternmethpropdef on <var33:AExternMethPropdef>*/;
9779 var_ppropdefnode1 = var33;
9780 var_node_list = var_ppropdefnode1;
9781 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction368> */
9782 var36 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var35) /* go_to on <var_p:Parser>*/;
9783 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var36, var_node_list) /* push on <var_p:Parser>*/;
9784 RET_LABEL:;
9785 }
9786 /* method parser#ReduceAction368#action for (self: Object, Parser) */
9787 void VIRTUAL_parser__ReduceAction368__action(val* self, val* p0) {
9788 parser__ReduceAction368__action(self, p0);
9789 RET_LABEL:;
9790 }
9791 /* method parser#ReduceAction369#action for (self: ReduceAction369, Parser) */
9792 void parser__ReduceAction369__action(val* self, val* p0) {
9793 val* var_p /* var p: Parser */;
9794 val* var /* : null */;
9795 val* var_node_list /* var node_list: nullable Object */;
9796 val* var1 /* : nullable Object */;
9797 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9798 val* var2 /* : nullable Object */;
9799 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9800 val* var3 /* : nullable Object */;
9801 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9802 val* var4 /* : nullable Object */;
9803 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9804 val* var5 /* : nullable Object */;
9805 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9806 val* var6 /* : nullable Object */;
9807 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9808 val* var7 /* : nullable Object */;
9809 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9810 val* var8 /* : nullable Object */;
9811 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9812 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9813 short int var9 /* : Bool */;
9814 int cltype;
9815 int idtype;
9816 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9817 short int var10 /* : Bool */;
9818 int cltype11;
9819 int idtype12;
9820 val* var_tkwmethnode5 /* var tkwmethnode5: nullable Object */;
9821 short int var13 /* : Bool */;
9822 int cltype14;
9823 int idtype15;
9824 val* var_pmethidnode6 /* var pmethidnode6: nullable Object */;
9825 short int var16 /* : Bool */;
9826 int cltype17;
9827 int idtype18;
9828 val* var_psignaturenode7 /* var psignaturenode7: nullable Object */;
9829 short int var19 /* : Bool */;
9830 int cltype20;
9831 int idtype21;
9832 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
9833 short int var22 /* : Bool */;
9834 int cltype23;
9835 int idtype24;
9836 val* var25 /* : AExternMethPropdef */;
9837 val* var26 /* : null */;
9838 val* var27 /* : null */;
9839 val* var28 /* : null */;
9840 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AExternMethPropdef */;
9841 long var29 /* : Int */;
9842 long var30 /* : Int */;
9843 var_p = p0;
9844 var = NULL;
9845 var_node_list = var;
9846 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9847 var_nodearraylist8 = var1;
9848 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9849 var_nodearraylist7 = var2;
9850 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9851 var_nodearraylist6 = var3;
9852 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9853 var_nodearraylist5 = var4;
9854 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9855 var_nodearraylist4 = var5;
9856 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9857 var_nodearraylist3 = var6;
9858 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9859 var_nodearraylist2 = var7;
9860 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9861 var_nodearraylist1 = var8;
9862 var_pdocnode2 = var_nodearraylist1;
9863 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9864 cltype = type_nullable_parser_nodes__ADoc.color;
9865 idtype = type_nullable_parser_nodes__ADoc.id;
9866 if(var_pdocnode2 == NULL) {
9867 var9 = 1;
9868 } else {
9869 if(cltype >= var_pdocnode2->type->table_size) {
9870 var9 = 0;
9871 } else {
9872 var9 = var_pdocnode2->type->type_table[cltype] == idtype;
9873 }
9874 }
9875 if (!var9) {
9876 fprintf(stderr, "Runtime error: %s", "Assert failed");
9877 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16480);
9878 show_backtrace(1);
9879 }
9880 var_pvisibilitynode4 = var_nodearraylist2;
9881 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9882 cltype11 = type_nullable_parser_nodes__AVisibility.color;
9883 idtype12 = type_nullable_parser_nodes__AVisibility.id;
9884 if(var_pvisibilitynode4 == NULL) {
9885 var10 = 1;
9886 } else {
9887 if(cltype11 >= var_pvisibilitynode4->type->table_size) {
9888 var10 = 0;
9889 } else {
9890 var10 = var_pvisibilitynode4->type->type_table[cltype11] == idtype12;
9891 }
9892 }
9893 if (!var10) {
9894 fprintf(stderr, "Runtime error: %s", "Assert failed");
9895 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16482);
9896 show_backtrace(1);
9897 }
9898 var_tkwmethnode5 = var_nodearraylist3;
9899 /* <var_tkwmethnode5:nullable Object> isa nullable TKwmeth */
9900 cltype14 = type_nullable_parser_nodes__TKwmeth.color;
9901 idtype15 = type_nullable_parser_nodes__TKwmeth.id;
9902 if(var_tkwmethnode5 == NULL) {
9903 var13 = 1;
9904 } else {
9905 if(cltype14 >= var_tkwmethnode5->type->table_size) {
9906 var13 = 0;
9907 } else {
9908 var13 = var_tkwmethnode5->type->type_table[cltype14] == idtype15;
9909 }
9910 }
9911 if (!var13) {
9912 fprintf(stderr, "Runtime error: %s", "Assert failed");
9913 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16484);
9914 show_backtrace(1);
9915 }
9916 var_pmethidnode6 = var_nodearraylist4;
9917 /* <var_pmethidnode6:nullable Object> isa nullable AMethid */
9918 cltype17 = type_nullable_parser_nodes__AMethid.color;
9919 idtype18 = type_nullable_parser_nodes__AMethid.id;
9920 if(var_pmethidnode6 == NULL) {
9921 var16 = 1;
9922 } else {
9923 if(cltype17 >= var_pmethidnode6->type->table_size) {
9924 var16 = 0;
9925 } else {
9926 var16 = var_pmethidnode6->type->type_table[cltype17] == idtype18;
9927 }
9928 }
9929 if (!var16) {
9930 fprintf(stderr, "Runtime error: %s", "Assert failed");
9931 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16486);
9932 show_backtrace(1);
9933 }
9934 var_psignaturenode7 = var_nodearraylist5;
9935 /* <var_psignaturenode7:nullable Object> isa nullable ASignature */
9936 cltype20 = type_nullable_parser_nodes__ASignature.color;
9937 idtype21 = type_nullable_parser_nodes__ASignature.id;
9938 if(var_psignaturenode7 == NULL) {
9939 var19 = 1;
9940 } else {
9941 if(cltype20 >= var_psignaturenode7->type->table_size) {
9942 var19 = 0;
9943 } else {
9944 var19 = var_psignaturenode7->type->type_table[cltype20] == idtype21;
9945 }
9946 }
9947 if (!var19) {
9948 fprintf(stderr, "Runtime error: %s", "Assert failed");
9949 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16488);
9950 show_backtrace(1);
9951 }
9952 var_pexterncodeblocknode10 = var_nodearraylist8;
9953 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
9954 cltype23 = type_nullable_parser_nodes__AExternCodeBlock.color;
9955 idtype24 = type_nullable_parser_nodes__AExternCodeBlock.id;
9956 if(var_pexterncodeblocknode10 == NULL) {
9957 var22 = 1;
9958 } else {
9959 if(cltype23 >= var_pexterncodeblocknode10->type->table_size) {
9960 var22 = 0;
9961 } else {
9962 var22 = var_pexterncodeblocknode10->type->type_table[cltype23] == idtype24;
9963 }
9964 }
9965 if (!var22) {
9966 fprintf(stderr, "Runtime error: %s", "Assert failed");
9967 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 16490);
9968 show_backtrace(1);
9969 }
9970 var25 = NEW_parser_nodes__AExternMethPropdef(&type_parser_nodes__AExternMethPropdef);
9971 var26 = NULL;
9972 var27 = NULL;
9973 var28 = NULL;
9974 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AExternMethPropdef__init_aexternmethpropdef]))(var25, var_pdocnode2, var26, var_pvisibilitynode4, var_tkwmethnode5, var_pmethidnode6, var_psignaturenode7, var27, var28, var_pexterncodeblocknode10) /* init_aexternmethpropdef on <var25:AExternMethPropdef>*/;
9975 var_ppropdefnode1 = var25;
9976 var_node_list = var_ppropdefnode1;
9977 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction369> */
9978 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
9979 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
9980 RET_LABEL:;
9981 }
9982 /* method parser#ReduceAction369#action for (self: Object, Parser) */
9983 void VIRTUAL_parser__ReduceAction369__action(val* self, val* p0) {
9984 parser__ReduceAction369__action(self, p0);
9985 RET_LABEL:;
9986 }