global: compiler remove a useless `const` that cause C warnings
[nit.git] / c_src / parser.sep.5.c
1 #include "parser.sep.0.h"
2 /* method parser#ReduceAction129#action for (self: ReduceAction129, Parser) */
3 void parser__ReduceAction129__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_nodearraylist10 /* var nodearraylist10: nullable Object */;
9 val* var2 /* : nullable Object */;
10 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
11 val* var3 /* : nullable Object */;
12 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
13 val* var4 /* : nullable Object */;
14 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
15 val* var5 /* : nullable Object */;
16 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
17 val* var6 /* : nullable Object */;
18 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
19 val* var7 /* : nullable Object */;
20 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
21 val* var8 /* : nullable Object */;
22 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
23 val* var9 /* : nullable Object */;
24 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
25 val* var10 /* : nullable Object */;
26 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
27 val* var11 /* : Array[Object] */;
28 val* var_listnode8 /* var listnode8: Array[Object] */;
29 val* var12 /* : Array[Object] */;
30 val* var_listnode16 /* var listnode16: Array[Object] */;
31 val* var13 /* : Array[Object] */;
32 val* var_listnode17 /* var listnode17: Array[Object] */;
33 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
34 short int var14 /* : Bool */;
35 int cltype;
36 int idtype;
37 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
38 short int var15 /* : Bool */;
39 int cltype16;
40 int idtype17;
41 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
42 short int var18 /* : Bool */;
43 int cltype19;
44 int idtype20;
45 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
46 short int var21 /* : Bool */;
47 int cltype22;
48 int idtype23;
49 val* var_listnode7 /* var listnode7: nullable Object */;
50 short int var24 /* : Bool */;
51 int cltype25;
52 int idtype26;
53 val* var27 /* : Array[Object] */;
54 val* var28 /* : Array[Object] */;
55 val* var_listnode13 /* var listnode13: Array[Object] */;
56 val* var_listnode12 /* var listnode12: nullable Object */;
57 short int var29 /* : Bool */;
58 int cltype30;
59 int idtype31;
60 val* var32 /* : Array[Object] */;
61 val* var33 /* : AAnnotations */;
62 val* var34 /* : null */;
63 val* var35 /* : null */;
64 val* var36 /* : null */;
65 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
66 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
67 short int var37 /* : Bool */;
68 int cltype38;
69 int idtype39;
70 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
71 short int var40 /* : Bool */;
72 int cltype41;
73 int idtype42;
74 val* var43 /* : AStdClassdef */;
75 val* var44 /* : null */;
76 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
77 long var45 /* : Int */;
78 long var46 /* : Int */;
79 var_p = p0;
80 var = NULL;
81 var_node_list = var;
82 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
83 var_nodearraylist10 = var1;
84 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
85 var_nodearraylist9 = var2;
86 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
87 var_nodearraylist8 = var3;
88 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
89 var_nodearraylist7 = var4;
90 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
91 var_nodearraylist6 = var5;
92 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
93 var_nodearraylist5 = var6;
94 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
95 var_nodearraylist4 = var7;
96 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
97 var_nodearraylist3 = var8;
98 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
99 var_nodearraylist2 = var9;
100 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
101 var_nodearraylist1 = var10;
102 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
103 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
104 var_listnode8 = var11;
105 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
106 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
107 var_listnode16 = var12;
108 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
109 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
110 var_listnode17 = var13;
111 var_pdocnode2 = var_nodearraylist1;
112 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
113 cltype = type_nullable_parser_nodes__ADoc.color;
114 idtype = type_nullable_parser_nodes__ADoc.id;
115 if(var_pdocnode2 == NULL) {
116 var14 = 1;
117 } else {
118 if(cltype >= var_pdocnode2->type->table_size) {
119 var14 = 0;
120 } else {
121 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
122 }
123 }
124 if (!var14) {
125 fprintf(stderr, "Runtime error: %s", "Assert failed");
126 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6383);
127 show_backtrace(1);
128 }
129 var_pvisibilitynode4 = var_nodearraylist2;
130 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
131 cltype16 = type_nullable_parser_nodes__AVisibility.color;
132 idtype17 = type_nullable_parser_nodes__AVisibility.id;
133 if(var_pvisibilitynode4 == NULL) {
134 var15 = 1;
135 } else {
136 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
137 var15 = 0;
138 } else {
139 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
140 }
141 }
142 if (!var15) {
143 fprintf(stderr, "Runtime error: %s", "Assert failed");
144 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6385);
145 show_backtrace(1);
146 }
147 var_pclasskindnode5 = var_nodearraylist3;
148 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
149 cltype19 = type_nullable_parser_nodes__AClasskind.color;
150 idtype20 = type_nullable_parser_nodes__AClasskind.id;
151 if(var_pclasskindnode5 == NULL) {
152 var18 = 1;
153 } else {
154 if(cltype19 >= var_pclasskindnode5->type->table_size) {
155 var18 = 0;
156 } else {
157 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
158 }
159 }
160 if (!var18) {
161 fprintf(stderr, "Runtime error: %s", "Assert failed");
162 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6387);
163 show_backtrace(1);
164 }
165 var_tclassidnode6 = var_nodearraylist5;
166 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
167 cltype22 = type_nullable_parser_nodes__TClassid.color;
168 idtype23 = type_nullable_parser_nodes__TClassid.id;
169 if(var_tclassidnode6 == NULL) {
170 var21 = 1;
171 } else {
172 if(cltype22 >= var_tclassidnode6->type->table_size) {
173 var21 = 0;
174 } else {
175 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
176 }
177 }
178 if (!var21) {
179 fprintf(stderr, "Runtime error: %s", "Assert failed");
180 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6389);
181 show_backtrace(1);
182 }
183 var_listnode7 = var_nodearraylist6;
184 /* <var_listnode7:nullable Object> isa Array[Object] */
185 cltype25 = type_array__Arraykernel__Object.color;
186 idtype26 = type_array__Arraykernel__Object.id;
187 if(var_listnode7 == NULL) {
188 var24 = 0;
189 } else {
190 if(cltype25 >= var_listnode7->type->table_size) {
191 var24 = 0;
192 } else {
193 var24 = var_listnode7->type->type_table[cltype25] == idtype26;
194 }
195 }
196 if (!var24) {
197 fprintf(stderr, "Runtime error: %s", "Assert failed");
198 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6391);
199 show_backtrace(1);
200 }
201 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction129>*/;
202 var_listnode8 = var27;
203 var28 = NEW_array__Array(&type_array__Arraykernel__Object);
204 ((void (*)(val*))(var28->class->vft[COLOR_array__Array__init]))(var28) /* init on <var28:Array[Object]>*/;
205 var_listnode13 = var28;
206 var_listnode12 = var_nodearraylist7;
207 /* <var_listnode12:nullable Object> isa Array[Object] */
208 cltype30 = type_array__Arraykernel__Object.color;
209 idtype31 = type_array__Arraykernel__Object.id;
210 if(var_listnode12 == NULL) {
211 var29 = 0;
212 } else {
213 if(cltype30 >= var_listnode12->type->table_size) {
214 var29 = 0;
215 } else {
216 var29 = var_listnode12->type->type_table[cltype30] == idtype31;
217 }
218 }
219 if (!var29) {
220 fprintf(stderr, "Runtime error: %s", "Assert failed");
221 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6395);
222 show_backtrace(1);
223 }
224 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction129>*/;
225 var_listnode13 = var32;
226 var33 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
227 var34 = NULL;
228 var35 = NULL;
229 var36 = NULL;
230 ((void (*)(val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var33, var34, var35, var_listnode13, var36) /* init_aannotations on <var33:AAnnotations>*/;
231 var_pannotationsnode9 = var33;
232 var_pexterncodeblocknode15 = var_nodearraylist8;
233 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
234 cltype38 = type_nullable_parser_nodes__AExternCodeBlock.color;
235 idtype39 = type_nullable_parser_nodes__AExternCodeBlock.id;
236 if(var_pexterncodeblocknode15 == NULL) {
237 var37 = 1;
238 } else {
239 if(cltype38 >= var_pexterncodeblocknode15->type->table_size) {
240 var37 = 0;
241 } else {
242 var37 = var_pexterncodeblocknode15->type->type_table[cltype38] == idtype39;
243 }
244 }
245 if (!var37) {
246 fprintf(stderr, "Runtime error: %s", "Assert failed");
247 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6404);
248 show_backtrace(1);
249 }
250 var_tkwendnode18 = var_nodearraylist10;
251 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
252 cltype41 = type_nullable_parser_nodes__TKwend.color;
253 idtype42 = type_nullable_parser_nodes__TKwend.id;
254 if(var_tkwendnode18 == NULL) {
255 var40 = 1;
256 } else {
257 if(cltype41 >= var_tkwendnode18->type->table_size) {
258 var40 = 0;
259 } else {
260 var40 = var_tkwendnode18->type->type_table[cltype41] == idtype42;
261 }
262 }
263 if (!var40) {
264 fprintf(stderr, "Runtime error: %s", "Assert failed");
265 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6406);
266 show_backtrace(1);
267 }
268 var43 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
269 var44 = NULL;
270 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var43->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var43, var_pdocnode2, var44, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var43:AStdClassdef>*/;
271 var_pclassdefnode1 = var43;
272 var_node_list = var_pclassdefnode1;
273 var45 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction129> */
274 var46 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var45) /* go_to on <var_p:Parser>*/;
275 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var46, var_node_list) /* push on <var_p:Parser>*/;
276 RET_LABEL:;
277 }
278 /* method parser#ReduceAction129#action for (self: Object, Parser) */
279 void VIRTUAL_parser__ReduceAction129__action(val* self, val* p0) {
280 parser__ReduceAction129__action(self, p0);
281 RET_LABEL:;
282 }
283 /* method parser#ReduceAction130#action for (self: ReduceAction130, Parser) */
284 void parser__ReduceAction130__action(val* self, val* p0) {
285 val* var_p /* var p: Parser */;
286 val* var /* : null */;
287 val* var_node_list /* var node_list: nullable Object */;
288 val* var1 /* : nullable Object */;
289 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
290 val* var2 /* : nullable Object */;
291 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
292 val* var3 /* : nullable Object */;
293 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
294 val* var4 /* : nullable Object */;
295 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
296 val* var5 /* : nullable Object */;
297 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
298 val* var6 /* : nullable Object */;
299 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
300 val* var7 /* : nullable Object */;
301 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
302 val* var8 /* : nullable Object */;
303 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
304 val* var9 /* : nullable Object */;
305 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
306 val* var10 /* : nullable Object */;
307 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
308 val* var11 /* : nullable Object */;
309 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
310 val* var12 /* : Array[Object] */;
311 val* var_listnode8 /* var listnode8: Array[Object] */;
312 val* var13 /* : Array[Object] */;
313 val* var_listnode16 /* var listnode16: Array[Object] */;
314 val* var14 /* : Array[Object] */;
315 val* var_listnode17 /* var listnode17: Array[Object] */;
316 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
317 short int var15 /* : Bool */;
318 int cltype;
319 int idtype;
320 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
321 short int var16 /* : Bool */;
322 int cltype17;
323 int idtype18;
324 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
325 short int var19 /* : Bool */;
326 int cltype20;
327 int idtype21;
328 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
329 short int var22 /* : Bool */;
330 int cltype23;
331 int idtype24;
332 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
333 short int var25 /* : Bool */;
334 int cltype26;
335 int idtype27;
336 val* var_listnode7 /* var listnode7: nullable Object */;
337 short int var28 /* : Bool */;
338 int cltype29;
339 int idtype30;
340 val* var31 /* : Array[Object] */;
341 val* var32 /* : Array[Object] */;
342 val* var_listnode13 /* var listnode13: Array[Object] */;
343 val* var_listnode12 /* var listnode12: nullable Object */;
344 short int var33 /* : Bool */;
345 int cltype34;
346 int idtype35;
347 val* var36 /* : Array[Object] */;
348 val* var37 /* : AAnnotations */;
349 val* var38 /* : null */;
350 val* var39 /* : null */;
351 val* var40 /* : null */;
352 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
353 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
354 short int var41 /* : Bool */;
355 int cltype42;
356 int idtype43;
357 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
358 short int var44 /* : Bool */;
359 int cltype45;
360 int idtype46;
361 val* var47 /* : AStdClassdef */;
362 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
363 long var48 /* : Int */;
364 long var49 /* : Int */;
365 var_p = p0;
366 var = NULL;
367 var_node_list = var;
368 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
369 var_nodearraylist11 = var1;
370 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
371 var_nodearraylist10 = var2;
372 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
373 var_nodearraylist9 = var3;
374 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
375 var_nodearraylist8 = var4;
376 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
377 var_nodearraylist7 = var5;
378 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
379 var_nodearraylist6 = var6;
380 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
381 var_nodearraylist5 = var7;
382 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
383 var_nodearraylist4 = var8;
384 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
385 var_nodearraylist3 = var9;
386 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
387 var_nodearraylist2 = var10;
388 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
389 var_nodearraylist1 = var11;
390 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
391 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
392 var_listnode8 = var12;
393 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
394 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
395 var_listnode16 = var13;
396 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
397 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
398 var_listnode17 = var14;
399 var_pdocnode2 = var_nodearraylist1;
400 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
401 cltype = type_nullable_parser_nodes__ADoc.color;
402 idtype = type_nullable_parser_nodes__ADoc.id;
403 if(var_pdocnode2 == NULL) {
404 var15 = 1;
405 } else {
406 if(cltype >= var_pdocnode2->type->table_size) {
407 var15 = 0;
408 } else {
409 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
410 }
411 }
412 if (!var15) {
413 fprintf(stderr, "Runtime error: %s", "Assert failed");
414 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6444);
415 show_backtrace(1);
416 }
417 var_tkwredefnode3 = var_nodearraylist2;
418 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
419 cltype17 = type_nullable_parser_nodes__TKwredef.color;
420 idtype18 = type_nullable_parser_nodes__TKwredef.id;
421 if(var_tkwredefnode3 == NULL) {
422 var16 = 1;
423 } else {
424 if(cltype17 >= var_tkwredefnode3->type->table_size) {
425 var16 = 0;
426 } else {
427 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
428 }
429 }
430 if (!var16) {
431 fprintf(stderr, "Runtime error: %s", "Assert failed");
432 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6446);
433 show_backtrace(1);
434 }
435 var_pvisibilitynode4 = var_nodearraylist3;
436 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
437 cltype20 = type_nullable_parser_nodes__AVisibility.color;
438 idtype21 = type_nullable_parser_nodes__AVisibility.id;
439 if(var_pvisibilitynode4 == NULL) {
440 var19 = 1;
441 } else {
442 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
443 var19 = 0;
444 } else {
445 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
446 }
447 }
448 if (!var19) {
449 fprintf(stderr, "Runtime error: %s", "Assert failed");
450 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6448);
451 show_backtrace(1);
452 }
453 var_pclasskindnode5 = var_nodearraylist4;
454 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
455 cltype23 = type_nullable_parser_nodes__AClasskind.color;
456 idtype24 = type_nullable_parser_nodes__AClasskind.id;
457 if(var_pclasskindnode5 == NULL) {
458 var22 = 1;
459 } else {
460 if(cltype23 >= var_pclasskindnode5->type->table_size) {
461 var22 = 0;
462 } else {
463 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
464 }
465 }
466 if (!var22) {
467 fprintf(stderr, "Runtime error: %s", "Assert failed");
468 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6450);
469 show_backtrace(1);
470 }
471 var_tclassidnode6 = var_nodearraylist6;
472 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
473 cltype26 = type_nullable_parser_nodes__TClassid.color;
474 idtype27 = type_nullable_parser_nodes__TClassid.id;
475 if(var_tclassidnode6 == NULL) {
476 var25 = 1;
477 } else {
478 if(cltype26 >= var_tclassidnode6->type->table_size) {
479 var25 = 0;
480 } else {
481 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
482 }
483 }
484 if (!var25) {
485 fprintf(stderr, "Runtime error: %s", "Assert failed");
486 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6452);
487 show_backtrace(1);
488 }
489 var_listnode7 = var_nodearraylist7;
490 /* <var_listnode7:nullable Object> isa Array[Object] */
491 cltype29 = type_array__Arraykernel__Object.color;
492 idtype30 = type_array__Arraykernel__Object.id;
493 if(var_listnode7 == NULL) {
494 var28 = 0;
495 } else {
496 if(cltype29 >= var_listnode7->type->table_size) {
497 var28 = 0;
498 } else {
499 var28 = var_listnode7->type->type_table[cltype29] == idtype30;
500 }
501 }
502 if (!var28) {
503 fprintf(stderr, "Runtime error: %s", "Assert failed");
504 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6454);
505 show_backtrace(1);
506 }
507 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction130>*/;
508 var_listnode8 = var31;
509 var32 = NEW_array__Array(&type_array__Arraykernel__Object);
510 ((void (*)(val*))(var32->class->vft[COLOR_array__Array__init]))(var32) /* init on <var32:Array[Object]>*/;
511 var_listnode13 = var32;
512 var_listnode12 = var_nodearraylist8;
513 /* <var_listnode12:nullable Object> isa Array[Object] */
514 cltype34 = type_array__Arraykernel__Object.color;
515 idtype35 = type_array__Arraykernel__Object.id;
516 if(var_listnode12 == NULL) {
517 var33 = 0;
518 } else {
519 if(cltype34 >= var_listnode12->type->table_size) {
520 var33 = 0;
521 } else {
522 var33 = var_listnode12->type->type_table[cltype34] == idtype35;
523 }
524 }
525 if (!var33) {
526 fprintf(stderr, "Runtime error: %s", "Assert failed");
527 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6458);
528 show_backtrace(1);
529 }
530 var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction130>*/;
531 var_listnode13 = var36;
532 var37 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
533 var38 = NULL;
534 var39 = NULL;
535 var40 = NULL;
536 ((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>*/;
537 var_pannotationsnode9 = var37;
538 var_pexterncodeblocknode15 = var_nodearraylist9;
539 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
540 cltype42 = type_nullable_parser_nodes__AExternCodeBlock.color;
541 idtype43 = type_nullable_parser_nodes__AExternCodeBlock.id;
542 if(var_pexterncodeblocknode15 == NULL) {
543 var41 = 1;
544 } else {
545 if(cltype42 >= var_pexterncodeblocknode15->type->table_size) {
546 var41 = 0;
547 } else {
548 var41 = var_pexterncodeblocknode15->type->type_table[cltype42] == idtype43;
549 }
550 }
551 if (!var41) {
552 fprintf(stderr, "Runtime error: %s", "Assert failed");
553 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6467);
554 show_backtrace(1);
555 }
556 var_tkwendnode18 = var_nodearraylist11;
557 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
558 cltype45 = type_nullable_parser_nodes__TKwend.color;
559 idtype46 = type_nullable_parser_nodes__TKwend.id;
560 if(var_tkwendnode18 == NULL) {
561 var44 = 1;
562 } else {
563 if(cltype45 >= var_tkwendnode18->type->table_size) {
564 var44 = 0;
565 } else {
566 var44 = var_tkwendnode18->type->type_table[cltype45] == idtype46;
567 }
568 }
569 if (!var44) {
570 fprintf(stderr, "Runtime error: %s", "Assert failed");
571 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6469);
572 show_backtrace(1);
573 }
574 var47 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
575 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var47->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var47, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var47:AStdClassdef>*/;
576 var_pclassdefnode1 = var47;
577 var_node_list = var_pclassdefnode1;
578 var48 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction130> */
579 var49 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var48) /* go_to on <var_p:Parser>*/;
580 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var49, var_node_list) /* push on <var_p:Parser>*/;
581 RET_LABEL:;
582 }
583 /* method parser#ReduceAction130#action for (self: Object, Parser) */
584 void VIRTUAL_parser__ReduceAction130__action(val* self, val* p0) {
585 parser__ReduceAction130__action(self, p0);
586 RET_LABEL:;
587 }
588 /* method parser#ReduceAction131#action for (self: ReduceAction131, Parser) */
589 void parser__ReduceAction131__action(val* self, val* p0) {
590 val* var_p /* var p: Parser */;
591 val* var /* : null */;
592 val* var_node_list /* var node_list: nullable Object */;
593 val* var1 /* : nullable Object */;
594 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
595 val* var2 /* : nullable Object */;
596 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
597 val* var3 /* : nullable Object */;
598 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
599 val* var4 /* : nullable Object */;
600 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
601 val* var5 /* : nullable Object */;
602 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
603 val* var6 /* : nullable Object */;
604 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
605 val* var7 /* : nullable Object */;
606 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
607 val* var8 /* : nullable Object */;
608 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
609 val* var9 /* : nullable Object */;
610 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
611 val* var10 /* : nullable Object */;
612 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
613 val* var11 /* : nullable Object */;
614 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
615 val* var12 /* : Array[Object] */;
616 val* var_listnode8 /* var listnode8: Array[Object] */;
617 val* var13 /* : Array[Object] */;
618 val* var_listnode16 /* var listnode16: Array[Object] */;
619 val* var14 /* : Array[Object] */;
620 val* var_listnode17 /* var listnode17: Array[Object] */;
621 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
622 short int var15 /* : Bool */;
623 int cltype;
624 int idtype;
625 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
626 short int var16 /* : Bool */;
627 int cltype17;
628 int idtype18;
629 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
630 short int var19 /* : Bool */;
631 int cltype20;
632 int idtype21;
633 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
634 short int var22 /* : Bool */;
635 int cltype23;
636 int idtype24;
637 val* var_listnode7 /* var listnode7: nullable Object */;
638 short int var25 /* : Bool */;
639 int cltype26;
640 int idtype27;
641 val* var28 /* : Array[Object] */;
642 val* var29 /* : Array[Object] */;
643 val* var_listnode13 /* var listnode13: Array[Object] */;
644 val* var_listnode12 /* var listnode12: nullable Object */;
645 short int var30 /* : Bool */;
646 int cltype31;
647 int idtype32;
648 val* var33 /* : Array[Object] */;
649 val* var34 /* : AAnnotations */;
650 val* var35 /* : null */;
651 val* var36 /* : null */;
652 val* var37 /* : null */;
653 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
654 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
655 short int var38 /* : Bool */;
656 int cltype39;
657 int idtype40;
658 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
659 short int var41 /* : Bool */;
660 int cltype42;
661 int idtype43;
662 val* var44 /* : AStdClassdef */;
663 val* var45 /* : null */;
664 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
665 long var46 /* : Int */;
666 long var47 /* : Int */;
667 var_p = p0;
668 var = NULL;
669 var_node_list = var;
670 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
671 var_nodearraylist11 = var1;
672 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
673 var_nodearraylist10 = var2;
674 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
675 var_nodearraylist9 = var3;
676 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
677 var_nodearraylist8 = var4;
678 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
679 var_nodearraylist7 = var5;
680 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
681 var_nodearraylist6 = var6;
682 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
683 var_nodearraylist5 = var7;
684 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
685 var_nodearraylist4 = var8;
686 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
687 var_nodearraylist3 = var9;
688 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
689 var_nodearraylist2 = var10;
690 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
691 var_nodearraylist1 = var11;
692 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
693 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
694 var_listnode8 = var12;
695 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
696 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
697 var_listnode16 = var13;
698 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
699 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
700 var_listnode17 = var14;
701 var_pdocnode2 = var_nodearraylist1;
702 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
703 cltype = type_nullable_parser_nodes__ADoc.color;
704 idtype = type_nullable_parser_nodes__ADoc.id;
705 if(var_pdocnode2 == NULL) {
706 var15 = 1;
707 } else {
708 if(cltype >= var_pdocnode2->type->table_size) {
709 var15 = 0;
710 } else {
711 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
712 }
713 }
714 if (!var15) {
715 fprintf(stderr, "Runtime error: %s", "Assert failed");
716 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6507);
717 show_backtrace(1);
718 }
719 var_pvisibilitynode4 = var_nodearraylist2;
720 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
721 cltype17 = type_nullable_parser_nodes__AVisibility.color;
722 idtype18 = type_nullable_parser_nodes__AVisibility.id;
723 if(var_pvisibilitynode4 == NULL) {
724 var16 = 1;
725 } else {
726 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
727 var16 = 0;
728 } else {
729 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
730 }
731 }
732 if (!var16) {
733 fprintf(stderr, "Runtime error: %s", "Assert failed");
734 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6509);
735 show_backtrace(1);
736 }
737 var_pclasskindnode5 = var_nodearraylist3;
738 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
739 cltype20 = type_nullable_parser_nodes__AClasskind.color;
740 idtype21 = type_nullable_parser_nodes__AClasskind.id;
741 if(var_pclasskindnode5 == NULL) {
742 var19 = 1;
743 } else {
744 if(cltype20 >= var_pclasskindnode5->type->table_size) {
745 var19 = 0;
746 } else {
747 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
748 }
749 }
750 if (!var19) {
751 fprintf(stderr, "Runtime error: %s", "Assert failed");
752 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6511);
753 show_backtrace(1);
754 }
755 var_tclassidnode6 = var_nodearraylist6;
756 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
757 cltype23 = type_nullable_parser_nodes__TClassid.color;
758 idtype24 = type_nullable_parser_nodes__TClassid.id;
759 if(var_tclassidnode6 == NULL) {
760 var22 = 1;
761 } else {
762 if(cltype23 >= var_tclassidnode6->type->table_size) {
763 var22 = 0;
764 } else {
765 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
766 }
767 }
768 if (!var22) {
769 fprintf(stderr, "Runtime error: %s", "Assert failed");
770 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6513);
771 show_backtrace(1);
772 }
773 var_listnode7 = var_nodearraylist7;
774 /* <var_listnode7:nullable Object> isa Array[Object] */
775 cltype26 = type_array__Arraykernel__Object.color;
776 idtype27 = type_array__Arraykernel__Object.id;
777 if(var_listnode7 == NULL) {
778 var25 = 0;
779 } else {
780 if(cltype26 >= var_listnode7->type->table_size) {
781 var25 = 0;
782 } else {
783 var25 = var_listnode7->type->type_table[cltype26] == idtype27;
784 }
785 }
786 if (!var25) {
787 fprintf(stderr, "Runtime error: %s", "Assert failed");
788 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6515);
789 show_backtrace(1);
790 }
791 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction131>*/;
792 var_listnode8 = var28;
793 var29 = NEW_array__Array(&type_array__Arraykernel__Object);
794 ((void (*)(val*))(var29->class->vft[COLOR_array__Array__init]))(var29) /* init on <var29:Array[Object]>*/;
795 var_listnode13 = var29;
796 var_listnode12 = var_nodearraylist8;
797 /* <var_listnode12:nullable Object> isa Array[Object] */
798 cltype31 = type_array__Arraykernel__Object.color;
799 idtype32 = type_array__Arraykernel__Object.id;
800 if(var_listnode12 == NULL) {
801 var30 = 0;
802 } else {
803 if(cltype31 >= var_listnode12->type->table_size) {
804 var30 = 0;
805 } else {
806 var30 = var_listnode12->type->type_table[cltype31] == idtype32;
807 }
808 }
809 if (!var30) {
810 fprintf(stderr, "Runtime error: %s", "Assert failed");
811 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6519);
812 show_backtrace(1);
813 }
814 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction131>*/;
815 var_listnode13 = var33;
816 var34 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
817 var35 = NULL;
818 var36 = NULL;
819 var37 = NULL;
820 ((void (*)(val*, val*, val*, val*, val*))(var34->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var34, var35, var36, var_listnode13, var37) /* init_aannotations on <var34:AAnnotations>*/;
821 var_pannotationsnode9 = var34;
822 var_pexterncodeblocknode15 = var_nodearraylist9;
823 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
824 cltype39 = type_nullable_parser_nodes__AExternCodeBlock.color;
825 idtype40 = type_nullable_parser_nodes__AExternCodeBlock.id;
826 if(var_pexterncodeblocknode15 == NULL) {
827 var38 = 1;
828 } else {
829 if(cltype39 >= var_pexterncodeblocknode15->type->table_size) {
830 var38 = 0;
831 } else {
832 var38 = var_pexterncodeblocknode15->type->type_table[cltype39] == idtype40;
833 }
834 }
835 if (!var38) {
836 fprintf(stderr, "Runtime error: %s", "Assert failed");
837 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6528);
838 show_backtrace(1);
839 }
840 var_tkwendnode18 = var_nodearraylist11;
841 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
842 cltype42 = type_nullable_parser_nodes__TKwend.color;
843 idtype43 = type_nullable_parser_nodes__TKwend.id;
844 if(var_tkwendnode18 == NULL) {
845 var41 = 1;
846 } else {
847 if(cltype42 >= var_tkwendnode18->type->table_size) {
848 var41 = 0;
849 } else {
850 var41 = var_tkwendnode18->type->type_table[cltype42] == idtype43;
851 }
852 }
853 if (!var41) {
854 fprintf(stderr, "Runtime error: %s", "Assert failed");
855 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6530);
856 show_backtrace(1);
857 }
858 var44 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
859 var45 = NULL;
860 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var44->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var44, var_pdocnode2, var45, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var44:AStdClassdef>*/;
861 var_pclassdefnode1 = var44;
862 var_node_list = var_pclassdefnode1;
863 var46 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction131> */
864 var47 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var46) /* go_to on <var_p:Parser>*/;
865 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var47, var_node_list) /* push on <var_p:Parser>*/;
866 RET_LABEL:;
867 }
868 /* method parser#ReduceAction131#action for (self: Object, Parser) */
869 void VIRTUAL_parser__ReduceAction131__action(val* self, val* p0) {
870 parser__ReduceAction131__action(self, p0);
871 RET_LABEL:;
872 }
873 /* method parser#ReduceAction132#action for (self: ReduceAction132, Parser) */
874 void parser__ReduceAction132__action(val* self, val* p0) {
875 val* var_p /* var p: Parser */;
876 val* var /* : null */;
877 val* var_node_list /* var node_list: nullable Object */;
878 val* var1 /* : nullable Object */;
879 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
880 val* var2 /* : nullable Object */;
881 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
882 val* var3 /* : nullable Object */;
883 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
884 val* var4 /* : nullable Object */;
885 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
886 val* var5 /* : nullable Object */;
887 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
888 val* var6 /* : nullable Object */;
889 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
890 val* var7 /* : nullable Object */;
891 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
892 val* var8 /* : nullable Object */;
893 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
894 val* var9 /* : nullable Object */;
895 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
896 val* var10 /* : nullable Object */;
897 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
898 val* var11 /* : nullable Object */;
899 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
900 val* var12 /* : nullable Object */;
901 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
902 val* var13 /* : Array[Object] */;
903 val* var_listnode8 /* var listnode8: Array[Object] */;
904 val* var14 /* : Array[Object] */;
905 val* var_listnode16 /* var listnode16: Array[Object] */;
906 val* var15 /* : Array[Object] */;
907 val* var_listnode17 /* var listnode17: Array[Object] */;
908 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
909 short int var16 /* : Bool */;
910 int cltype;
911 int idtype;
912 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
913 short int var17 /* : Bool */;
914 int cltype18;
915 int idtype19;
916 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
917 short int var20 /* : Bool */;
918 int cltype21;
919 int idtype22;
920 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
921 short int var23 /* : Bool */;
922 int cltype24;
923 int idtype25;
924 val* var_listnode7 /* var listnode7: nullable Object */;
925 short int var26 /* : Bool */;
926 int cltype27;
927 int idtype28;
928 val* var29 /* : Array[Object] */;
929 val* var30 /* : Array[Object] */;
930 val* var_listnode13 /* var listnode13: Array[Object] */;
931 val* var_listnode12 /* var listnode12: nullable Object */;
932 short int var31 /* : Bool */;
933 int cltype32;
934 int idtype33;
935 val* var34 /* : Array[Object] */;
936 val* var35 /* : AAnnotations */;
937 val* var36 /* : null */;
938 val* var37 /* : null */;
939 val* var38 /* : null */;
940 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
941 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
942 short int var39 /* : Bool */;
943 int cltype40;
944 int idtype41;
945 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
946 short int var42 /* : Bool */;
947 int cltype43;
948 int idtype44;
949 val* var45 /* : AStdClassdef */;
950 val* var46 /* : null */;
951 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
952 long var47 /* : Int */;
953 long var48 /* : Int */;
954 var_p = p0;
955 var = NULL;
956 var_node_list = var;
957 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
958 var_nodearraylist12 = var1;
959 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
960 var_nodearraylist11 = var2;
961 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
962 var_nodearraylist10 = var3;
963 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
964 var_nodearraylist9 = var4;
965 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
966 var_nodearraylist8 = var5;
967 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
968 var_nodearraylist7 = var6;
969 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
970 var_nodearraylist6 = var7;
971 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
972 var_nodearraylist5 = var8;
973 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
974 var_nodearraylist4 = var9;
975 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
976 var_nodearraylist3 = var10;
977 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
978 var_nodearraylist2 = var11;
979 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
980 var_nodearraylist1 = var12;
981 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
982 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
983 var_listnode8 = var13;
984 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
985 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
986 var_listnode16 = var14;
987 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
988 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
989 var_listnode17 = var15;
990 var_pdocnode2 = var_nodearraylist1;
991 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
992 cltype = type_nullable_parser_nodes__ADoc.color;
993 idtype = type_nullable_parser_nodes__ADoc.id;
994 if(var_pdocnode2 == NULL) {
995 var16 = 1;
996 } else {
997 if(cltype >= var_pdocnode2->type->table_size) {
998 var16 = 0;
999 } else {
1000 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
1001 }
1002 }
1003 if (!var16) {
1004 fprintf(stderr, "Runtime error: %s", "Assert failed");
1005 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6569);
1006 show_backtrace(1);
1007 }
1008 var_pvisibilitynode4 = var_nodearraylist2;
1009 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1010 cltype18 = type_nullable_parser_nodes__AVisibility.color;
1011 idtype19 = type_nullable_parser_nodes__AVisibility.id;
1012 if(var_pvisibilitynode4 == NULL) {
1013 var17 = 1;
1014 } else {
1015 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
1016 var17 = 0;
1017 } else {
1018 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
1019 }
1020 }
1021 if (!var17) {
1022 fprintf(stderr, "Runtime error: %s", "Assert failed");
1023 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6571);
1024 show_backtrace(1);
1025 }
1026 var_pclasskindnode5 = var_nodearraylist3;
1027 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1028 cltype21 = type_nullable_parser_nodes__AClasskind.color;
1029 idtype22 = type_nullable_parser_nodes__AClasskind.id;
1030 if(var_pclasskindnode5 == NULL) {
1031 var20 = 1;
1032 } else {
1033 if(cltype21 >= var_pclasskindnode5->type->table_size) {
1034 var20 = 0;
1035 } else {
1036 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
1037 }
1038 }
1039 if (!var20) {
1040 fprintf(stderr, "Runtime error: %s", "Assert failed");
1041 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6573);
1042 show_backtrace(1);
1043 }
1044 var_tclassidnode6 = var_nodearraylist7;
1045 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1046 cltype24 = type_nullable_parser_nodes__TClassid.color;
1047 idtype25 = type_nullable_parser_nodes__TClassid.id;
1048 if(var_tclassidnode6 == NULL) {
1049 var23 = 1;
1050 } else {
1051 if(cltype24 >= var_tclassidnode6->type->table_size) {
1052 var23 = 0;
1053 } else {
1054 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
1055 }
1056 }
1057 if (!var23) {
1058 fprintf(stderr, "Runtime error: %s", "Assert failed");
1059 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6575);
1060 show_backtrace(1);
1061 }
1062 var_listnode7 = var_nodearraylist8;
1063 /* <var_listnode7:nullable Object> isa Array[Object] */
1064 cltype27 = type_array__Arraykernel__Object.color;
1065 idtype28 = type_array__Arraykernel__Object.id;
1066 if(var_listnode7 == NULL) {
1067 var26 = 0;
1068 } else {
1069 if(cltype27 >= var_listnode7->type->table_size) {
1070 var26 = 0;
1071 } else {
1072 var26 = var_listnode7->type->type_table[cltype27] == idtype28;
1073 }
1074 }
1075 if (!var26) {
1076 fprintf(stderr, "Runtime error: %s", "Assert failed");
1077 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6577);
1078 show_backtrace(1);
1079 }
1080 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction132>*/;
1081 var_listnode8 = var29;
1082 var30 = NEW_array__Array(&type_array__Arraykernel__Object);
1083 ((void (*)(val*))(var30->class->vft[COLOR_array__Array__init]))(var30) /* init on <var30:Array[Object]>*/;
1084 var_listnode13 = var30;
1085 var_listnode12 = var_nodearraylist9;
1086 /* <var_listnode12:nullable Object> isa Array[Object] */
1087 cltype32 = type_array__Arraykernel__Object.color;
1088 idtype33 = type_array__Arraykernel__Object.id;
1089 if(var_listnode12 == NULL) {
1090 var31 = 0;
1091 } else {
1092 if(cltype32 >= var_listnode12->type->table_size) {
1093 var31 = 0;
1094 } else {
1095 var31 = var_listnode12->type->type_table[cltype32] == idtype33;
1096 }
1097 }
1098 if (!var31) {
1099 fprintf(stderr, "Runtime error: %s", "Assert failed");
1100 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6581);
1101 show_backtrace(1);
1102 }
1103 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction132>*/;
1104 var_listnode13 = var34;
1105 var35 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
1106 var36 = NULL;
1107 var37 = NULL;
1108 var38 = NULL;
1109 ((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>*/;
1110 var_pannotationsnode9 = var35;
1111 var_pexterncodeblocknode15 = var_nodearraylist10;
1112 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
1113 cltype40 = type_nullable_parser_nodes__AExternCodeBlock.color;
1114 idtype41 = type_nullable_parser_nodes__AExternCodeBlock.id;
1115 if(var_pexterncodeblocknode15 == NULL) {
1116 var39 = 1;
1117 } else {
1118 if(cltype40 >= var_pexterncodeblocknode15->type->table_size) {
1119 var39 = 0;
1120 } else {
1121 var39 = var_pexterncodeblocknode15->type->type_table[cltype40] == idtype41;
1122 }
1123 }
1124 if (!var39) {
1125 fprintf(stderr, "Runtime error: %s", "Assert failed");
1126 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6590);
1127 show_backtrace(1);
1128 }
1129 var_tkwendnode18 = var_nodearraylist12;
1130 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
1131 cltype43 = type_nullable_parser_nodes__TKwend.color;
1132 idtype44 = type_nullable_parser_nodes__TKwend.id;
1133 if(var_tkwendnode18 == NULL) {
1134 var42 = 1;
1135 } else {
1136 if(cltype43 >= var_tkwendnode18->type->table_size) {
1137 var42 = 0;
1138 } else {
1139 var42 = var_tkwendnode18->type->type_table[cltype43] == idtype44;
1140 }
1141 }
1142 if (!var42) {
1143 fprintf(stderr, "Runtime error: %s", "Assert failed");
1144 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6592);
1145 show_backtrace(1);
1146 }
1147 var45 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1148 var46 = NULL;
1149 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var45->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var45, var_pdocnode2, var46, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var45:AStdClassdef>*/;
1150 var_pclassdefnode1 = var45;
1151 var_node_list = var_pclassdefnode1;
1152 var47 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction132> */
1153 var48 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var47) /* go_to on <var_p:Parser>*/;
1154 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var48, var_node_list) /* push on <var_p:Parser>*/;
1155 RET_LABEL:;
1156 }
1157 /* method parser#ReduceAction132#action for (self: Object, Parser) */
1158 void VIRTUAL_parser__ReduceAction132__action(val* self, val* p0) {
1159 parser__ReduceAction132__action(self, p0);
1160 RET_LABEL:;
1161 }
1162 /* method parser#ReduceAction134#action for (self: ReduceAction134, Parser) */
1163 void parser__ReduceAction134__action(val* self, val* p0) {
1164 val* var_p /* var p: Parser */;
1165 val* var /* : null */;
1166 val* var_node_list /* var node_list: nullable Object */;
1167 val* var1 /* : nullable Object */;
1168 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
1169 val* var2 /* : nullable Object */;
1170 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
1171 val* var3 /* : nullable Object */;
1172 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1173 val* var4 /* : nullable Object */;
1174 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1175 val* var5 /* : nullable Object */;
1176 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1177 val* var6 /* : nullable Object */;
1178 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1179 val* var7 /* : nullable Object */;
1180 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1181 val* var8 /* : nullable Object */;
1182 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1183 val* var9 /* : nullable Object */;
1184 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1185 val* var10 /* : nullable Object */;
1186 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1187 val* var11 /* : nullable Object */;
1188 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1189 val* var12 /* : nullable Object */;
1190 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1191 val* var13 /* : Array[Object] */;
1192 val* var_listnode8 /* var listnode8: Array[Object] */;
1193 val* var14 /* : Array[Object] */;
1194 val* var_listnode16 /* var listnode16: Array[Object] */;
1195 val* var15 /* : Array[Object] */;
1196 val* var_listnode17 /* var listnode17: Array[Object] */;
1197 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1198 short int var16 /* : Bool */;
1199 int cltype;
1200 int idtype;
1201 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
1202 short int var17 /* : Bool */;
1203 int cltype18;
1204 int idtype19;
1205 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1206 short int var20 /* : Bool */;
1207 int cltype21;
1208 int idtype22;
1209 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1210 short int var23 /* : Bool */;
1211 int cltype24;
1212 int idtype25;
1213 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1214 short int var26 /* : Bool */;
1215 int cltype27;
1216 int idtype28;
1217 val* var_listnode7 /* var listnode7: nullable Object */;
1218 short int var29 /* : Bool */;
1219 int cltype30;
1220 int idtype31;
1221 val* var32 /* : Array[Object] */;
1222 val* var33 /* : Array[Object] */;
1223 val* var_listnode13 /* var listnode13: Array[Object] */;
1224 val* var_listnode12 /* var listnode12: nullable Object */;
1225 short int var34 /* : Bool */;
1226 int cltype35;
1227 int idtype36;
1228 val* var37 /* : Array[Object] */;
1229 val* var38 /* : AAnnotations */;
1230 val* var39 /* : null */;
1231 val* var40 /* : null */;
1232 val* var41 /* : null */;
1233 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
1234 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
1235 short int var42 /* : Bool */;
1236 int cltype43;
1237 int idtype44;
1238 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
1239 short int var45 /* : Bool */;
1240 int cltype46;
1241 int idtype47;
1242 val* var48 /* : AStdClassdef */;
1243 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1244 long var49 /* : Int */;
1245 long var50 /* : Int */;
1246 var_p = p0;
1247 var = NULL;
1248 var_node_list = var;
1249 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1250 var_nodearraylist12 = var1;
1251 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1252 var_nodearraylist11 = var2;
1253 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1254 var_nodearraylist10 = var3;
1255 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1256 var_nodearraylist9 = var4;
1257 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1258 var_nodearraylist8 = var5;
1259 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1260 var_nodearraylist7 = var6;
1261 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1262 var_nodearraylist6 = var7;
1263 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1264 var_nodearraylist5 = var8;
1265 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1266 var_nodearraylist4 = var9;
1267 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1268 var_nodearraylist3 = var10;
1269 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1270 var_nodearraylist2 = var11;
1271 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1272 var_nodearraylist1 = var12;
1273 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
1274 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
1275 var_listnode8 = var13;
1276 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
1277 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
1278 var_listnode16 = var14;
1279 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
1280 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
1281 var_listnode17 = var15;
1282 var_pdocnode2 = var_nodearraylist1;
1283 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1284 cltype = type_nullable_parser_nodes__ADoc.color;
1285 idtype = type_nullable_parser_nodes__ADoc.id;
1286 if(var_pdocnode2 == NULL) {
1287 var16 = 1;
1288 } else {
1289 if(cltype >= var_pdocnode2->type->table_size) {
1290 var16 = 0;
1291 } else {
1292 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
1293 }
1294 }
1295 if (!var16) {
1296 fprintf(stderr, "Runtime error: %s", "Assert failed");
1297 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6631);
1298 show_backtrace(1);
1299 }
1300 var_tkwredefnode3 = var_nodearraylist2;
1301 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1302 cltype18 = type_nullable_parser_nodes__TKwredef.color;
1303 idtype19 = type_nullable_parser_nodes__TKwredef.id;
1304 if(var_tkwredefnode3 == NULL) {
1305 var17 = 1;
1306 } else {
1307 if(cltype18 >= var_tkwredefnode3->type->table_size) {
1308 var17 = 0;
1309 } else {
1310 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
1311 }
1312 }
1313 if (!var17) {
1314 fprintf(stderr, "Runtime error: %s", "Assert failed");
1315 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6633);
1316 show_backtrace(1);
1317 }
1318 var_pvisibilitynode4 = var_nodearraylist3;
1319 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1320 cltype21 = type_nullable_parser_nodes__AVisibility.color;
1321 idtype22 = type_nullable_parser_nodes__AVisibility.id;
1322 if(var_pvisibilitynode4 == NULL) {
1323 var20 = 1;
1324 } else {
1325 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
1326 var20 = 0;
1327 } else {
1328 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
1329 }
1330 }
1331 if (!var20) {
1332 fprintf(stderr, "Runtime error: %s", "Assert failed");
1333 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6635);
1334 show_backtrace(1);
1335 }
1336 var_pclasskindnode5 = var_nodearraylist4;
1337 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1338 cltype24 = type_nullable_parser_nodes__AClasskind.color;
1339 idtype25 = type_nullable_parser_nodes__AClasskind.id;
1340 if(var_pclasskindnode5 == NULL) {
1341 var23 = 1;
1342 } else {
1343 if(cltype24 >= var_pclasskindnode5->type->table_size) {
1344 var23 = 0;
1345 } else {
1346 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
1347 }
1348 }
1349 if (!var23) {
1350 fprintf(stderr, "Runtime error: %s", "Assert failed");
1351 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6637);
1352 show_backtrace(1);
1353 }
1354 var_tclassidnode6 = var_nodearraylist7;
1355 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1356 cltype27 = type_nullable_parser_nodes__TClassid.color;
1357 idtype28 = type_nullable_parser_nodes__TClassid.id;
1358 if(var_tclassidnode6 == NULL) {
1359 var26 = 1;
1360 } else {
1361 if(cltype27 >= var_tclassidnode6->type->table_size) {
1362 var26 = 0;
1363 } else {
1364 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
1365 }
1366 }
1367 if (!var26) {
1368 fprintf(stderr, "Runtime error: %s", "Assert failed");
1369 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6639);
1370 show_backtrace(1);
1371 }
1372 var_listnode7 = var_nodearraylist8;
1373 /* <var_listnode7:nullable Object> isa Array[Object] */
1374 cltype30 = type_array__Arraykernel__Object.color;
1375 idtype31 = type_array__Arraykernel__Object.id;
1376 if(var_listnode7 == NULL) {
1377 var29 = 0;
1378 } else {
1379 if(cltype30 >= var_listnode7->type->table_size) {
1380 var29 = 0;
1381 } else {
1382 var29 = var_listnode7->type->type_table[cltype30] == idtype31;
1383 }
1384 }
1385 if (!var29) {
1386 fprintf(stderr, "Runtime error: %s", "Assert failed");
1387 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6641);
1388 show_backtrace(1);
1389 }
1390 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction134>*/;
1391 var_listnode8 = var32;
1392 var33 = NEW_array__Array(&type_array__Arraykernel__Object);
1393 ((void (*)(val*))(var33->class->vft[COLOR_array__Array__init]))(var33) /* init on <var33:Array[Object]>*/;
1394 var_listnode13 = var33;
1395 var_listnode12 = var_nodearraylist9;
1396 /* <var_listnode12:nullable Object> isa Array[Object] */
1397 cltype35 = type_array__Arraykernel__Object.color;
1398 idtype36 = type_array__Arraykernel__Object.id;
1399 if(var_listnode12 == NULL) {
1400 var34 = 0;
1401 } else {
1402 if(cltype35 >= var_listnode12->type->table_size) {
1403 var34 = 0;
1404 } else {
1405 var34 = var_listnode12->type->type_table[cltype35] == idtype36;
1406 }
1407 }
1408 if (!var34) {
1409 fprintf(stderr, "Runtime error: %s", "Assert failed");
1410 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6645);
1411 show_backtrace(1);
1412 }
1413 var37 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction134>*/;
1414 var_listnode13 = var37;
1415 var38 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
1416 var39 = NULL;
1417 var40 = NULL;
1418 var41 = NULL;
1419 ((void (*)(val*, val*, val*, val*, val*))(var38->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var38, var39, var40, var_listnode13, var41) /* init_aannotations on <var38:AAnnotations>*/;
1420 var_pannotationsnode9 = var38;
1421 var_pexterncodeblocknode15 = var_nodearraylist10;
1422 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
1423 cltype43 = type_nullable_parser_nodes__AExternCodeBlock.color;
1424 idtype44 = type_nullable_parser_nodes__AExternCodeBlock.id;
1425 if(var_pexterncodeblocknode15 == NULL) {
1426 var42 = 1;
1427 } else {
1428 if(cltype43 >= var_pexterncodeblocknode15->type->table_size) {
1429 var42 = 0;
1430 } else {
1431 var42 = var_pexterncodeblocknode15->type->type_table[cltype43] == idtype44;
1432 }
1433 }
1434 if (!var42) {
1435 fprintf(stderr, "Runtime error: %s", "Assert failed");
1436 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6654);
1437 show_backtrace(1);
1438 }
1439 var_tkwendnode18 = var_nodearraylist12;
1440 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
1441 cltype46 = type_nullable_parser_nodes__TKwend.color;
1442 idtype47 = type_nullable_parser_nodes__TKwend.id;
1443 if(var_tkwendnode18 == NULL) {
1444 var45 = 1;
1445 } else {
1446 if(cltype46 >= var_tkwendnode18->type->table_size) {
1447 var45 = 0;
1448 } else {
1449 var45 = var_tkwendnode18->type->type_table[cltype46] == idtype47;
1450 }
1451 }
1452 if (!var45) {
1453 fprintf(stderr, "Runtime error: %s", "Assert failed");
1454 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6656);
1455 show_backtrace(1);
1456 }
1457 var48 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1458 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var48->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var48, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var48:AStdClassdef>*/;
1459 var_pclassdefnode1 = var48;
1460 var_node_list = var_pclassdefnode1;
1461 var49 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction134> */
1462 var50 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var49) /* go_to on <var_p:Parser>*/;
1463 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var50, var_node_list) /* push on <var_p:Parser>*/;
1464 RET_LABEL:;
1465 }
1466 /* method parser#ReduceAction134#action for (self: Object, Parser) */
1467 void VIRTUAL_parser__ReduceAction134__action(val* self, val* p0) {
1468 parser__ReduceAction134__action(self, p0);
1469 RET_LABEL:;
1470 }
1471 /* method parser#ReduceAction135#action for (self: ReduceAction135, Parser) */
1472 void parser__ReduceAction135__action(val* self, val* p0) {
1473 val* var_p /* var p: Parser */;
1474 val* var /* : null */;
1475 val* var_node_list /* var node_list: nullable Object */;
1476 val* var1 /* : nullable Object */;
1477 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
1478 val* var2 /* : nullable Object */;
1479 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
1480 val* var3 /* : nullable Object */;
1481 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
1482 val* var4 /* : nullable Object */;
1483 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1484 val* var5 /* : nullable Object */;
1485 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1486 val* var6 /* : nullable Object */;
1487 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1488 val* var7 /* : nullable Object */;
1489 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1490 val* var8 /* : nullable Object */;
1491 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1492 val* var9 /* : nullable Object */;
1493 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1494 val* var10 /* : nullable Object */;
1495 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1496 val* var11 /* : nullable Object */;
1497 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1498 val* var12 /* : nullable Object */;
1499 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1500 val* var13 /* : nullable Object */;
1501 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1502 val* var14 /* : Array[Object] */;
1503 val* var_listnode8 /* var listnode8: Array[Object] */;
1504 val* var15 /* : Array[Object] */;
1505 val* var_listnode16 /* var listnode16: Array[Object] */;
1506 val* var16 /* : Array[Object] */;
1507 val* var_listnode17 /* var listnode17: Array[Object] */;
1508 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1509 short int var17 /* : Bool */;
1510 int cltype;
1511 int idtype;
1512 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
1513 short int var18 /* : Bool */;
1514 int cltype19;
1515 int idtype20;
1516 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1517 short int var21 /* : Bool */;
1518 int cltype22;
1519 int idtype23;
1520 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1521 short int var24 /* : Bool */;
1522 int cltype25;
1523 int idtype26;
1524 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1525 short int var27 /* : Bool */;
1526 int cltype28;
1527 int idtype29;
1528 val* var_listnode7 /* var listnode7: nullable Object */;
1529 short int var30 /* : Bool */;
1530 int cltype31;
1531 int idtype32;
1532 val* var33 /* : Array[Object] */;
1533 val* var34 /* : Array[Object] */;
1534 val* var_listnode13 /* var listnode13: Array[Object] */;
1535 val* var_listnode12 /* var listnode12: nullable Object */;
1536 short int var35 /* : Bool */;
1537 int cltype36;
1538 int idtype37;
1539 val* var38 /* : Array[Object] */;
1540 val* var39 /* : AAnnotations */;
1541 val* var40 /* : null */;
1542 val* var41 /* : null */;
1543 val* var42 /* : null */;
1544 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
1545 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
1546 short int var43 /* : Bool */;
1547 int cltype44;
1548 int idtype45;
1549 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
1550 short int var46 /* : Bool */;
1551 int cltype47;
1552 int idtype48;
1553 val* var49 /* : AStdClassdef */;
1554 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1555 long var50 /* : Int */;
1556 long var51 /* : Int */;
1557 var_p = p0;
1558 var = NULL;
1559 var_node_list = var;
1560 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1561 var_nodearraylist13 = var1;
1562 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1563 var_nodearraylist12 = var2;
1564 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1565 var_nodearraylist11 = var3;
1566 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1567 var_nodearraylist10 = var4;
1568 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1569 var_nodearraylist9 = var5;
1570 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1571 var_nodearraylist8 = var6;
1572 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1573 var_nodearraylist7 = var7;
1574 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1575 var_nodearraylist6 = var8;
1576 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1577 var_nodearraylist5 = var9;
1578 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1579 var_nodearraylist4 = var10;
1580 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1581 var_nodearraylist3 = var11;
1582 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1583 var_nodearraylist2 = var12;
1584 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1585 var_nodearraylist1 = var13;
1586 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
1587 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
1588 var_listnode8 = var14;
1589 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
1590 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
1591 var_listnode16 = var15;
1592 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
1593 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
1594 var_listnode17 = var16;
1595 var_pdocnode2 = var_nodearraylist1;
1596 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1597 cltype = type_nullable_parser_nodes__ADoc.color;
1598 idtype = type_nullable_parser_nodes__ADoc.id;
1599 if(var_pdocnode2 == NULL) {
1600 var17 = 1;
1601 } else {
1602 if(cltype >= var_pdocnode2->type->table_size) {
1603 var17 = 0;
1604 } else {
1605 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
1606 }
1607 }
1608 if (!var17) {
1609 fprintf(stderr, "Runtime error: %s", "Assert failed");
1610 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6696);
1611 show_backtrace(1);
1612 }
1613 var_tkwredefnode3 = var_nodearraylist2;
1614 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1615 cltype19 = type_nullable_parser_nodes__TKwredef.color;
1616 idtype20 = type_nullable_parser_nodes__TKwredef.id;
1617 if(var_tkwredefnode3 == NULL) {
1618 var18 = 1;
1619 } else {
1620 if(cltype19 >= var_tkwredefnode3->type->table_size) {
1621 var18 = 0;
1622 } else {
1623 var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20;
1624 }
1625 }
1626 if (!var18) {
1627 fprintf(stderr, "Runtime error: %s", "Assert failed");
1628 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6698);
1629 show_backtrace(1);
1630 }
1631 var_pvisibilitynode4 = var_nodearraylist3;
1632 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1633 cltype22 = type_nullable_parser_nodes__AVisibility.color;
1634 idtype23 = type_nullable_parser_nodes__AVisibility.id;
1635 if(var_pvisibilitynode4 == NULL) {
1636 var21 = 1;
1637 } else {
1638 if(cltype22 >= var_pvisibilitynode4->type->table_size) {
1639 var21 = 0;
1640 } else {
1641 var21 = var_pvisibilitynode4->type->type_table[cltype22] == idtype23;
1642 }
1643 }
1644 if (!var21) {
1645 fprintf(stderr, "Runtime error: %s", "Assert failed");
1646 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6700);
1647 show_backtrace(1);
1648 }
1649 var_pclasskindnode5 = var_nodearraylist4;
1650 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1651 cltype25 = type_nullable_parser_nodes__AClasskind.color;
1652 idtype26 = type_nullable_parser_nodes__AClasskind.id;
1653 if(var_pclasskindnode5 == NULL) {
1654 var24 = 1;
1655 } else {
1656 if(cltype25 >= var_pclasskindnode5->type->table_size) {
1657 var24 = 0;
1658 } else {
1659 var24 = var_pclasskindnode5->type->type_table[cltype25] == idtype26;
1660 }
1661 }
1662 if (!var24) {
1663 fprintf(stderr, "Runtime error: %s", "Assert failed");
1664 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6702);
1665 show_backtrace(1);
1666 }
1667 var_tclassidnode6 = var_nodearraylist8;
1668 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1669 cltype28 = type_nullable_parser_nodes__TClassid.color;
1670 idtype29 = type_nullable_parser_nodes__TClassid.id;
1671 if(var_tclassidnode6 == NULL) {
1672 var27 = 1;
1673 } else {
1674 if(cltype28 >= var_tclassidnode6->type->table_size) {
1675 var27 = 0;
1676 } else {
1677 var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29;
1678 }
1679 }
1680 if (!var27) {
1681 fprintf(stderr, "Runtime error: %s", "Assert failed");
1682 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6704);
1683 show_backtrace(1);
1684 }
1685 var_listnode7 = var_nodearraylist9;
1686 /* <var_listnode7:nullable Object> isa Array[Object] */
1687 cltype31 = type_array__Arraykernel__Object.color;
1688 idtype32 = type_array__Arraykernel__Object.id;
1689 if(var_listnode7 == NULL) {
1690 var30 = 0;
1691 } else {
1692 if(cltype31 >= var_listnode7->type->table_size) {
1693 var30 = 0;
1694 } else {
1695 var30 = var_listnode7->type->type_table[cltype31] == idtype32;
1696 }
1697 }
1698 if (!var30) {
1699 fprintf(stderr, "Runtime error: %s", "Assert failed");
1700 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6706);
1701 show_backtrace(1);
1702 }
1703 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction135>*/;
1704 var_listnode8 = var33;
1705 var34 = NEW_array__Array(&type_array__Arraykernel__Object);
1706 ((void (*)(val*))(var34->class->vft[COLOR_array__Array__init]))(var34) /* init on <var34:Array[Object]>*/;
1707 var_listnode13 = var34;
1708 var_listnode12 = var_nodearraylist10;
1709 /* <var_listnode12:nullable Object> isa Array[Object] */
1710 cltype36 = type_array__Arraykernel__Object.color;
1711 idtype37 = type_array__Arraykernel__Object.id;
1712 if(var_listnode12 == NULL) {
1713 var35 = 0;
1714 } else {
1715 if(cltype36 >= var_listnode12->type->table_size) {
1716 var35 = 0;
1717 } else {
1718 var35 = var_listnode12->type->type_table[cltype36] == idtype37;
1719 }
1720 }
1721 if (!var35) {
1722 fprintf(stderr, "Runtime error: %s", "Assert failed");
1723 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6710);
1724 show_backtrace(1);
1725 }
1726 var38 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction135>*/;
1727 var_listnode13 = var38;
1728 var39 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
1729 var40 = NULL;
1730 var41 = NULL;
1731 var42 = NULL;
1732 ((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>*/;
1733 var_pannotationsnode9 = var39;
1734 var_pexterncodeblocknode15 = var_nodearraylist11;
1735 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
1736 cltype44 = type_nullable_parser_nodes__AExternCodeBlock.color;
1737 idtype45 = type_nullable_parser_nodes__AExternCodeBlock.id;
1738 if(var_pexterncodeblocknode15 == NULL) {
1739 var43 = 1;
1740 } else {
1741 if(cltype44 >= var_pexterncodeblocknode15->type->table_size) {
1742 var43 = 0;
1743 } else {
1744 var43 = var_pexterncodeblocknode15->type->type_table[cltype44] == idtype45;
1745 }
1746 }
1747 if (!var43) {
1748 fprintf(stderr, "Runtime error: %s", "Assert failed");
1749 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6719);
1750 show_backtrace(1);
1751 }
1752 var_tkwendnode18 = var_nodearraylist13;
1753 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
1754 cltype47 = type_nullable_parser_nodes__TKwend.color;
1755 idtype48 = type_nullable_parser_nodes__TKwend.id;
1756 if(var_tkwendnode18 == NULL) {
1757 var46 = 1;
1758 } else {
1759 if(cltype47 >= var_tkwendnode18->type->table_size) {
1760 var46 = 0;
1761 } else {
1762 var46 = var_tkwendnode18->type->type_table[cltype47] == idtype48;
1763 }
1764 }
1765 if (!var46) {
1766 fprintf(stderr, "Runtime error: %s", "Assert failed");
1767 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6721);
1768 show_backtrace(1);
1769 }
1770 var49 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1771 ((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, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var49:AStdClassdef>*/;
1772 var_pclassdefnode1 = var49;
1773 var_node_list = var_pclassdefnode1;
1774 var50 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction135> */
1775 var51 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var50) /* go_to on <var_p:Parser>*/;
1776 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var51, var_node_list) /* push on <var_p:Parser>*/;
1777 RET_LABEL:;
1778 }
1779 /* method parser#ReduceAction135#action for (self: Object, Parser) */
1780 void VIRTUAL_parser__ReduceAction135__action(val* self, val* p0) {
1781 parser__ReduceAction135__action(self, p0);
1782 RET_LABEL:;
1783 }
1784 /* method parser#ReduceAction137#action for (self: ReduceAction137, Parser) */
1785 void parser__ReduceAction137__action(val* self, val* p0) {
1786 val* var_p /* var p: Parser */;
1787 val* var /* : null */;
1788 val* var_node_list /* var node_list: nullable Object */;
1789 val* var1 /* : nullable Object */;
1790 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1791 val* var2 /* : nullable Object */;
1792 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1793 val* var3 /* : nullable Object */;
1794 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1795 val* var4 /* : nullable Object */;
1796 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1797 val* var5 /* : nullable Object */;
1798 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1799 val* var6 /* : nullable Object */;
1800 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1801 val* var7 /* : nullable Object */;
1802 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1803 val* var8 /* : nullable Object */;
1804 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1805 val* var9 /* : Array[Object] */;
1806 val* var_listnode7 /* var listnode7: Array[Object] */;
1807 val* var10 /* : Array[Object] */;
1808 val* var_listnode11 /* var listnode11: Array[Object] */;
1809 val* var11 /* : Array[Object] */;
1810 val* var_listnode12 /* var listnode12: Array[Object] */;
1811 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1812 short int var12 /* : Bool */;
1813 int cltype;
1814 int idtype;
1815 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1816 short int var13 /* : Bool */;
1817 int cltype14;
1818 int idtype15;
1819 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1820 short int var16 /* : Bool */;
1821 int cltype17;
1822 int idtype18;
1823 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1824 short int var19 /* : Bool */;
1825 int cltype20;
1826 int idtype21;
1827 val* var_listnode10 /* var listnode10: nullable Object */;
1828 short int var22 /* : Bool */;
1829 int cltype23;
1830 int idtype24;
1831 val* var25 /* : Array[Object] */;
1832 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
1833 short int var26 /* : Bool */;
1834 int cltype27;
1835 int idtype28;
1836 val* var29 /* : AStdClassdef */;
1837 val* var30 /* : null */;
1838 val* var31 /* : null */;
1839 val* var32 /* : null */;
1840 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1841 long var33 /* : Int */;
1842 long var34 /* : Int */;
1843 var_p = p0;
1844 var = NULL;
1845 var_node_list = var;
1846 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1847 var_nodearraylist8 = var1;
1848 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1849 var_nodearraylist7 = var2;
1850 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1851 var_nodearraylist6 = var3;
1852 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1853 var_nodearraylist5 = var4;
1854 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1855 var_nodearraylist4 = var5;
1856 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1857 var_nodearraylist3 = var6;
1858 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1859 var_nodearraylist2 = var7;
1860 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1861 var_nodearraylist1 = var8;
1862 var9 = NEW_array__Array(&type_array__Arraykernel__Object);
1863 ((void (*)(val*))(var9->class->vft[COLOR_array__Array__init]))(var9) /* init on <var9:Array[Object]>*/;
1864 var_listnode7 = var9;
1865 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
1866 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
1867 var_listnode11 = var10;
1868 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
1869 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
1870 var_listnode12 = var11;
1871 var_pdocnode2 = var_nodearraylist1;
1872 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1873 cltype = type_nullable_parser_nodes__ADoc.color;
1874 idtype = type_nullable_parser_nodes__ADoc.id;
1875 if(var_pdocnode2 == NULL) {
1876 var12 = 1;
1877 } else {
1878 if(cltype >= var_pdocnode2->type->table_size) {
1879 var12 = 0;
1880 } else {
1881 var12 = var_pdocnode2->type->type_table[cltype] == idtype;
1882 }
1883 }
1884 if (!var12) {
1885 fprintf(stderr, "Runtime error: %s", "Assert failed");
1886 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6756);
1887 show_backtrace(1);
1888 }
1889 var_pvisibilitynode4 = var_nodearraylist2;
1890 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1891 cltype14 = type_nullable_parser_nodes__AVisibility.color;
1892 idtype15 = type_nullable_parser_nodes__AVisibility.id;
1893 if(var_pvisibilitynode4 == NULL) {
1894 var13 = 1;
1895 } else {
1896 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
1897 var13 = 0;
1898 } else {
1899 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
1900 }
1901 }
1902 if (!var13) {
1903 fprintf(stderr, "Runtime error: %s", "Assert failed");
1904 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6758);
1905 show_backtrace(1);
1906 }
1907 var_pclasskindnode5 = var_nodearraylist3;
1908 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1909 cltype17 = type_nullable_parser_nodes__AClasskind.color;
1910 idtype18 = type_nullable_parser_nodes__AClasskind.id;
1911 if(var_pclasskindnode5 == NULL) {
1912 var16 = 1;
1913 } else {
1914 if(cltype17 >= var_pclasskindnode5->type->table_size) {
1915 var16 = 0;
1916 } else {
1917 var16 = var_pclasskindnode5->type->type_table[cltype17] == idtype18;
1918 }
1919 }
1920 if (!var16) {
1921 fprintf(stderr, "Runtime error: %s", "Assert failed");
1922 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6760);
1923 show_backtrace(1);
1924 }
1925 var_tclassidnode6 = var_nodearraylist5;
1926 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1927 cltype20 = type_nullable_parser_nodes__TClassid.color;
1928 idtype21 = type_nullable_parser_nodes__TClassid.id;
1929 if(var_tclassidnode6 == NULL) {
1930 var19 = 1;
1931 } else {
1932 if(cltype20 >= var_tclassidnode6->type->table_size) {
1933 var19 = 0;
1934 } else {
1935 var19 = var_tclassidnode6->type->type_table[cltype20] == idtype21;
1936 }
1937 }
1938 if (!var19) {
1939 fprintf(stderr, "Runtime error: %s", "Assert failed");
1940 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6762);
1941 show_backtrace(1);
1942 }
1943 var_listnode10 = var_nodearraylist6;
1944 /* <var_listnode10:nullable Object> isa Array[Object] */
1945 cltype23 = type_array__Arraykernel__Object.color;
1946 idtype24 = type_array__Arraykernel__Object.id;
1947 if(var_listnode10 == NULL) {
1948 var22 = 0;
1949 } else {
1950 if(cltype23 >= var_listnode10->type->table_size) {
1951 var22 = 0;
1952 } else {
1953 var22 = var_listnode10->type->type_table[cltype23] == idtype24;
1954 }
1955 }
1956 if (!var22) {
1957 fprintf(stderr, "Runtime error: %s", "Assert failed");
1958 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6764);
1959 show_backtrace(1);
1960 }
1961 var25 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction137>*/;
1962 var_listnode11 = var25;
1963 var_tkwendnode13 = var_nodearraylist8;
1964 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
1965 cltype27 = type_nullable_parser_nodes__TKwend.color;
1966 idtype28 = type_nullable_parser_nodes__TKwend.id;
1967 if(var_tkwendnode13 == NULL) {
1968 var26 = 1;
1969 } else {
1970 if(cltype27 >= var_tkwendnode13->type->table_size) {
1971 var26 = 0;
1972 } else {
1973 var26 = var_tkwendnode13->type->type_table[cltype27] == idtype28;
1974 }
1975 }
1976 if (!var26) {
1977 fprintf(stderr, "Runtime error: %s", "Assert failed");
1978 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6767);
1979 show_backtrace(1);
1980 }
1981 var29 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1982 var30 = NULL;
1983 var31 = NULL;
1984 var32 = NULL;
1985 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var29, var_pdocnode2, var30, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var31, var32, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var29:AStdClassdef>*/;
1986 var_pclassdefnode1 = var29;
1987 var_node_list = var_pclassdefnode1;
1988 var33 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction137> */
1989 var34 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var33) /* go_to on <var_p:Parser>*/;
1990 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var34, var_node_list) /* push on <var_p:Parser>*/;
1991 RET_LABEL:;
1992 }
1993 /* method parser#ReduceAction137#action for (self: Object, Parser) */
1994 void VIRTUAL_parser__ReduceAction137__action(val* self, val* p0) {
1995 parser__ReduceAction137__action(self, p0);
1996 RET_LABEL:;
1997 }
1998 /* method parser#ReduceAction138#action for (self: ReduceAction138, Parser) */
1999 void parser__ReduceAction138__action(val* self, val* p0) {
2000 val* var_p /* var p: Parser */;
2001 val* var /* : null */;
2002 val* var_node_list /* var node_list: nullable Object */;
2003 val* var1 /* : nullable Object */;
2004 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2005 val* var2 /* : nullable Object */;
2006 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2007 val* var3 /* : nullable Object */;
2008 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2009 val* var4 /* : nullable Object */;
2010 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2011 val* var5 /* : nullable Object */;
2012 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2013 val* var6 /* : nullable Object */;
2014 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2015 val* var7 /* : nullable Object */;
2016 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2017 val* var8 /* : nullable Object */;
2018 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2019 val* var9 /* : nullable Object */;
2020 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2021 val* var10 /* : Array[Object] */;
2022 val* var_listnode7 /* var listnode7: Array[Object] */;
2023 val* var11 /* : Array[Object] */;
2024 val* var_listnode11 /* var listnode11: Array[Object] */;
2025 val* var12 /* : Array[Object] */;
2026 val* var_listnode12 /* var listnode12: Array[Object] */;
2027 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2028 short int var13 /* : Bool */;
2029 int cltype;
2030 int idtype;
2031 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
2032 short int var14 /* : Bool */;
2033 int cltype15;
2034 int idtype16;
2035 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2036 short int var17 /* : Bool */;
2037 int cltype18;
2038 int idtype19;
2039 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2040 short int var20 /* : Bool */;
2041 int cltype21;
2042 int idtype22;
2043 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2044 short int var23 /* : Bool */;
2045 int cltype24;
2046 int idtype25;
2047 val* var_listnode10 /* var listnode10: nullable Object */;
2048 short int var26 /* : Bool */;
2049 int cltype27;
2050 int idtype28;
2051 val* var29 /* : Array[Object] */;
2052 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
2053 short int var30 /* : Bool */;
2054 int cltype31;
2055 int idtype32;
2056 val* var33 /* : AStdClassdef */;
2057 val* var34 /* : null */;
2058 val* var35 /* : null */;
2059 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2060 long var36 /* : Int */;
2061 long var37 /* : Int */;
2062 var_p = p0;
2063 var = NULL;
2064 var_node_list = var;
2065 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2066 var_nodearraylist9 = var1;
2067 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2068 var_nodearraylist8 = var2;
2069 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2070 var_nodearraylist7 = var3;
2071 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2072 var_nodearraylist6 = var4;
2073 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2074 var_nodearraylist5 = var5;
2075 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2076 var_nodearraylist4 = var6;
2077 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2078 var_nodearraylist3 = var7;
2079 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2080 var_nodearraylist2 = var8;
2081 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2082 var_nodearraylist1 = var9;
2083 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
2084 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
2085 var_listnode7 = var10;
2086 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
2087 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
2088 var_listnode11 = var11;
2089 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
2090 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
2091 var_listnode12 = var12;
2092 var_pdocnode2 = var_nodearraylist1;
2093 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2094 cltype = type_nullable_parser_nodes__ADoc.color;
2095 idtype = type_nullable_parser_nodes__ADoc.id;
2096 if(var_pdocnode2 == NULL) {
2097 var13 = 1;
2098 } else {
2099 if(cltype >= var_pdocnode2->type->table_size) {
2100 var13 = 0;
2101 } else {
2102 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
2103 }
2104 }
2105 if (!var13) {
2106 fprintf(stderr, "Runtime error: %s", "Assert failed");
2107 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6803);
2108 show_backtrace(1);
2109 }
2110 var_tkwredefnode3 = var_nodearraylist2;
2111 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2112 cltype15 = type_nullable_parser_nodes__TKwredef.color;
2113 idtype16 = type_nullable_parser_nodes__TKwredef.id;
2114 if(var_tkwredefnode3 == NULL) {
2115 var14 = 1;
2116 } else {
2117 if(cltype15 >= var_tkwredefnode3->type->table_size) {
2118 var14 = 0;
2119 } else {
2120 var14 = var_tkwredefnode3->type->type_table[cltype15] == idtype16;
2121 }
2122 }
2123 if (!var14) {
2124 fprintf(stderr, "Runtime error: %s", "Assert failed");
2125 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6805);
2126 show_backtrace(1);
2127 }
2128 var_pvisibilitynode4 = var_nodearraylist3;
2129 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2130 cltype18 = type_nullable_parser_nodes__AVisibility.color;
2131 idtype19 = type_nullable_parser_nodes__AVisibility.id;
2132 if(var_pvisibilitynode4 == NULL) {
2133 var17 = 1;
2134 } else {
2135 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
2136 var17 = 0;
2137 } else {
2138 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
2139 }
2140 }
2141 if (!var17) {
2142 fprintf(stderr, "Runtime error: %s", "Assert failed");
2143 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6807);
2144 show_backtrace(1);
2145 }
2146 var_pclasskindnode5 = var_nodearraylist4;
2147 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2148 cltype21 = type_nullable_parser_nodes__AClasskind.color;
2149 idtype22 = type_nullable_parser_nodes__AClasskind.id;
2150 if(var_pclasskindnode5 == NULL) {
2151 var20 = 1;
2152 } else {
2153 if(cltype21 >= var_pclasskindnode5->type->table_size) {
2154 var20 = 0;
2155 } else {
2156 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
2157 }
2158 }
2159 if (!var20) {
2160 fprintf(stderr, "Runtime error: %s", "Assert failed");
2161 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6809);
2162 show_backtrace(1);
2163 }
2164 var_tclassidnode6 = var_nodearraylist6;
2165 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2166 cltype24 = type_nullable_parser_nodes__TClassid.color;
2167 idtype25 = type_nullable_parser_nodes__TClassid.id;
2168 if(var_tclassidnode6 == NULL) {
2169 var23 = 1;
2170 } else {
2171 if(cltype24 >= var_tclassidnode6->type->table_size) {
2172 var23 = 0;
2173 } else {
2174 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
2175 }
2176 }
2177 if (!var23) {
2178 fprintf(stderr, "Runtime error: %s", "Assert failed");
2179 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6811);
2180 show_backtrace(1);
2181 }
2182 var_listnode10 = var_nodearraylist7;
2183 /* <var_listnode10:nullable Object> isa Array[Object] */
2184 cltype27 = type_array__Arraykernel__Object.color;
2185 idtype28 = type_array__Arraykernel__Object.id;
2186 if(var_listnode10 == NULL) {
2187 var26 = 0;
2188 } else {
2189 if(cltype27 >= var_listnode10->type->table_size) {
2190 var26 = 0;
2191 } else {
2192 var26 = var_listnode10->type->type_table[cltype27] == idtype28;
2193 }
2194 }
2195 if (!var26) {
2196 fprintf(stderr, "Runtime error: %s", "Assert failed");
2197 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6813);
2198 show_backtrace(1);
2199 }
2200 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction138>*/;
2201 var_listnode11 = var29;
2202 var_tkwendnode13 = var_nodearraylist9;
2203 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
2204 cltype31 = type_nullable_parser_nodes__TKwend.color;
2205 idtype32 = type_nullable_parser_nodes__TKwend.id;
2206 if(var_tkwendnode13 == NULL) {
2207 var30 = 1;
2208 } else {
2209 if(cltype31 >= var_tkwendnode13->type->table_size) {
2210 var30 = 0;
2211 } else {
2212 var30 = var_tkwendnode13->type->type_table[cltype31] == idtype32;
2213 }
2214 }
2215 if (!var30) {
2216 fprintf(stderr, "Runtime error: %s", "Assert failed");
2217 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6816);
2218 show_backtrace(1);
2219 }
2220 var33 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2221 var34 = NULL;
2222 var35 = NULL;
2223 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var34, var35, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var33:AStdClassdef>*/;
2224 var_pclassdefnode1 = var33;
2225 var_node_list = var_pclassdefnode1;
2226 var36 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction138> */
2227 var37 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var36) /* go_to on <var_p:Parser>*/;
2228 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var37, var_node_list) /* push on <var_p:Parser>*/;
2229 RET_LABEL:;
2230 }
2231 /* method parser#ReduceAction138#action for (self: Object, Parser) */
2232 void VIRTUAL_parser__ReduceAction138__action(val* self, val* p0) {
2233 parser__ReduceAction138__action(self, p0);
2234 RET_LABEL:;
2235 }
2236 /* method parser#ReduceAction139#action for (self: ReduceAction139, Parser) */
2237 void parser__ReduceAction139__action(val* self, val* p0) {
2238 val* var_p /* var p: Parser */;
2239 val* var /* : null */;
2240 val* var_node_list /* var node_list: nullable Object */;
2241 val* var1 /* : nullable Object */;
2242 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2243 val* var2 /* : nullable Object */;
2244 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2245 val* var3 /* : nullable Object */;
2246 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2247 val* var4 /* : nullable Object */;
2248 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2249 val* var5 /* : nullable Object */;
2250 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2251 val* var6 /* : nullable Object */;
2252 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2253 val* var7 /* : nullable Object */;
2254 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2255 val* var8 /* : nullable Object */;
2256 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2257 val* var9 /* : nullable Object */;
2258 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2259 val* var10 /* : Array[Object] */;
2260 val* var_listnode7 /* var listnode7: Array[Object] */;
2261 val* var11 /* : Array[Object] */;
2262 val* var_listnode11 /* var listnode11: Array[Object] */;
2263 val* var12 /* : Array[Object] */;
2264 val* var_listnode12 /* var listnode12: Array[Object] */;
2265 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2266 short int var13 /* : Bool */;
2267 int cltype;
2268 int idtype;
2269 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2270 short int var14 /* : Bool */;
2271 int cltype15;
2272 int idtype16;
2273 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2274 short int var17 /* : Bool */;
2275 int cltype18;
2276 int idtype19;
2277 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2278 short int var20 /* : Bool */;
2279 int cltype21;
2280 int idtype22;
2281 val* var_listnode10 /* var listnode10: nullable Object */;
2282 short int var23 /* : Bool */;
2283 int cltype24;
2284 int idtype25;
2285 val* var26 /* : Array[Object] */;
2286 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
2287 short int var27 /* : Bool */;
2288 int cltype28;
2289 int idtype29;
2290 val* var30 /* : AStdClassdef */;
2291 val* var31 /* : null */;
2292 val* var32 /* : null */;
2293 val* var33 /* : null */;
2294 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2295 long var34 /* : Int */;
2296 long var35 /* : Int */;
2297 var_p = p0;
2298 var = NULL;
2299 var_node_list = var;
2300 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2301 var_nodearraylist9 = var1;
2302 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2303 var_nodearraylist8 = var2;
2304 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2305 var_nodearraylist7 = var3;
2306 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2307 var_nodearraylist6 = var4;
2308 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2309 var_nodearraylist5 = var5;
2310 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2311 var_nodearraylist4 = var6;
2312 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2313 var_nodearraylist3 = var7;
2314 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2315 var_nodearraylist2 = var8;
2316 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2317 var_nodearraylist1 = var9;
2318 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
2319 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
2320 var_listnode7 = var10;
2321 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
2322 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
2323 var_listnode11 = var11;
2324 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
2325 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
2326 var_listnode12 = var12;
2327 var_pdocnode2 = var_nodearraylist1;
2328 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2329 cltype = type_nullable_parser_nodes__ADoc.color;
2330 idtype = type_nullable_parser_nodes__ADoc.id;
2331 if(var_pdocnode2 == NULL) {
2332 var13 = 1;
2333 } else {
2334 if(cltype >= var_pdocnode2->type->table_size) {
2335 var13 = 0;
2336 } else {
2337 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
2338 }
2339 }
2340 if (!var13) {
2341 fprintf(stderr, "Runtime error: %s", "Assert failed");
2342 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6852);
2343 show_backtrace(1);
2344 }
2345 var_pvisibilitynode4 = var_nodearraylist2;
2346 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2347 cltype15 = type_nullable_parser_nodes__AVisibility.color;
2348 idtype16 = type_nullable_parser_nodes__AVisibility.id;
2349 if(var_pvisibilitynode4 == NULL) {
2350 var14 = 1;
2351 } else {
2352 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
2353 var14 = 0;
2354 } else {
2355 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
2356 }
2357 }
2358 if (!var14) {
2359 fprintf(stderr, "Runtime error: %s", "Assert failed");
2360 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6854);
2361 show_backtrace(1);
2362 }
2363 var_pclasskindnode5 = var_nodearraylist3;
2364 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2365 cltype18 = type_nullable_parser_nodes__AClasskind.color;
2366 idtype19 = type_nullable_parser_nodes__AClasskind.id;
2367 if(var_pclasskindnode5 == NULL) {
2368 var17 = 1;
2369 } else {
2370 if(cltype18 >= var_pclasskindnode5->type->table_size) {
2371 var17 = 0;
2372 } else {
2373 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
2374 }
2375 }
2376 if (!var17) {
2377 fprintf(stderr, "Runtime error: %s", "Assert failed");
2378 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6856);
2379 show_backtrace(1);
2380 }
2381 var_tclassidnode6 = var_nodearraylist6;
2382 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2383 cltype21 = type_nullable_parser_nodes__TClassid.color;
2384 idtype22 = type_nullable_parser_nodes__TClassid.id;
2385 if(var_tclassidnode6 == NULL) {
2386 var20 = 1;
2387 } else {
2388 if(cltype21 >= var_tclassidnode6->type->table_size) {
2389 var20 = 0;
2390 } else {
2391 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
2392 }
2393 }
2394 if (!var20) {
2395 fprintf(stderr, "Runtime error: %s", "Assert failed");
2396 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6858);
2397 show_backtrace(1);
2398 }
2399 var_listnode10 = var_nodearraylist7;
2400 /* <var_listnode10:nullable Object> isa Array[Object] */
2401 cltype24 = type_array__Arraykernel__Object.color;
2402 idtype25 = type_array__Arraykernel__Object.id;
2403 if(var_listnode10 == NULL) {
2404 var23 = 0;
2405 } else {
2406 if(cltype24 >= var_listnode10->type->table_size) {
2407 var23 = 0;
2408 } else {
2409 var23 = var_listnode10->type->type_table[cltype24] == idtype25;
2410 }
2411 }
2412 if (!var23) {
2413 fprintf(stderr, "Runtime error: %s", "Assert failed");
2414 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6860);
2415 show_backtrace(1);
2416 }
2417 var26 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction139>*/;
2418 var_listnode11 = var26;
2419 var_tkwendnode13 = var_nodearraylist9;
2420 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
2421 cltype28 = type_nullable_parser_nodes__TKwend.color;
2422 idtype29 = type_nullable_parser_nodes__TKwend.id;
2423 if(var_tkwendnode13 == NULL) {
2424 var27 = 1;
2425 } else {
2426 if(cltype28 >= var_tkwendnode13->type->table_size) {
2427 var27 = 0;
2428 } else {
2429 var27 = var_tkwendnode13->type->type_table[cltype28] == idtype29;
2430 }
2431 }
2432 if (!var27) {
2433 fprintf(stderr, "Runtime error: %s", "Assert failed");
2434 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6863);
2435 show_backtrace(1);
2436 }
2437 var30 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2438 var31 = NULL;
2439 var32 = NULL;
2440 var33 = NULL;
2441 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var30->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var30, var_pdocnode2, var31, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var32, var33, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var30:AStdClassdef>*/;
2442 var_pclassdefnode1 = var30;
2443 var_node_list = var_pclassdefnode1;
2444 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction139> */
2445 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
2446 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
2447 RET_LABEL:;
2448 }
2449 /* method parser#ReduceAction139#action for (self: Object, Parser) */
2450 void VIRTUAL_parser__ReduceAction139__action(val* self, val* p0) {
2451 parser__ReduceAction139__action(self, p0);
2452 RET_LABEL:;
2453 }
2454 /* method parser#ReduceAction140#action for (self: ReduceAction140, Parser) */
2455 void parser__ReduceAction140__action(val* self, val* p0) {
2456 val* var_p /* var p: Parser */;
2457 val* var /* : null */;
2458 val* var_node_list /* var node_list: nullable Object */;
2459 val* var1 /* : nullable Object */;
2460 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2461 val* var2 /* : nullable Object */;
2462 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2463 val* var3 /* : nullable Object */;
2464 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2465 val* var4 /* : nullable Object */;
2466 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2467 val* var5 /* : nullable Object */;
2468 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2469 val* var6 /* : nullable Object */;
2470 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2471 val* var7 /* : nullable Object */;
2472 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2473 val* var8 /* : nullable Object */;
2474 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2475 val* var9 /* : nullable Object */;
2476 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2477 val* var10 /* : nullable Object */;
2478 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2479 val* var11 /* : Array[Object] */;
2480 val* var_listnode7 /* var listnode7: Array[Object] */;
2481 val* var12 /* : Array[Object] */;
2482 val* var_listnode11 /* var listnode11: Array[Object] */;
2483 val* var13 /* : Array[Object] */;
2484 val* var_listnode12 /* var listnode12: Array[Object] */;
2485 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2486 short int var14 /* : Bool */;
2487 int cltype;
2488 int idtype;
2489 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2490 short int var15 /* : Bool */;
2491 int cltype16;
2492 int idtype17;
2493 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2494 short int var18 /* : Bool */;
2495 int cltype19;
2496 int idtype20;
2497 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2498 short int var21 /* : Bool */;
2499 int cltype22;
2500 int idtype23;
2501 val* var_listnode10 /* var listnode10: nullable Object */;
2502 short int var24 /* : Bool */;
2503 int cltype25;
2504 int idtype26;
2505 val* var27 /* : Array[Object] */;
2506 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
2507 short int var28 /* : Bool */;
2508 int cltype29;
2509 int idtype30;
2510 val* var31 /* : AStdClassdef */;
2511 val* var32 /* : null */;
2512 val* var33 /* : null */;
2513 val* var34 /* : null */;
2514 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2515 long var35 /* : Int */;
2516 long var36 /* : Int */;
2517 var_p = p0;
2518 var = NULL;
2519 var_node_list = var;
2520 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2521 var_nodearraylist10 = var1;
2522 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2523 var_nodearraylist9 = var2;
2524 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2525 var_nodearraylist8 = var3;
2526 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2527 var_nodearraylist7 = var4;
2528 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2529 var_nodearraylist6 = var5;
2530 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2531 var_nodearraylist5 = var6;
2532 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2533 var_nodearraylist4 = var7;
2534 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2535 var_nodearraylist3 = var8;
2536 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2537 var_nodearraylist2 = var9;
2538 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2539 var_nodearraylist1 = var10;
2540 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
2541 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
2542 var_listnode7 = var11;
2543 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
2544 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
2545 var_listnode11 = var12;
2546 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
2547 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
2548 var_listnode12 = var13;
2549 var_pdocnode2 = var_nodearraylist1;
2550 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2551 cltype = type_nullable_parser_nodes__ADoc.color;
2552 idtype = type_nullable_parser_nodes__ADoc.id;
2553 if(var_pdocnode2 == NULL) {
2554 var14 = 1;
2555 } else {
2556 if(cltype >= var_pdocnode2->type->table_size) {
2557 var14 = 0;
2558 } else {
2559 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
2560 }
2561 }
2562 if (!var14) {
2563 fprintf(stderr, "Runtime error: %s", "Assert failed");
2564 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6900);
2565 show_backtrace(1);
2566 }
2567 var_pvisibilitynode4 = var_nodearraylist2;
2568 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2569 cltype16 = type_nullable_parser_nodes__AVisibility.color;
2570 idtype17 = type_nullable_parser_nodes__AVisibility.id;
2571 if(var_pvisibilitynode4 == NULL) {
2572 var15 = 1;
2573 } else {
2574 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
2575 var15 = 0;
2576 } else {
2577 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
2578 }
2579 }
2580 if (!var15) {
2581 fprintf(stderr, "Runtime error: %s", "Assert failed");
2582 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6902);
2583 show_backtrace(1);
2584 }
2585 var_pclasskindnode5 = var_nodearraylist3;
2586 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2587 cltype19 = type_nullable_parser_nodes__AClasskind.color;
2588 idtype20 = type_nullable_parser_nodes__AClasskind.id;
2589 if(var_pclasskindnode5 == NULL) {
2590 var18 = 1;
2591 } else {
2592 if(cltype19 >= var_pclasskindnode5->type->table_size) {
2593 var18 = 0;
2594 } else {
2595 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
2596 }
2597 }
2598 if (!var18) {
2599 fprintf(stderr, "Runtime error: %s", "Assert failed");
2600 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6904);
2601 show_backtrace(1);
2602 }
2603 var_tclassidnode6 = var_nodearraylist7;
2604 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2605 cltype22 = type_nullable_parser_nodes__TClassid.color;
2606 idtype23 = type_nullable_parser_nodes__TClassid.id;
2607 if(var_tclassidnode6 == NULL) {
2608 var21 = 1;
2609 } else {
2610 if(cltype22 >= var_tclassidnode6->type->table_size) {
2611 var21 = 0;
2612 } else {
2613 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
2614 }
2615 }
2616 if (!var21) {
2617 fprintf(stderr, "Runtime error: %s", "Assert failed");
2618 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6906);
2619 show_backtrace(1);
2620 }
2621 var_listnode10 = var_nodearraylist8;
2622 /* <var_listnode10:nullable Object> isa Array[Object] */
2623 cltype25 = type_array__Arraykernel__Object.color;
2624 idtype26 = type_array__Arraykernel__Object.id;
2625 if(var_listnode10 == NULL) {
2626 var24 = 0;
2627 } else {
2628 if(cltype25 >= var_listnode10->type->table_size) {
2629 var24 = 0;
2630 } else {
2631 var24 = var_listnode10->type->type_table[cltype25] == idtype26;
2632 }
2633 }
2634 if (!var24) {
2635 fprintf(stderr, "Runtime error: %s", "Assert failed");
2636 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6908);
2637 show_backtrace(1);
2638 }
2639 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction140>*/;
2640 var_listnode11 = var27;
2641 var_tkwendnode13 = var_nodearraylist10;
2642 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
2643 cltype29 = type_nullable_parser_nodes__TKwend.color;
2644 idtype30 = type_nullable_parser_nodes__TKwend.id;
2645 if(var_tkwendnode13 == NULL) {
2646 var28 = 1;
2647 } else {
2648 if(cltype29 >= var_tkwendnode13->type->table_size) {
2649 var28 = 0;
2650 } else {
2651 var28 = var_tkwendnode13->type->type_table[cltype29] == idtype30;
2652 }
2653 }
2654 if (!var28) {
2655 fprintf(stderr, "Runtime error: %s", "Assert failed");
2656 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6911);
2657 show_backtrace(1);
2658 }
2659 var31 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2660 var32 = NULL;
2661 var33 = NULL;
2662 var34 = NULL;
2663 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var31->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var31, var_pdocnode2, var32, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var33, var34, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var31:AStdClassdef>*/;
2664 var_pclassdefnode1 = var31;
2665 var_node_list = var_pclassdefnode1;
2666 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction140> */
2667 var36 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var35) /* go_to on <var_p:Parser>*/;
2668 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var36, var_node_list) /* push on <var_p:Parser>*/;
2669 RET_LABEL:;
2670 }
2671 /* method parser#ReduceAction140#action for (self: Object, Parser) */
2672 void VIRTUAL_parser__ReduceAction140__action(val* self, val* p0) {
2673 parser__ReduceAction140__action(self, p0);
2674 RET_LABEL:;
2675 }
2676 /* method parser#ReduceAction142#action for (self: ReduceAction142, Parser) */
2677 void parser__ReduceAction142__action(val* self, val* p0) {
2678 val* var_p /* var p: Parser */;
2679 val* var /* : null */;
2680 val* var_node_list /* var node_list: nullable Object */;
2681 val* var1 /* : nullable Object */;
2682 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2683 val* var2 /* : nullable Object */;
2684 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2685 val* var3 /* : nullable Object */;
2686 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2687 val* var4 /* : nullable Object */;
2688 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2689 val* var5 /* : nullable Object */;
2690 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2691 val* var6 /* : nullable Object */;
2692 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2693 val* var7 /* : nullable Object */;
2694 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2695 val* var8 /* : nullable Object */;
2696 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2697 val* var9 /* : nullable Object */;
2698 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2699 val* var10 /* : nullable Object */;
2700 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2701 val* var11 /* : Array[Object] */;
2702 val* var_listnode7 /* var listnode7: Array[Object] */;
2703 val* var12 /* : Array[Object] */;
2704 val* var_listnode11 /* var listnode11: Array[Object] */;
2705 val* var13 /* : Array[Object] */;
2706 val* var_listnode12 /* var listnode12: Array[Object] */;
2707 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2708 short int var14 /* : Bool */;
2709 int cltype;
2710 int idtype;
2711 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
2712 short int var15 /* : Bool */;
2713 int cltype16;
2714 int idtype17;
2715 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2716 short int var18 /* : Bool */;
2717 int cltype19;
2718 int idtype20;
2719 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2720 short int var21 /* : Bool */;
2721 int cltype22;
2722 int idtype23;
2723 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2724 short int var24 /* : Bool */;
2725 int cltype25;
2726 int idtype26;
2727 val* var_listnode10 /* var listnode10: nullable Object */;
2728 short int var27 /* : Bool */;
2729 int cltype28;
2730 int idtype29;
2731 val* var30 /* : Array[Object] */;
2732 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
2733 short int var31 /* : Bool */;
2734 int cltype32;
2735 int idtype33;
2736 val* var34 /* : AStdClassdef */;
2737 val* var35 /* : null */;
2738 val* var36 /* : null */;
2739 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2740 long var37 /* : Int */;
2741 long var38 /* : Int */;
2742 var_p = p0;
2743 var = NULL;
2744 var_node_list = var;
2745 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2746 var_nodearraylist10 = var1;
2747 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2748 var_nodearraylist9 = var2;
2749 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2750 var_nodearraylist8 = var3;
2751 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2752 var_nodearraylist7 = var4;
2753 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2754 var_nodearraylist6 = var5;
2755 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2756 var_nodearraylist5 = var6;
2757 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2758 var_nodearraylist4 = var7;
2759 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2760 var_nodearraylist3 = var8;
2761 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2762 var_nodearraylist2 = var9;
2763 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2764 var_nodearraylist1 = var10;
2765 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
2766 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
2767 var_listnode7 = var11;
2768 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
2769 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
2770 var_listnode11 = var12;
2771 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
2772 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
2773 var_listnode12 = var13;
2774 var_pdocnode2 = var_nodearraylist1;
2775 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2776 cltype = type_nullable_parser_nodes__ADoc.color;
2777 idtype = type_nullable_parser_nodes__ADoc.id;
2778 if(var_pdocnode2 == NULL) {
2779 var14 = 1;
2780 } else {
2781 if(cltype >= var_pdocnode2->type->table_size) {
2782 var14 = 0;
2783 } else {
2784 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
2785 }
2786 }
2787 if (!var14) {
2788 fprintf(stderr, "Runtime error: %s", "Assert failed");
2789 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6948);
2790 show_backtrace(1);
2791 }
2792 var_tkwredefnode3 = var_nodearraylist2;
2793 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2794 cltype16 = type_nullable_parser_nodes__TKwredef.color;
2795 idtype17 = type_nullable_parser_nodes__TKwredef.id;
2796 if(var_tkwredefnode3 == NULL) {
2797 var15 = 1;
2798 } else {
2799 if(cltype16 >= var_tkwredefnode3->type->table_size) {
2800 var15 = 0;
2801 } else {
2802 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
2803 }
2804 }
2805 if (!var15) {
2806 fprintf(stderr, "Runtime error: %s", "Assert failed");
2807 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6950);
2808 show_backtrace(1);
2809 }
2810 var_pvisibilitynode4 = var_nodearraylist3;
2811 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2812 cltype19 = type_nullable_parser_nodes__AVisibility.color;
2813 idtype20 = type_nullable_parser_nodes__AVisibility.id;
2814 if(var_pvisibilitynode4 == NULL) {
2815 var18 = 1;
2816 } else {
2817 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
2818 var18 = 0;
2819 } else {
2820 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
2821 }
2822 }
2823 if (!var18) {
2824 fprintf(stderr, "Runtime error: %s", "Assert failed");
2825 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6952);
2826 show_backtrace(1);
2827 }
2828 var_pclasskindnode5 = var_nodearraylist4;
2829 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2830 cltype22 = type_nullable_parser_nodes__AClasskind.color;
2831 idtype23 = type_nullable_parser_nodes__AClasskind.id;
2832 if(var_pclasskindnode5 == NULL) {
2833 var21 = 1;
2834 } else {
2835 if(cltype22 >= var_pclasskindnode5->type->table_size) {
2836 var21 = 0;
2837 } else {
2838 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
2839 }
2840 }
2841 if (!var21) {
2842 fprintf(stderr, "Runtime error: %s", "Assert failed");
2843 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6954);
2844 show_backtrace(1);
2845 }
2846 var_tclassidnode6 = var_nodearraylist7;
2847 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2848 cltype25 = type_nullable_parser_nodes__TClassid.color;
2849 idtype26 = type_nullable_parser_nodes__TClassid.id;
2850 if(var_tclassidnode6 == NULL) {
2851 var24 = 1;
2852 } else {
2853 if(cltype25 >= var_tclassidnode6->type->table_size) {
2854 var24 = 0;
2855 } else {
2856 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
2857 }
2858 }
2859 if (!var24) {
2860 fprintf(stderr, "Runtime error: %s", "Assert failed");
2861 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6956);
2862 show_backtrace(1);
2863 }
2864 var_listnode10 = var_nodearraylist8;
2865 /* <var_listnode10:nullable Object> isa Array[Object] */
2866 cltype28 = type_array__Arraykernel__Object.color;
2867 idtype29 = type_array__Arraykernel__Object.id;
2868 if(var_listnode10 == NULL) {
2869 var27 = 0;
2870 } else {
2871 if(cltype28 >= var_listnode10->type->table_size) {
2872 var27 = 0;
2873 } else {
2874 var27 = var_listnode10->type->type_table[cltype28] == idtype29;
2875 }
2876 }
2877 if (!var27) {
2878 fprintf(stderr, "Runtime error: %s", "Assert failed");
2879 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6958);
2880 show_backtrace(1);
2881 }
2882 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction142>*/;
2883 var_listnode11 = var30;
2884 var_tkwendnode13 = var_nodearraylist10;
2885 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
2886 cltype32 = type_nullable_parser_nodes__TKwend.color;
2887 idtype33 = type_nullable_parser_nodes__TKwend.id;
2888 if(var_tkwendnode13 == NULL) {
2889 var31 = 1;
2890 } else {
2891 if(cltype32 >= var_tkwendnode13->type->table_size) {
2892 var31 = 0;
2893 } else {
2894 var31 = var_tkwendnode13->type->type_table[cltype32] == idtype33;
2895 }
2896 }
2897 if (!var31) {
2898 fprintf(stderr, "Runtime error: %s", "Assert failed");
2899 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6961);
2900 show_backtrace(1);
2901 }
2902 var34 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2903 var35 = NULL;
2904 var36 = NULL;
2905 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var34->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var34, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var35, var36, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var34:AStdClassdef>*/;
2906 var_pclassdefnode1 = var34;
2907 var_node_list = var_pclassdefnode1;
2908 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction142> */
2909 var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on <var_p:Parser>*/;
2910 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on <var_p:Parser>*/;
2911 RET_LABEL:;
2912 }
2913 /* method parser#ReduceAction142#action for (self: Object, Parser) */
2914 void VIRTUAL_parser__ReduceAction142__action(val* self, val* p0) {
2915 parser__ReduceAction142__action(self, p0);
2916 RET_LABEL:;
2917 }
2918 /* method parser#ReduceAction143#action for (self: ReduceAction143, Parser) */
2919 void parser__ReduceAction143__action(val* self, val* p0) {
2920 val* var_p /* var p: Parser */;
2921 val* var /* : null */;
2922 val* var_node_list /* var node_list: nullable Object */;
2923 val* var1 /* : nullable Object */;
2924 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
2925 val* var2 /* : nullable Object */;
2926 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2927 val* var3 /* : nullable Object */;
2928 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2929 val* var4 /* : nullable Object */;
2930 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2931 val* var5 /* : nullable Object */;
2932 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2933 val* var6 /* : nullable Object */;
2934 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2935 val* var7 /* : nullable Object */;
2936 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2937 val* var8 /* : nullable Object */;
2938 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2939 val* var9 /* : nullable Object */;
2940 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2941 val* var10 /* : nullable Object */;
2942 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2943 val* var11 /* : nullable Object */;
2944 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2945 val* var12 /* : Array[Object] */;
2946 val* var_listnode7 /* var listnode7: Array[Object] */;
2947 val* var13 /* : Array[Object] */;
2948 val* var_listnode11 /* var listnode11: Array[Object] */;
2949 val* var14 /* : Array[Object] */;
2950 val* var_listnode12 /* var listnode12: Array[Object] */;
2951 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2952 short int var15 /* : Bool */;
2953 int cltype;
2954 int idtype;
2955 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
2956 short int var16 /* : Bool */;
2957 int cltype17;
2958 int idtype18;
2959 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2960 short int var19 /* : Bool */;
2961 int cltype20;
2962 int idtype21;
2963 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2964 short int var22 /* : Bool */;
2965 int cltype23;
2966 int idtype24;
2967 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2968 short int var25 /* : Bool */;
2969 int cltype26;
2970 int idtype27;
2971 val* var_listnode10 /* var listnode10: nullable Object */;
2972 short int var28 /* : Bool */;
2973 int cltype29;
2974 int idtype30;
2975 val* var31 /* : Array[Object] */;
2976 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
2977 short int var32 /* : Bool */;
2978 int cltype33;
2979 int idtype34;
2980 val* var35 /* : AStdClassdef */;
2981 val* var36 /* : null */;
2982 val* var37 /* : null */;
2983 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2984 long var38 /* : Int */;
2985 long var39 /* : Int */;
2986 var_p = p0;
2987 var = NULL;
2988 var_node_list = var;
2989 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2990 var_nodearraylist11 = var1;
2991 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2992 var_nodearraylist10 = var2;
2993 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2994 var_nodearraylist9 = var3;
2995 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2996 var_nodearraylist8 = var4;
2997 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2998 var_nodearraylist7 = var5;
2999 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3000 var_nodearraylist6 = var6;
3001 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3002 var_nodearraylist5 = var7;
3003 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3004 var_nodearraylist4 = var8;
3005 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3006 var_nodearraylist3 = var9;
3007 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3008 var_nodearraylist2 = var10;
3009 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3010 var_nodearraylist1 = var11;
3011 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
3012 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
3013 var_listnode7 = var12;
3014 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
3015 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
3016 var_listnode11 = var13;
3017 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
3018 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
3019 var_listnode12 = var14;
3020 var_pdocnode2 = var_nodearraylist1;
3021 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3022 cltype = type_nullable_parser_nodes__ADoc.color;
3023 idtype = type_nullable_parser_nodes__ADoc.id;
3024 if(var_pdocnode2 == NULL) {
3025 var15 = 1;
3026 } else {
3027 if(cltype >= var_pdocnode2->type->table_size) {
3028 var15 = 0;
3029 } else {
3030 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
3031 }
3032 }
3033 if (!var15) {
3034 fprintf(stderr, "Runtime error: %s", "Assert failed");
3035 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6999);
3036 show_backtrace(1);
3037 }
3038 var_tkwredefnode3 = var_nodearraylist2;
3039 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3040 cltype17 = type_nullable_parser_nodes__TKwredef.color;
3041 idtype18 = type_nullable_parser_nodes__TKwredef.id;
3042 if(var_tkwredefnode3 == NULL) {
3043 var16 = 1;
3044 } else {
3045 if(cltype17 >= var_tkwredefnode3->type->table_size) {
3046 var16 = 0;
3047 } else {
3048 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
3049 }
3050 }
3051 if (!var16) {
3052 fprintf(stderr, "Runtime error: %s", "Assert failed");
3053 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7001);
3054 show_backtrace(1);
3055 }
3056 var_pvisibilitynode4 = var_nodearraylist3;
3057 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3058 cltype20 = type_nullable_parser_nodes__AVisibility.color;
3059 idtype21 = type_nullable_parser_nodes__AVisibility.id;
3060 if(var_pvisibilitynode4 == NULL) {
3061 var19 = 1;
3062 } else {
3063 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
3064 var19 = 0;
3065 } else {
3066 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
3067 }
3068 }
3069 if (!var19) {
3070 fprintf(stderr, "Runtime error: %s", "Assert failed");
3071 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7003);
3072 show_backtrace(1);
3073 }
3074 var_pclasskindnode5 = var_nodearraylist4;
3075 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3076 cltype23 = type_nullable_parser_nodes__AClasskind.color;
3077 idtype24 = type_nullable_parser_nodes__AClasskind.id;
3078 if(var_pclasskindnode5 == NULL) {
3079 var22 = 1;
3080 } else {
3081 if(cltype23 >= var_pclasskindnode5->type->table_size) {
3082 var22 = 0;
3083 } else {
3084 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
3085 }
3086 }
3087 if (!var22) {
3088 fprintf(stderr, "Runtime error: %s", "Assert failed");
3089 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7005);
3090 show_backtrace(1);
3091 }
3092 var_tclassidnode6 = var_nodearraylist8;
3093 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3094 cltype26 = type_nullable_parser_nodes__TClassid.color;
3095 idtype27 = type_nullable_parser_nodes__TClassid.id;
3096 if(var_tclassidnode6 == NULL) {
3097 var25 = 1;
3098 } else {
3099 if(cltype26 >= var_tclassidnode6->type->table_size) {
3100 var25 = 0;
3101 } else {
3102 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
3103 }
3104 }
3105 if (!var25) {
3106 fprintf(stderr, "Runtime error: %s", "Assert failed");
3107 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7007);
3108 show_backtrace(1);
3109 }
3110 var_listnode10 = var_nodearraylist9;
3111 /* <var_listnode10:nullable Object> isa Array[Object] */
3112 cltype29 = type_array__Arraykernel__Object.color;
3113 idtype30 = type_array__Arraykernel__Object.id;
3114 if(var_listnode10 == NULL) {
3115 var28 = 0;
3116 } else {
3117 if(cltype29 >= var_listnode10->type->table_size) {
3118 var28 = 0;
3119 } else {
3120 var28 = var_listnode10->type->type_table[cltype29] == idtype30;
3121 }
3122 }
3123 if (!var28) {
3124 fprintf(stderr, "Runtime error: %s", "Assert failed");
3125 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7009);
3126 show_backtrace(1);
3127 }
3128 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction143>*/;
3129 var_listnode11 = var31;
3130 var_tkwendnode13 = var_nodearraylist11;
3131 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
3132 cltype33 = type_nullable_parser_nodes__TKwend.color;
3133 idtype34 = type_nullable_parser_nodes__TKwend.id;
3134 if(var_tkwendnode13 == NULL) {
3135 var32 = 1;
3136 } else {
3137 if(cltype33 >= var_tkwendnode13->type->table_size) {
3138 var32 = 0;
3139 } else {
3140 var32 = var_tkwendnode13->type->type_table[cltype33] == idtype34;
3141 }
3142 }
3143 if (!var32) {
3144 fprintf(stderr, "Runtime error: %s", "Assert failed");
3145 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7012);
3146 show_backtrace(1);
3147 }
3148 var35 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3149 var36 = NULL;
3150 var37 = NULL;
3151 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var35->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var35, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var36, var37, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var35:AStdClassdef>*/;
3152 var_pclassdefnode1 = var35;
3153 var_node_list = var_pclassdefnode1;
3154 var38 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction143> */
3155 var39 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var38) /* go_to on <var_p:Parser>*/;
3156 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var39, var_node_list) /* push on <var_p:Parser>*/;
3157 RET_LABEL:;
3158 }
3159 /* method parser#ReduceAction143#action for (self: Object, Parser) */
3160 void VIRTUAL_parser__ReduceAction143__action(val* self, val* p0) {
3161 parser__ReduceAction143__action(self, p0);
3162 RET_LABEL:;
3163 }
3164 /* method parser#ReduceAction145#action for (self: ReduceAction145, Parser) */
3165 void parser__ReduceAction145__action(val* self, val* p0) {
3166 val* var_p /* var p: Parser */;
3167 val* var /* : null */;
3168 val* var_node_list /* var node_list: nullable Object */;
3169 val* var1 /* : nullable Object */;
3170 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3171 val* var2 /* : nullable Object */;
3172 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3173 val* var3 /* : nullable Object */;
3174 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3175 val* var4 /* : nullable Object */;
3176 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3177 val* var5 /* : nullable Object */;
3178 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3179 val* var6 /* : nullable Object */;
3180 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3181 val* var7 /* : nullable Object */;
3182 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3183 val* var8 /* : nullable Object */;
3184 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3185 val* var9 /* : nullable Object */;
3186 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3187 val* var10 /* : Array[Object] */;
3188 val* var_listnode8 /* var listnode8: Array[Object] */;
3189 val* var11 /* : Array[Object] */;
3190 val* var_listnode12 /* var listnode12: Array[Object] */;
3191 val* var12 /* : Array[Object] */;
3192 val* var_listnode13 /* var listnode13: Array[Object] */;
3193 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3194 short int var13 /* : Bool */;
3195 int cltype;
3196 int idtype;
3197 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3198 short int var14 /* : Bool */;
3199 int cltype15;
3200 int idtype16;
3201 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3202 short int var17 /* : Bool */;
3203 int cltype18;
3204 int idtype19;
3205 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3206 short int var20 /* : Bool */;
3207 int cltype21;
3208 int idtype22;
3209 val* var_listnode7 /* var listnode7: nullable Object */;
3210 short int var23 /* : Bool */;
3211 int cltype24;
3212 int idtype25;
3213 val* var26 /* : Array[Object] */;
3214 val* var_listnode11 /* var listnode11: nullable Object */;
3215 short int var27 /* : Bool */;
3216 int cltype28;
3217 int idtype29;
3218 val* var30 /* : Array[Object] */;
3219 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
3220 short int var31 /* : Bool */;
3221 int cltype32;
3222 int idtype33;
3223 val* var34 /* : AStdClassdef */;
3224 val* var35 /* : null */;
3225 val* var36 /* : null */;
3226 val* var37 /* : null */;
3227 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3228 long var38 /* : Int */;
3229 long var39 /* : Int */;
3230 var_p = p0;
3231 var = NULL;
3232 var_node_list = var;
3233 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3234 var_nodearraylist9 = var1;
3235 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3236 var_nodearraylist8 = var2;
3237 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3238 var_nodearraylist7 = var3;
3239 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3240 var_nodearraylist6 = var4;
3241 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3242 var_nodearraylist5 = var5;
3243 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3244 var_nodearraylist4 = var6;
3245 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3246 var_nodearraylist3 = var7;
3247 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3248 var_nodearraylist2 = var8;
3249 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3250 var_nodearraylist1 = var9;
3251 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
3252 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
3253 var_listnode8 = var10;
3254 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
3255 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
3256 var_listnode12 = var11;
3257 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
3258 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
3259 var_listnode13 = var12;
3260 var_pdocnode2 = var_nodearraylist1;
3261 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3262 cltype = type_nullable_parser_nodes__ADoc.color;
3263 idtype = type_nullable_parser_nodes__ADoc.id;
3264 if(var_pdocnode2 == NULL) {
3265 var13 = 1;
3266 } else {
3267 if(cltype >= var_pdocnode2->type->table_size) {
3268 var13 = 0;
3269 } else {
3270 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
3271 }
3272 }
3273 if (!var13) {
3274 fprintf(stderr, "Runtime error: %s", "Assert failed");
3275 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7048);
3276 show_backtrace(1);
3277 }
3278 var_pvisibilitynode4 = var_nodearraylist2;
3279 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3280 cltype15 = type_nullable_parser_nodes__AVisibility.color;
3281 idtype16 = type_nullable_parser_nodes__AVisibility.id;
3282 if(var_pvisibilitynode4 == NULL) {
3283 var14 = 1;
3284 } else {
3285 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
3286 var14 = 0;
3287 } else {
3288 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
3289 }
3290 }
3291 if (!var14) {
3292 fprintf(stderr, "Runtime error: %s", "Assert failed");
3293 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7050);
3294 show_backtrace(1);
3295 }
3296 var_pclasskindnode5 = var_nodearraylist3;
3297 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3298 cltype18 = type_nullable_parser_nodes__AClasskind.color;
3299 idtype19 = type_nullable_parser_nodes__AClasskind.id;
3300 if(var_pclasskindnode5 == NULL) {
3301 var17 = 1;
3302 } else {
3303 if(cltype18 >= var_pclasskindnode5->type->table_size) {
3304 var17 = 0;
3305 } else {
3306 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
3307 }
3308 }
3309 if (!var17) {
3310 fprintf(stderr, "Runtime error: %s", "Assert failed");
3311 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7052);
3312 show_backtrace(1);
3313 }
3314 var_tclassidnode6 = var_nodearraylist5;
3315 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3316 cltype21 = type_nullable_parser_nodes__TClassid.color;
3317 idtype22 = type_nullable_parser_nodes__TClassid.id;
3318 if(var_tclassidnode6 == NULL) {
3319 var20 = 1;
3320 } else {
3321 if(cltype21 >= var_tclassidnode6->type->table_size) {
3322 var20 = 0;
3323 } else {
3324 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
3325 }
3326 }
3327 if (!var20) {
3328 fprintf(stderr, "Runtime error: %s", "Assert failed");
3329 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7054);
3330 show_backtrace(1);
3331 }
3332 var_listnode7 = var_nodearraylist6;
3333 /* <var_listnode7:nullable Object> isa Array[Object] */
3334 cltype24 = type_array__Arraykernel__Object.color;
3335 idtype25 = type_array__Arraykernel__Object.id;
3336 if(var_listnode7 == NULL) {
3337 var23 = 0;
3338 } else {
3339 if(cltype24 >= var_listnode7->type->table_size) {
3340 var23 = 0;
3341 } else {
3342 var23 = var_listnode7->type->type_table[cltype24] == idtype25;
3343 }
3344 }
3345 if (!var23) {
3346 fprintf(stderr, "Runtime error: %s", "Assert failed");
3347 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7056);
3348 show_backtrace(1);
3349 }
3350 var26 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction145>*/;
3351 var_listnode8 = var26;
3352 var_listnode11 = var_nodearraylist7;
3353 /* <var_listnode11:nullable Object> isa Array[Object] */
3354 cltype28 = type_array__Arraykernel__Object.color;
3355 idtype29 = type_array__Arraykernel__Object.id;
3356 if(var_listnode11 == NULL) {
3357 var27 = 0;
3358 } else {
3359 if(cltype28 >= var_listnode11->type->table_size) {
3360 var27 = 0;
3361 } else {
3362 var27 = var_listnode11->type->type_table[cltype28] == idtype29;
3363 }
3364 }
3365 if (!var27) {
3366 fprintf(stderr, "Runtime error: %s", "Assert failed");
3367 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7059);
3368 show_backtrace(1);
3369 }
3370 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction145>*/;
3371 var_listnode12 = var30;
3372 var_tkwendnode14 = var_nodearraylist9;
3373 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
3374 cltype32 = type_nullable_parser_nodes__TKwend.color;
3375 idtype33 = type_nullable_parser_nodes__TKwend.id;
3376 if(var_tkwendnode14 == NULL) {
3377 var31 = 1;
3378 } else {
3379 if(cltype32 >= var_tkwendnode14->type->table_size) {
3380 var31 = 0;
3381 } else {
3382 var31 = var_tkwendnode14->type->type_table[cltype32] == idtype33;
3383 }
3384 }
3385 if (!var31) {
3386 fprintf(stderr, "Runtime error: %s", "Assert failed");
3387 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7062);
3388 show_backtrace(1);
3389 }
3390 var34 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3391 var35 = NULL;
3392 var36 = NULL;
3393 var37 = NULL;
3394 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var34->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var34, var_pdocnode2, var35, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var36, var37, var_listnode12, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var34:AStdClassdef>*/;
3395 var_pclassdefnode1 = var34;
3396 var_node_list = var_pclassdefnode1;
3397 var38 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction145> */
3398 var39 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var38) /* go_to on <var_p:Parser>*/;
3399 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var39, var_node_list) /* push on <var_p:Parser>*/;
3400 RET_LABEL:;
3401 }
3402 /* method parser#ReduceAction145#action for (self: Object, Parser) */
3403 void VIRTUAL_parser__ReduceAction145__action(val* self, val* p0) {
3404 parser__ReduceAction145__action(self, p0);
3405 RET_LABEL:;
3406 }
3407 /* method parser#ReduceAction146#action for (self: ReduceAction146, Parser) */
3408 void parser__ReduceAction146__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_nodearraylist10 /* var nodearraylist10: nullable Object */;
3414 val* var2 /* : nullable Object */;
3415 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3416 val* var3 /* : nullable Object */;
3417 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3418 val* var4 /* : nullable Object */;
3419 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3420 val* var5 /* : nullable Object */;
3421 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3422 val* var6 /* : nullable Object */;
3423 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3424 val* var7 /* : nullable Object */;
3425 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3426 val* var8 /* : nullable Object */;
3427 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3428 val* var9 /* : nullable Object */;
3429 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3430 val* var10 /* : nullable Object */;
3431 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3432 val* var11 /* : Array[Object] */;
3433 val* var_listnode8 /* var listnode8: Array[Object] */;
3434 val* var12 /* : Array[Object] */;
3435 val* var_listnode12 /* var listnode12: Array[Object] */;
3436 val* var13 /* : Array[Object] */;
3437 val* var_listnode13 /* var listnode13: Array[Object] */;
3438 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3439 short int var14 /* : Bool */;
3440 int cltype;
3441 int idtype;
3442 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
3443 short int var15 /* : Bool */;
3444 int cltype16;
3445 int idtype17;
3446 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3447 short int var18 /* : Bool */;
3448 int cltype19;
3449 int idtype20;
3450 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3451 short int var21 /* : Bool */;
3452 int cltype22;
3453 int idtype23;
3454 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3455 short int var24 /* : Bool */;
3456 int cltype25;
3457 int idtype26;
3458 val* var_listnode7 /* var listnode7: nullable Object */;
3459 short int var27 /* : Bool */;
3460 int cltype28;
3461 int idtype29;
3462 val* var30 /* : Array[Object] */;
3463 val* var_listnode11 /* var listnode11: nullable Object */;
3464 short int var31 /* : Bool */;
3465 int cltype32;
3466 int idtype33;
3467 val* var34 /* : Array[Object] */;
3468 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
3469 short int var35 /* : Bool */;
3470 int cltype36;
3471 int idtype37;
3472 val* var38 /* : AStdClassdef */;
3473 val* var39 /* : null */;
3474 val* var40 /* : null */;
3475 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3476 long var41 /* : Int */;
3477 long var42 /* : Int */;
3478 var_p = p0;
3479 var = NULL;
3480 var_node_list = var;
3481 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3482 var_nodearraylist10 = var1;
3483 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3484 var_nodearraylist9 = var2;
3485 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3486 var_nodearraylist8 = var3;
3487 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3488 var_nodearraylist7 = var4;
3489 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3490 var_nodearraylist6 = var5;
3491 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3492 var_nodearraylist5 = var6;
3493 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3494 var_nodearraylist4 = var7;
3495 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3496 var_nodearraylist3 = var8;
3497 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3498 var_nodearraylist2 = var9;
3499 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3500 var_nodearraylist1 = var10;
3501 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
3502 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
3503 var_listnode8 = var11;
3504 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
3505 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
3506 var_listnode12 = var12;
3507 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
3508 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
3509 var_listnode13 = var13;
3510 var_pdocnode2 = var_nodearraylist1;
3511 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3512 cltype = type_nullable_parser_nodes__ADoc.color;
3513 idtype = type_nullable_parser_nodes__ADoc.id;
3514 if(var_pdocnode2 == NULL) {
3515 var14 = 1;
3516 } else {
3517 if(cltype >= var_pdocnode2->type->table_size) {
3518 var14 = 0;
3519 } else {
3520 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
3521 }
3522 }
3523 if (!var14) {
3524 fprintf(stderr, "Runtime error: %s", "Assert failed");
3525 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7099);
3526 show_backtrace(1);
3527 }
3528 var_tkwredefnode3 = var_nodearraylist2;
3529 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3530 cltype16 = type_nullable_parser_nodes__TKwredef.color;
3531 idtype17 = type_nullable_parser_nodes__TKwredef.id;
3532 if(var_tkwredefnode3 == NULL) {
3533 var15 = 1;
3534 } else {
3535 if(cltype16 >= var_tkwredefnode3->type->table_size) {
3536 var15 = 0;
3537 } else {
3538 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
3539 }
3540 }
3541 if (!var15) {
3542 fprintf(stderr, "Runtime error: %s", "Assert failed");
3543 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7101);
3544 show_backtrace(1);
3545 }
3546 var_pvisibilitynode4 = var_nodearraylist3;
3547 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3548 cltype19 = type_nullable_parser_nodes__AVisibility.color;
3549 idtype20 = type_nullable_parser_nodes__AVisibility.id;
3550 if(var_pvisibilitynode4 == NULL) {
3551 var18 = 1;
3552 } else {
3553 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
3554 var18 = 0;
3555 } else {
3556 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
3557 }
3558 }
3559 if (!var18) {
3560 fprintf(stderr, "Runtime error: %s", "Assert failed");
3561 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7103);
3562 show_backtrace(1);
3563 }
3564 var_pclasskindnode5 = var_nodearraylist4;
3565 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3566 cltype22 = type_nullable_parser_nodes__AClasskind.color;
3567 idtype23 = type_nullable_parser_nodes__AClasskind.id;
3568 if(var_pclasskindnode5 == NULL) {
3569 var21 = 1;
3570 } else {
3571 if(cltype22 >= var_pclasskindnode5->type->table_size) {
3572 var21 = 0;
3573 } else {
3574 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
3575 }
3576 }
3577 if (!var21) {
3578 fprintf(stderr, "Runtime error: %s", "Assert failed");
3579 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7105);
3580 show_backtrace(1);
3581 }
3582 var_tclassidnode6 = var_nodearraylist6;
3583 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3584 cltype25 = type_nullable_parser_nodes__TClassid.color;
3585 idtype26 = type_nullable_parser_nodes__TClassid.id;
3586 if(var_tclassidnode6 == NULL) {
3587 var24 = 1;
3588 } else {
3589 if(cltype25 >= var_tclassidnode6->type->table_size) {
3590 var24 = 0;
3591 } else {
3592 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
3593 }
3594 }
3595 if (!var24) {
3596 fprintf(stderr, "Runtime error: %s", "Assert failed");
3597 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7107);
3598 show_backtrace(1);
3599 }
3600 var_listnode7 = var_nodearraylist7;
3601 /* <var_listnode7:nullable Object> isa Array[Object] */
3602 cltype28 = type_array__Arraykernel__Object.color;
3603 idtype29 = type_array__Arraykernel__Object.id;
3604 if(var_listnode7 == NULL) {
3605 var27 = 0;
3606 } else {
3607 if(cltype28 >= var_listnode7->type->table_size) {
3608 var27 = 0;
3609 } else {
3610 var27 = var_listnode7->type->type_table[cltype28] == idtype29;
3611 }
3612 }
3613 if (!var27) {
3614 fprintf(stderr, "Runtime error: %s", "Assert failed");
3615 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7109);
3616 show_backtrace(1);
3617 }
3618 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction146>*/;
3619 var_listnode8 = var30;
3620 var_listnode11 = var_nodearraylist8;
3621 /* <var_listnode11:nullable Object> isa Array[Object] */
3622 cltype32 = type_array__Arraykernel__Object.color;
3623 idtype33 = type_array__Arraykernel__Object.id;
3624 if(var_listnode11 == NULL) {
3625 var31 = 0;
3626 } else {
3627 if(cltype32 >= var_listnode11->type->table_size) {
3628 var31 = 0;
3629 } else {
3630 var31 = var_listnode11->type->type_table[cltype32] == idtype33;
3631 }
3632 }
3633 if (!var31) {
3634 fprintf(stderr, "Runtime error: %s", "Assert failed");
3635 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7112);
3636 show_backtrace(1);
3637 }
3638 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction146>*/;
3639 var_listnode12 = var34;
3640 var_tkwendnode14 = var_nodearraylist10;
3641 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
3642 cltype36 = type_nullable_parser_nodes__TKwend.color;
3643 idtype37 = type_nullable_parser_nodes__TKwend.id;
3644 if(var_tkwendnode14 == NULL) {
3645 var35 = 1;
3646 } else {
3647 if(cltype36 >= var_tkwendnode14->type->table_size) {
3648 var35 = 0;
3649 } else {
3650 var35 = var_tkwendnode14->type->type_table[cltype36] == idtype37;
3651 }
3652 }
3653 if (!var35) {
3654 fprintf(stderr, "Runtime error: %s", "Assert failed");
3655 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7115);
3656 show_backtrace(1);
3657 }
3658 var38 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3659 var39 = NULL;
3660 var40 = NULL;
3661 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var38->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var38, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var39, var40, var_listnode12, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var38:AStdClassdef>*/;
3662 var_pclassdefnode1 = var38;
3663 var_node_list = var_pclassdefnode1;
3664 var41 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction146> */
3665 var42 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var41) /* go_to on <var_p:Parser>*/;
3666 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var42, var_node_list) /* push on <var_p:Parser>*/;
3667 RET_LABEL:;
3668 }
3669 /* method parser#ReduceAction146#action for (self: Object, Parser) */
3670 void VIRTUAL_parser__ReduceAction146__action(val* self, val* p0) {
3671 parser__ReduceAction146__action(self, p0);
3672 RET_LABEL:;
3673 }
3674 /* method parser#ReduceAction147#action for (self: ReduceAction147, Parser) */
3675 void parser__ReduceAction147__action(val* self, val* p0) {
3676 val* var_p /* var p: Parser */;
3677 val* var /* : null */;
3678 val* var_node_list /* var node_list: nullable Object */;
3679 val* var1 /* : nullable Object */;
3680 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
3681 val* var2 /* : nullable Object */;
3682 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3683 val* var3 /* : nullable Object */;
3684 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3685 val* var4 /* : nullable Object */;
3686 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3687 val* var5 /* : nullable Object */;
3688 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3689 val* var6 /* : nullable Object */;
3690 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3691 val* var7 /* : nullable Object */;
3692 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3693 val* var8 /* : nullable Object */;
3694 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3695 val* var9 /* : nullable Object */;
3696 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3697 val* var10 /* : nullable Object */;
3698 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3699 val* var11 /* : Array[Object] */;
3700 val* var_listnode8 /* var listnode8: Array[Object] */;
3701 val* var12 /* : Array[Object] */;
3702 val* var_listnode12 /* var listnode12: Array[Object] */;
3703 val* var13 /* : Array[Object] */;
3704 val* var_listnode13 /* var listnode13: Array[Object] */;
3705 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3706 short int var14 /* : Bool */;
3707 int cltype;
3708 int idtype;
3709 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3710 short int var15 /* : Bool */;
3711 int cltype16;
3712 int idtype17;
3713 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3714 short int var18 /* : Bool */;
3715 int cltype19;
3716 int idtype20;
3717 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3718 short int var21 /* : Bool */;
3719 int cltype22;
3720 int idtype23;
3721 val* var_listnode7 /* var listnode7: nullable Object */;
3722 short int var24 /* : Bool */;
3723 int cltype25;
3724 int idtype26;
3725 val* var27 /* : Array[Object] */;
3726 val* var_listnode11 /* var listnode11: nullable Object */;
3727 short int var28 /* : Bool */;
3728 int cltype29;
3729 int idtype30;
3730 val* var31 /* : Array[Object] */;
3731 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
3732 short int var32 /* : Bool */;
3733 int cltype33;
3734 int idtype34;
3735 val* var35 /* : AStdClassdef */;
3736 val* var36 /* : null */;
3737 val* var37 /* : null */;
3738 val* var38 /* : null */;
3739 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3740 long var39 /* : Int */;
3741 long var40 /* : Int */;
3742 var_p = p0;
3743 var = NULL;
3744 var_node_list = var;
3745 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3746 var_nodearraylist10 = var1;
3747 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3748 var_nodearraylist9 = var2;
3749 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3750 var_nodearraylist8 = var3;
3751 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3752 var_nodearraylist7 = var4;
3753 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3754 var_nodearraylist6 = var5;
3755 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3756 var_nodearraylist5 = var6;
3757 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3758 var_nodearraylist4 = var7;
3759 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3760 var_nodearraylist3 = var8;
3761 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3762 var_nodearraylist2 = var9;
3763 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3764 var_nodearraylist1 = var10;
3765 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
3766 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
3767 var_listnode8 = var11;
3768 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
3769 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
3770 var_listnode12 = var12;
3771 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
3772 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
3773 var_listnode13 = var13;
3774 var_pdocnode2 = var_nodearraylist1;
3775 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3776 cltype = type_nullable_parser_nodes__ADoc.color;
3777 idtype = type_nullable_parser_nodes__ADoc.id;
3778 if(var_pdocnode2 == NULL) {
3779 var14 = 1;
3780 } else {
3781 if(cltype >= var_pdocnode2->type->table_size) {
3782 var14 = 0;
3783 } else {
3784 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
3785 }
3786 }
3787 if (!var14) {
3788 fprintf(stderr, "Runtime error: %s", "Assert failed");
3789 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7152);
3790 show_backtrace(1);
3791 }
3792 var_pvisibilitynode4 = var_nodearraylist2;
3793 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3794 cltype16 = type_nullable_parser_nodes__AVisibility.color;
3795 idtype17 = type_nullable_parser_nodes__AVisibility.id;
3796 if(var_pvisibilitynode4 == NULL) {
3797 var15 = 1;
3798 } else {
3799 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
3800 var15 = 0;
3801 } else {
3802 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
3803 }
3804 }
3805 if (!var15) {
3806 fprintf(stderr, "Runtime error: %s", "Assert failed");
3807 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7154);
3808 show_backtrace(1);
3809 }
3810 var_pclasskindnode5 = var_nodearraylist3;
3811 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3812 cltype19 = type_nullable_parser_nodes__AClasskind.color;
3813 idtype20 = type_nullable_parser_nodes__AClasskind.id;
3814 if(var_pclasskindnode5 == NULL) {
3815 var18 = 1;
3816 } else {
3817 if(cltype19 >= var_pclasskindnode5->type->table_size) {
3818 var18 = 0;
3819 } else {
3820 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
3821 }
3822 }
3823 if (!var18) {
3824 fprintf(stderr, "Runtime error: %s", "Assert failed");
3825 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7156);
3826 show_backtrace(1);
3827 }
3828 var_tclassidnode6 = var_nodearraylist6;
3829 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3830 cltype22 = type_nullable_parser_nodes__TClassid.color;
3831 idtype23 = type_nullable_parser_nodes__TClassid.id;
3832 if(var_tclassidnode6 == NULL) {
3833 var21 = 1;
3834 } else {
3835 if(cltype22 >= var_tclassidnode6->type->table_size) {
3836 var21 = 0;
3837 } else {
3838 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
3839 }
3840 }
3841 if (!var21) {
3842 fprintf(stderr, "Runtime error: %s", "Assert failed");
3843 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7158);
3844 show_backtrace(1);
3845 }
3846 var_listnode7 = var_nodearraylist7;
3847 /* <var_listnode7:nullable Object> isa Array[Object] */
3848 cltype25 = type_array__Arraykernel__Object.color;
3849 idtype26 = type_array__Arraykernel__Object.id;
3850 if(var_listnode7 == NULL) {
3851 var24 = 0;
3852 } else {
3853 if(cltype25 >= var_listnode7->type->table_size) {
3854 var24 = 0;
3855 } else {
3856 var24 = var_listnode7->type->type_table[cltype25] == idtype26;
3857 }
3858 }
3859 if (!var24) {
3860 fprintf(stderr, "Runtime error: %s", "Assert failed");
3861 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7160);
3862 show_backtrace(1);
3863 }
3864 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction147>*/;
3865 var_listnode8 = var27;
3866 var_listnode11 = var_nodearraylist8;
3867 /* <var_listnode11:nullable Object> isa Array[Object] */
3868 cltype29 = type_array__Arraykernel__Object.color;
3869 idtype30 = type_array__Arraykernel__Object.id;
3870 if(var_listnode11 == NULL) {
3871 var28 = 0;
3872 } else {
3873 if(cltype29 >= var_listnode11->type->table_size) {
3874 var28 = 0;
3875 } else {
3876 var28 = var_listnode11->type->type_table[cltype29] == idtype30;
3877 }
3878 }
3879 if (!var28) {
3880 fprintf(stderr, "Runtime error: %s", "Assert failed");
3881 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7163);
3882 show_backtrace(1);
3883 }
3884 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction147>*/;
3885 var_listnode12 = var31;
3886 var_tkwendnode14 = var_nodearraylist10;
3887 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
3888 cltype33 = type_nullable_parser_nodes__TKwend.color;
3889 idtype34 = type_nullable_parser_nodes__TKwend.id;
3890 if(var_tkwendnode14 == NULL) {
3891 var32 = 1;
3892 } else {
3893 if(cltype33 >= var_tkwendnode14->type->table_size) {
3894 var32 = 0;
3895 } else {
3896 var32 = var_tkwendnode14->type->type_table[cltype33] == idtype34;
3897 }
3898 }
3899 if (!var32) {
3900 fprintf(stderr, "Runtime error: %s", "Assert failed");
3901 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7166);
3902 show_backtrace(1);
3903 }
3904 var35 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3905 var36 = NULL;
3906 var37 = NULL;
3907 var38 = NULL;
3908 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var35->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var35, var_pdocnode2, var36, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var37, var38, var_listnode12, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var35:AStdClassdef>*/;
3909 var_pclassdefnode1 = var35;
3910 var_node_list = var_pclassdefnode1;
3911 var39 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction147> */
3912 var40 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var39) /* go_to on <var_p:Parser>*/;
3913 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var40, var_node_list) /* push on <var_p:Parser>*/;
3914 RET_LABEL:;
3915 }
3916 /* method parser#ReduceAction147#action for (self: Object, Parser) */
3917 void VIRTUAL_parser__ReduceAction147__action(val* self, val* p0) {
3918 parser__ReduceAction147__action(self, p0);
3919 RET_LABEL:;
3920 }
3921 /* method parser#ReduceAction148#action for (self: ReduceAction148, Parser) */
3922 void parser__ReduceAction148__action(val* self, val* p0) {
3923 val* var_p /* var p: Parser */;
3924 val* var /* : null */;
3925 val* var_node_list /* var node_list: nullable Object */;
3926 val* var1 /* : nullable Object */;
3927 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
3928 val* var2 /* : nullable Object */;
3929 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
3930 val* var3 /* : nullable Object */;
3931 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3932 val* var4 /* : nullable Object */;
3933 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3934 val* var5 /* : nullable Object */;
3935 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3936 val* var6 /* : nullable Object */;
3937 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3938 val* var7 /* : nullable Object */;
3939 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3940 val* var8 /* : nullable Object */;
3941 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3942 val* var9 /* : nullable Object */;
3943 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3944 val* var10 /* : nullable Object */;
3945 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3946 val* var11 /* : nullable Object */;
3947 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3948 val* var12 /* : Array[Object] */;
3949 val* var_listnode8 /* var listnode8: Array[Object] */;
3950 val* var13 /* : Array[Object] */;
3951 val* var_listnode12 /* var listnode12: Array[Object] */;
3952 val* var14 /* : Array[Object] */;
3953 val* var_listnode13 /* var listnode13: Array[Object] */;
3954 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3955 short int var15 /* : Bool */;
3956 int cltype;
3957 int idtype;
3958 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3959 short int var16 /* : Bool */;
3960 int cltype17;
3961 int idtype18;
3962 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3963 short int var19 /* : Bool */;
3964 int cltype20;
3965 int idtype21;
3966 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3967 short int var22 /* : Bool */;
3968 int cltype23;
3969 int idtype24;
3970 val* var_listnode7 /* var listnode7: nullable Object */;
3971 short int var25 /* : Bool */;
3972 int cltype26;
3973 int idtype27;
3974 val* var28 /* : Array[Object] */;
3975 val* var_listnode11 /* var listnode11: nullable Object */;
3976 short int var29 /* : Bool */;
3977 int cltype30;
3978 int idtype31;
3979 val* var32 /* : Array[Object] */;
3980 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
3981 short int var33 /* : Bool */;
3982 int cltype34;
3983 int idtype35;
3984 val* var36 /* : AStdClassdef */;
3985 val* var37 /* : null */;
3986 val* var38 /* : null */;
3987 val* var39 /* : null */;
3988 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3989 long var40 /* : Int */;
3990 long var41 /* : Int */;
3991 var_p = p0;
3992 var = NULL;
3993 var_node_list = var;
3994 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3995 var_nodearraylist11 = var1;
3996 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3997 var_nodearraylist10 = var2;
3998 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3999 var_nodearraylist9 = var3;
4000 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4001 var_nodearraylist8 = var4;
4002 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4003 var_nodearraylist7 = var5;
4004 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4005 var_nodearraylist6 = var6;
4006 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4007 var_nodearraylist5 = var7;
4008 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4009 var_nodearraylist4 = var8;
4010 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4011 var_nodearraylist3 = var9;
4012 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4013 var_nodearraylist2 = var10;
4014 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4015 var_nodearraylist1 = var11;
4016 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
4017 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
4018 var_listnode8 = var12;
4019 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
4020 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
4021 var_listnode12 = var13;
4022 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
4023 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
4024 var_listnode13 = var14;
4025 var_pdocnode2 = var_nodearraylist1;
4026 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4027 cltype = type_nullable_parser_nodes__ADoc.color;
4028 idtype = type_nullable_parser_nodes__ADoc.id;
4029 if(var_pdocnode2 == NULL) {
4030 var15 = 1;
4031 } else {
4032 if(cltype >= var_pdocnode2->type->table_size) {
4033 var15 = 0;
4034 } else {
4035 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
4036 }
4037 }
4038 if (!var15) {
4039 fprintf(stderr, "Runtime error: %s", "Assert failed");
4040 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7204);
4041 show_backtrace(1);
4042 }
4043 var_pvisibilitynode4 = var_nodearraylist2;
4044 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4045 cltype17 = type_nullable_parser_nodes__AVisibility.color;
4046 idtype18 = type_nullable_parser_nodes__AVisibility.id;
4047 if(var_pvisibilitynode4 == NULL) {
4048 var16 = 1;
4049 } else {
4050 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
4051 var16 = 0;
4052 } else {
4053 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
4054 }
4055 }
4056 if (!var16) {
4057 fprintf(stderr, "Runtime error: %s", "Assert failed");
4058 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7206);
4059 show_backtrace(1);
4060 }
4061 var_pclasskindnode5 = var_nodearraylist3;
4062 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4063 cltype20 = type_nullable_parser_nodes__AClasskind.color;
4064 idtype21 = type_nullable_parser_nodes__AClasskind.id;
4065 if(var_pclasskindnode5 == NULL) {
4066 var19 = 1;
4067 } else {
4068 if(cltype20 >= var_pclasskindnode5->type->table_size) {
4069 var19 = 0;
4070 } else {
4071 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
4072 }
4073 }
4074 if (!var19) {
4075 fprintf(stderr, "Runtime error: %s", "Assert failed");
4076 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7208);
4077 show_backtrace(1);
4078 }
4079 var_tclassidnode6 = var_nodearraylist7;
4080 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4081 cltype23 = type_nullable_parser_nodes__TClassid.color;
4082 idtype24 = type_nullable_parser_nodes__TClassid.id;
4083 if(var_tclassidnode6 == NULL) {
4084 var22 = 1;
4085 } else {
4086 if(cltype23 >= var_tclassidnode6->type->table_size) {
4087 var22 = 0;
4088 } else {
4089 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
4090 }
4091 }
4092 if (!var22) {
4093 fprintf(stderr, "Runtime error: %s", "Assert failed");
4094 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7210);
4095 show_backtrace(1);
4096 }
4097 var_listnode7 = var_nodearraylist8;
4098 /* <var_listnode7:nullable Object> isa Array[Object] */
4099 cltype26 = type_array__Arraykernel__Object.color;
4100 idtype27 = type_array__Arraykernel__Object.id;
4101 if(var_listnode7 == NULL) {
4102 var25 = 0;
4103 } else {
4104 if(cltype26 >= var_listnode7->type->table_size) {
4105 var25 = 0;
4106 } else {
4107 var25 = var_listnode7->type->type_table[cltype26] == idtype27;
4108 }
4109 }
4110 if (!var25) {
4111 fprintf(stderr, "Runtime error: %s", "Assert failed");
4112 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7212);
4113 show_backtrace(1);
4114 }
4115 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction148>*/;
4116 var_listnode8 = var28;
4117 var_listnode11 = var_nodearraylist9;
4118 /* <var_listnode11:nullable Object> isa Array[Object] */
4119 cltype30 = type_array__Arraykernel__Object.color;
4120 idtype31 = type_array__Arraykernel__Object.id;
4121 if(var_listnode11 == NULL) {
4122 var29 = 0;
4123 } else {
4124 if(cltype30 >= var_listnode11->type->table_size) {
4125 var29 = 0;
4126 } else {
4127 var29 = var_listnode11->type->type_table[cltype30] == idtype31;
4128 }
4129 }
4130 if (!var29) {
4131 fprintf(stderr, "Runtime error: %s", "Assert failed");
4132 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7215);
4133 show_backtrace(1);
4134 }
4135 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction148>*/;
4136 var_listnode12 = var32;
4137 var_tkwendnode14 = var_nodearraylist11;
4138 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
4139 cltype34 = type_nullable_parser_nodes__TKwend.color;
4140 idtype35 = type_nullable_parser_nodes__TKwend.id;
4141 if(var_tkwendnode14 == NULL) {
4142 var33 = 1;
4143 } else {
4144 if(cltype34 >= var_tkwendnode14->type->table_size) {
4145 var33 = 0;
4146 } else {
4147 var33 = var_tkwendnode14->type->type_table[cltype34] == idtype35;
4148 }
4149 }
4150 if (!var33) {
4151 fprintf(stderr, "Runtime error: %s", "Assert failed");
4152 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7218);
4153 show_backtrace(1);
4154 }
4155 var36 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4156 var37 = NULL;
4157 var38 = NULL;
4158 var39 = NULL;
4159 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var36->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var36, var_pdocnode2, var37, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var38, var39, var_listnode12, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var36:AStdClassdef>*/;
4160 var_pclassdefnode1 = var36;
4161 var_node_list = var_pclassdefnode1;
4162 var40 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction148> */
4163 var41 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var40) /* go_to on <var_p:Parser>*/;
4164 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var41, var_node_list) /* push on <var_p:Parser>*/;
4165 RET_LABEL:;
4166 }
4167 /* method parser#ReduceAction148#action for (self: Object, Parser) */
4168 void VIRTUAL_parser__ReduceAction148__action(val* self, val* p0) {
4169 parser__ReduceAction148__action(self, p0);
4170 RET_LABEL:;
4171 }
4172 /* method parser#ReduceAction150#action for (self: ReduceAction150, Parser) */
4173 void parser__ReduceAction150__action(val* self, val* p0) {
4174 val* var_p /* var p: Parser */;
4175 val* var /* : null */;
4176 val* var_node_list /* var node_list: nullable Object */;
4177 val* var1 /* : nullable Object */;
4178 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
4179 val* var2 /* : nullable Object */;
4180 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4181 val* var3 /* : nullable Object */;
4182 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4183 val* var4 /* : nullable Object */;
4184 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4185 val* var5 /* : nullable Object */;
4186 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4187 val* var6 /* : nullable Object */;
4188 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4189 val* var7 /* : nullable Object */;
4190 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4191 val* var8 /* : nullable Object */;
4192 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4193 val* var9 /* : nullable Object */;
4194 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4195 val* var10 /* : nullable Object */;
4196 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4197 val* var11 /* : nullable Object */;
4198 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4199 val* var12 /* : Array[Object] */;
4200 val* var_listnode8 /* var listnode8: Array[Object] */;
4201 val* var13 /* : Array[Object] */;
4202 val* var_listnode12 /* var listnode12: Array[Object] */;
4203 val* var14 /* : Array[Object] */;
4204 val* var_listnode13 /* var listnode13: Array[Object] */;
4205 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4206 short int var15 /* : Bool */;
4207 int cltype;
4208 int idtype;
4209 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
4210 short int var16 /* : Bool */;
4211 int cltype17;
4212 int idtype18;
4213 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4214 short int var19 /* : Bool */;
4215 int cltype20;
4216 int idtype21;
4217 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4218 short int var22 /* : Bool */;
4219 int cltype23;
4220 int idtype24;
4221 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4222 short int var25 /* : Bool */;
4223 int cltype26;
4224 int idtype27;
4225 val* var_listnode7 /* var listnode7: nullable Object */;
4226 short int var28 /* : Bool */;
4227 int cltype29;
4228 int idtype30;
4229 val* var31 /* : Array[Object] */;
4230 val* var_listnode11 /* var listnode11: nullable Object */;
4231 short int var32 /* : Bool */;
4232 int cltype33;
4233 int idtype34;
4234 val* var35 /* : Array[Object] */;
4235 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
4236 short int var36 /* : Bool */;
4237 int cltype37;
4238 int idtype38;
4239 val* var39 /* : AStdClassdef */;
4240 val* var40 /* : null */;
4241 val* var41 /* : null */;
4242 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4243 long var42 /* : Int */;
4244 long var43 /* : Int */;
4245 var_p = p0;
4246 var = NULL;
4247 var_node_list = var;
4248 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4249 var_nodearraylist11 = var1;
4250 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4251 var_nodearraylist10 = var2;
4252 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4253 var_nodearraylist9 = var3;
4254 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4255 var_nodearraylist8 = var4;
4256 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4257 var_nodearraylist7 = var5;
4258 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4259 var_nodearraylist6 = var6;
4260 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4261 var_nodearraylist5 = var7;
4262 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4263 var_nodearraylist4 = var8;
4264 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4265 var_nodearraylist3 = var9;
4266 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4267 var_nodearraylist2 = var10;
4268 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4269 var_nodearraylist1 = var11;
4270 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
4271 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
4272 var_listnode8 = var12;
4273 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
4274 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
4275 var_listnode12 = var13;
4276 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
4277 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
4278 var_listnode13 = var14;
4279 var_pdocnode2 = var_nodearraylist1;
4280 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4281 cltype = type_nullable_parser_nodes__ADoc.color;
4282 idtype = type_nullable_parser_nodes__ADoc.id;
4283 if(var_pdocnode2 == NULL) {
4284 var15 = 1;
4285 } else {
4286 if(cltype >= var_pdocnode2->type->table_size) {
4287 var15 = 0;
4288 } else {
4289 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
4290 }
4291 }
4292 if (!var15) {
4293 fprintf(stderr, "Runtime error: %s", "Assert failed");
4294 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7256);
4295 show_backtrace(1);
4296 }
4297 var_tkwredefnode3 = var_nodearraylist2;
4298 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4299 cltype17 = type_nullable_parser_nodes__TKwredef.color;
4300 idtype18 = type_nullable_parser_nodes__TKwredef.id;
4301 if(var_tkwredefnode3 == NULL) {
4302 var16 = 1;
4303 } else {
4304 if(cltype17 >= var_tkwredefnode3->type->table_size) {
4305 var16 = 0;
4306 } else {
4307 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
4308 }
4309 }
4310 if (!var16) {
4311 fprintf(stderr, "Runtime error: %s", "Assert failed");
4312 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7258);
4313 show_backtrace(1);
4314 }
4315 var_pvisibilitynode4 = var_nodearraylist3;
4316 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4317 cltype20 = type_nullable_parser_nodes__AVisibility.color;
4318 idtype21 = type_nullable_parser_nodes__AVisibility.id;
4319 if(var_pvisibilitynode4 == NULL) {
4320 var19 = 1;
4321 } else {
4322 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
4323 var19 = 0;
4324 } else {
4325 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
4326 }
4327 }
4328 if (!var19) {
4329 fprintf(stderr, "Runtime error: %s", "Assert failed");
4330 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7260);
4331 show_backtrace(1);
4332 }
4333 var_pclasskindnode5 = var_nodearraylist4;
4334 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4335 cltype23 = type_nullable_parser_nodes__AClasskind.color;
4336 idtype24 = type_nullable_parser_nodes__AClasskind.id;
4337 if(var_pclasskindnode5 == NULL) {
4338 var22 = 1;
4339 } else {
4340 if(cltype23 >= var_pclasskindnode5->type->table_size) {
4341 var22 = 0;
4342 } else {
4343 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
4344 }
4345 }
4346 if (!var22) {
4347 fprintf(stderr, "Runtime error: %s", "Assert failed");
4348 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7262);
4349 show_backtrace(1);
4350 }
4351 var_tclassidnode6 = var_nodearraylist7;
4352 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4353 cltype26 = type_nullable_parser_nodes__TClassid.color;
4354 idtype27 = type_nullable_parser_nodes__TClassid.id;
4355 if(var_tclassidnode6 == NULL) {
4356 var25 = 1;
4357 } else {
4358 if(cltype26 >= var_tclassidnode6->type->table_size) {
4359 var25 = 0;
4360 } else {
4361 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
4362 }
4363 }
4364 if (!var25) {
4365 fprintf(stderr, "Runtime error: %s", "Assert failed");
4366 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7264);
4367 show_backtrace(1);
4368 }
4369 var_listnode7 = var_nodearraylist8;
4370 /* <var_listnode7:nullable Object> isa Array[Object] */
4371 cltype29 = type_array__Arraykernel__Object.color;
4372 idtype30 = type_array__Arraykernel__Object.id;
4373 if(var_listnode7 == NULL) {
4374 var28 = 0;
4375 } else {
4376 if(cltype29 >= var_listnode7->type->table_size) {
4377 var28 = 0;
4378 } else {
4379 var28 = var_listnode7->type->type_table[cltype29] == idtype30;
4380 }
4381 }
4382 if (!var28) {
4383 fprintf(stderr, "Runtime error: %s", "Assert failed");
4384 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7266);
4385 show_backtrace(1);
4386 }
4387 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction150>*/;
4388 var_listnode8 = var31;
4389 var_listnode11 = var_nodearraylist9;
4390 /* <var_listnode11:nullable Object> isa Array[Object] */
4391 cltype33 = type_array__Arraykernel__Object.color;
4392 idtype34 = type_array__Arraykernel__Object.id;
4393 if(var_listnode11 == NULL) {
4394 var32 = 0;
4395 } else {
4396 if(cltype33 >= var_listnode11->type->table_size) {
4397 var32 = 0;
4398 } else {
4399 var32 = var_listnode11->type->type_table[cltype33] == idtype34;
4400 }
4401 }
4402 if (!var32) {
4403 fprintf(stderr, "Runtime error: %s", "Assert failed");
4404 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7269);
4405 show_backtrace(1);
4406 }
4407 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction150>*/;
4408 var_listnode12 = var35;
4409 var_tkwendnode14 = var_nodearraylist11;
4410 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
4411 cltype37 = type_nullable_parser_nodes__TKwend.color;
4412 idtype38 = type_nullable_parser_nodes__TKwend.id;
4413 if(var_tkwendnode14 == NULL) {
4414 var36 = 1;
4415 } else {
4416 if(cltype37 >= var_tkwendnode14->type->table_size) {
4417 var36 = 0;
4418 } else {
4419 var36 = var_tkwendnode14->type->type_table[cltype37] == idtype38;
4420 }
4421 }
4422 if (!var36) {
4423 fprintf(stderr, "Runtime error: %s", "Assert failed");
4424 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7272);
4425 show_backtrace(1);
4426 }
4427 var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4428 var40 = NULL;
4429 var41 = NULL;
4430 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var39->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var39, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var40, var41, var_listnode12, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var39:AStdClassdef>*/;
4431 var_pclassdefnode1 = var39;
4432 var_node_list = var_pclassdefnode1;
4433 var42 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction150> */
4434 var43 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var42) /* go_to on <var_p:Parser>*/;
4435 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var43, var_node_list) /* push on <var_p:Parser>*/;
4436 RET_LABEL:;
4437 }
4438 /* method parser#ReduceAction150#action for (self: Object, Parser) */
4439 void VIRTUAL_parser__ReduceAction150__action(val* self, val* p0) {
4440 parser__ReduceAction150__action(self, p0);
4441 RET_LABEL:;
4442 }
4443 /* method parser#ReduceAction151#action for (self: ReduceAction151, Parser) */
4444 void parser__ReduceAction151__action(val* self, val* p0) {
4445 val* var_p /* var p: Parser */;
4446 val* var /* : null */;
4447 val* var_node_list /* var node_list: nullable Object */;
4448 val* var1 /* : nullable Object */;
4449 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
4450 val* var2 /* : nullable Object */;
4451 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
4452 val* var3 /* : nullable Object */;
4453 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4454 val* var4 /* : nullable Object */;
4455 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4456 val* var5 /* : nullable Object */;
4457 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4458 val* var6 /* : nullable Object */;
4459 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4460 val* var7 /* : nullable Object */;
4461 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4462 val* var8 /* : nullable Object */;
4463 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4464 val* var9 /* : nullable Object */;
4465 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4466 val* var10 /* : nullable Object */;
4467 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4468 val* var11 /* : nullable Object */;
4469 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4470 val* var12 /* : nullable Object */;
4471 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4472 val* var13 /* : Array[Object] */;
4473 val* var_listnode8 /* var listnode8: Array[Object] */;
4474 val* var14 /* : Array[Object] */;
4475 val* var_listnode12 /* var listnode12: Array[Object] */;
4476 val* var15 /* : Array[Object] */;
4477 val* var_listnode13 /* var listnode13: Array[Object] */;
4478 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4479 short int var16 /* : Bool */;
4480 int cltype;
4481 int idtype;
4482 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
4483 short int var17 /* : Bool */;
4484 int cltype18;
4485 int idtype19;
4486 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4487 short int var20 /* : Bool */;
4488 int cltype21;
4489 int idtype22;
4490 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4491 short int var23 /* : Bool */;
4492 int cltype24;
4493 int idtype25;
4494 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4495 short int var26 /* : Bool */;
4496 int cltype27;
4497 int idtype28;
4498 val* var_listnode7 /* var listnode7: nullable Object */;
4499 short int var29 /* : Bool */;
4500 int cltype30;
4501 int idtype31;
4502 val* var32 /* : Array[Object] */;
4503 val* var_listnode11 /* var listnode11: nullable Object */;
4504 short int var33 /* : Bool */;
4505 int cltype34;
4506 int idtype35;
4507 val* var36 /* : Array[Object] */;
4508 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
4509 short int var37 /* : Bool */;
4510 int cltype38;
4511 int idtype39;
4512 val* var40 /* : AStdClassdef */;
4513 val* var41 /* : null */;
4514 val* var42 /* : null */;
4515 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4516 long var43 /* : Int */;
4517 long var44 /* : Int */;
4518 var_p = p0;
4519 var = NULL;
4520 var_node_list = var;
4521 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4522 var_nodearraylist12 = var1;
4523 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4524 var_nodearraylist11 = var2;
4525 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4526 var_nodearraylist10 = var3;
4527 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4528 var_nodearraylist9 = var4;
4529 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4530 var_nodearraylist8 = var5;
4531 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4532 var_nodearraylist7 = var6;
4533 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4534 var_nodearraylist6 = var7;
4535 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4536 var_nodearraylist5 = var8;
4537 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4538 var_nodearraylist4 = var9;
4539 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4540 var_nodearraylist3 = var10;
4541 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4542 var_nodearraylist2 = var11;
4543 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4544 var_nodearraylist1 = var12;
4545 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
4546 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
4547 var_listnode8 = var13;
4548 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
4549 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
4550 var_listnode12 = var14;
4551 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
4552 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
4553 var_listnode13 = var15;
4554 var_pdocnode2 = var_nodearraylist1;
4555 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4556 cltype = type_nullable_parser_nodes__ADoc.color;
4557 idtype = type_nullable_parser_nodes__ADoc.id;
4558 if(var_pdocnode2 == NULL) {
4559 var16 = 1;
4560 } else {
4561 if(cltype >= var_pdocnode2->type->table_size) {
4562 var16 = 0;
4563 } else {
4564 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
4565 }
4566 }
4567 if (!var16) {
4568 fprintf(stderr, "Runtime error: %s", "Assert failed");
4569 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7311);
4570 show_backtrace(1);
4571 }
4572 var_tkwredefnode3 = var_nodearraylist2;
4573 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4574 cltype18 = type_nullable_parser_nodes__TKwredef.color;
4575 idtype19 = type_nullable_parser_nodes__TKwredef.id;
4576 if(var_tkwredefnode3 == NULL) {
4577 var17 = 1;
4578 } else {
4579 if(cltype18 >= var_tkwredefnode3->type->table_size) {
4580 var17 = 0;
4581 } else {
4582 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
4583 }
4584 }
4585 if (!var17) {
4586 fprintf(stderr, "Runtime error: %s", "Assert failed");
4587 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7313);
4588 show_backtrace(1);
4589 }
4590 var_pvisibilitynode4 = var_nodearraylist3;
4591 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4592 cltype21 = type_nullable_parser_nodes__AVisibility.color;
4593 idtype22 = type_nullable_parser_nodes__AVisibility.id;
4594 if(var_pvisibilitynode4 == NULL) {
4595 var20 = 1;
4596 } else {
4597 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
4598 var20 = 0;
4599 } else {
4600 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
4601 }
4602 }
4603 if (!var20) {
4604 fprintf(stderr, "Runtime error: %s", "Assert failed");
4605 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7315);
4606 show_backtrace(1);
4607 }
4608 var_pclasskindnode5 = var_nodearraylist4;
4609 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4610 cltype24 = type_nullable_parser_nodes__AClasskind.color;
4611 idtype25 = type_nullable_parser_nodes__AClasskind.id;
4612 if(var_pclasskindnode5 == NULL) {
4613 var23 = 1;
4614 } else {
4615 if(cltype24 >= var_pclasskindnode5->type->table_size) {
4616 var23 = 0;
4617 } else {
4618 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
4619 }
4620 }
4621 if (!var23) {
4622 fprintf(stderr, "Runtime error: %s", "Assert failed");
4623 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7317);
4624 show_backtrace(1);
4625 }
4626 var_tclassidnode6 = var_nodearraylist8;
4627 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4628 cltype27 = type_nullable_parser_nodes__TClassid.color;
4629 idtype28 = type_nullable_parser_nodes__TClassid.id;
4630 if(var_tclassidnode6 == NULL) {
4631 var26 = 1;
4632 } else {
4633 if(cltype27 >= var_tclassidnode6->type->table_size) {
4634 var26 = 0;
4635 } else {
4636 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
4637 }
4638 }
4639 if (!var26) {
4640 fprintf(stderr, "Runtime error: %s", "Assert failed");
4641 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7319);
4642 show_backtrace(1);
4643 }
4644 var_listnode7 = var_nodearraylist9;
4645 /* <var_listnode7:nullable Object> isa Array[Object] */
4646 cltype30 = type_array__Arraykernel__Object.color;
4647 idtype31 = type_array__Arraykernel__Object.id;
4648 if(var_listnode7 == NULL) {
4649 var29 = 0;
4650 } else {
4651 if(cltype30 >= var_listnode7->type->table_size) {
4652 var29 = 0;
4653 } else {
4654 var29 = var_listnode7->type->type_table[cltype30] == idtype31;
4655 }
4656 }
4657 if (!var29) {
4658 fprintf(stderr, "Runtime error: %s", "Assert failed");
4659 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7321);
4660 show_backtrace(1);
4661 }
4662 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction151>*/;
4663 var_listnode8 = var32;
4664 var_listnode11 = var_nodearraylist10;
4665 /* <var_listnode11:nullable Object> isa Array[Object] */
4666 cltype34 = type_array__Arraykernel__Object.color;
4667 idtype35 = type_array__Arraykernel__Object.id;
4668 if(var_listnode11 == NULL) {
4669 var33 = 0;
4670 } else {
4671 if(cltype34 >= var_listnode11->type->table_size) {
4672 var33 = 0;
4673 } else {
4674 var33 = var_listnode11->type->type_table[cltype34] == idtype35;
4675 }
4676 }
4677 if (!var33) {
4678 fprintf(stderr, "Runtime error: %s", "Assert failed");
4679 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7324);
4680 show_backtrace(1);
4681 }
4682 var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction151>*/;
4683 var_listnode12 = var36;
4684 var_tkwendnode14 = var_nodearraylist12;
4685 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
4686 cltype38 = type_nullable_parser_nodes__TKwend.color;
4687 idtype39 = type_nullable_parser_nodes__TKwend.id;
4688 if(var_tkwendnode14 == NULL) {
4689 var37 = 1;
4690 } else {
4691 if(cltype38 >= var_tkwendnode14->type->table_size) {
4692 var37 = 0;
4693 } else {
4694 var37 = var_tkwendnode14->type->type_table[cltype38] == idtype39;
4695 }
4696 }
4697 if (!var37) {
4698 fprintf(stderr, "Runtime error: %s", "Assert failed");
4699 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7327);
4700 show_backtrace(1);
4701 }
4702 var40 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4703 var41 = NULL;
4704 var42 = NULL;
4705 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var40->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var40, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var41, var42, var_listnode12, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var40:AStdClassdef>*/;
4706 var_pclassdefnode1 = var40;
4707 var_node_list = var_pclassdefnode1;
4708 var43 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction151> */
4709 var44 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var43) /* go_to on <var_p:Parser>*/;
4710 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var44, var_node_list) /* push on <var_p:Parser>*/;
4711 RET_LABEL:;
4712 }
4713 /* method parser#ReduceAction151#action for (self: Object, Parser) */
4714 void VIRTUAL_parser__ReduceAction151__action(val* self, val* p0) {
4715 parser__ReduceAction151__action(self, p0);
4716 RET_LABEL:;
4717 }
4718 /* method parser#ReduceAction153#action for (self: ReduceAction153, Parser) */
4719 void parser__ReduceAction153__action(val* self, val* p0) {
4720 val* var_p /* var p: Parser */;
4721 val* var /* : null */;
4722 val* var_node_list /* var node_list: nullable Object */;
4723 val* var1 /* : nullable Object */;
4724 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4725 val* var2 /* : nullable Object */;
4726 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4727 val* var3 /* : nullable Object */;
4728 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4729 val* var4 /* : nullable Object */;
4730 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4731 val* var5 /* : nullable Object */;
4732 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4733 val* var6 /* : nullable Object */;
4734 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4735 val* var7 /* : nullable Object */;
4736 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4737 val* var8 /* : nullable Object */;
4738 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4739 val* var9 /* : nullable Object */;
4740 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4741 val* var10 /* : Array[Object] */;
4742 val* var_listnode7 /* var listnode7: Array[Object] */;
4743 val* var11 /* : Array[Object] */;
4744 val* var_listnode16 /* var listnode16: Array[Object] */;
4745 val* var12 /* : Array[Object] */;
4746 val* var_listnode17 /* var listnode17: Array[Object] */;
4747 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4748 short int var13 /* : Bool */;
4749 int cltype;
4750 int idtype;
4751 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4752 short int var14 /* : Bool */;
4753 int cltype15;
4754 int idtype16;
4755 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4756 short int var17 /* : Bool */;
4757 int cltype18;
4758 int idtype19;
4759 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4760 short int var20 /* : Bool */;
4761 int cltype21;
4762 int idtype22;
4763 val* var23 /* : Array[Object] */;
4764 val* var_listnode12 /* var listnode12: Array[Object] */;
4765 val* var_listnode11 /* var listnode11: nullable Object */;
4766 short int var24 /* : Bool */;
4767 int cltype25;
4768 int idtype26;
4769 val* var27 /* : Array[Object] */;
4770 val* var28 /* : AAnnotations */;
4771 val* var29 /* : null */;
4772 val* var30 /* : null */;
4773 val* var31 /* : null */;
4774 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
4775 val* var_listnode15 /* var listnode15: nullable Object */;
4776 short int var32 /* : Bool */;
4777 int cltype33;
4778 int idtype34;
4779 val* var35 /* : Array[Object] */;
4780 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
4781 short int var36 /* : Bool */;
4782 int cltype37;
4783 int idtype38;
4784 val* var39 /* : AStdClassdef */;
4785 val* var40 /* : null */;
4786 val* var41 /* : null */;
4787 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4788 long var42 /* : Int */;
4789 long var43 /* : Int */;
4790 var_p = p0;
4791 var = NULL;
4792 var_node_list = var;
4793 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4794 var_nodearraylist9 = var1;
4795 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4796 var_nodearraylist8 = var2;
4797 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4798 var_nodearraylist7 = var3;
4799 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4800 var_nodearraylist6 = var4;
4801 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4802 var_nodearraylist5 = var5;
4803 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4804 var_nodearraylist4 = var6;
4805 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4806 var_nodearraylist3 = var7;
4807 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4808 var_nodearraylist2 = var8;
4809 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4810 var_nodearraylist1 = var9;
4811 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
4812 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
4813 var_listnode7 = var10;
4814 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
4815 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
4816 var_listnode16 = var11;
4817 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
4818 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
4819 var_listnode17 = var12;
4820 var_pdocnode2 = var_nodearraylist1;
4821 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4822 cltype = type_nullable_parser_nodes__ADoc.color;
4823 idtype = type_nullable_parser_nodes__ADoc.id;
4824 if(var_pdocnode2 == NULL) {
4825 var13 = 1;
4826 } else {
4827 if(cltype >= var_pdocnode2->type->table_size) {
4828 var13 = 0;
4829 } else {
4830 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
4831 }
4832 }
4833 if (!var13) {
4834 fprintf(stderr, "Runtime error: %s", "Assert failed");
4835 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7363);
4836 show_backtrace(1);
4837 }
4838 var_pvisibilitynode4 = var_nodearraylist2;
4839 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4840 cltype15 = type_nullable_parser_nodes__AVisibility.color;
4841 idtype16 = type_nullable_parser_nodes__AVisibility.id;
4842 if(var_pvisibilitynode4 == NULL) {
4843 var14 = 1;
4844 } else {
4845 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
4846 var14 = 0;
4847 } else {
4848 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
4849 }
4850 }
4851 if (!var14) {
4852 fprintf(stderr, "Runtime error: %s", "Assert failed");
4853 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7365);
4854 show_backtrace(1);
4855 }
4856 var_pclasskindnode5 = var_nodearraylist3;
4857 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4858 cltype18 = type_nullable_parser_nodes__AClasskind.color;
4859 idtype19 = type_nullable_parser_nodes__AClasskind.id;
4860 if(var_pclasskindnode5 == NULL) {
4861 var17 = 1;
4862 } else {
4863 if(cltype18 >= var_pclasskindnode5->type->table_size) {
4864 var17 = 0;
4865 } else {
4866 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
4867 }
4868 }
4869 if (!var17) {
4870 fprintf(stderr, "Runtime error: %s", "Assert failed");
4871 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7367);
4872 show_backtrace(1);
4873 }
4874 var_tclassidnode6 = var_nodearraylist5;
4875 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4876 cltype21 = type_nullable_parser_nodes__TClassid.color;
4877 idtype22 = type_nullable_parser_nodes__TClassid.id;
4878 if(var_tclassidnode6 == NULL) {
4879 var20 = 1;
4880 } else {
4881 if(cltype21 >= var_tclassidnode6->type->table_size) {
4882 var20 = 0;
4883 } else {
4884 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
4885 }
4886 }
4887 if (!var20) {
4888 fprintf(stderr, "Runtime error: %s", "Assert failed");
4889 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7369);
4890 show_backtrace(1);
4891 }
4892 var23 = NEW_array__Array(&type_array__Arraykernel__Object);
4893 ((void (*)(val*))(var23->class->vft[COLOR_array__Array__init]))(var23) /* init on <var23:Array[Object]>*/;
4894 var_listnode12 = var23;
4895 var_listnode11 = var_nodearraylist6;
4896 /* <var_listnode11:nullable Object> isa Array[Object] */
4897 cltype25 = type_array__Arraykernel__Object.color;
4898 idtype26 = type_array__Arraykernel__Object.id;
4899 if(var_listnode11 == NULL) {
4900 var24 = 0;
4901 } else {
4902 if(cltype25 >= var_listnode11->type->table_size) {
4903 var24 = 0;
4904 } else {
4905 var24 = var_listnode11->type->type_table[cltype25] == idtype26;
4906 }
4907 }
4908 if (!var24) {
4909 fprintf(stderr, "Runtime error: %s", "Assert failed");
4910 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7372);
4911 show_backtrace(1);
4912 }
4913 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction153>*/;
4914 var_listnode12 = var27;
4915 var28 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
4916 var29 = NULL;
4917 var30 = NULL;
4918 var31 = NULL;
4919 ((void (*)(val*, val*, val*, val*, val*))(var28->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var28, var29, var30, var_listnode12, var31) /* init_aannotations on <var28:AAnnotations>*/;
4920 var_pannotationsnode8 = var28;
4921 var_listnode15 = var_nodearraylist7;
4922 /* <var_listnode15:nullable Object> isa Array[Object] */
4923 cltype33 = type_array__Arraykernel__Object.color;
4924 idtype34 = type_array__Arraykernel__Object.id;
4925 if(var_listnode15 == NULL) {
4926 var32 = 0;
4927 } else {
4928 if(cltype33 >= var_listnode15->type->table_size) {
4929 var32 = 0;
4930 } else {
4931 var32 = var_listnode15->type->type_table[cltype33] == idtype34;
4932 }
4933 }
4934 if (!var32) {
4935 fprintf(stderr, "Runtime error: %s", "Assert failed");
4936 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7381);
4937 show_backtrace(1);
4938 }
4939 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction153>*/;
4940 var_listnode16 = var35;
4941 var_tkwendnode18 = var_nodearraylist9;
4942 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
4943 cltype37 = type_nullable_parser_nodes__TKwend.color;
4944 idtype38 = type_nullable_parser_nodes__TKwend.id;
4945 if(var_tkwendnode18 == NULL) {
4946 var36 = 1;
4947 } else {
4948 if(cltype37 >= var_tkwendnode18->type->table_size) {
4949 var36 = 0;
4950 } else {
4951 var36 = var_tkwendnode18->type->type_table[cltype37] == idtype38;
4952 }
4953 }
4954 if (!var36) {
4955 fprintf(stderr, "Runtime error: %s", "Assert failed");
4956 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7384);
4957 show_backtrace(1);
4958 }
4959 var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4960 var40 = NULL;
4961 var41 = NULL;
4962 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var39->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var39, var_pdocnode2, var40, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var41, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var39:AStdClassdef>*/;
4963 var_pclassdefnode1 = var39;
4964 var_node_list = var_pclassdefnode1;
4965 var42 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction153> */
4966 var43 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var42) /* go_to on <var_p:Parser>*/;
4967 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var43, var_node_list) /* push on <var_p:Parser>*/;
4968 RET_LABEL:;
4969 }
4970 /* method parser#ReduceAction153#action for (self: Object, Parser) */
4971 void VIRTUAL_parser__ReduceAction153__action(val* self, val* p0) {
4972 parser__ReduceAction153__action(self, p0);
4973 RET_LABEL:;
4974 }
4975 /* method parser#ReduceAction154#action for (self: ReduceAction154, Parser) */
4976 void parser__ReduceAction154__action(val* self, val* p0) {
4977 val* var_p /* var p: Parser */;
4978 val* var /* : null */;
4979 val* var_node_list /* var node_list: nullable Object */;
4980 val* var1 /* : nullable Object */;
4981 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4982 val* var2 /* : nullable Object */;
4983 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4984 val* var3 /* : nullable Object */;
4985 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4986 val* var4 /* : nullable Object */;
4987 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4988 val* var5 /* : nullable Object */;
4989 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4990 val* var6 /* : nullable Object */;
4991 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4992 val* var7 /* : nullable Object */;
4993 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4994 val* var8 /* : nullable Object */;
4995 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4996 val* var9 /* : nullable Object */;
4997 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4998 val* var10 /* : nullable Object */;
4999 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5000 val* var11 /* : Array[Object] */;
5001 val* var_listnode7 /* var listnode7: Array[Object] */;
5002 val* var12 /* : Array[Object] */;
5003 val* var_listnode16 /* var listnode16: Array[Object] */;
5004 val* var13 /* : Array[Object] */;
5005 val* var_listnode17 /* var listnode17: Array[Object] */;
5006 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5007 short int var14 /* : Bool */;
5008 int cltype;
5009 int idtype;
5010 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
5011 short int var15 /* : Bool */;
5012 int cltype16;
5013 int idtype17;
5014 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5015 short int var18 /* : Bool */;
5016 int cltype19;
5017 int idtype20;
5018 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5019 short int var21 /* : Bool */;
5020 int cltype22;
5021 int idtype23;
5022 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5023 short int var24 /* : Bool */;
5024 int cltype25;
5025 int idtype26;
5026 val* var27 /* : Array[Object] */;
5027 val* var_listnode12 /* var listnode12: Array[Object] */;
5028 val* var_listnode11 /* var listnode11: nullable Object */;
5029 short int var28 /* : Bool */;
5030 int cltype29;
5031 int idtype30;
5032 val* var31 /* : Array[Object] */;
5033 val* var32 /* : AAnnotations */;
5034 val* var33 /* : null */;
5035 val* var34 /* : null */;
5036 val* var35 /* : null */;
5037 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
5038 val* var_listnode15 /* var listnode15: nullable Object */;
5039 short int var36 /* : Bool */;
5040 int cltype37;
5041 int idtype38;
5042 val* var39 /* : Array[Object] */;
5043 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
5044 short int var40 /* : Bool */;
5045 int cltype41;
5046 int idtype42;
5047 val* var43 /* : AStdClassdef */;
5048 val* var44 /* : null */;
5049 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5050 long var45 /* : Int */;
5051 long var46 /* : Int */;
5052 var_p = p0;
5053 var = NULL;
5054 var_node_list = var;
5055 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5056 var_nodearraylist10 = var1;
5057 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5058 var_nodearraylist9 = var2;
5059 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5060 var_nodearraylist8 = var3;
5061 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5062 var_nodearraylist7 = var4;
5063 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5064 var_nodearraylist6 = var5;
5065 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5066 var_nodearraylist5 = var6;
5067 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5068 var_nodearraylist4 = var7;
5069 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5070 var_nodearraylist3 = var8;
5071 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5072 var_nodearraylist2 = var9;
5073 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5074 var_nodearraylist1 = var10;
5075 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
5076 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
5077 var_listnode7 = var11;
5078 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
5079 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
5080 var_listnode16 = var12;
5081 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
5082 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
5083 var_listnode17 = var13;
5084 var_pdocnode2 = var_nodearraylist1;
5085 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5086 cltype = type_nullable_parser_nodes__ADoc.color;
5087 idtype = type_nullable_parser_nodes__ADoc.id;
5088 if(var_pdocnode2 == NULL) {
5089 var14 = 1;
5090 } else {
5091 if(cltype >= var_pdocnode2->type->table_size) {
5092 var14 = 0;
5093 } else {
5094 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
5095 }
5096 }
5097 if (!var14) {
5098 fprintf(stderr, "Runtime error: %s", "Assert failed");
5099 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7421);
5100 show_backtrace(1);
5101 }
5102 var_tkwredefnode3 = var_nodearraylist2;
5103 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
5104 cltype16 = type_nullable_parser_nodes__TKwredef.color;
5105 idtype17 = type_nullable_parser_nodes__TKwredef.id;
5106 if(var_tkwredefnode3 == NULL) {
5107 var15 = 1;
5108 } else {
5109 if(cltype16 >= var_tkwredefnode3->type->table_size) {
5110 var15 = 0;
5111 } else {
5112 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
5113 }
5114 }
5115 if (!var15) {
5116 fprintf(stderr, "Runtime error: %s", "Assert failed");
5117 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7423);
5118 show_backtrace(1);
5119 }
5120 var_pvisibilitynode4 = var_nodearraylist3;
5121 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5122 cltype19 = type_nullable_parser_nodes__AVisibility.color;
5123 idtype20 = type_nullable_parser_nodes__AVisibility.id;
5124 if(var_pvisibilitynode4 == NULL) {
5125 var18 = 1;
5126 } else {
5127 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
5128 var18 = 0;
5129 } else {
5130 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
5131 }
5132 }
5133 if (!var18) {
5134 fprintf(stderr, "Runtime error: %s", "Assert failed");
5135 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7425);
5136 show_backtrace(1);
5137 }
5138 var_pclasskindnode5 = var_nodearraylist4;
5139 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5140 cltype22 = type_nullable_parser_nodes__AClasskind.color;
5141 idtype23 = type_nullable_parser_nodes__AClasskind.id;
5142 if(var_pclasskindnode5 == NULL) {
5143 var21 = 1;
5144 } else {
5145 if(cltype22 >= var_pclasskindnode5->type->table_size) {
5146 var21 = 0;
5147 } else {
5148 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
5149 }
5150 }
5151 if (!var21) {
5152 fprintf(stderr, "Runtime error: %s", "Assert failed");
5153 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7427);
5154 show_backtrace(1);
5155 }
5156 var_tclassidnode6 = var_nodearraylist6;
5157 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5158 cltype25 = type_nullable_parser_nodes__TClassid.color;
5159 idtype26 = type_nullable_parser_nodes__TClassid.id;
5160 if(var_tclassidnode6 == NULL) {
5161 var24 = 1;
5162 } else {
5163 if(cltype25 >= var_tclassidnode6->type->table_size) {
5164 var24 = 0;
5165 } else {
5166 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
5167 }
5168 }
5169 if (!var24) {
5170 fprintf(stderr, "Runtime error: %s", "Assert failed");
5171 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7429);
5172 show_backtrace(1);
5173 }
5174 var27 = NEW_array__Array(&type_array__Arraykernel__Object);
5175 ((void (*)(val*))(var27->class->vft[COLOR_array__Array__init]))(var27) /* init on <var27:Array[Object]>*/;
5176 var_listnode12 = var27;
5177 var_listnode11 = var_nodearraylist7;
5178 /* <var_listnode11:nullable Object> isa Array[Object] */
5179 cltype29 = type_array__Arraykernel__Object.color;
5180 idtype30 = type_array__Arraykernel__Object.id;
5181 if(var_listnode11 == NULL) {
5182 var28 = 0;
5183 } else {
5184 if(cltype29 >= var_listnode11->type->table_size) {
5185 var28 = 0;
5186 } else {
5187 var28 = var_listnode11->type->type_table[cltype29] == idtype30;
5188 }
5189 }
5190 if (!var28) {
5191 fprintf(stderr, "Runtime error: %s", "Assert failed");
5192 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7432);
5193 show_backtrace(1);
5194 }
5195 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction154>*/;
5196 var_listnode12 = var31;
5197 var32 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
5198 var33 = NULL;
5199 var34 = NULL;
5200 var35 = NULL;
5201 ((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>*/;
5202 var_pannotationsnode8 = var32;
5203 var_listnode15 = var_nodearraylist8;
5204 /* <var_listnode15:nullable Object> isa Array[Object] */
5205 cltype37 = type_array__Arraykernel__Object.color;
5206 idtype38 = type_array__Arraykernel__Object.id;
5207 if(var_listnode15 == NULL) {
5208 var36 = 0;
5209 } else {
5210 if(cltype37 >= var_listnode15->type->table_size) {
5211 var36 = 0;
5212 } else {
5213 var36 = var_listnode15->type->type_table[cltype37] == idtype38;
5214 }
5215 }
5216 if (!var36) {
5217 fprintf(stderr, "Runtime error: %s", "Assert failed");
5218 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7441);
5219 show_backtrace(1);
5220 }
5221 var39 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction154>*/;
5222 var_listnode16 = var39;
5223 var_tkwendnode18 = var_nodearraylist10;
5224 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
5225 cltype41 = type_nullable_parser_nodes__TKwend.color;
5226 idtype42 = type_nullable_parser_nodes__TKwend.id;
5227 if(var_tkwendnode18 == NULL) {
5228 var40 = 1;
5229 } else {
5230 if(cltype41 >= var_tkwendnode18->type->table_size) {
5231 var40 = 0;
5232 } else {
5233 var40 = var_tkwendnode18->type->type_table[cltype41] == idtype42;
5234 }
5235 }
5236 if (!var40) {
5237 fprintf(stderr, "Runtime error: %s", "Assert failed");
5238 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7444);
5239 show_backtrace(1);
5240 }
5241 var43 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5242 var44 = NULL;
5243 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var43->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var43, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var44, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var43:AStdClassdef>*/;
5244 var_pclassdefnode1 = var43;
5245 var_node_list = var_pclassdefnode1;
5246 var45 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction154> */
5247 var46 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var45) /* go_to on <var_p:Parser>*/;
5248 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var46, var_node_list) /* push on <var_p:Parser>*/;
5249 RET_LABEL:;
5250 }
5251 /* method parser#ReduceAction154#action for (self: Object, Parser) */
5252 void VIRTUAL_parser__ReduceAction154__action(val* self, val* p0) {
5253 parser__ReduceAction154__action(self, p0);
5254 RET_LABEL:;
5255 }
5256 /* method parser#ReduceAction155#action for (self: ReduceAction155, Parser) */
5257 void parser__ReduceAction155__action(val* self, val* p0) {
5258 val* var_p /* var p: Parser */;
5259 val* var /* : null */;
5260 val* var_node_list /* var node_list: nullable Object */;
5261 val* var1 /* : nullable Object */;
5262 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5263 val* var2 /* : nullable Object */;
5264 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5265 val* var3 /* : nullable Object */;
5266 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5267 val* var4 /* : nullable Object */;
5268 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5269 val* var5 /* : nullable Object */;
5270 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5271 val* var6 /* : nullable Object */;
5272 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5273 val* var7 /* : nullable Object */;
5274 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5275 val* var8 /* : nullable Object */;
5276 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5277 val* var9 /* : nullable Object */;
5278 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5279 val* var10 /* : nullable Object */;
5280 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5281 val* var11 /* : Array[Object] */;
5282 val* var_listnode7 /* var listnode7: Array[Object] */;
5283 val* var12 /* : Array[Object] */;
5284 val* var_listnode16 /* var listnode16: Array[Object] */;
5285 val* var13 /* : Array[Object] */;
5286 val* var_listnode17 /* var listnode17: Array[Object] */;
5287 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5288 short int var14 /* : Bool */;
5289 int cltype;
5290 int idtype;
5291 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5292 short int var15 /* : Bool */;
5293 int cltype16;
5294 int idtype17;
5295 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5296 short int var18 /* : Bool */;
5297 int cltype19;
5298 int idtype20;
5299 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5300 short int var21 /* : Bool */;
5301 int cltype22;
5302 int idtype23;
5303 val* var24 /* : Array[Object] */;
5304 val* var_listnode12 /* var listnode12: Array[Object] */;
5305 val* var_listnode11 /* var listnode11: nullable Object */;
5306 short int var25 /* : Bool */;
5307 int cltype26;
5308 int idtype27;
5309 val* var28 /* : Array[Object] */;
5310 val* var29 /* : AAnnotations */;
5311 val* var30 /* : null */;
5312 val* var31 /* : null */;
5313 val* var32 /* : null */;
5314 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
5315 val* var_listnode15 /* var listnode15: nullable Object */;
5316 short int var33 /* : Bool */;
5317 int cltype34;
5318 int idtype35;
5319 val* var36 /* : Array[Object] */;
5320 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
5321 short int var37 /* : Bool */;
5322 int cltype38;
5323 int idtype39;
5324 val* var40 /* : AStdClassdef */;
5325 val* var41 /* : null */;
5326 val* var42 /* : null */;
5327 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5328 long var43 /* : Int */;
5329 long var44 /* : Int */;
5330 var_p = p0;
5331 var = NULL;
5332 var_node_list = var;
5333 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5334 var_nodearraylist10 = var1;
5335 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5336 var_nodearraylist9 = var2;
5337 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5338 var_nodearraylist8 = var3;
5339 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5340 var_nodearraylist7 = var4;
5341 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5342 var_nodearraylist6 = var5;
5343 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5344 var_nodearraylist5 = var6;
5345 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5346 var_nodearraylist4 = var7;
5347 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5348 var_nodearraylist3 = var8;
5349 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5350 var_nodearraylist2 = var9;
5351 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5352 var_nodearraylist1 = var10;
5353 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
5354 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
5355 var_listnode7 = var11;
5356 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
5357 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
5358 var_listnode16 = var12;
5359 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
5360 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
5361 var_listnode17 = var13;
5362 var_pdocnode2 = var_nodearraylist1;
5363 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5364 cltype = type_nullable_parser_nodes__ADoc.color;
5365 idtype = type_nullable_parser_nodes__ADoc.id;
5366 if(var_pdocnode2 == NULL) {
5367 var14 = 1;
5368 } else {
5369 if(cltype >= var_pdocnode2->type->table_size) {
5370 var14 = 0;
5371 } else {
5372 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
5373 }
5374 }
5375 if (!var14) {
5376 fprintf(stderr, "Runtime error: %s", "Assert failed");
5377 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7481);
5378 show_backtrace(1);
5379 }
5380 var_pvisibilitynode4 = var_nodearraylist2;
5381 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5382 cltype16 = type_nullable_parser_nodes__AVisibility.color;
5383 idtype17 = type_nullable_parser_nodes__AVisibility.id;
5384 if(var_pvisibilitynode4 == NULL) {
5385 var15 = 1;
5386 } else {
5387 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
5388 var15 = 0;
5389 } else {
5390 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
5391 }
5392 }
5393 if (!var15) {
5394 fprintf(stderr, "Runtime error: %s", "Assert failed");
5395 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7483);
5396 show_backtrace(1);
5397 }
5398 var_pclasskindnode5 = var_nodearraylist3;
5399 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5400 cltype19 = type_nullable_parser_nodes__AClasskind.color;
5401 idtype20 = type_nullable_parser_nodes__AClasskind.id;
5402 if(var_pclasskindnode5 == NULL) {
5403 var18 = 1;
5404 } else {
5405 if(cltype19 >= var_pclasskindnode5->type->table_size) {
5406 var18 = 0;
5407 } else {
5408 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
5409 }
5410 }
5411 if (!var18) {
5412 fprintf(stderr, "Runtime error: %s", "Assert failed");
5413 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7485);
5414 show_backtrace(1);
5415 }
5416 var_tclassidnode6 = var_nodearraylist6;
5417 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5418 cltype22 = type_nullable_parser_nodes__TClassid.color;
5419 idtype23 = type_nullable_parser_nodes__TClassid.id;
5420 if(var_tclassidnode6 == NULL) {
5421 var21 = 1;
5422 } else {
5423 if(cltype22 >= var_tclassidnode6->type->table_size) {
5424 var21 = 0;
5425 } else {
5426 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
5427 }
5428 }
5429 if (!var21) {
5430 fprintf(stderr, "Runtime error: %s", "Assert failed");
5431 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7487);
5432 show_backtrace(1);
5433 }
5434 var24 = NEW_array__Array(&type_array__Arraykernel__Object);
5435 ((void (*)(val*))(var24->class->vft[COLOR_array__Array__init]))(var24) /* init on <var24:Array[Object]>*/;
5436 var_listnode12 = var24;
5437 var_listnode11 = var_nodearraylist7;
5438 /* <var_listnode11:nullable Object> isa Array[Object] */
5439 cltype26 = type_array__Arraykernel__Object.color;
5440 idtype27 = type_array__Arraykernel__Object.id;
5441 if(var_listnode11 == NULL) {
5442 var25 = 0;
5443 } else {
5444 if(cltype26 >= var_listnode11->type->table_size) {
5445 var25 = 0;
5446 } else {
5447 var25 = var_listnode11->type->type_table[cltype26] == idtype27;
5448 }
5449 }
5450 if (!var25) {
5451 fprintf(stderr, "Runtime error: %s", "Assert failed");
5452 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7490);
5453 show_backtrace(1);
5454 }
5455 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction155>*/;
5456 var_listnode12 = var28;
5457 var29 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
5458 var30 = NULL;
5459 var31 = NULL;
5460 var32 = NULL;
5461 ((void (*)(val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var29, var30, var31, var_listnode12, var32) /* init_aannotations on <var29:AAnnotations>*/;
5462 var_pannotationsnode8 = var29;
5463 var_listnode15 = var_nodearraylist8;
5464 /* <var_listnode15:nullable Object> isa Array[Object] */
5465 cltype34 = type_array__Arraykernel__Object.color;
5466 idtype35 = type_array__Arraykernel__Object.id;
5467 if(var_listnode15 == NULL) {
5468 var33 = 0;
5469 } else {
5470 if(cltype34 >= var_listnode15->type->table_size) {
5471 var33 = 0;
5472 } else {
5473 var33 = var_listnode15->type->type_table[cltype34] == idtype35;
5474 }
5475 }
5476 if (!var33) {
5477 fprintf(stderr, "Runtime error: %s", "Assert failed");
5478 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7499);
5479 show_backtrace(1);
5480 }
5481 var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction155>*/;
5482 var_listnode16 = var36;
5483 var_tkwendnode18 = var_nodearraylist10;
5484 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
5485 cltype38 = type_nullable_parser_nodes__TKwend.color;
5486 idtype39 = type_nullable_parser_nodes__TKwend.id;
5487 if(var_tkwendnode18 == NULL) {
5488 var37 = 1;
5489 } else {
5490 if(cltype38 >= var_tkwendnode18->type->table_size) {
5491 var37 = 0;
5492 } else {
5493 var37 = var_tkwendnode18->type->type_table[cltype38] == idtype39;
5494 }
5495 }
5496 if (!var37) {
5497 fprintf(stderr, "Runtime error: %s", "Assert failed");
5498 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7502);
5499 show_backtrace(1);
5500 }
5501 var40 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5502 var41 = NULL;
5503 var42 = NULL;
5504 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var40->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var40, var_pdocnode2, var41, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var42, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var40:AStdClassdef>*/;
5505 var_pclassdefnode1 = var40;
5506 var_node_list = var_pclassdefnode1;
5507 var43 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction155> */
5508 var44 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var43) /* go_to on <var_p:Parser>*/;
5509 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var44, var_node_list) /* push on <var_p:Parser>*/;
5510 RET_LABEL:;
5511 }
5512 /* method parser#ReduceAction155#action for (self: Object, Parser) */
5513 void VIRTUAL_parser__ReduceAction155__action(val* self, val* p0) {
5514 parser__ReduceAction155__action(self, p0);
5515 RET_LABEL:;
5516 }
5517 /* method parser#ReduceAction156#action for (self: ReduceAction156, Parser) */
5518 void parser__ReduceAction156__action(val* self, val* p0) {
5519 val* var_p /* var p: Parser */;
5520 val* var /* : null */;
5521 val* var_node_list /* var node_list: nullable Object */;
5522 val* var1 /* : nullable Object */;
5523 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
5524 val* var2 /* : nullable Object */;
5525 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5526 val* var3 /* : nullable Object */;
5527 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5528 val* var4 /* : nullable Object */;
5529 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5530 val* var5 /* : nullable Object */;
5531 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5532 val* var6 /* : nullable Object */;
5533 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5534 val* var7 /* : nullable Object */;
5535 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5536 val* var8 /* : nullable Object */;
5537 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5538 val* var9 /* : nullable Object */;
5539 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5540 val* var10 /* : nullable Object */;
5541 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5542 val* var11 /* : nullable Object */;
5543 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5544 val* var12 /* : Array[Object] */;
5545 val* var_listnode7 /* var listnode7: Array[Object] */;
5546 val* var13 /* : Array[Object] */;
5547 val* var_listnode16 /* var listnode16: Array[Object] */;
5548 val* var14 /* : Array[Object] */;
5549 val* var_listnode17 /* var listnode17: Array[Object] */;
5550 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5551 short int var15 /* : Bool */;
5552 int cltype;
5553 int idtype;
5554 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5555 short int var16 /* : Bool */;
5556 int cltype17;
5557 int idtype18;
5558 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5559 short int var19 /* : Bool */;
5560 int cltype20;
5561 int idtype21;
5562 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5563 short int var22 /* : Bool */;
5564 int cltype23;
5565 int idtype24;
5566 val* var25 /* : Array[Object] */;
5567 val* var_listnode12 /* var listnode12: Array[Object] */;
5568 val* var_listnode11 /* var listnode11: nullable Object */;
5569 short int var26 /* : Bool */;
5570 int cltype27;
5571 int idtype28;
5572 val* var29 /* : Array[Object] */;
5573 val* var30 /* : AAnnotations */;
5574 val* var31 /* : null */;
5575 val* var32 /* : null */;
5576 val* var33 /* : null */;
5577 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
5578 val* var_listnode15 /* var listnode15: nullable Object */;
5579 short int var34 /* : Bool */;
5580 int cltype35;
5581 int idtype36;
5582 val* var37 /* : Array[Object] */;
5583 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
5584 short int var38 /* : Bool */;
5585 int cltype39;
5586 int idtype40;
5587 val* var41 /* : AStdClassdef */;
5588 val* var42 /* : null */;
5589 val* var43 /* : null */;
5590 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5591 long var44 /* : Int */;
5592 long var45 /* : Int */;
5593 var_p = p0;
5594 var = NULL;
5595 var_node_list = var;
5596 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5597 var_nodearraylist11 = var1;
5598 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5599 var_nodearraylist10 = var2;
5600 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5601 var_nodearraylist9 = var3;
5602 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5603 var_nodearraylist8 = var4;
5604 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5605 var_nodearraylist7 = var5;
5606 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5607 var_nodearraylist6 = var6;
5608 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5609 var_nodearraylist5 = var7;
5610 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5611 var_nodearraylist4 = var8;
5612 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5613 var_nodearraylist3 = var9;
5614 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5615 var_nodearraylist2 = var10;
5616 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5617 var_nodearraylist1 = var11;
5618 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
5619 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
5620 var_listnode7 = var12;
5621 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
5622 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
5623 var_listnode16 = var13;
5624 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
5625 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
5626 var_listnode17 = var14;
5627 var_pdocnode2 = var_nodearraylist1;
5628 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5629 cltype = type_nullable_parser_nodes__ADoc.color;
5630 idtype = type_nullable_parser_nodes__ADoc.id;
5631 if(var_pdocnode2 == NULL) {
5632 var15 = 1;
5633 } else {
5634 if(cltype >= var_pdocnode2->type->table_size) {
5635 var15 = 0;
5636 } else {
5637 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
5638 }
5639 }
5640 if (!var15) {
5641 fprintf(stderr, "Runtime error: %s", "Assert failed");
5642 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7540);
5643 show_backtrace(1);
5644 }
5645 var_pvisibilitynode4 = var_nodearraylist2;
5646 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5647 cltype17 = type_nullable_parser_nodes__AVisibility.color;
5648 idtype18 = type_nullable_parser_nodes__AVisibility.id;
5649 if(var_pvisibilitynode4 == NULL) {
5650 var16 = 1;
5651 } else {
5652 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
5653 var16 = 0;
5654 } else {
5655 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
5656 }
5657 }
5658 if (!var16) {
5659 fprintf(stderr, "Runtime error: %s", "Assert failed");
5660 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7542);
5661 show_backtrace(1);
5662 }
5663 var_pclasskindnode5 = var_nodearraylist3;
5664 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5665 cltype20 = type_nullable_parser_nodes__AClasskind.color;
5666 idtype21 = type_nullable_parser_nodes__AClasskind.id;
5667 if(var_pclasskindnode5 == NULL) {
5668 var19 = 1;
5669 } else {
5670 if(cltype20 >= var_pclasskindnode5->type->table_size) {
5671 var19 = 0;
5672 } else {
5673 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
5674 }
5675 }
5676 if (!var19) {
5677 fprintf(stderr, "Runtime error: %s", "Assert failed");
5678 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7544);
5679 show_backtrace(1);
5680 }
5681 var_tclassidnode6 = var_nodearraylist7;
5682 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5683 cltype23 = type_nullable_parser_nodes__TClassid.color;
5684 idtype24 = type_nullable_parser_nodes__TClassid.id;
5685 if(var_tclassidnode6 == NULL) {
5686 var22 = 1;
5687 } else {
5688 if(cltype23 >= var_tclassidnode6->type->table_size) {
5689 var22 = 0;
5690 } else {
5691 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
5692 }
5693 }
5694 if (!var22) {
5695 fprintf(stderr, "Runtime error: %s", "Assert failed");
5696 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7546);
5697 show_backtrace(1);
5698 }
5699 var25 = NEW_array__Array(&type_array__Arraykernel__Object);
5700 ((void (*)(val*))(var25->class->vft[COLOR_array__Array__init]))(var25) /* init on <var25:Array[Object]>*/;
5701 var_listnode12 = var25;
5702 var_listnode11 = var_nodearraylist8;
5703 /* <var_listnode11:nullable Object> isa Array[Object] */
5704 cltype27 = type_array__Arraykernel__Object.color;
5705 idtype28 = type_array__Arraykernel__Object.id;
5706 if(var_listnode11 == NULL) {
5707 var26 = 0;
5708 } else {
5709 if(cltype27 >= var_listnode11->type->table_size) {
5710 var26 = 0;
5711 } else {
5712 var26 = var_listnode11->type->type_table[cltype27] == idtype28;
5713 }
5714 }
5715 if (!var26) {
5716 fprintf(stderr, "Runtime error: %s", "Assert failed");
5717 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7549);
5718 show_backtrace(1);
5719 }
5720 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction156>*/;
5721 var_listnode12 = var29;
5722 var30 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
5723 var31 = NULL;
5724 var32 = NULL;
5725 var33 = NULL;
5726 ((void (*)(val*, val*, val*, val*, val*))(var30->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var30, var31, var32, var_listnode12, var33) /* init_aannotations on <var30:AAnnotations>*/;
5727 var_pannotationsnode8 = var30;
5728 var_listnode15 = var_nodearraylist9;
5729 /* <var_listnode15:nullable Object> isa Array[Object] */
5730 cltype35 = type_array__Arraykernel__Object.color;
5731 idtype36 = type_array__Arraykernel__Object.id;
5732 if(var_listnode15 == NULL) {
5733 var34 = 0;
5734 } else {
5735 if(cltype35 >= var_listnode15->type->table_size) {
5736 var34 = 0;
5737 } else {
5738 var34 = var_listnode15->type->type_table[cltype35] == idtype36;
5739 }
5740 }
5741 if (!var34) {
5742 fprintf(stderr, "Runtime error: %s", "Assert failed");
5743 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7558);
5744 show_backtrace(1);
5745 }
5746 var37 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction156>*/;
5747 var_listnode16 = var37;
5748 var_tkwendnode18 = var_nodearraylist11;
5749 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
5750 cltype39 = type_nullable_parser_nodes__TKwend.color;
5751 idtype40 = type_nullable_parser_nodes__TKwend.id;
5752 if(var_tkwendnode18 == NULL) {
5753 var38 = 1;
5754 } else {
5755 if(cltype39 >= var_tkwendnode18->type->table_size) {
5756 var38 = 0;
5757 } else {
5758 var38 = var_tkwendnode18->type->type_table[cltype39] == idtype40;
5759 }
5760 }
5761 if (!var38) {
5762 fprintf(stderr, "Runtime error: %s", "Assert failed");
5763 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7561);
5764 show_backtrace(1);
5765 }
5766 var41 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5767 var42 = NULL;
5768 var43 = NULL;
5769 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var41->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var41, var_pdocnode2, var42, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var43, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var41:AStdClassdef>*/;
5770 var_pclassdefnode1 = var41;
5771 var_node_list = var_pclassdefnode1;
5772 var44 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction156> */
5773 var45 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var44) /* go_to on <var_p:Parser>*/;
5774 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var45, var_node_list) /* push on <var_p:Parser>*/;
5775 RET_LABEL:;
5776 }
5777 /* method parser#ReduceAction156#action for (self: Object, Parser) */
5778 void VIRTUAL_parser__ReduceAction156__action(val* self, val* p0) {
5779 parser__ReduceAction156__action(self, p0);
5780 RET_LABEL:;
5781 }
5782 /* method parser#ReduceAction158#action for (self: ReduceAction158, Parser) */
5783 void parser__ReduceAction158__action(val* self, val* p0) {
5784 val* var_p /* var p: Parser */;
5785 val* var /* : null */;
5786 val* var_node_list /* var node_list: nullable Object */;
5787 val* var1 /* : nullable Object */;
5788 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
5789 val* var2 /* : nullable Object */;
5790 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5791 val* var3 /* : nullable Object */;
5792 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5793 val* var4 /* : nullable Object */;
5794 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5795 val* var5 /* : nullable Object */;
5796 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5797 val* var6 /* : nullable Object */;
5798 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5799 val* var7 /* : nullable Object */;
5800 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5801 val* var8 /* : nullable Object */;
5802 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5803 val* var9 /* : nullable Object */;
5804 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5805 val* var10 /* : nullable Object */;
5806 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5807 val* var11 /* : nullable Object */;
5808 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5809 val* var12 /* : Array[Object] */;
5810 val* var_listnode7 /* var listnode7: Array[Object] */;
5811 val* var13 /* : Array[Object] */;
5812 val* var_listnode16 /* var listnode16: Array[Object] */;
5813 val* var14 /* : Array[Object] */;
5814 val* var_listnode17 /* var listnode17: Array[Object] */;
5815 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5816 short int var15 /* : Bool */;
5817 int cltype;
5818 int idtype;
5819 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
5820 short int var16 /* : Bool */;
5821 int cltype17;
5822 int idtype18;
5823 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5824 short int var19 /* : Bool */;
5825 int cltype20;
5826 int idtype21;
5827 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5828 short int var22 /* : Bool */;
5829 int cltype23;
5830 int idtype24;
5831 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5832 short int var25 /* : Bool */;
5833 int cltype26;
5834 int idtype27;
5835 val* var28 /* : Array[Object] */;
5836 val* var_listnode12 /* var listnode12: Array[Object] */;
5837 val* var_listnode11 /* var listnode11: nullable Object */;
5838 short int var29 /* : Bool */;
5839 int cltype30;
5840 int idtype31;
5841 val* var32 /* : Array[Object] */;
5842 val* var33 /* : AAnnotations */;
5843 val* var34 /* : null */;
5844 val* var35 /* : null */;
5845 val* var36 /* : null */;
5846 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
5847 val* var_listnode15 /* var listnode15: nullable Object */;
5848 short int var37 /* : Bool */;
5849 int cltype38;
5850 int idtype39;
5851 val* var40 /* : Array[Object] */;
5852 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
5853 short int var41 /* : Bool */;
5854 int cltype42;
5855 int idtype43;
5856 val* var44 /* : AStdClassdef */;
5857 val* var45 /* : null */;
5858 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5859 long var46 /* : Int */;
5860 long var47 /* : Int */;
5861 var_p = p0;
5862 var = NULL;
5863 var_node_list = var;
5864 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5865 var_nodearraylist11 = var1;
5866 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5867 var_nodearraylist10 = var2;
5868 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5869 var_nodearraylist9 = var3;
5870 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5871 var_nodearraylist8 = var4;
5872 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5873 var_nodearraylist7 = var5;
5874 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5875 var_nodearraylist6 = var6;
5876 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5877 var_nodearraylist5 = var7;
5878 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5879 var_nodearraylist4 = var8;
5880 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5881 var_nodearraylist3 = var9;
5882 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5883 var_nodearraylist2 = var10;
5884 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5885 var_nodearraylist1 = var11;
5886 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
5887 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
5888 var_listnode7 = var12;
5889 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
5890 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
5891 var_listnode16 = var13;
5892 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
5893 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
5894 var_listnode17 = var14;
5895 var_pdocnode2 = var_nodearraylist1;
5896 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5897 cltype = type_nullable_parser_nodes__ADoc.color;
5898 idtype = type_nullable_parser_nodes__ADoc.id;
5899 if(var_pdocnode2 == NULL) {
5900 var15 = 1;
5901 } else {
5902 if(cltype >= var_pdocnode2->type->table_size) {
5903 var15 = 0;
5904 } else {
5905 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
5906 }
5907 }
5908 if (!var15) {
5909 fprintf(stderr, "Runtime error: %s", "Assert failed");
5910 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7599);
5911 show_backtrace(1);
5912 }
5913 var_tkwredefnode3 = var_nodearraylist2;
5914 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
5915 cltype17 = type_nullable_parser_nodes__TKwredef.color;
5916 idtype18 = type_nullable_parser_nodes__TKwredef.id;
5917 if(var_tkwredefnode3 == NULL) {
5918 var16 = 1;
5919 } else {
5920 if(cltype17 >= var_tkwredefnode3->type->table_size) {
5921 var16 = 0;
5922 } else {
5923 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
5924 }
5925 }
5926 if (!var16) {
5927 fprintf(stderr, "Runtime error: %s", "Assert failed");
5928 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7601);
5929 show_backtrace(1);
5930 }
5931 var_pvisibilitynode4 = var_nodearraylist3;
5932 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5933 cltype20 = type_nullable_parser_nodes__AVisibility.color;
5934 idtype21 = type_nullable_parser_nodes__AVisibility.id;
5935 if(var_pvisibilitynode4 == NULL) {
5936 var19 = 1;
5937 } else {
5938 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
5939 var19 = 0;
5940 } else {
5941 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
5942 }
5943 }
5944 if (!var19) {
5945 fprintf(stderr, "Runtime error: %s", "Assert failed");
5946 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7603);
5947 show_backtrace(1);
5948 }
5949 var_pclasskindnode5 = var_nodearraylist4;
5950 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5951 cltype23 = type_nullable_parser_nodes__AClasskind.color;
5952 idtype24 = type_nullable_parser_nodes__AClasskind.id;
5953 if(var_pclasskindnode5 == NULL) {
5954 var22 = 1;
5955 } else {
5956 if(cltype23 >= var_pclasskindnode5->type->table_size) {
5957 var22 = 0;
5958 } else {
5959 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
5960 }
5961 }
5962 if (!var22) {
5963 fprintf(stderr, "Runtime error: %s", "Assert failed");
5964 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7605);
5965 show_backtrace(1);
5966 }
5967 var_tclassidnode6 = var_nodearraylist7;
5968 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5969 cltype26 = type_nullable_parser_nodes__TClassid.color;
5970 idtype27 = type_nullable_parser_nodes__TClassid.id;
5971 if(var_tclassidnode6 == NULL) {
5972 var25 = 1;
5973 } else {
5974 if(cltype26 >= var_tclassidnode6->type->table_size) {
5975 var25 = 0;
5976 } else {
5977 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
5978 }
5979 }
5980 if (!var25) {
5981 fprintf(stderr, "Runtime error: %s", "Assert failed");
5982 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7607);
5983 show_backtrace(1);
5984 }
5985 var28 = NEW_array__Array(&type_array__Arraykernel__Object);
5986 ((void (*)(val*))(var28->class->vft[COLOR_array__Array__init]))(var28) /* init on <var28:Array[Object]>*/;
5987 var_listnode12 = var28;
5988 var_listnode11 = var_nodearraylist8;
5989 /* <var_listnode11:nullable Object> isa Array[Object] */
5990 cltype30 = type_array__Arraykernel__Object.color;
5991 idtype31 = type_array__Arraykernel__Object.id;
5992 if(var_listnode11 == NULL) {
5993 var29 = 0;
5994 } else {
5995 if(cltype30 >= var_listnode11->type->table_size) {
5996 var29 = 0;
5997 } else {
5998 var29 = var_listnode11->type->type_table[cltype30] == idtype31;
5999 }
6000 }
6001 if (!var29) {
6002 fprintf(stderr, "Runtime error: %s", "Assert failed");
6003 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7610);
6004 show_backtrace(1);
6005 }
6006 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction158>*/;
6007 var_listnode12 = var32;
6008 var33 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
6009 var34 = NULL;
6010 var35 = NULL;
6011 var36 = NULL;
6012 ((void (*)(val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var33, var34, var35, var_listnode12, var36) /* init_aannotations on <var33:AAnnotations>*/;
6013 var_pannotationsnode8 = var33;
6014 var_listnode15 = var_nodearraylist9;
6015 /* <var_listnode15:nullable Object> isa Array[Object] */
6016 cltype38 = type_array__Arraykernel__Object.color;
6017 idtype39 = type_array__Arraykernel__Object.id;
6018 if(var_listnode15 == NULL) {
6019 var37 = 0;
6020 } else {
6021 if(cltype38 >= var_listnode15->type->table_size) {
6022 var37 = 0;
6023 } else {
6024 var37 = var_listnode15->type->type_table[cltype38] == idtype39;
6025 }
6026 }
6027 if (!var37) {
6028 fprintf(stderr, "Runtime error: %s", "Assert failed");
6029 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7619);
6030 show_backtrace(1);
6031 }
6032 var40 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction158>*/;
6033 var_listnode16 = var40;
6034 var_tkwendnode18 = var_nodearraylist11;
6035 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
6036 cltype42 = type_nullable_parser_nodes__TKwend.color;
6037 idtype43 = type_nullable_parser_nodes__TKwend.id;
6038 if(var_tkwendnode18 == NULL) {
6039 var41 = 1;
6040 } else {
6041 if(cltype42 >= var_tkwendnode18->type->table_size) {
6042 var41 = 0;
6043 } else {
6044 var41 = var_tkwendnode18->type->type_table[cltype42] == idtype43;
6045 }
6046 }
6047 if (!var41) {
6048 fprintf(stderr, "Runtime error: %s", "Assert failed");
6049 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7622);
6050 show_backtrace(1);
6051 }
6052 var44 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6053 var45 = NULL;
6054 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var44->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var44, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var45, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var44:AStdClassdef>*/;
6055 var_pclassdefnode1 = var44;
6056 var_node_list = var_pclassdefnode1;
6057 var46 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction158> */
6058 var47 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var46) /* go_to on <var_p:Parser>*/;
6059 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var47, var_node_list) /* push on <var_p:Parser>*/;
6060 RET_LABEL:;
6061 }
6062 /* method parser#ReduceAction158#action for (self: Object, Parser) */
6063 void VIRTUAL_parser__ReduceAction158__action(val* self, val* p0) {
6064 parser__ReduceAction158__action(self, p0);
6065 RET_LABEL:;
6066 }
6067 /* method parser#ReduceAction159#action for (self: ReduceAction159, Parser) */
6068 void parser__ReduceAction159__action(val* self, val* p0) {
6069 val* var_p /* var p: Parser */;
6070 val* var /* : null */;
6071 val* var_node_list /* var node_list: nullable Object */;
6072 val* var1 /* : nullable Object */;
6073 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
6074 val* var2 /* : nullable Object */;
6075 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
6076 val* var3 /* : nullable Object */;
6077 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6078 val* var4 /* : nullable Object */;
6079 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6080 val* var5 /* : nullable Object */;
6081 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6082 val* var6 /* : nullable Object */;
6083 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6084 val* var7 /* : nullable Object */;
6085 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6086 val* var8 /* : nullable Object */;
6087 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6088 val* var9 /* : nullable Object */;
6089 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6090 val* var10 /* : nullable Object */;
6091 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6092 val* var11 /* : nullable Object */;
6093 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6094 val* var12 /* : nullable Object */;
6095 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6096 val* var13 /* : Array[Object] */;
6097 val* var_listnode7 /* var listnode7: Array[Object] */;
6098 val* var14 /* : Array[Object] */;
6099 val* var_listnode16 /* var listnode16: Array[Object] */;
6100 val* var15 /* : Array[Object] */;
6101 val* var_listnode17 /* var listnode17: Array[Object] */;
6102 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6103 short int var16 /* : Bool */;
6104 int cltype;
6105 int idtype;
6106 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
6107 short int var17 /* : Bool */;
6108 int cltype18;
6109 int idtype19;
6110 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6111 short int var20 /* : Bool */;
6112 int cltype21;
6113 int idtype22;
6114 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6115 short int var23 /* : Bool */;
6116 int cltype24;
6117 int idtype25;
6118 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6119 short int var26 /* : Bool */;
6120 int cltype27;
6121 int idtype28;
6122 val* var29 /* : Array[Object] */;
6123 val* var_listnode12 /* var listnode12: Array[Object] */;
6124 val* var_listnode11 /* var listnode11: nullable Object */;
6125 short int var30 /* : Bool */;
6126 int cltype31;
6127 int idtype32;
6128 val* var33 /* : Array[Object] */;
6129 val* var34 /* : AAnnotations */;
6130 val* var35 /* : null */;
6131 val* var36 /* : null */;
6132 val* var37 /* : null */;
6133 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
6134 val* var_listnode15 /* var listnode15: nullable Object */;
6135 short int var38 /* : Bool */;
6136 int cltype39;
6137 int idtype40;
6138 val* var41 /* : Array[Object] */;
6139 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
6140 short int var42 /* : Bool */;
6141 int cltype43;
6142 int idtype44;
6143 val* var45 /* : AStdClassdef */;
6144 val* var46 /* : null */;
6145 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6146 long var47 /* : Int */;
6147 long var48 /* : Int */;
6148 var_p = p0;
6149 var = NULL;
6150 var_node_list = var;
6151 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6152 var_nodearraylist12 = var1;
6153 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6154 var_nodearraylist11 = var2;
6155 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6156 var_nodearraylist10 = var3;
6157 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6158 var_nodearraylist9 = var4;
6159 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6160 var_nodearraylist8 = var5;
6161 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6162 var_nodearraylist7 = var6;
6163 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6164 var_nodearraylist6 = var7;
6165 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6166 var_nodearraylist5 = var8;
6167 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6168 var_nodearraylist4 = var9;
6169 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6170 var_nodearraylist3 = var10;
6171 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6172 var_nodearraylist2 = var11;
6173 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6174 var_nodearraylist1 = var12;
6175 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
6176 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
6177 var_listnode7 = var13;
6178 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
6179 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
6180 var_listnode16 = var14;
6181 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
6182 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
6183 var_listnode17 = var15;
6184 var_pdocnode2 = var_nodearraylist1;
6185 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6186 cltype = type_nullable_parser_nodes__ADoc.color;
6187 idtype = type_nullable_parser_nodes__ADoc.id;
6188 if(var_pdocnode2 == NULL) {
6189 var16 = 1;
6190 } else {
6191 if(cltype >= var_pdocnode2->type->table_size) {
6192 var16 = 0;
6193 } else {
6194 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
6195 }
6196 }
6197 if (!var16) {
6198 fprintf(stderr, "Runtime error: %s", "Assert failed");
6199 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7661);
6200 show_backtrace(1);
6201 }
6202 var_tkwredefnode3 = var_nodearraylist2;
6203 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6204 cltype18 = type_nullable_parser_nodes__TKwredef.color;
6205 idtype19 = type_nullable_parser_nodes__TKwredef.id;
6206 if(var_tkwredefnode3 == NULL) {
6207 var17 = 1;
6208 } else {
6209 if(cltype18 >= var_tkwredefnode3->type->table_size) {
6210 var17 = 0;
6211 } else {
6212 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
6213 }
6214 }
6215 if (!var17) {
6216 fprintf(stderr, "Runtime error: %s", "Assert failed");
6217 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7663);
6218 show_backtrace(1);
6219 }
6220 var_pvisibilitynode4 = var_nodearraylist3;
6221 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6222 cltype21 = type_nullable_parser_nodes__AVisibility.color;
6223 idtype22 = type_nullable_parser_nodes__AVisibility.id;
6224 if(var_pvisibilitynode4 == NULL) {
6225 var20 = 1;
6226 } else {
6227 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
6228 var20 = 0;
6229 } else {
6230 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
6231 }
6232 }
6233 if (!var20) {
6234 fprintf(stderr, "Runtime error: %s", "Assert failed");
6235 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7665);
6236 show_backtrace(1);
6237 }
6238 var_pclasskindnode5 = var_nodearraylist4;
6239 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6240 cltype24 = type_nullable_parser_nodes__AClasskind.color;
6241 idtype25 = type_nullable_parser_nodes__AClasskind.id;
6242 if(var_pclasskindnode5 == NULL) {
6243 var23 = 1;
6244 } else {
6245 if(cltype24 >= var_pclasskindnode5->type->table_size) {
6246 var23 = 0;
6247 } else {
6248 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
6249 }
6250 }
6251 if (!var23) {
6252 fprintf(stderr, "Runtime error: %s", "Assert failed");
6253 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7667);
6254 show_backtrace(1);
6255 }
6256 var_tclassidnode6 = var_nodearraylist8;
6257 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6258 cltype27 = type_nullable_parser_nodes__TClassid.color;
6259 idtype28 = type_nullable_parser_nodes__TClassid.id;
6260 if(var_tclassidnode6 == NULL) {
6261 var26 = 1;
6262 } else {
6263 if(cltype27 >= var_tclassidnode6->type->table_size) {
6264 var26 = 0;
6265 } else {
6266 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
6267 }
6268 }
6269 if (!var26) {
6270 fprintf(stderr, "Runtime error: %s", "Assert failed");
6271 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7669);
6272 show_backtrace(1);
6273 }
6274 var29 = NEW_array__Array(&type_array__Arraykernel__Object);
6275 ((void (*)(val*))(var29->class->vft[COLOR_array__Array__init]))(var29) /* init on <var29:Array[Object]>*/;
6276 var_listnode12 = var29;
6277 var_listnode11 = var_nodearraylist9;
6278 /* <var_listnode11:nullable Object> isa Array[Object] */
6279 cltype31 = type_array__Arraykernel__Object.color;
6280 idtype32 = type_array__Arraykernel__Object.id;
6281 if(var_listnode11 == NULL) {
6282 var30 = 0;
6283 } else {
6284 if(cltype31 >= var_listnode11->type->table_size) {
6285 var30 = 0;
6286 } else {
6287 var30 = var_listnode11->type->type_table[cltype31] == idtype32;
6288 }
6289 }
6290 if (!var30) {
6291 fprintf(stderr, "Runtime error: %s", "Assert failed");
6292 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7672);
6293 show_backtrace(1);
6294 }
6295 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction159>*/;
6296 var_listnode12 = var33;
6297 var34 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
6298 var35 = NULL;
6299 var36 = NULL;
6300 var37 = NULL;
6301 ((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>*/;
6302 var_pannotationsnode8 = var34;
6303 var_listnode15 = var_nodearraylist10;
6304 /* <var_listnode15:nullable Object> isa Array[Object] */
6305 cltype39 = type_array__Arraykernel__Object.color;
6306 idtype40 = type_array__Arraykernel__Object.id;
6307 if(var_listnode15 == NULL) {
6308 var38 = 0;
6309 } else {
6310 if(cltype39 >= var_listnode15->type->table_size) {
6311 var38 = 0;
6312 } else {
6313 var38 = var_listnode15->type->type_table[cltype39] == idtype40;
6314 }
6315 }
6316 if (!var38) {
6317 fprintf(stderr, "Runtime error: %s", "Assert failed");
6318 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7681);
6319 show_backtrace(1);
6320 }
6321 var41 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction159>*/;
6322 var_listnode16 = var41;
6323 var_tkwendnode18 = var_nodearraylist12;
6324 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
6325 cltype43 = type_nullable_parser_nodes__TKwend.color;
6326 idtype44 = type_nullable_parser_nodes__TKwend.id;
6327 if(var_tkwendnode18 == NULL) {
6328 var42 = 1;
6329 } else {
6330 if(cltype43 >= var_tkwendnode18->type->table_size) {
6331 var42 = 0;
6332 } else {
6333 var42 = var_tkwendnode18->type->type_table[cltype43] == idtype44;
6334 }
6335 }
6336 if (!var42) {
6337 fprintf(stderr, "Runtime error: %s", "Assert failed");
6338 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7684);
6339 show_backtrace(1);
6340 }
6341 var45 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6342 var46 = NULL;
6343 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var45->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var45, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var46, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var45:AStdClassdef>*/;
6344 var_pclassdefnode1 = var45;
6345 var_node_list = var_pclassdefnode1;
6346 var47 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction159> */
6347 var48 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var47) /* go_to on <var_p:Parser>*/;
6348 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var48, var_node_list) /* push on <var_p:Parser>*/;
6349 RET_LABEL:;
6350 }
6351 /* method parser#ReduceAction159#action for (self: Object, Parser) */
6352 void VIRTUAL_parser__ReduceAction159__action(val* self, val* p0) {
6353 parser__ReduceAction159__action(self, p0);
6354 RET_LABEL:;
6355 }
6356 /* method parser#ReduceAction161#action for (self: ReduceAction161, Parser) */
6357 void parser__ReduceAction161__action(val* self, val* p0) {
6358 val* var_p /* var p: Parser */;
6359 val* var /* : null */;
6360 val* var_node_list /* var node_list: nullable Object */;
6361 val* var1 /* : nullable Object */;
6362 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6363 val* var2 /* : nullable Object */;
6364 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6365 val* var3 /* : nullable Object */;
6366 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6367 val* var4 /* : nullable Object */;
6368 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6369 val* var5 /* : nullable Object */;
6370 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6371 val* var6 /* : nullable Object */;
6372 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6373 val* var7 /* : nullable Object */;
6374 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6375 val* var8 /* : nullable Object */;
6376 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6377 val* var9 /* : nullable Object */;
6378 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6379 val* var10 /* : nullable Object */;
6380 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6381 val* var11 /* : Array[Object] */;
6382 val* var_listnode8 /* var listnode8: Array[Object] */;
6383 val* var12 /* : Array[Object] */;
6384 val* var_listnode17 /* var listnode17: Array[Object] */;
6385 val* var13 /* : Array[Object] */;
6386 val* var_listnode18 /* var listnode18: Array[Object] */;
6387 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6388 short int var14 /* : Bool */;
6389 int cltype;
6390 int idtype;
6391 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6392 short int var15 /* : Bool */;
6393 int cltype16;
6394 int idtype17;
6395 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6396 short int var18 /* : Bool */;
6397 int cltype19;
6398 int idtype20;
6399 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6400 short int var21 /* : Bool */;
6401 int cltype22;
6402 int idtype23;
6403 val* var_listnode7 /* var listnode7: nullable Object */;
6404 short int var24 /* : Bool */;
6405 int cltype25;
6406 int idtype26;
6407 val* var27 /* : Array[Object] */;
6408 val* var28 /* : Array[Object] */;
6409 val* var_listnode13 /* var listnode13: Array[Object] */;
6410 val* var_listnode12 /* var listnode12: nullable Object */;
6411 short int var29 /* : Bool */;
6412 int cltype30;
6413 int idtype31;
6414 val* var32 /* : Array[Object] */;
6415 val* var33 /* : AAnnotations */;
6416 val* var34 /* : null */;
6417 val* var35 /* : null */;
6418 val* var36 /* : null */;
6419 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
6420 val* var_listnode16 /* var listnode16: nullable Object */;
6421 short int var37 /* : Bool */;
6422 int cltype38;
6423 int idtype39;
6424 val* var40 /* : Array[Object] */;
6425 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
6426 short int var41 /* : Bool */;
6427 int cltype42;
6428 int idtype43;
6429 val* var44 /* : AStdClassdef */;
6430 val* var45 /* : null */;
6431 val* var46 /* : null */;
6432 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6433 long var47 /* : Int */;
6434 long var48 /* : Int */;
6435 var_p = p0;
6436 var = NULL;
6437 var_node_list = var;
6438 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6439 var_nodearraylist10 = var1;
6440 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6441 var_nodearraylist9 = var2;
6442 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6443 var_nodearraylist8 = var3;
6444 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6445 var_nodearraylist7 = var4;
6446 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6447 var_nodearraylist6 = var5;
6448 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6449 var_nodearraylist5 = var6;
6450 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6451 var_nodearraylist4 = var7;
6452 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6453 var_nodearraylist3 = var8;
6454 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6455 var_nodearraylist2 = var9;
6456 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6457 var_nodearraylist1 = var10;
6458 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
6459 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
6460 var_listnode8 = var11;
6461 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
6462 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
6463 var_listnode17 = var12;
6464 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
6465 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
6466 var_listnode18 = var13;
6467 var_pdocnode2 = var_nodearraylist1;
6468 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6469 cltype = type_nullable_parser_nodes__ADoc.color;
6470 idtype = type_nullable_parser_nodes__ADoc.id;
6471 if(var_pdocnode2 == NULL) {
6472 var14 = 1;
6473 } else {
6474 if(cltype >= var_pdocnode2->type->table_size) {
6475 var14 = 0;
6476 } else {
6477 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
6478 }
6479 }
6480 if (!var14) {
6481 fprintf(stderr, "Runtime error: %s", "Assert failed");
6482 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7721);
6483 show_backtrace(1);
6484 }
6485 var_pvisibilitynode4 = var_nodearraylist2;
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", 7723);
6501 show_backtrace(1);
6502 }
6503 var_pclasskindnode5 = var_nodearraylist3;
6504 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6505 cltype19 = type_nullable_parser_nodes__AClasskind.color;
6506 idtype20 = type_nullable_parser_nodes__AClasskind.id;
6507 if(var_pclasskindnode5 == NULL) {
6508 var18 = 1;
6509 } else {
6510 if(cltype19 >= var_pclasskindnode5->type->table_size) {
6511 var18 = 0;
6512 } else {
6513 var18 = var_pclasskindnode5->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", 7725);
6519 show_backtrace(1);
6520 }
6521 var_tclassidnode6 = var_nodearraylist5;
6522 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6523 cltype22 = type_nullable_parser_nodes__TClassid.color;
6524 idtype23 = type_nullable_parser_nodes__TClassid.id;
6525 if(var_tclassidnode6 == NULL) {
6526 var21 = 1;
6527 } else {
6528 if(cltype22 >= var_tclassidnode6->type->table_size) {
6529 var21 = 0;
6530 } else {
6531 var21 = var_tclassidnode6->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", 7727);
6537 show_backtrace(1);
6538 }
6539 var_listnode7 = var_nodearraylist6;
6540 /* <var_listnode7:nullable Object> isa Array[Object] */
6541 cltype25 = type_array__Arraykernel__Object.color;
6542 idtype26 = type_array__Arraykernel__Object.id;
6543 if(var_listnode7 == NULL) {
6544 var24 = 0;
6545 } else {
6546 if(cltype25 >= var_listnode7->type->table_size) {
6547 var24 = 0;
6548 } else {
6549 var24 = var_listnode7->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", 7729);
6555 show_backtrace(1);
6556 }
6557 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction161>*/;
6558 var_listnode8 = var27;
6559 var28 = NEW_array__Array(&type_array__Arraykernel__Object);
6560 ((void (*)(val*))(var28->class->vft[COLOR_array__Array__init]))(var28) /* init on <var28:Array[Object]>*/;
6561 var_listnode13 = var28;
6562 var_listnode12 = var_nodearraylist7;
6563 /* <var_listnode12:nullable Object> isa Array[Object] */
6564 cltype30 = type_array__Arraykernel__Object.color;
6565 idtype31 = type_array__Arraykernel__Object.id;
6566 if(var_listnode12 == NULL) {
6567 var29 = 0;
6568 } else {
6569 if(cltype30 >= var_listnode12->type->table_size) {
6570 var29 = 0;
6571 } else {
6572 var29 = var_listnode12->type->type_table[cltype30] == idtype31;
6573 }
6574 }
6575 if (!var29) {
6576 fprintf(stderr, "Runtime error: %s", "Assert failed");
6577 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7733);
6578 show_backtrace(1);
6579 }
6580 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction161>*/;
6581 var_listnode13 = var32;
6582 var33 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
6583 var34 = NULL;
6584 var35 = NULL;
6585 var36 = NULL;
6586 ((void (*)(val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var33, var34, var35, var_listnode13, var36) /* init_aannotations on <var33:AAnnotations>*/;
6587 var_pannotationsnode9 = var33;
6588 var_listnode16 = var_nodearraylist8;
6589 /* <var_listnode16:nullable Object> isa Array[Object] */
6590 cltype38 = type_array__Arraykernel__Object.color;
6591 idtype39 = type_array__Arraykernel__Object.id;
6592 if(var_listnode16 == NULL) {
6593 var37 = 0;
6594 } else {
6595 if(cltype38 >= var_listnode16->type->table_size) {
6596 var37 = 0;
6597 } else {
6598 var37 = var_listnode16->type->type_table[cltype38] == idtype39;
6599 }
6600 }
6601 if (!var37) {
6602 fprintf(stderr, "Runtime error: %s", "Assert failed");
6603 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7742);
6604 show_backtrace(1);
6605 }
6606 var40 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction161>*/;
6607 var_listnode17 = var40;
6608 var_tkwendnode19 = var_nodearraylist10;
6609 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
6610 cltype42 = type_nullable_parser_nodes__TKwend.color;
6611 idtype43 = type_nullable_parser_nodes__TKwend.id;
6612 if(var_tkwendnode19 == NULL) {
6613 var41 = 1;
6614 } else {
6615 if(cltype42 >= var_tkwendnode19->type->table_size) {
6616 var41 = 0;
6617 } else {
6618 var41 = var_tkwendnode19->type->type_table[cltype42] == idtype43;
6619 }
6620 }
6621 if (!var41) {
6622 fprintf(stderr, "Runtime error: %s", "Assert failed");
6623 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7745);
6624 show_backtrace(1);
6625 }
6626 var44 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6627 var45 = NULL;
6628 var46 = NULL;
6629 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var44->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var44, var_pdocnode2, var45, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var46, var_listnode17, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var44:AStdClassdef>*/;
6630 var_pclassdefnode1 = var44;
6631 var_node_list = var_pclassdefnode1;
6632 var47 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction161> */
6633 var48 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var47) /* go_to on <var_p:Parser>*/;
6634 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var48, var_node_list) /* push on <var_p:Parser>*/;
6635 RET_LABEL:;
6636 }
6637 /* method parser#ReduceAction161#action for (self: Object, Parser) */
6638 void VIRTUAL_parser__ReduceAction161__action(val* self, val* p0) {
6639 parser__ReduceAction161__action(self, p0);
6640 RET_LABEL:;
6641 }
6642 /* method parser#ReduceAction162#action for (self: ReduceAction162, Parser) */
6643 void parser__ReduceAction162__action(val* self, val* p0) {
6644 val* var_p /* var p: Parser */;
6645 val* var /* : null */;
6646 val* var_node_list /* var node_list: nullable Object */;
6647 val* var1 /* : nullable Object */;
6648 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
6649 val* var2 /* : nullable Object */;
6650 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6651 val* var3 /* : nullable Object */;
6652 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6653 val* var4 /* : nullable Object */;
6654 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6655 val* var5 /* : nullable Object */;
6656 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6657 val* var6 /* : nullable Object */;
6658 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6659 val* var7 /* : nullable Object */;
6660 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6661 val* var8 /* : nullable Object */;
6662 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6663 val* var9 /* : nullable Object */;
6664 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6665 val* var10 /* : nullable Object */;
6666 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6667 val* var11 /* : nullable Object */;
6668 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6669 val* var12 /* : Array[Object] */;
6670 val* var_listnode8 /* var listnode8: Array[Object] */;
6671 val* var13 /* : Array[Object] */;
6672 val* var_listnode17 /* var listnode17: Array[Object] */;
6673 val* var14 /* : Array[Object] */;
6674 val* var_listnode18 /* var listnode18: Array[Object] */;
6675 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6676 short int var15 /* : Bool */;
6677 int cltype;
6678 int idtype;
6679 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
6680 short int var16 /* : Bool */;
6681 int cltype17;
6682 int idtype18;
6683 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6684 short int var19 /* : Bool */;
6685 int cltype20;
6686 int idtype21;
6687 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6688 short int var22 /* : Bool */;
6689 int cltype23;
6690 int idtype24;
6691 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6692 short int var25 /* : Bool */;
6693 int cltype26;
6694 int idtype27;
6695 val* var_listnode7 /* var listnode7: nullable Object */;
6696 short int var28 /* : Bool */;
6697 int cltype29;
6698 int idtype30;
6699 val* var31 /* : Array[Object] */;
6700 val* var32 /* : Array[Object] */;
6701 val* var_listnode13 /* var listnode13: Array[Object] */;
6702 val* var_listnode12 /* var listnode12: nullable Object */;
6703 short int var33 /* : Bool */;
6704 int cltype34;
6705 int idtype35;
6706 val* var36 /* : Array[Object] */;
6707 val* var37 /* : AAnnotations */;
6708 val* var38 /* : null */;
6709 val* var39 /* : null */;
6710 val* var40 /* : null */;
6711 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
6712 val* var_listnode16 /* var listnode16: nullable Object */;
6713 short int var41 /* : Bool */;
6714 int cltype42;
6715 int idtype43;
6716 val* var44 /* : Array[Object] */;
6717 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
6718 short int var45 /* : Bool */;
6719 int cltype46;
6720 int idtype47;
6721 val* var48 /* : AStdClassdef */;
6722 val* var49 /* : null */;
6723 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6724 long var50 /* : Int */;
6725 long var51 /* : Int */;
6726 var_p = p0;
6727 var = NULL;
6728 var_node_list = var;
6729 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6730 var_nodearraylist11 = var1;
6731 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6732 var_nodearraylist10 = var2;
6733 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6734 var_nodearraylist9 = var3;
6735 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6736 var_nodearraylist8 = var4;
6737 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6738 var_nodearraylist7 = var5;
6739 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6740 var_nodearraylist6 = var6;
6741 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6742 var_nodearraylist5 = var7;
6743 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6744 var_nodearraylist4 = var8;
6745 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6746 var_nodearraylist3 = var9;
6747 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6748 var_nodearraylist2 = var10;
6749 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6750 var_nodearraylist1 = var11;
6751 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
6752 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
6753 var_listnode8 = var12;
6754 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
6755 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
6756 var_listnode17 = var13;
6757 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
6758 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
6759 var_listnode18 = var14;
6760 var_pdocnode2 = var_nodearraylist1;
6761 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6762 cltype = type_nullable_parser_nodes__ADoc.color;
6763 idtype = type_nullable_parser_nodes__ADoc.id;
6764 if(var_pdocnode2 == NULL) {
6765 var15 = 1;
6766 } else {
6767 if(cltype >= var_pdocnode2->type->table_size) {
6768 var15 = 0;
6769 } else {
6770 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
6771 }
6772 }
6773 if (!var15) {
6774 fprintf(stderr, "Runtime error: %s", "Assert failed");
6775 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7783);
6776 show_backtrace(1);
6777 }
6778 var_tkwredefnode3 = var_nodearraylist2;
6779 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6780 cltype17 = type_nullable_parser_nodes__TKwredef.color;
6781 idtype18 = type_nullable_parser_nodes__TKwredef.id;
6782 if(var_tkwredefnode3 == NULL) {
6783 var16 = 1;
6784 } else {
6785 if(cltype17 >= var_tkwredefnode3->type->table_size) {
6786 var16 = 0;
6787 } else {
6788 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
6789 }
6790 }
6791 if (!var16) {
6792 fprintf(stderr, "Runtime error: %s", "Assert failed");
6793 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7785);
6794 show_backtrace(1);
6795 }
6796 var_pvisibilitynode4 = var_nodearraylist3;
6797 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6798 cltype20 = type_nullable_parser_nodes__AVisibility.color;
6799 idtype21 = type_nullable_parser_nodes__AVisibility.id;
6800 if(var_pvisibilitynode4 == NULL) {
6801 var19 = 1;
6802 } else {
6803 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
6804 var19 = 0;
6805 } else {
6806 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
6807 }
6808 }
6809 if (!var19) {
6810 fprintf(stderr, "Runtime error: %s", "Assert failed");
6811 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7787);
6812 show_backtrace(1);
6813 }
6814 var_pclasskindnode5 = var_nodearraylist4;
6815 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6816 cltype23 = type_nullable_parser_nodes__AClasskind.color;
6817 idtype24 = type_nullable_parser_nodes__AClasskind.id;
6818 if(var_pclasskindnode5 == NULL) {
6819 var22 = 1;
6820 } else {
6821 if(cltype23 >= var_pclasskindnode5->type->table_size) {
6822 var22 = 0;
6823 } else {
6824 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
6825 }
6826 }
6827 if (!var22) {
6828 fprintf(stderr, "Runtime error: %s", "Assert failed");
6829 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7789);
6830 show_backtrace(1);
6831 }
6832 var_tclassidnode6 = var_nodearraylist6;
6833 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6834 cltype26 = type_nullable_parser_nodes__TClassid.color;
6835 idtype27 = type_nullable_parser_nodes__TClassid.id;
6836 if(var_tclassidnode6 == NULL) {
6837 var25 = 1;
6838 } else {
6839 if(cltype26 >= var_tclassidnode6->type->table_size) {
6840 var25 = 0;
6841 } else {
6842 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
6843 }
6844 }
6845 if (!var25) {
6846 fprintf(stderr, "Runtime error: %s", "Assert failed");
6847 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7791);
6848 show_backtrace(1);
6849 }
6850 var_listnode7 = var_nodearraylist7;
6851 /* <var_listnode7:nullable Object> isa Array[Object] */
6852 cltype29 = type_array__Arraykernel__Object.color;
6853 idtype30 = type_array__Arraykernel__Object.id;
6854 if(var_listnode7 == NULL) {
6855 var28 = 0;
6856 } else {
6857 if(cltype29 >= var_listnode7->type->table_size) {
6858 var28 = 0;
6859 } else {
6860 var28 = var_listnode7->type->type_table[cltype29] == idtype30;
6861 }
6862 }
6863 if (!var28) {
6864 fprintf(stderr, "Runtime error: %s", "Assert failed");
6865 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7793);
6866 show_backtrace(1);
6867 }
6868 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction162>*/;
6869 var_listnode8 = var31;
6870 var32 = NEW_array__Array(&type_array__Arraykernel__Object);
6871 ((void (*)(val*))(var32->class->vft[COLOR_array__Array__init]))(var32) /* init on <var32:Array[Object]>*/;
6872 var_listnode13 = var32;
6873 var_listnode12 = var_nodearraylist8;
6874 /* <var_listnode12:nullable Object> isa Array[Object] */
6875 cltype34 = type_array__Arraykernel__Object.color;
6876 idtype35 = type_array__Arraykernel__Object.id;
6877 if(var_listnode12 == NULL) {
6878 var33 = 0;
6879 } else {
6880 if(cltype34 >= var_listnode12->type->table_size) {
6881 var33 = 0;
6882 } else {
6883 var33 = var_listnode12->type->type_table[cltype34] == idtype35;
6884 }
6885 }
6886 if (!var33) {
6887 fprintf(stderr, "Runtime error: %s", "Assert failed");
6888 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7797);
6889 show_backtrace(1);
6890 }
6891 var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction162>*/;
6892 var_listnode13 = var36;
6893 var37 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
6894 var38 = NULL;
6895 var39 = NULL;
6896 var40 = NULL;
6897 ((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>*/;
6898 var_pannotationsnode9 = var37;
6899 var_listnode16 = var_nodearraylist9;
6900 /* <var_listnode16:nullable Object> isa Array[Object] */
6901 cltype42 = type_array__Arraykernel__Object.color;
6902 idtype43 = type_array__Arraykernel__Object.id;
6903 if(var_listnode16 == NULL) {
6904 var41 = 0;
6905 } else {
6906 if(cltype42 >= var_listnode16->type->table_size) {
6907 var41 = 0;
6908 } else {
6909 var41 = var_listnode16->type->type_table[cltype42] == idtype43;
6910 }
6911 }
6912 if (!var41) {
6913 fprintf(stderr, "Runtime error: %s", "Assert failed");
6914 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7806);
6915 show_backtrace(1);
6916 }
6917 var44 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction162>*/;
6918 var_listnode17 = var44;
6919 var_tkwendnode19 = var_nodearraylist11;
6920 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
6921 cltype46 = type_nullable_parser_nodes__TKwend.color;
6922 idtype47 = type_nullable_parser_nodes__TKwend.id;
6923 if(var_tkwendnode19 == NULL) {
6924 var45 = 1;
6925 } else {
6926 if(cltype46 >= var_tkwendnode19->type->table_size) {
6927 var45 = 0;
6928 } else {
6929 var45 = var_tkwendnode19->type->type_table[cltype46] == idtype47;
6930 }
6931 }
6932 if (!var45) {
6933 fprintf(stderr, "Runtime error: %s", "Assert failed");
6934 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7809);
6935 show_backtrace(1);
6936 }
6937 var48 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6938 var49 = NULL;
6939 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var48->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var48, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var49, var_listnode17, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var48:AStdClassdef>*/;
6940 var_pclassdefnode1 = var48;
6941 var_node_list = var_pclassdefnode1;
6942 var50 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction162> */
6943 var51 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var50) /* go_to on <var_p:Parser>*/;
6944 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var51, var_node_list) /* push on <var_p:Parser>*/;
6945 RET_LABEL:;
6946 }
6947 /* method parser#ReduceAction162#action for (self: Object, Parser) */
6948 void VIRTUAL_parser__ReduceAction162__action(val* self, val* p0) {
6949 parser__ReduceAction162__action(self, p0);
6950 RET_LABEL:;
6951 }
6952 /* method parser#ReduceAction163#action for (self: ReduceAction163, Parser) */
6953 void parser__ReduceAction163__action(val* self, val* p0) {
6954 val* var_p /* var p: Parser */;
6955 val* var /* : null */;
6956 val* var_node_list /* var node_list: nullable Object */;
6957 val* var1 /* : nullable Object */;
6958 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
6959 val* var2 /* : nullable Object */;
6960 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6961 val* var3 /* : nullable Object */;
6962 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6963 val* var4 /* : nullable Object */;
6964 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6965 val* var5 /* : nullable Object */;
6966 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6967 val* var6 /* : nullable Object */;
6968 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6969 val* var7 /* : nullable Object */;
6970 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6971 val* var8 /* : nullable Object */;
6972 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6973 val* var9 /* : nullable Object */;
6974 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6975 val* var10 /* : nullable Object */;
6976 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6977 val* var11 /* : nullable Object */;
6978 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6979 val* var12 /* : Array[Object] */;
6980 val* var_listnode8 /* var listnode8: Array[Object] */;
6981 val* var13 /* : Array[Object] */;
6982 val* var_listnode17 /* var listnode17: Array[Object] */;
6983 val* var14 /* : Array[Object] */;
6984 val* var_listnode18 /* var listnode18: Array[Object] */;
6985 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6986 short int var15 /* : Bool */;
6987 int cltype;
6988 int idtype;
6989 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6990 short int var16 /* : Bool */;
6991 int cltype17;
6992 int idtype18;
6993 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6994 short int var19 /* : Bool */;
6995 int cltype20;
6996 int idtype21;
6997 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6998 short int var22 /* : Bool */;
6999 int cltype23;
7000 int idtype24;
7001 val* var_listnode7 /* var listnode7: nullable Object */;
7002 short int var25 /* : Bool */;
7003 int cltype26;
7004 int idtype27;
7005 val* var28 /* : Array[Object] */;
7006 val* var29 /* : Array[Object] */;
7007 val* var_listnode13 /* var listnode13: Array[Object] */;
7008 val* var_listnode12 /* var listnode12: nullable Object */;
7009 short int var30 /* : Bool */;
7010 int cltype31;
7011 int idtype32;
7012 val* var33 /* : Array[Object] */;
7013 val* var34 /* : AAnnotations */;
7014 val* var35 /* : null */;
7015 val* var36 /* : null */;
7016 val* var37 /* : null */;
7017 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
7018 val* var_listnode16 /* var listnode16: nullable Object */;
7019 short int var38 /* : Bool */;
7020 int cltype39;
7021 int idtype40;
7022 val* var41 /* : Array[Object] */;
7023 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
7024 short int var42 /* : Bool */;
7025 int cltype43;
7026 int idtype44;
7027 val* var45 /* : AStdClassdef */;
7028 val* var46 /* : null */;
7029 val* var47 /* : null */;
7030 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7031 long var48 /* : Int */;
7032 long var49 /* : Int */;
7033 var_p = p0;
7034 var = NULL;
7035 var_node_list = var;
7036 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7037 var_nodearraylist11 = var1;
7038 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7039 var_nodearraylist10 = var2;
7040 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7041 var_nodearraylist9 = var3;
7042 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7043 var_nodearraylist8 = var4;
7044 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7045 var_nodearraylist7 = var5;
7046 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7047 var_nodearraylist6 = var6;
7048 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7049 var_nodearraylist5 = var7;
7050 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7051 var_nodearraylist4 = var8;
7052 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7053 var_nodearraylist3 = var9;
7054 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7055 var_nodearraylist2 = var10;
7056 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7057 var_nodearraylist1 = var11;
7058 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
7059 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
7060 var_listnode8 = var12;
7061 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
7062 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
7063 var_listnode17 = var13;
7064 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
7065 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
7066 var_listnode18 = var14;
7067 var_pdocnode2 = var_nodearraylist1;
7068 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7069 cltype = type_nullable_parser_nodes__ADoc.color;
7070 idtype = type_nullable_parser_nodes__ADoc.id;
7071 if(var_pdocnode2 == NULL) {
7072 var15 = 1;
7073 } else {
7074 if(cltype >= var_pdocnode2->type->table_size) {
7075 var15 = 0;
7076 } else {
7077 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
7078 }
7079 }
7080 if (!var15) {
7081 fprintf(stderr, "Runtime error: %s", "Assert failed");
7082 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7847);
7083 show_backtrace(1);
7084 }
7085 var_pvisibilitynode4 = var_nodearraylist2;
7086 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7087 cltype17 = type_nullable_parser_nodes__AVisibility.color;
7088 idtype18 = type_nullable_parser_nodes__AVisibility.id;
7089 if(var_pvisibilitynode4 == NULL) {
7090 var16 = 1;
7091 } else {
7092 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
7093 var16 = 0;
7094 } else {
7095 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
7096 }
7097 }
7098 if (!var16) {
7099 fprintf(stderr, "Runtime error: %s", "Assert failed");
7100 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7849);
7101 show_backtrace(1);
7102 }
7103 var_pclasskindnode5 = var_nodearraylist3;
7104 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7105 cltype20 = type_nullable_parser_nodes__AClasskind.color;
7106 idtype21 = type_nullable_parser_nodes__AClasskind.id;
7107 if(var_pclasskindnode5 == NULL) {
7108 var19 = 1;
7109 } else {
7110 if(cltype20 >= var_pclasskindnode5->type->table_size) {
7111 var19 = 0;
7112 } else {
7113 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
7114 }
7115 }
7116 if (!var19) {
7117 fprintf(stderr, "Runtime error: %s", "Assert failed");
7118 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7851);
7119 show_backtrace(1);
7120 }
7121 var_tclassidnode6 = var_nodearraylist6;
7122 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7123 cltype23 = type_nullable_parser_nodes__TClassid.color;
7124 idtype24 = type_nullable_parser_nodes__TClassid.id;
7125 if(var_tclassidnode6 == NULL) {
7126 var22 = 1;
7127 } else {
7128 if(cltype23 >= var_tclassidnode6->type->table_size) {
7129 var22 = 0;
7130 } else {
7131 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
7132 }
7133 }
7134 if (!var22) {
7135 fprintf(stderr, "Runtime error: %s", "Assert failed");
7136 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7853);
7137 show_backtrace(1);
7138 }
7139 var_listnode7 = var_nodearraylist7;
7140 /* <var_listnode7:nullable Object> isa Array[Object] */
7141 cltype26 = type_array__Arraykernel__Object.color;
7142 idtype27 = type_array__Arraykernel__Object.id;
7143 if(var_listnode7 == NULL) {
7144 var25 = 0;
7145 } else {
7146 if(cltype26 >= var_listnode7->type->table_size) {
7147 var25 = 0;
7148 } else {
7149 var25 = var_listnode7->type->type_table[cltype26] == idtype27;
7150 }
7151 }
7152 if (!var25) {
7153 fprintf(stderr, "Runtime error: %s", "Assert failed");
7154 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7855);
7155 show_backtrace(1);
7156 }
7157 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction163>*/;
7158 var_listnode8 = var28;
7159 var29 = NEW_array__Array(&type_array__Arraykernel__Object);
7160 ((void (*)(val*))(var29->class->vft[COLOR_array__Array__init]))(var29) /* init on <var29:Array[Object]>*/;
7161 var_listnode13 = var29;
7162 var_listnode12 = var_nodearraylist8;
7163 /* <var_listnode12:nullable Object> isa Array[Object] */
7164 cltype31 = type_array__Arraykernel__Object.color;
7165 idtype32 = type_array__Arraykernel__Object.id;
7166 if(var_listnode12 == NULL) {
7167 var30 = 0;
7168 } else {
7169 if(cltype31 >= var_listnode12->type->table_size) {
7170 var30 = 0;
7171 } else {
7172 var30 = var_listnode12->type->type_table[cltype31] == idtype32;
7173 }
7174 }
7175 if (!var30) {
7176 fprintf(stderr, "Runtime error: %s", "Assert failed");
7177 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7859);
7178 show_backtrace(1);
7179 }
7180 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction163>*/;
7181 var_listnode13 = var33;
7182 var34 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
7183 var35 = NULL;
7184 var36 = NULL;
7185 var37 = NULL;
7186 ((void (*)(val*, val*, val*, val*, val*))(var34->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var34, var35, var36, var_listnode13, var37) /* init_aannotations on <var34:AAnnotations>*/;
7187 var_pannotationsnode9 = var34;
7188 var_listnode16 = var_nodearraylist9;
7189 /* <var_listnode16:nullable Object> isa Array[Object] */
7190 cltype39 = type_array__Arraykernel__Object.color;
7191 idtype40 = type_array__Arraykernel__Object.id;
7192 if(var_listnode16 == NULL) {
7193 var38 = 0;
7194 } else {
7195 if(cltype39 >= var_listnode16->type->table_size) {
7196 var38 = 0;
7197 } else {
7198 var38 = var_listnode16->type->type_table[cltype39] == idtype40;
7199 }
7200 }
7201 if (!var38) {
7202 fprintf(stderr, "Runtime error: %s", "Assert failed");
7203 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7868);
7204 show_backtrace(1);
7205 }
7206 var41 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction163>*/;
7207 var_listnode17 = var41;
7208 var_tkwendnode19 = var_nodearraylist11;
7209 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
7210 cltype43 = type_nullable_parser_nodes__TKwend.color;
7211 idtype44 = type_nullable_parser_nodes__TKwend.id;
7212 if(var_tkwendnode19 == NULL) {
7213 var42 = 1;
7214 } else {
7215 if(cltype43 >= var_tkwendnode19->type->table_size) {
7216 var42 = 0;
7217 } else {
7218 var42 = var_tkwendnode19->type->type_table[cltype43] == idtype44;
7219 }
7220 }
7221 if (!var42) {
7222 fprintf(stderr, "Runtime error: %s", "Assert failed");
7223 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7871);
7224 show_backtrace(1);
7225 }
7226 var45 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7227 var46 = NULL;
7228 var47 = NULL;
7229 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var45->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var45, var_pdocnode2, var46, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var47, var_listnode17, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var45:AStdClassdef>*/;
7230 var_pclassdefnode1 = var45;
7231 var_node_list = var_pclassdefnode1;
7232 var48 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction163> */
7233 var49 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var48) /* go_to on <var_p:Parser>*/;
7234 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var49, var_node_list) /* push on <var_p:Parser>*/;
7235 RET_LABEL:;
7236 }
7237 /* method parser#ReduceAction163#action for (self: Object, Parser) */
7238 void VIRTUAL_parser__ReduceAction163__action(val* self, val* p0) {
7239 parser__ReduceAction163__action(self, p0);
7240 RET_LABEL:;
7241 }
7242 /* method parser#ReduceAction164#action for (self: ReduceAction164, Parser) */
7243 void parser__ReduceAction164__action(val* self, val* p0) {
7244 val* var_p /* var p: Parser */;
7245 val* var /* : null */;
7246 val* var_node_list /* var node_list: nullable Object */;
7247 val* var1 /* : nullable Object */;
7248 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
7249 val* var2 /* : nullable Object */;
7250 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
7251 val* var3 /* : nullable Object */;
7252 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7253 val* var4 /* : nullable Object */;
7254 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7255 val* var5 /* : nullable Object */;
7256 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7257 val* var6 /* : nullable Object */;
7258 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7259 val* var7 /* : nullable Object */;
7260 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7261 val* var8 /* : nullable Object */;
7262 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7263 val* var9 /* : nullable Object */;
7264 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7265 val* var10 /* : nullable Object */;
7266 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7267 val* var11 /* : nullable Object */;
7268 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7269 val* var12 /* : nullable Object */;
7270 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7271 val* var13 /* : Array[Object] */;
7272 val* var_listnode8 /* var listnode8: Array[Object] */;
7273 val* var14 /* : Array[Object] */;
7274 val* var_listnode17 /* var listnode17: Array[Object] */;
7275 val* var15 /* : Array[Object] */;
7276 val* var_listnode18 /* var listnode18: Array[Object] */;
7277 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7278 short int var16 /* : Bool */;
7279 int cltype;
7280 int idtype;
7281 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7282 short int var17 /* : Bool */;
7283 int cltype18;
7284 int idtype19;
7285 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7286 short int var20 /* : Bool */;
7287 int cltype21;
7288 int idtype22;
7289 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7290 short int var23 /* : Bool */;
7291 int cltype24;
7292 int idtype25;
7293 val* var_listnode7 /* var listnode7: nullable Object */;
7294 short int var26 /* : Bool */;
7295 int cltype27;
7296 int idtype28;
7297 val* var29 /* : Array[Object] */;
7298 val* var30 /* : Array[Object] */;
7299 val* var_listnode13 /* var listnode13: Array[Object] */;
7300 val* var_listnode12 /* var listnode12: nullable Object */;
7301 short int var31 /* : Bool */;
7302 int cltype32;
7303 int idtype33;
7304 val* var34 /* : Array[Object] */;
7305 val* var35 /* : AAnnotations */;
7306 val* var36 /* : null */;
7307 val* var37 /* : null */;
7308 val* var38 /* : null */;
7309 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
7310 val* var_listnode16 /* var listnode16: nullable Object */;
7311 short int var39 /* : Bool */;
7312 int cltype40;
7313 int idtype41;
7314 val* var42 /* : Array[Object] */;
7315 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
7316 short int var43 /* : Bool */;
7317 int cltype44;
7318 int idtype45;
7319 val* var46 /* : AStdClassdef */;
7320 val* var47 /* : null */;
7321 val* var48 /* : null */;
7322 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7323 long var49 /* : Int */;
7324 long var50 /* : Int */;
7325 var_p = p0;
7326 var = NULL;
7327 var_node_list = var;
7328 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7329 var_nodearraylist12 = var1;
7330 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7331 var_nodearraylist11 = var2;
7332 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7333 var_nodearraylist10 = var3;
7334 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7335 var_nodearraylist9 = var4;
7336 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7337 var_nodearraylist8 = var5;
7338 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7339 var_nodearraylist7 = var6;
7340 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7341 var_nodearraylist6 = var7;
7342 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7343 var_nodearraylist5 = var8;
7344 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7345 var_nodearraylist4 = var9;
7346 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7347 var_nodearraylist3 = var10;
7348 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7349 var_nodearraylist2 = var11;
7350 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7351 var_nodearraylist1 = var12;
7352 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
7353 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
7354 var_listnode8 = var13;
7355 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
7356 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
7357 var_listnode17 = var14;
7358 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
7359 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
7360 var_listnode18 = var15;
7361 var_pdocnode2 = var_nodearraylist1;
7362 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7363 cltype = type_nullable_parser_nodes__ADoc.color;
7364 idtype = type_nullable_parser_nodes__ADoc.id;
7365 if(var_pdocnode2 == NULL) {
7366 var16 = 1;
7367 } else {
7368 if(cltype >= var_pdocnode2->type->table_size) {
7369 var16 = 0;
7370 } else {
7371 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
7372 }
7373 }
7374 if (!var16) {
7375 fprintf(stderr, "Runtime error: %s", "Assert failed");
7376 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7910);
7377 show_backtrace(1);
7378 }
7379 var_pvisibilitynode4 = var_nodearraylist2;
7380 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7381 cltype18 = type_nullable_parser_nodes__AVisibility.color;
7382 idtype19 = type_nullable_parser_nodes__AVisibility.id;
7383 if(var_pvisibilitynode4 == NULL) {
7384 var17 = 1;
7385 } else {
7386 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
7387 var17 = 0;
7388 } else {
7389 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
7390 }
7391 }
7392 if (!var17) {
7393 fprintf(stderr, "Runtime error: %s", "Assert failed");
7394 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7912);
7395 show_backtrace(1);
7396 }
7397 var_pclasskindnode5 = var_nodearraylist3;
7398 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7399 cltype21 = type_nullable_parser_nodes__AClasskind.color;
7400 idtype22 = type_nullable_parser_nodes__AClasskind.id;
7401 if(var_pclasskindnode5 == NULL) {
7402 var20 = 1;
7403 } else {
7404 if(cltype21 >= var_pclasskindnode5->type->table_size) {
7405 var20 = 0;
7406 } else {
7407 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
7408 }
7409 }
7410 if (!var20) {
7411 fprintf(stderr, "Runtime error: %s", "Assert failed");
7412 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7914);
7413 show_backtrace(1);
7414 }
7415 var_tclassidnode6 = var_nodearraylist7;
7416 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7417 cltype24 = type_nullable_parser_nodes__TClassid.color;
7418 idtype25 = type_nullable_parser_nodes__TClassid.id;
7419 if(var_tclassidnode6 == NULL) {
7420 var23 = 1;
7421 } else {
7422 if(cltype24 >= var_tclassidnode6->type->table_size) {
7423 var23 = 0;
7424 } else {
7425 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
7426 }
7427 }
7428 if (!var23) {
7429 fprintf(stderr, "Runtime error: %s", "Assert failed");
7430 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7916);
7431 show_backtrace(1);
7432 }
7433 var_listnode7 = var_nodearraylist8;
7434 /* <var_listnode7:nullable Object> isa Array[Object] */
7435 cltype27 = type_array__Arraykernel__Object.color;
7436 idtype28 = type_array__Arraykernel__Object.id;
7437 if(var_listnode7 == NULL) {
7438 var26 = 0;
7439 } else {
7440 if(cltype27 >= var_listnode7->type->table_size) {
7441 var26 = 0;
7442 } else {
7443 var26 = var_listnode7->type->type_table[cltype27] == idtype28;
7444 }
7445 }
7446 if (!var26) {
7447 fprintf(stderr, "Runtime error: %s", "Assert failed");
7448 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7918);
7449 show_backtrace(1);
7450 }
7451 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction164>*/;
7452 var_listnode8 = var29;
7453 var30 = NEW_array__Array(&type_array__Arraykernel__Object);
7454 ((void (*)(val*))(var30->class->vft[COLOR_array__Array__init]))(var30) /* init on <var30:Array[Object]>*/;
7455 var_listnode13 = var30;
7456 var_listnode12 = var_nodearraylist9;
7457 /* <var_listnode12:nullable Object> isa Array[Object] */
7458 cltype32 = type_array__Arraykernel__Object.color;
7459 idtype33 = type_array__Arraykernel__Object.id;
7460 if(var_listnode12 == NULL) {
7461 var31 = 0;
7462 } else {
7463 if(cltype32 >= var_listnode12->type->table_size) {
7464 var31 = 0;
7465 } else {
7466 var31 = var_listnode12->type->type_table[cltype32] == idtype33;
7467 }
7468 }
7469 if (!var31) {
7470 fprintf(stderr, "Runtime error: %s", "Assert failed");
7471 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7922);
7472 show_backtrace(1);
7473 }
7474 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction164>*/;
7475 var_listnode13 = var34;
7476 var35 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
7477 var36 = NULL;
7478 var37 = NULL;
7479 var38 = NULL;
7480 ((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>*/;
7481 var_pannotationsnode9 = var35;
7482 var_listnode16 = var_nodearraylist10;
7483 /* <var_listnode16:nullable Object> isa Array[Object] */
7484 cltype40 = type_array__Arraykernel__Object.color;
7485 idtype41 = type_array__Arraykernel__Object.id;
7486 if(var_listnode16 == NULL) {
7487 var39 = 0;
7488 } else {
7489 if(cltype40 >= var_listnode16->type->table_size) {
7490 var39 = 0;
7491 } else {
7492 var39 = var_listnode16->type->type_table[cltype40] == idtype41;
7493 }
7494 }
7495 if (!var39) {
7496 fprintf(stderr, "Runtime error: %s", "Assert failed");
7497 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7931);
7498 show_backtrace(1);
7499 }
7500 var42 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction164>*/;
7501 var_listnode17 = var42;
7502 var_tkwendnode19 = var_nodearraylist12;
7503 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
7504 cltype44 = type_nullable_parser_nodes__TKwend.color;
7505 idtype45 = type_nullable_parser_nodes__TKwend.id;
7506 if(var_tkwendnode19 == NULL) {
7507 var43 = 1;
7508 } else {
7509 if(cltype44 >= var_tkwendnode19->type->table_size) {
7510 var43 = 0;
7511 } else {
7512 var43 = var_tkwendnode19->type->type_table[cltype44] == idtype45;
7513 }
7514 }
7515 if (!var43) {
7516 fprintf(stderr, "Runtime error: %s", "Assert failed");
7517 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7934);
7518 show_backtrace(1);
7519 }
7520 var46 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7521 var47 = NULL;
7522 var48 = NULL;
7523 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var46->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var46, var_pdocnode2, var47, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var48, var_listnode17, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var46:AStdClassdef>*/;
7524 var_pclassdefnode1 = var46;
7525 var_node_list = var_pclassdefnode1;
7526 var49 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction164> */
7527 var50 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var49) /* go_to on <var_p:Parser>*/;
7528 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var50, var_node_list) /* push on <var_p:Parser>*/;
7529 RET_LABEL:;
7530 }
7531 /* method parser#ReduceAction164#action for (self: Object, Parser) */
7532 void VIRTUAL_parser__ReduceAction164__action(val* self, val* p0) {
7533 parser__ReduceAction164__action(self, p0);
7534 RET_LABEL:;
7535 }
7536 /* method parser#ReduceAction166#action for (self: ReduceAction166, Parser) */
7537 void parser__ReduceAction166__action(val* self, val* p0) {
7538 val* var_p /* var p: Parser */;
7539 val* var /* : null */;
7540 val* var_node_list /* var node_list: nullable Object */;
7541 val* var1 /* : nullable Object */;
7542 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
7543 val* var2 /* : nullable Object */;
7544 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
7545 val* var3 /* : nullable Object */;
7546 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7547 val* var4 /* : nullable Object */;
7548 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7549 val* var5 /* : nullable Object */;
7550 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7551 val* var6 /* : nullable Object */;
7552 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7553 val* var7 /* : nullable Object */;
7554 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7555 val* var8 /* : nullable Object */;
7556 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7557 val* var9 /* : nullable Object */;
7558 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7559 val* var10 /* : nullable Object */;
7560 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7561 val* var11 /* : nullable Object */;
7562 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7563 val* var12 /* : nullable Object */;
7564 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7565 val* var13 /* : Array[Object] */;
7566 val* var_listnode8 /* var listnode8: Array[Object] */;
7567 val* var14 /* : Array[Object] */;
7568 val* var_listnode17 /* var listnode17: Array[Object] */;
7569 val* var15 /* : Array[Object] */;
7570 val* var_listnode18 /* var listnode18: Array[Object] */;
7571 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7572 short int var16 /* : Bool */;
7573 int cltype;
7574 int idtype;
7575 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
7576 short int var17 /* : Bool */;
7577 int cltype18;
7578 int idtype19;
7579 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7580 short int var20 /* : Bool */;
7581 int cltype21;
7582 int idtype22;
7583 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7584 short int var23 /* : Bool */;
7585 int cltype24;
7586 int idtype25;
7587 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7588 short int var26 /* : Bool */;
7589 int cltype27;
7590 int idtype28;
7591 val* var_listnode7 /* var listnode7: nullable Object */;
7592 short int var29 /* : Bool */;
7593 int cltype30;
7594 int idtype31;
7595 val* var32 /* : Array[Object] */;
7596 val* var33 /* : Array[Object] */;
7597 val* var_listnode13 /* var listnode13: Array[Object] */;
7598 val* var_listnode12 /* var listnode12: nullable Object */;
7599 short int var34 /* : Bool */;
7600 int cltype35;
7601 int idtype36;
7602 val* var37 /* : Array[Object] */;
7603 val* var38 /* : AAnnotations */;
7604 val* var39 /* : null */;
7605 val* var40 /* : null */;
7606 val* var41 /* : null */;
7607 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
7608 val* var_listnode16 /* var listnode16: nullable Object */;
7609 short int var42 /* : Bool */;
7610 int cltype43;
7611 int idtype44;
7612 val* var45 /* : Array[Object] */;
7613 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
7614 short int var46 /* : Bool */;
7615 int cltype47;
7616 int idtype48;
7617 val* var49 /* : AStdClassdef */;
7618 val* var50 /* : null */;
7619 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7620 long var51 /* : Int */;
7621 long var52 /* : Int */;
7622 var_p = p0;
7623 var = NULL;
7624 var_node_list = var;
7625 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7626 var_nodearraylist12 = var1;
7627 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7628 var_nodearraylist11 = var2;
7629 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7630 var_nodearraylist10 = var3;
7631 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7632 var_nodearraylist9 = var4;
7633 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7634 var_nodearraylist8 = var5;
7635 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7636 var_nodearraylist7 = var6;
7637 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7638 var_nodearraylist6 = var7;
7639 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7640 var_nodearraylist5 = var8;
7641 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7642 var_nodearraylist4 = var9;
7643 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7644 var_nodearraylist3 = var10;
7645 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7646 var_nodearraylist2 = var11;
7647 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7648 var_nodearraylist1 = var12;
7649 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
7650 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
7651 var_listnode8 = var13;
7652 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
7653 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
7654 var_listnode17 = var14;
7655 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
7656 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
7657 var_listnode18 = var15;
7658 var_pdocnode2 = var_nodearraylist1;
7659 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7660 cltype = type_nullable_parser_nodes__ADoc.color;
7661 idtype = type_nullable_parser_nodes__ADoc.id;
7662 if(var_pdocnode2 == NULL) {
7663 var16 = 1;
7664 } else {
7665 if(cltype >= var_pdocnode2->type->table_size) {
7666 var16 = 0;
7667 } else {
7668 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
7669 }
7670 }
7671 if (!var16) {
7672 fprintf(stderr, "Runtime error: %s", "Assert failed");
7673 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7973);
7674 show_backtrace(1);
7675 }
7676 var_tkwredefnode3 = var_nodearraylist2;
7677 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7678 cltype18 = type_nullable_parser_nodes__TKwredef.color;
7679 idtype19 = type_nullable_parser_nodes__TKwredef.id;
7680 if(var_tkwredefnode3 == NULL) {
7681 var17 = 1;
7682 } else {
7683 if(cltype18 >= var_tkwredefnode3->type->table_size) {
7684 var17 = 0;
7685 } else {
7686 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
7687 }
7688 }
7689 if (!var17) {
7690 fprintf(stderr, "Runtime error: %s", "Assert failed");
7691 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7975);
7692 show_backtrace(1);
7693 }
7694 var_pvisibilitynode4 = var_nodearraylist3;
7695 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7696 cltype21 = type_nullable_parser_nodes__AVisibility.color;
7697 idtype22 = type_nullable_parser_nodes__AVisibility.id;
7698 if(var_pvisibilitynode4 == NULL) {
7699 var20 = 1;
7700 } else {
7701 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
7702 var20 = 0;
7703 } else {
7704 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
7705 }
7706 }
7707 if (!var20) {
7708 fprintf(stderr, "Runtime error: %s", "Assert failed");
7709 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7977);
7710 show_backtrace(1);
7711 }
7712 var_pclasskindnode5 = var_nodearraylist4;
7713 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7714 cltype24 = type_nullable_parser_nodes__AClasskind.color;
7715 idtype25 = type_nullable_parser_nodes__AClasskind.id;
7716 if(var_pclasskindnode5 == NULL) {
7717 var23 = 1;
7718 } else {
7719 if(cltype24 >= var_pclasskindnode5->type->table_size) {
7720 var23 = 0;
7721 } else {
7722 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
7723 }
7724 }
7725 if (!var23) {
7726 fprintf(stderr, "Runtime error: %s", "Assert failed");
7727 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7979);
7728 show_backtrace(1);
7729 }
7730 var_tclassidnode6 = var_nodearraylist7;
7731 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7732 cltype27 = type_nullable_parser_nodes__TClassid.color;
7733 idtype28 = type_nullable_parser_nodes__TClassid.id;
7734 if(var_tclassidnode6 == NULL) {
7735 var26 = 1;
7736 } else {
7737 if(cltype27 >= var_tclassidnode6->type->table_size) {
7738 var26 = 0;
7739 } else {
7740 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
7741 }
7742 }
7743 if (!var26) {
7744 fprintf(stderr, "Runtime error: %s", "Assert failed");
7745 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7981);
7746 show_backtrace(1);
7747 }
7748 var_listnode7 = var_nodearraylist8;
7749 /* <var_listnode7:nullable Object> isa Array[Object] */
7750 cltype30 = type_array__Arraykernel__Object.color;
7751 idtype31 = type_array__Arraykernel__Object.id;
7752 if(var_listnode7 == NULL) {
7753 var29 = 0;
7754 } else {
7755 if(cltype30 >= var_listnode7->type->table_size) {
7756 var29 = 0;
7757 } else {
7758 var29 = var_listnode7->type->type_table[cltype30] == idtype31;
7759 }
7760 }
7761 if (!var29) {
7762 fprintf(stderr, "Runtime error: %s", "Assert failed");
7763 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7983);
7764 show_backtrace(1);
7765 }
7766 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction166>*/;
7767 var_listnode8 = var32;
7768 var33 = NEW_array__Array(&type_array__Arraykernel__Object);
7769 ((void (*)(val*))(var33->class->vft[COLOR_array__Array__init]))(var33) /* init on <var33:Array[Object]>*/;
7770 var_listnode13 = var33;
7771 var_listnode12 = var_nodearraylist9;
7772 /* <var_listnode12:nullable Object> isa Array[Object] */
7773 cltype35 = type_array__Arraykernel__Object.color;
7774 idtype36 = type_array__Arraykernel__Object.id;
7775 if(var_listnode12 == NULL) {
7776 var34 = 0;
7777 } else {
7778 if(cltype35 >= var_listnode12->type->table_size) {
7779 var34 = 0;
7780 } else {
7781 var34 = var_listnode12->type->type_table[cltype35] == idtype36;
7782 }
7783 }
7784 if (!var34) {
7785 fprintf(stderr, "Runtime error: %s", "Assert failed");
7786 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7987);
7787 show_backtrace(1);
7788 }
7789 var37 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction166>*/;
7790 var_listnode13 = var37;
7791 var38 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
7792 var39 = NULL;
7793 var40 = NULL;
7794 var41 = NULL;
7795 ((void (*)(val*, val*, val*, val*, val*))(var38->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var38, var39, var40, var_listnode13, var41) /* init_aannotations on <var38:AAnnotations>*/;
7796 var_pannotationsnode9 = var38;
7797 var_listnode16 = var_nodearraylist10;
7798 /* <var_listnode16:nullable Object> isa Array[Object] */
7799 cltype43 = type_array__Arraykernel__Object.color;
7800 idtype44 = type_array__Arraykernel__Object.id;
7801 if(var_listnode16 == NULL) {
7802 var42 = 0;
7803 } else {
7804 if(cltype43 >= var_listnode16->type->table_size) {
7805 var42 = 0;
7806 } else {
7807 var42 = var_listnode16->type->type_table[cltype43] == idtype44;
7808 }
7809 }
7810 if (!var42) {
7811 fprintf(stderr, "Runtime error: %s", "Assert failed");
7812 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7996);
7813 show_backtrace(1);
7814 }
7815 var45 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction166>*/;
7816 var_listnode17 = var45;
7817 var_tkwendnode19 = var_nodearraylist12;
7818 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
7819 cltype47 = type_nullable_parser_nodes__TKwend.color;
7820 idtype48 = type_nullable_parser_nodes__TKwend.id;
7821 if(var_tkwendnode19 == NULL) {
7822 var46 = 1;
7823 } else {
7824 if(cltype47 >= var_tkwendnode19->type->table_size) {
7825 var46 = 0;
7826 } else {
7827 var46 = var_tkwendnode19->type->type_table[cltype47] == idtype48;
7828 }
7829 }
7830 if (!var46) {
7831 fprintf(stderr, "Runtime error: %s", "Assert failed");
7832 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7999);
7833 show_backtrace(1);
7834 }
7835 var49 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7836 var50 = NULL;
7837 ((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, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var50, var_listnode17, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var49:AStdClassdef>*/;
7838 var_pclassdefnode1 = var49;
7839 var_node_list = var_pclassdefnode1;
7840 var51 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction166> */
7841 var52 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var51) /* go_to on <var_p:Parser>*/;
7842 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var52, var_node_list) /* push on <var_p:Parser>*/;
7843 RET_LABEL:;
7844 }
7845 /* method parser#ReduceAction166#action for (self: Object, Parser) */
7846 void VIRTUAL_parser__ReduceAction166__action(val* self, val* p0) {
7847 parser__ReduceAction166__action(self, p0);
7848 RET_LABEL:;
7849 }
7850 /* method parser#ReduceAction167#action for (self: ReduceAction167, Parser) */
7851 void parser__ReduceAction167__action(val* self, val* p0) {
7852 val* var_p /* var p: Parser */;
7853 val* var /* : null */;
7854 val* var_node_list /* var node_list: nullable Object */;
7855 val* var1 /* : nullable Object */;
7856 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
7857 val* var2 /* : nullable Object */;
7858 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
7859 val* var3 /* : nullable Object */;
7860 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
7861 val* var4 /* : nullable Object */;
7862 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7863 val* var5 /* : nullable Object */;
7864 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7865 val* var6 /* : nullable Object */;
7866 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7867 val* var7 /* : nullable Object */;
7868 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7869 val* var8 /* : nullable Object */;
7870 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7871 val* var9 /* : nullable Object */;
7872 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7873 val* var10 /* : nullable Object */;
7874 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7875 val* var11 /* : nullable Object */;
7876 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7877 val* var12 /* : nullable Object */;
7878 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7879 val* var13 /* : nullable Object */;
7880 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7881 val* var14 /* : Array[Object] */;
7882 val* var_listnode8 /* var listnode8: Array[Object] */;
7883 val* var15 /* : Array[Object] */;
7884 val* var_listnode17 /* var listnode17: Array[Object] */;
7885 val* var16 /* : Array[Object] */;
7886 val* var_listnode18 /* var listnode18: Array[Object] */;
7887 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7888 short int var17 /* : Bool */;
7889 int cltype;
7890 int idtype;
7891 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
7892 short int var18 /* : Bool */;
7893 int cltype19;
7894 int idtype20;
7895 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7896 short int var21 /* : Bool */;
7897 int cltype22;
7898 int idtype23;
7899 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7900 short int var24 /* : Bool */;
7901 int cltype25;
7902 int idtype26;
7903 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7904 short int var27 /* : Bool */;
7905 int cltype28;
7906 int idtype29;
7907 val* var_listnode7 /* var listnode7: nullable Object */;
7908 short int var30 /* : Bool */;
7909 int cltype31;
7910 int idtype32;
7911 val* var33 /* : Array[Object] */;
7912 val* var34 /* : Array[Object] */;
7913 val* var_listnode13 /* var listnode13: Array[Object] */;
7914 val* var_listnode12 /* var listnode12: nullable Object */;
7915 short int var35 /* : Bool */;
7916 int cltype36;
7917 int idtype37;
7918 val* var38 /* : Array[Object] */;
7919 val* var39 /* : AAnnotations */;
7920 val* var40 /* : null */;
7921 val* var41 /* : null */;
7922 val* var42 /* : null */;
7923 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
7924 val* var_listnode16 /* var listnode16: nullable Object */;
7925 short int var43 /* : Bool */;
7926 int cltype44;
7927 int idtype45;
7928 val* var46 /* : Array[Object] */;
7929 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
7930 short int var47 /* : Bool */;
7931 int cltype48;
7932 int idtype49;
7933 val* var50 /* : AStdClassdef */;
7934 val* var51 /* : null */;
7935 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7936 long var52 /* : Int */;
7937 long var53 /* : Int */;
7938 var_p = p0;
7939 var = NULL;
7940 var_node_list = var;
7941 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7942 var_nodearraylist13 = var1;
7943 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7944 var_nodearraylist12 = var2;
7945 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7946 var_nodearraylist11 = var3;
7947 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7948 var_nodearraylist10 = var4;
7949 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7950 var_nodearraylist9 = var5;
7951 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7952 var_nodearraylist8 = var6;
7953 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7954 var_nodearraylist7 = var7;
7955 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7956 var_nodearraylist6 = var8;
7957 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7958 var_nodearraylist5 = var9;
7959 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7960 var_nodearraylist4 = var10;
7961 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7962 var_nodearraylist3 = var11;
7963 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7964 var_nodearraylist2 = var12;
7965 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7966 var_nodearraylist1 = var13;
7967 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
7968 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
7969 var_listnode8 = var14;
7970 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
7971 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
7972 var_listnode17 = var15;
7973 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
7974 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
7975 var_listnode18 = var16;
7976 var_pdocnode2 = var_nodearraylist1;
7977 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7978 cltype = type_nullable_parser_nodes__ADoc.color;
7979 idtype = type_nullable_parser_nodes__ADoc.id;
7980 if(var_pdocnode2 == NULL) {
7981 var17 = 1;
7982 } else {
7983 if(cltype >= var_pdocnode2->type->table_size) {
7984 var17 = 0;
7985 } else {
7986 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
7987 }
7988 }
7989 if (!var17) {
7990 fprintf(stderr, "Runtime error: %s", "Assert failed");
7991 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8039);
7992 show_backtrace(1);
7993 }
7994 var_tkwredefnode3 = var_nodearraylist2;
7995 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7996 cltype19 = type_nullable_parser_nodes__TKwredef.color;
7997 idtype20 = type_nullable_parser_nodes__TKwredef.id;
7998 if(var_tkwredefnode3 == NULL) {
7999 var18 = 1;
8000 } else {
8001 if(cltype19 >= var_tkwredefnode3->type->table_size) {
8002 var18 = 0;
8003 } else {
8004 var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20;
8005 }
8006 }
8007 if (!var18) {
8008 fprintf(stderr, "Runtime error: %s", "Assert failed");
8009 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8041);
8010 show_backtrace(1);
8011 }
8012 var_pvisibilitynode4 = var_nodearraylist3;
8013 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8014 cltype22 = type_nullable_parser_nodes__AVisibility.color;
8015 idtype23 = type_nullable_parser_nodes__AVisibility.id;
8016 if(var_pvisibilitynode4 == NULL) {
8017 var21 = 1;
8018 } else {
8019 if(cltype22 >= var_pvisibilitynode4->type->table_size) {
8020 var21 = 0;
8021 } else {
8022 var21 = var_pvisibilitynode4->type->type_table[cltype22] == idtype23;
8023 }
8024 }
8025 if (!var21) {
8026 fprintf(stderr, "Runtime error: %s", "Assert failed");
8027 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8043);
8028 show_backtrace(1);
8029 }
8030 var_pclasskindnode5 = var_nodearraylist4;
8031 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8032 cltype25 = type_nullable_parser_nodes__AClasskind.color;
8033 idtype26 = type_nullable_parser_nodes__AClasskind.id;
8034 if(var_pclasskindnode5 == NULL) {
8035 var24 = 1;
8036 } else {
8037 if(cltype25 >= var_pclasskindnode5->type->table_size) {
8038 var24 = 0;
8039 } else {
8040 var24 = var_pclasskindnode5->type->type_table[cltype25] == idtype26;
8041 }
8042 }
8043 if (!var24) {
8044 fprintf(stderr, "Runtime error: %s", "Assert failed");
8045 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8045);
8046 show_backtrace(1);
8047 }
8048 var_tclassidnode6 = var_nodearraylist8;
8049 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8050 cltype28 = type_nullable_parser_nodes__TClassid.color;
8051 idtype29 = type_nullable_parser_nodes__TClassid.id;
8052 if(var_tclassidnode6 == NULL) {
8053 var27 = 1;
8054 } else {
8055 if(cltype28 >= var_tclassidnode6->type->table_size) {
8056 var27 = 0;
8057 } else {
8058 var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29;
8059 }
8060 }
8061 if (!var27) {
8062 fprintf(stderr, "Runtime error: %s", "Assert failed");
8063 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8047);
8064 show_backtrace(1);
8065 }
8066 var_listnode7 = var_nodearraylist9;
8067 /* <var_listnode7:nullable Object> isa Array[Object] */
8068 cltype31 = type_array__Arraykernel__Object.color;
8069 idtype32 = type_array__Arraykernel__Object.id;
8070 if(var_listnode7 == NULL) {
8071 var30 = 0;
8072 } else {
8073 if(cltype31 >= var_listnode7->type->table_size) {
8074 var30 = 0;
8075 } else {
8076 var30 = var_listnode7->type->type_table[cltype31] == idtype32;
8077 }
8078 }
8079 if (!var30) {
8080 fprintf(stderr, "Runtime error: %s", "Assert failed");
8081 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8049);
8082 show_backtrace(1);
8083 }
8084 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction167>*/;
8085 var_listnode8 = var33;
8086 var34 = NEW_array__Array(&type_array__Arraykernel__Object);
8087 ((void (*)(val*))(var34->class->vft[COLOR_array__Array__init]))(var34) /* init on <var34:Array[Object]>*/;
8088 var_listnode13 = var34;
8089 var_listnode12 = var_nodearraylist10;
8090 /* <var_listnode12:nullable Object> isa Array[Object] */
8091 cltype36 = type_array__Arraykernel__Object.color;
8092 idtype37 = type_array__Arraykernel__Object.id;
8093 if(var_listnode12 == NULL) {
8094 var35 = 0;
8095 } else {
8096 if(cltype36 >= var_listnode12->type->table_size) {
8097 var35 = 0;
8098 } else {
8099 var35 = var_listnode12->type->type_table[cltype36] == idtype37;
8100 }
8101 }
8102 if (!var35) {
8103 fprintf(stderr, "Runtime error: %s", "Assert failed");
8104 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8053);
8105 show_backtrace(1);
8106 }
8107 var38 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction167>*/;
8108 var_listnode13 = var38;
8109 var39 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
8110 var40 = NULL;
8111 var41 = NULL;
8112 var42 = NULL;
8113 ((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>*/;
8114 var_pannotationsnode9 = var39;
8115 var_listnode16 = var_nodearraylist11;
8116 /* <var_listnode16:nullable Object> isa Array[Object] */
8117 cltype44 = type_array__Arraykernel__Object.color;
8118 idtype45 = type_array__Arraykernel__Object.id;
8119 if(var_listnode16 == NULL) {
8120 var43 = 0;
8121 } else {
8122 if(cltype44 >= var_listnode16->type->table_size) {
8123 var43 = 0;
8124 } else {
8125 var43 = var_listnode16->type->type_table[cltype44] == idtype45;
8126 }
8127 }
8128 if (!var43) {
8129 fprintf(stderr, "Runtime error: %s", "Assert failed");
8130 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8062);
8131 show_backtrace(1);
8132 }
8133 var46 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction167>*/;
8134 var_listnode17 = var46;
8135 var_tkwendnode19 = var_nodearraylist13;
8136 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
8137 cltype48 = type_nullable_parser_nodes__TKwend.color;
8138 idtype49 = type_nullable_parser_nodes__TKwend.id;
8139 if(var_tkwendnode19 == NULL) {
8140 var47 = 1;
8141 } else {
8142 if(cltype48 >= var_tkwendnode19->type->table_size) {
8143 var47 = 0;
8144 } else {
8145 var47 = var_tkwendnode19->type->type_table[cltype48] == idtype49;
8146 }
8147 }
8148 if (!var47) {
8149 fprintf(stderr, "Runtime error: %s", "Assert failed");
8150 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8065);
8151 show_backtrace(1);
8152 }
8153 var50 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8154 var51 = NULL;
8155 ((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, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var51, var_listnode17, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var50:AStdClassdef>*/;
8156 var_pclassdefnode1 = var50;
8157 var_node_list = var_pclassdefnode1;
8158 var52 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction167> */
8159 var53 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var52) /* go_to on <var_p:Parser>*/;
8160 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var53, var_node_list) /* push on <var_p:Parser>*/;
8161 RET_LABEL:;
8162 }
8163 /* method parser#ReduceAction167#action for (self: Object, Parser) */
8164 void VIRTUAL_parser__ReduceAction167__action(val* self, val* p0) {
8165 parser__ReduceAction167__action(self, p0);
8166 RET_LABEL:;
8167 }
8168 /* method parser#ReduceAction169#action for (self: ReduceAction169, Parser) */
8169 void parser__ReduceAction169__action(val* self, val* p0) {
8170 val* var_p /* var p: Parser */;
8171 val* var /* : null */;
8172 val* var_node_list /* var node_list: nullable Object */;
8173 val* var1 /* : nullable Object */;
8174 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8175 val* var2 /* : nullable Object */;
8176 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8177 val* var3 /* : nullable Object */;
8178 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8179 val* var4 /* : nullable Object */;
8180 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8181 val* var5 /* : nullable Object */;
8182 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8183 val* var6 /* : nullable Object */;
8184 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8185 val* var7 /* : nullable Object */;
8186 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8187 val* var8 /* : nullable Object */;
8188 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8189 val* var9 /* : nullable Object */;
8190 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8191 val* var10 /* : Array[Object] */;
8192 val* var_listnode7 /* var listnode7: Array[Object] */;
8193 val* var11 /* : Array[Object] */;
8194 val* var_listnode11 /* var listnode11: Array[Object] */;
8195 val* var12 /* : Array[Object] */;
8196 val* var_listnode12 /* var listnode12: Array[Object] */;
8197 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8198 short int var13 /* : Bool */;
8199 int cltype;
8200 int idtype;
8201 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8202 short int var14 /* : Bool */;
8203 int cltype15;
8204 int idtype16;
8205 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8206 short int var17 /* : Bool */;
8207 int cltype18;
8208 int idtype19;
8209 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8210 short int var20 /* : Bool */;
8211 int cltype21;
8212 int idtype22;
8213 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
8214 short int var23 /* : Bool */;
8215 int cltype24;
8216 int idtype25;
8217 val* var_listnode10 /* var listnode10: nullable Object */;
8218 short int var26 /* : Bool */;
8219 int cltype27;
8220 int idtype28;
8221 val* var29 /* : Array[Object] */;
8222 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
8223 short int var30 /* : Bool */;
8224 int cltype31;
8225 int idtype32;
8226 val* var33 /* : AStdClassdef */;
8227 val* var34 /* : null */;
8228 val* var35 /* : null */;
8229 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8230 long var36 /* : Int */;
8231 long var37 /* : Int */;
8232 var_p = p0;
8233 var = NULL;
8234 var_node_list = var;
8235 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8236 var_nodearraylist9 = var1;
8237 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8238 var_nodearraylist8 = var2;
8239 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8240 var_nodearraylist7 = var3;
8241 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8242 var_nodearraylist6 = var4;
8243 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8244 var_nodearraylist5 = var5;
8245 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8246 var_nodearraylist4 = var6;
8247 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8248 var_nodearraylist3 = var7;
8249 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8250 var_nodearraylist2 = var8;
8251 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8252 var_nodearraylist1 = var9;
8253 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
8254 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
8255 var_listnode7 = var10;
8256 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
8257 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
8258 var_listnode11 = var11;
8259 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
8260 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
8261 var_listnode12 = var12;
8262 var_pdocnode2 = var_nodearraylist1;
8263 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8264 cltype = type_nullable_parser_nodes__ADoc.color;
8265 idtype = type_nullable_parser_nodes__ADoc.id;
8266 if(var_pdocnode2 == NULL) {
8267 var13 = 1;
8268 } else {
8269 if(cltype >= var_pdocnode2->type->table_size) {
8270 var13 = 0;
8271 } else {
8272 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
8273 }
8274 }
8275 if (!var13) {
8276 fprintf(stderr, "Runtime error: %s", "Assert failed");
8277 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8101);
8278 show_backtrace(1);
8279 }
8280 var_pvisibilitynode4 = var_nodearraylist2;
8281 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8282 cltype15 = type_nullable_parser_nodes__AVisibility.color;
8283 idtype16 = type_nullable_parser_nodes__AVisibility.id;
8284 if(var_pvisibilitynode4 == NULL) {
8285 var14 = 1;
8286 } else {
8287 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
8288 var14 = 0;
8289 } else {
8290 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
8291 }
8292 }
8293 if (!var14) {
8294 fprintf(stderr, "Runtime error: %s", "Assert failed");
8295 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8103);
8296 show_backtrace(1);
8297 }
8298 var_pclasskindnode5 = var_nodearraylist3;
8299 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8300 cltype18 = type_nullable_parser_nodes__AClasskind.color;
8301 idtype19 = type_nullable_parser_nodes__AClasskind.id;
8302 if(var_pclasskindnode5 == NULL) {
8303 var17 = 1;
8304 } else {
8305 if(cltype18 >= var_pclasskindnode5->type->table_size) {
8306 var17 = 0;
8307 } else {
8308 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
8309 }
8310 }
8311 if (!var17) {
8312 fprintf(stderr, "Runtime error: %s", "Assert failed");
8313 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8105);
8314 show_backtrace(1);
8315 }
8316 var_tclassidnode6 = var_nodearraylist5;
8317 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8318 cltype21 = type_nullable_parser_nodes__TClassid.color;
8319 idtype22 = type_nullable_parser_nodes__TClassid.id;
8320 if(var_tclassidnode6 == NULL) {
8321 var20 = 1;
8322 } else {
8323 if(cltype21 >= var_tclassidnode6->type->table_size) {
8324 var20 = 0;
8325 } else {
8326 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
8327 }
8328 }
8329 if (!var20) {
8330 fprintf(stderr, "Runtime error: %s", "Assert failed");
8331 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8107);
8332 show_backtrace(1);
8333 }
8334 var_pexterncodeblocknode9 = var_nodearraylist6;
8335 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
8336 cltype24 = type_nullable_parser_nodes__AExternCodeBlock.color;
8337 idtype25 = type_nullable_parser_nodes__AExternCodeBlock.id;
8338 if(var_pexterncodeblocknode9 == NULL) {
8339 var23 = 1;
8340 } else {
8341 if(cltype24 >= var_pexterncodeblocknode9->type->table_size) {
8342 var23 = 0;
8343 } else {
8344 var23 = var_pexterncodeblocknode9->type->type_table[cltype24] == idtype25;
8345 }
8346 }
8347 if (!var23) {
8348 fprintf(stderr, "Runtime error: %s", "Assert failed");
8349 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8109);
8350 show_backtrace(1);
8351 }
8352 var_listnode10 = var_nodearraylist7;
8353 /* <var_listnode10:nullable Object> isa Array[Object] */
8354 cltype27 = type_array__Arraykernel__Object.color;
8355 idtype28 = type_array__Arraykernel__Object.id;
8356 if(var_listnode10 == NULL) {
8357 var26 = 0;
8358 } else {
8359 if(cltype27 >= var_listnode10->type->table_size) {
8360 var26 = 0;
8361 } else {
8362 var26 = var_listnode10->type->type_table[cltype27] == idtype28;
8363 }
8364 }
8365 if (!var26) {
8366 fprintf(stderr, "Runtime error: %s", "Assert failed");
8367 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8111);
8368 show_backtrace(1);
8369 }
8370 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction169>*/;
8371 var_listnode11 = var29;
8372 var_tkwendnode13 = var_nodearraylist9;
8373 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
8374 cltype31 = type_nullable_parser_nodes__TKwend.color;
8375 idtype32 = type_nullable_parser_nodes__TKwend.id;
8376 if(var_tkwendnode13 == NULL) {
8377 var30 = 1;
8378 } else {
8379 if(cltype31 >= var_tkwendnode13->type->table_size) {
8380 var30 = 0;
8381 } else {
8382 var30 = var_tkwendnode13->type->type_table[cltype31] == idtype32;
8383 }
8384 }
8385 if (!var30) {
8386 fprintf(stderr, "Runtime error: %s", "Assert failed");
8387 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8114);
8388 show_backtrace(1);
8389 }
8390 var33 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8391 var34 = NULL;
8392 var35 = NULL;
8393 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var33, var_pdocnode2, var34, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var35, var_pexterncodeblocknode9, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var33:AStdClassdef>*/;
8394 var_pclassdefnode1 = var33;
8395 var_node_list = var_pclassdefnode1;
8396 var36 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction169> */
8397 var37 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var36) /* go_to on <var_p:Parser>*/;
8398 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var37, var_node_list) /* push on <var_p:Parser>*/;
8399 RET_LABEL:;
8400 }
8401 /* method parser#ReduceAction169#action for (self: Object, Parser) */
8402 void VIRTUAL_parser__ReduceAction169__action(val* self, val* p0) {
8403 parser__ReduceAction169__action(self, p0);
8404 RET_LABEL:;
8405 }
8406 /* method parser#ReduceAction170#action for (self: ReduceAction170, Parser) */
8407 void parser__ReduceAction170__action(val* self, val* p0) {
8408 val* var_p /* var p: Parser */;
8409 val* var /* : null */;
8410 val* var_node_list /* var node_list: nullable Object */;
8411 val* var1 /* : nullable Object */;
8412 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8413 val* var2 /* : nullable Object */;
8414 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8415 val* var3 /* : nullable Object */;
8416 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8417 val* var4 /* : nullable Object */;
8418 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8419 val* var5 /* : nullable Object */;
8420 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8421 val* var6 /* : nullable Object */;
8422 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8423 val* var7 /* : nullable Object */;
8424 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8425 val* var8 /* : nullable Object */;
8426 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8427 val* var9 /* : nullable Object */;
8428 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8429 val* var10 /* : nullable Object */;
8430 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8431 val* var11 /* : Array[Object] */;
8432 val* var_listnode7 /* var listnode7: Array[Object] */;
8433 val* var12 /* : Array[Object] */;
8434 val* var_listnode11 /* var listnode11: Array[Object] */;
8435 val* var13 /* : Array[Object] */;
8436 val* var_listnode12 /* var listnode12: Array[Object] */;
8437 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8438 short int var14 /* : Bool */;
8439 int cltype;
8440 int idtype;
8441 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
8442 short int var15 /* : Bool */;
8443 int cltype16;
8444 int idtype17;
8445 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8446 short int var18 /* : Bool */;
8447 int cltype19;
8448 int idtype20;
8449 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8450 short int var21 /* : Bool */;
8451 int cltype22;
8452 int idtype23;
8453 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8454 short int var24 /* : Bool */;
8455 int cltype25;
8456 int idtype26;
8457 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
8458 short int var27 /* : Bool */;
8459 int cltype28;
8460 int idtype29;
8461 val* var_listnode10 /* var listnode10: nullable Object */;
8462 short int var30 /* : Bool */;
8463 int cltype31;
8464 int idtype32;
8465 val* var33 /* : Array[Object] */;
8466 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
8467 short int var34 /* : Bool */;
8468 int cltype35;
8469 int idtype36;
8470 val* var37 /* : AStdClassdef */;
8471 val* var38 /* : null */;
8472 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8473 long var39 /* : Int */;
8474 long var40 /* : Int */;
8475 var_p = p0;
8476 var = NULL;
8477 var_node_list = var;
8478 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8479 var_nodearraylist10 = var1;
8480 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8481 var_nodearraylist9 = var2;
8482 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8483 var_nodearraylist8 = var3;
8484 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8485 var_nodearraylist7 = var4;
8486 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8487 var_nodearraylist6 = var5;
8488 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8489 var_nodearraylist5 = var6;
8490 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8491 var_nodearraylist4 = var7;
8492 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8493 var_nodearraylist3 = var8;
8494 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8495 var_nodearraylist2 = var9;
8496 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8497 var_nodearraylist1 = var10;
8498 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
8499 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
8500 var_listnode7 = var11;
8501 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
8502 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
8503 var_listnode11 = var12;
8504 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
8505 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
8506 var_listnode12 = var13;
8507 var_pdocnode2 = var_nodearraylist1;
8508 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8509 cltype = type_nullable_parser_nodes__ADoc.color;
8510 idtype = type_nullable_parser_nodes__ADoc.id;
8511 if(var_pdocnode2 == NULL) {
8512 var14 = 1;
8513 } else {
8514 if(cltype >= var_pdocnode2->type->table_size) {
8515 var14 = 0;
8516 } else {
8517 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
8518 }
8519 }
8520 if (!var14) {
8521 fprintf(stderr, "Runtime error: %s", "Assert failed");
8522 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8151);
8523 show_backtrace(1);
8524 }
8525 var_tkwredefnode3 = var_nodearraylist2;
8526 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8527 cltype16 = type_nullable_parser_nodes__TKwredef.color;
8528 idtype17 = type_nullable_parser_nodes__TKwredef.id;
8529 if(var_tkwredefnode3 == NULL) {
8530 var15 = 1;
8531 } else {
8532 if(cltype16 >= var_tkwredefnode3->type->table_size) {
8533 var15 = 0;
8534 } else {
8535 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
8536 }
8537 }
8538 if (!var15) {
8539 fprintf(stderr, "Runtime error: %s", "Assert failed");
8540 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8153);
8541 show_backtrace(1);
8542 }
8543 var_pvisibilitynode4 = var_nodearraylist3;
8544 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8545 cltype19 = type_nullable_parser_nodes__AVisibility.color;
8546 idtype20 = type_nullable_parser_nodes__AVisibility.id;
8547 if(var_pvisibilitynode4 == NULL) {
8548 var18 = 1;
8549 } else {
8550 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
8551 var18 = 0;
8552 } else {
8553 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
8554 }
8555 }
8556 if (!var18) {
8557 fprintf(stderr, "Runtime error: %s", "Assert failed");
8558 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8155);
8559 show_backtrace(1);
8560 }
8561 var_pclasskindnode5 = var_nodearraylist4;
8562 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8563 cltype22 = type_nullable_parser_nodes__AClasskind.color;
8564 idtype23 = type_nullable_parser_nodes__AClasskind.id;
8565 if(var_pclasskindnode5 == NULL) {
8566 var21 = 1;
8567 } else {
8568 if(cltype22 >= var_pclasskindnode5->type->table_size) {
8569 var21 = 0;
8570 } else {
8571 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
8572 }
8573 }
8574 if (!var21) {
8575 fprintf(stderr, "Runtime error: %s", "Assert failed");
8576 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8157);
8577 show_backtrace(1);
8578 }
8579 var_tclassidnode6 = var_nodearraylist6;
8580 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8581 cltype25 = type_nullable_parser_nodes__TClassid.color;
8582 idtype26 = type_nullable_parser_nodes__TClassid.id;
8583 if(var_tclassidnode6 == NULL) {
8584 var24 = 1;
8585 } else {
8586 if(cltype25 >= var_tclassidnode6->type->table_size) {
8587 var24 = 0;
8588 } else {
8589 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
8590 }
8591 }
8592 if (!var24) {
8593 fprintf(stderr, "Runtime error: %s", "Assert failed");
8594 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8159);
8595 show_backtrace(1);
8596 }
8597 var_pexterncodeblocknode9 = var_nodearraylist7;
8598 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
8599 cltype28 = type_nullable_parser_nodes__AExternCodeBlock.color;
8600 idtype29 = type_nullable_parser_nodes__AExternCodeBlock.id;
8601 if(var_pexterncodeblocknode9 == NULL) {
8602 var27 = 1;
8603 } else {
8604 if(cltype28 >= var_pexterncodeblocknode9->type->table_size) {
8605 var27 = 0;
8606 } else {
8607 var27 = var_pexterncodeblocknode9->type->type_table[cltype28] == idtype29;
8608 }
8609 }
8610 if (!var27) {
8611 fprintf(stderr, "Runtime error: %s", "Assert failed");
8612 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8161);
8613 show_backtrace(1);
8614 }
8615 var_listnode10 = var_nodearraylist8;
8616 /* <var_listnode10:nullable Object> isa Array[Object] */
8617 cltype31 = type_array__Arraykernel__Object.color;
8618 idtype32 = type_array__Arraykernel__Object.id;
8619 if(var_listnode10 == NULL) {
8620 var30 = 0;
8621 } else {
8622 if(cltype31 >= var_listnode10->type->table_size) {
8623 var30 = 0;
8624 } else {
8625 var30 = var_listnode10->type->type_table[cltype31] == idtype32;
8626 }
8627 }
8628 if (!var30) {
8629 fprintf(stderr, "Runtime error: %s", "Assert failed");
8630 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8163);
8631 show_backtrace(1);
8632 }
8633 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction170>*/;
8634 var_listnode11 = var33;
8635 var_tkwendnode13 = var_nodearraylist10;
8636 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
8637 cltype35 = type_nullable_parser_nodes__TKwend.color;
8638 idtype36 = type_nullable_parser_nodes__TKwend.id;
8639 if(var_tkwendnode13 == NULL) {
8640 var34 = 1;
8641 } else {
8642 if(cltype35 >= var_tkwendnode13->type->table_size) {
8643 var34 = 0;
8644 } else {
8645 var34 = var_tkwendnode13->type->type_table[cltype35] == idtype36;
8646 }
8647 }
8648 if (!var34) {
8649 fprintf(stderr, "Runtime error: %s", "Assert failed");
8650 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8166);
8651 show_backtrace(1);
8652 }
8653 var37 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8654 var38 = NULL;
8655 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var37->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var37, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var38, var_pexterncodeblocknode9, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var37:AStdClassdef>*/;
8656 var_pclassdefnode1 = var37;
8657 var_node_list = var_pclassdefnode1;
8658 var39 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction170> */
8659 var40 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var39) /* go_to on <var_p:Parser>*/;
8660 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var40, var_node_list) /* push on <var_p:Parser>*/;
8661 RET_LABEL:;
8662 }
8663 /* method parser#ReduceAction170#action for (self: Object, Parser) */
8664 void VIRTUAL_parser__ReduceAction170__action(val* self, val* p0) {
8665 parser__ReduceAction170__action(self, p0);
8666 RET_LABEL:;
8667 }
8668 /* method parser#ReduceAction171#action for (self: ReduceAction171, Parser) */
8669 void parser__ReduceAction171__action(val* self, val* p0) {
8670 val* var_p /* var p: Parser */;
8671 val* var /* : null */;
8672 val* var_node_list /* var node_list: nullable Object */;
8673 val* var1 /* : nullable Object */;
8674 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8675 val* var2 /* : nullable Object */;
8676 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8677 val* var3 /* : nullable Object */;
8678 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8679 val* var4 /* : nullable Object */;
8680 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8681 val* var5 /* : nullable Object */;
8682 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8683 val* var6 /* : nullable Object */;
8684 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8685 val* var7 /* : nullable Object */;
8686 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8687 val* var8 /* : nullable Object */;
8688 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8689 val* var9 /* : nullable Object */;
8690 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8691 val* var10 /* : nullable Object */;
8692 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8693 val* var11 /* : Array[Object] */;
8694 val* var_listnode7 /* var listnode7: Array[Object] */;
8695 val* var12 /* : Array[Object] */;
8696 val* var_listnode11 /* var listnode11: Array[Object] */;
8697 val* var13 /* : Array[Object] */;
8698 val* var_listnode12 /* var listnode12: Array[Object] */;
8699 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8700 short int var14 /* : Bool */;
8701 int cltype;
8702 int idtype;
8703 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8704 short int var15 /* : Bool */;
8705 int cltype16;
8706 int idtype17;
8707 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8708 short int var18 /* : Bool */;
8709 int cltype19;
8710 int idtype20;
8711 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8712 short int var21 /* : Bool */;
8713 int cltype22;
8714 int idtype23;
8715 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
8716 short int var24 /* : Bool */;
8717 int cltype25;
8718 int idtype26;
8719 val* var_listnode10 /* var listnode10: nullable Object */;
8720 short int var27 /* : Bool */;
8721 int cltype28;
8722 int idtype29;
8723 val* var30 /* : Array[Object] */;
8724 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
8725 short int var31 /* : Bool */;
8726 int cltype32;
8727 int idtype33;
8728 val* var34 /* : AStdClassdef */;
8729 val* var35 /* : null */;
8730 val* var36 /* : null */;
8731 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8732 long var37 /* : Int */;
8733 long var38 /* : Int */;
8734 var_p = p0;
8735 var = NULL;
8736 var_node_list = var;
8737 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8738 var_nodearraylist10 = var1;
8739 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8740 var_nodearraylist9 = var2;
8741 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8742 var_nodearraylist8 = var3;
8743 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8744 var_nodearraylist7 = var4;
8745 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8746 var_nodearraylist6 = var5;
8747 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8748 var_nodearraylist5 = var6;
8749 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8750 var_nodearraylist4 = var7;
8751 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8752 var_nodearraylist3 = var8;
8753 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8754 var_nodearraylist2 = var9;
8755 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8756 var_nodearraylist1 = var10;
8757 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
8758 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
8759 var_listnode7 = var11;
8760 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
8761 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
8762 var_listnode11 = var12;
8763 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
8764 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
8765 var_listnode12 = var13;
8766 var_pdocnode2 = var_nodearraylist1;
8767 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8768 cltype = type_nullable_parser_nodes__ADoc.color;
8769 idtype = type_nullable_parser_nodes__ADoc.id;
8770 if(var_pdocnode2 == NULL) {
8771 var14 = 1;
8772 } else {
8773 if(cltype >= var_pdocnode2->type->table_size) {
8774 var14 = 0;
8775 } else {
8776 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
8777 }
8778 }
8779 if (!var14) {
8780 fprintf(stderr, "Runtime error: %s", "Assert failed");
8781 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8203);
8782 show_backtrace(1);
8783 }
8784 var_pvisibilitynode4 = var_nodearraylist2;
8785 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8786 cltype16 = type_nullable_parser_nodes__AVisibility.color;
8787 idtype17 = type_nullable_parser_nodes__AVisibility.id;
8788 if(var_pvisibilitynode4 == NULL) {
8789 var15 = 1;
8790 } else {
8791 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
8792 var15 = 0;
8793 } else {
8794 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
8795 }
8796 }
8797 if (!var15) {
8798 fprintf(stderr, "Runtime error: %s", "Assert failed");
8799 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8205);
8800 show_backtrace(1);
8801 }
8802 var_pclasskindnode5 = var_nodearraylist3;
8803 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8804 cltype19 = type_nullable_parser_nodes__AClasskind.color;
8805 idtype20 = type_nullable_parser_nodes__AClasskind.id;
8806 if(var_pclasskindnode5 == NULL) {
8807 var18 = 1;
8808 } else {
8809 if(cltype19 >= var_pclasskindnode5->type->table_size) {
8810 var18 = 0;
8811 } else {
8812 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
8813 }
8814 }
8815 if (!var18) {
8816 fprintf(stderr, "Runtime error: %s", "Assert failed");
8817 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8207);
8818 show_backtrace(1);
8819 }
8820 var_tclassidnode6 = var_nodearraylist6;
8821 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8822 cltype22 = type_nullable_parser_nodes__TClassid.color;
8823 idtype23 = type_nullable_parser_nodes__TClassid.id;
8824 if(var_tclassidnode6 == NULL) {
8825 var21 = 1;
8826 } else {
8827 if(cltype22 >= var_tclassidnode6->type->table_size) {
8828 var21 = 0;
8829 } else {
8830 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
8831 }
8832 }
8833 if (!var21) {
8834 fprintf(stderr, "Runtime error: %s", "Assert failed");
8835 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8209);
8836 show_backtrace(1);
8837 }
8838 var_pexterncodeblocknode9 = var_nodearraylist7;
8839 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
8840 cltype25 = type_nullable_parser_nodes__AExternCodeBlock.color;
8841 idtype26 = type_nullable_parser_nodes__AExternCodeBlock.id;
8842 if(var_pexterncodeblocknode9 == NULL) {
8843 var24 = 1;
8844 } else {
8845 if(cltype25 >= var_pexterncodeblocknode9->type->table_size) {
8846 var24 = 0;
8847 } else {
8848 var24 = var_pexterncodeblocknode9->type->type_table[cltype25] == idtype26;
8849 }
8850 }
8851 if (!var24) {
8852 fprintf(stderr, "Runtime error: %s", "Assert failed");
8853 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8211);
8854 show_backtrace(1);
8855 }
8856 var_listnode10 = var_nodearraylist8;
8857 /* <var_listnode10:nullable Object> isa Array[Object] */
8858 cltype28 = type_array__Arraykernel__Object.color;
8859 idtype29 = type_array__Arraykernel__Object.id;
8860 if(var_listnode10 == NULL) {
8861 var27 = 0;
8862 } else {
8863 if(cltype28 >= var_listnode10->type->table_size) {
8864 var27 = 0;
8865 } else {
8866 var27 = var_listnode10->type->type_table[cltype28] == idtype29;
8867 }
8868 }
8869 if (!var27) {
8870 fprintf(stderr, "Runtime error: %s", "Assert failed");
8871 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8213);
8872 show_backtrace(1);
8873 }
8874 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction171>*/;
8875 var_listnode11 = var30;
8876 var_tkwendnode13 = var_nodearraylist10;
8877 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
8878 cltype32 = type_nullable_parser_nodes__TKwend.color;
8879 idtype33 = type_nullable_parser_nodes__TKwend.id;
8880 if(var_tkwendnode13 == NULL) {
8881 var31 = 1;
8882 } else {
8883 if(cltype32 >= var_tkwendnode13->type->table_size) {
8884 var31 = 0;
8885 } else {
8886 var31 = var_tkwendnode13->type->type_table[cltype32] == idtype33;
8887 }
8888 }
8889 if (!var31) {
8890 fprintf(stderr, "Runtime error: %s", "Assert failed");
8891 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8216);
8892 show_backtrace(1);
8893 }
8894 var34 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8895 var35 = NULL;
8896 var36 = NULL;
8897 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var34->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var34, var_pdocnode2, var35, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var36, var_pexterncodeblocknode9, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var34:AStdClassdef>*/;
8898 var_pclassdefnode1 = var34;
8899 var_node_list = var_pclassdefnode1;
8900 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction171> */
8901 var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on <var_p:Parser>*/;
8902 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on <var_p:Parser>*/;
8903 RET_LABEL:;
8904 }
8905 /* method parser#ReduceAction171#action for (self: Object, Parser) */
8906 void VIRTUAL_parser__ReduceAction171__action(val* self, val* p0) {
8907 parser__ReduceAction171__action(self, p0);
8908 RET_LABEL:;
8909 }
8910 /* method parser#ReduceAction172#action for (self: ReduceAction172, Parser) */
8911 void parser__ReduceAction172__action(val* self, val* p0) {
8912 val* var_p /* var p: Parser */;
8913 val* var /* : null */;
8914 val* var_node_list /* var node_list: nullable Object */;
8915 val* var1 /* : nullable Object */;
8916 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
8917 val* var2 /* : nullable Object */;
8918 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8919 val* var3 /* : nullable Object */;
8920 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8921 val* var4 /* : nullable Object */;
8922 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8923 val* var5 /* : nullable Object */;
8924 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8925 val* var6 /* : nullable Object */;
8926 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8927 val* var7 /* : nullable Object */;
8928 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8929 val* var8 /* : nullable Object */;
8930 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8931 val* var9 /* : nullable Object */;
8932 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8933 val* var10 /* : nullable Object */;
8934 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8935 val* var11 /* : nullable Object */;
8936 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8937 val* var12 /* : Array[Object] */;
8938 val* var_listnode7 /* var listnode7: Array[Object] */;
8939 val* var13 /* : Array[Object] */;
8940 val* var_listnode11 /* var listnode11: Array[Object] */;
8941 val* var14 /* : Array[Object] */;
8942 val* var_listnode12 /* var listnode12: Array[Object] */;
8943 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8944 short int var15 /* : Bool */;
8945 int cltype;
8946 int idtype;
8947 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8948 short int var16 /* : Bool */;
8949 int cltype17;
8950 int idtype18;
8951 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8952 short int var19 /* : Bool */;
8953 int cltype20;
8954 int idtype21;
8955 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8956 short int var22 /* : Bool */;
8957 int cltype23;
8958 int idtype24;
8959 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
8960 short int var25 /* : Bool */;
8961 int cltype26;
8962 int idtype27;
8963 val* var_listnode10 /* var listnode10: nullable Object */;
8964 short int var28 /* : Bool */;
8965 int cltype29;
8966 int idtype30;
8967 val* var31 /* : Array[Object] */;
8968 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
8969 short int var32 /* : Bool */;
8970 int cltype33;
8971 int idtype34;
8972 val* var35 /* : AStdClassdef */;
8973 val* var36 /* : null */;
8974 val* var37 /* : null */;
8975 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8976 long var38 /* : Int */;
8977 long var39 /* : Int */;
8978 var_p = p0;
8979 var = NULL;
8980 var_node_list = var;
8981 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8982 var_nodearraylist11 = var1;
8983 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8984 var_nodearraylist10 = var2;
8985 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8986 var_nodearraylist9 = var3;
8987 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8988 var_nodearraylist8 = var4;
8989 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8990 var_nodearraylist7 = var5;
8991 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8992 var_nodearraylist6 = var6;
8993 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8994 var_nodearraylist5 = var7;
8995 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8996 var_nodearraylist4 = var8;
8997 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8998 var_nodearraylist3 = var9;
8999 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9000 var_nodearraylist2 = var10;
9001 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9002 var_nodearraylist1 = var11;
9003 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
9004 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
9005 var_listnode7 = var12;
9006 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
9007 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
9008 var_listnode11 = var13;
9009 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
9010 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
9011 var_listnode12 = var14;
9012 var_pdocnode2 = var_nodearraylist1;
9013 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9014 cltype = type_nullable_parser_nodes__ADoc.color;
9015 idtype = type_nullable_parser_nodes__ADoc.id;
9016 if(var_pdocnode2 == NULL) {
9017 var15 = 1;
9018 } else {
9019 if(cltype >= var_pdocnode2->type->table_size) {
9020 var15 = 0;
9021 } else {
9022 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
9023 }
9024 }
9025 if (!var15) {
9026 fprintf(stderr, "Runtime error: %s", "Assert failed");
9027 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8254);
9028 show_backtrace(1);
9029 }
9030 var_pvisibilitynode4 = var_nodearraylist2;
9031 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9032 cltype17 = type_nullable_parser_nodes__AVisibility.color;
9033 idtype18 = type_nullable_parser_nodes__AVisibility.id;
9034 if(var_pvisibilitynode4 == NULL) {
9035 var16 = 1;
9036 } else {
9037 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
9038 var16 = 0;
9039 } else {
9040 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
9041 }
9042 }
9043 if (!var16) {
9044 fprintf(stderr, "Runtime error: %s", "Assert failed");
9045 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8256);
9046 show_backtrace(1);
9047 }
9048 var_pclasskindnode5 = var_nodearraylist3;
9049 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
9050 cltype20 = type_nullable_parser_nodes__AClasskind.color;
9051 idtype21 = type_nullable_parser_nodes__AClasskind.id;
9052 if(var_pclasskindnode5 == NULL) {
9053 var19 = 1;
9054 } else {
9055 if(cltype20 >= var_pclasskindnode5->type->table_size) {
9056 var19 = 0;
9057 } else {
9058 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
9059 }
9060 }
9061 if (!var19) {
9062 fprintf(stderr, "Runtime error: %s", "Assert failed");
9063 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8258);
9064 show_backtrace(1);
9065 }
9066 var_tclassidnode6 = var_nodearraylist7;
9067 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9068 cltype23 = type_nullable_parser_nodes__TClassid.color;
9069 idtype24 = type_nullable_parser_nodes__TClassid.id;
9070 if(var_tclassidnode6 == NULL) {
9071 var22 = 1;
9072 } else {
9073 if(cltype23 >= var_tclassidnode6->type->table_size) {
9074 var22 = 0;
9075 } else {
9076 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
9077 }
9078 }
9079 if (!var22) {
9080 fprintf(stderr, "Runtime error: %s", "Assert failed");
9081 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8260);
9082 show_backtrace(1);
9083 }
9084 var_pexterncodeblocknode9 = var_nodearraylist8;
9085 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
9086 cltype26 = type_nullable_parser_nodes__AExternCodeBlock.color;
9087 idtype27 = type_nullable_parser_nodes__AExternCodeBlock.id;
9088 if(var_pexterncodeblocknode9 == NULL) {
9089 var25 = 1;
9090 } else {
9091 if(cltype26 >= var_pexterncodeblocknode9->type->table_size) {
9092 var25 = 0;
9093 } else {
9094 var25 = var_pexterncodeblocknode9->type->type_table[cltype26] == idtype27;
9095 }
9096 }
9097 if (!var25) {
9098 fprintf(stderr, "Runtime error: %s", "Assert failed");
9099 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8262);
9100 show_backtrace(1);
9101 }
9102 var_listnode10 = var_nodearraylist9;
9103 /* <var_listnode10:nullable Object> isa Array[Object] */
9104 cltype29 = type_array__Arraykernel__Object.color;
9105 idtype30 = type_array__Arraykernel__Object.id;
9106 if(var_listnode10 == NULL) {
9107 var28 = 0;
9108 } else {
9109 if(cltype29 >= var_listnode10->type->table_size) {
9110 var28 = 0;
9111 } else {
9112 var28 = var_listnode10->type->type_table[cltype29] == idtype30;
9113 }
9114 }
9115 if (!var28) {
9116 fprintf(stderr, "Runtime error: %s", "Assert failed");
9117 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8264);
9118 show_backtrace(1);
9119 }
9120 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction172>*/;
9121 var_listnode11 = var31;
9122 var_tkwendnode13 = var_nodearraylist11;
9123 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
9124 cltype33 = type_nullable_parser_nodes__TKwend.color;
9125 idtype34 = type_nullable_parser_nodes__TKwend.id;
9126 if(var_tkwendnode13 == NULL) {
9127 var32 = 1;
9128 } else {
9129 if(cltype33 >= var_tkwendnode13->type->table_size) {
9130 var32 = 0;
9131 } else {
9132 var32 = var_tkwendnode13->type->type_table[cltype33] == idtype34;
9133 }
9134 }
9135 if (!var32) {
9136 fprintf(stderr, "Runtime error: %s", "Assert failed");
9137 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8267);
9138 show_backtrace(1);
9139 }
9140 var35 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9141 var36 = NULL;
9142 var37 = NULL;
9143 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var35->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var35, var_pdocnode2, var36, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var37, var_pexterncodeblocknode9, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var35:AStdClassdef>*/;
9144 var_pclassdefnode1 = var35;
9145 var_node_list = var_pclassdefnode1;
9146 var38 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction172> */
9147 var39 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var38) /* go_to on <var_p:Parser>*/;
9148 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var39, var_node_list) /* push on <var_p:Parser>*/;
9149 RET_LABEL:;
9150 }
9151 /* method parser#ReduceAction172#action for (self: Object, Parser) */
9152 void VIRTUAL_parser__ReduceAction172__action(val* self, val* p0) {
9153 parser__ReduceAction172__action(self, p0);
9154 RET_LABEL:;
9155 }
9156 /* method parser#ReduceAction174#action for (self: ReduceAction174, Parser) */
9157 void parser__ReduceAction174__action(val* self, val* p0) {
9158 val* var_p /* var p: Parser */;
9159 val* var /* : null */;
9160 val* var_node_list /* var node_list: nullable Object */;
9161 val* var1 /* : nullable Object */;
9162 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
9163 val* var2 /* : nullable Object */;
9164 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
9165 val* var3 /* : nullable Object */;
9166 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9167 val* var4 /* : nullable Object */;
9168 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9169 val* var5 /* : nullable Object */;
9170 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9171 val* var6 /* : nullable Object */;
9172 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9173 val* var7 /* : nullable Object */;
9174 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9175 val* var8 /* : nullable Object */;
9176 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9177 val* var9 /* : nullable Object */;
9178 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9179 val* var10 /* : nullable Object */;
9180 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9181 val* var11 /* : nullable Object */;
9182 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9183 val* var12 /* : Array[Object] */;
9184 val* var_listnode7 /* var listnode7: Array[Object] */;
9185 val* var13 /* : Array[Object] */;
9186 val* var_listnode11 /* var listnode11: Array[Object] */;
9187 val* var14 /* : Array[Object] */;
9188 val* var_listnode12 /* var listnode12: Array[Object] */;
9189 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9190 short int var15 /* : Bool */;
9191 int cltype;
9192 int idtype;
9193 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
9194 short int var16 /* : Bool */;
9195 int cltype17;
9196 int idtype18;
9197 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9198 short int var19 /* : Bool */;
9199 int cltype20;
9200 int idtype21;
9201 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
9202 short int var22 /* : Bool */;
9203 int cltype23;
9204 int idtype24;
9205 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9206 short int var25 /* : Bool */;
9207 int cltype26;
9208 int idtype27;
9209 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
9210 short int var28 /* : Bool */;
9211 int cltype29;
9212 int idtype30;
9213 val* var_listnode10 /* var listnode10: nullable Object */;
9214 short int var31 /* : Bool */;
9215 int cltype32;
9216 int idtype33;
9217 val* var34 /* : Array[Object] */;
9218 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
9219 short int var35 /* : Bool */;
9220 int cltype36;
9221 int idtype37;
9222 val* var38 /* : AStdClassdef */;
9223 val* var39 /* : null */;
9224 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
9225 long var40 /* : Int */;
9226 long var41 /* : Int */;
9227 var_p = p0;
9228 var = NULL;
9229 var_node_list = var;
9230 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9231 var_nodearraylist11 = var1;
9232 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9233 var_nodearraylist10 = var2;
9234 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9235 var_nodearraylist9 = var3;
9236 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9237 var_nodearraylist8 = var4;
9238 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9239 var_nodearraylist7 = var5;
9240 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9241 var_nodearraylist6 = var6;
9242 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9243 var_nodearraylist5 = var7;
9244 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9245 var_nodearraylist4 = var8;
9246 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9247 var_nodearraylist3 = var9;
9248 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9249 var_nodearraylist2 = var10;
9250 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9251 var_nodearraylist1 = var11;
9252 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
9253 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
9254 var_listnode7 = var12;
9255 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
9256 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
9257 var_listnode11 = var13;
9258 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
9259 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
9260 var_listnode12 = var14;
9261 var_pdocnode2 = var_nodearraylist1;
9262 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9263 cltype = type_nullable_parser_nodes__ADoc.color;
9264 idtype = type_nullable_parser_nodes__ADoc.id;
9265 if(var_pdocnode2 == NULL) {
9266 var15 = 1;
9267 } else {
9268 if(cltype >= var_pdocnode2->type->table_size) {
9269 var15 = 0;
9270 } else {
9271 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
9272 }
9273 }
9274 if (!var15) {
9275 fprintf(stderr, "Runtime error: %s", "Assert failed");
9276 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8305);
9277 show_backtrace(1);
9278 }
9279 var_tkwredefnode3 = var_nodearraylist2;
9280 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
9281 cltype17 = type_nullable_parser_nodes__TKwredef.color;
9282 idtype18 = type_nullable_parser_nodes__TKwredef.id;
9283 if(var_tkwredefnode3 == NULL) {
9284 var16 = 1;
9285 } else {
9286 if(cltype17 >= var_tkwredefnode3->type->table_size) {
9287 var16 = 0;
9288 } else {
9289 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
9290 }
9291 }
9292 if (!var16) {
9293 fprintf(stderr, "Runtime error: %s", "Assert failed");
9294 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8307);
9295 show_backtrace(1);
9296 }
9297 var_pvisibilitynode4 = var_nodearraylist3;
9298 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9299 cltype20 = type_nullable_parser_nodes__AVisibility.color;
9300 idtype21 = type_nullable_parser_nodes__AVisibility.id;
9301 if(var_pvisibilitynode4 == NULL) {
9302 var19 = 1;
9303 } else {
9304 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
9305 var19 = 0;
9306 } else {
9307 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
9308 }
9309 }
9310 if (!var19) {
9311 fprintf(stderr, "Runtime error: %s", "Assert failed");
9312 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8309);
9313 show_backtrace(1);
9314 }
9315 var_pclasskindnode5 = var_nodearraylist4;
9316 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
9317 cltype23 = type_nullable_parser_nodes__AClasskind.color;
9318 idtype24 = type_nullable_parser_nodes__AClasskind.id;
9319 if(var_pclasskindnode5 == NULL) {
9320 var22 = 1;
9321 } else {
9322 if(cltype23 >= var_pclasskindnode5->type->table_size) {
9323 var22 = 0;
9324 } else {
9325 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
9326 }
9327 }
9328 if (!var22) {
9329 fprintf(stderr, "Runtime error: %s", "Assert failed");
9330 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8311);
9331 show_backtrace(1);
9332 }
9333 var_tclassidnode6 = var_nodearraylist7;
9334 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9335 cltype26 = type_nullable_parser_nodes__TClassid.color;
9336 idtype27 = type_nullable_parser_nodes__TClassid.id;
9337 if(var_tclassidnode6 == NULL) {
9338 var25 = 1;
9339 } else {
9340 if(cltype26 >= var_tclassidnode6->type->table_size) {
9341 var25 = 0;
9342 } else {
9343 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
9344 }
9345 }
9346 if (!var25) {
9347 fprintf(stderr, "Runtime error: %s", "Assert failed");
9348 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8313);
9349 show_backtrace(1);
9350 }
9351 var_pexterncodeblocknode9 = var_nodearraylist8;
9352 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
9353 cltype29 = type_nullable_parser_nodes__AExternCodeBlock.color;
9354 idtype30 = type_nullable_parser_nodes__AExternCodeBlock.id;
9355 if(var_pexterncodeblocknode9 == NULL) {
9356 var28 = 1;
9357 } else {
9358 if(cltype29 >= var_pexterncodeblocknode9->type->table_size) {
9359 var28 = 0;
9360 } else {
9361 var28 = var_pexterncodeblocknode9->type->type_table[cltype29] == idtype30;
9362 }
9363 }
9364 if (!var28) {
9365 fprintf(stderr, "Runtime error: %s", "Assert failed");
9366 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8315);
9367 show_backtrace(1);
9368 }
9369 var_listnode10 = var_nodearraylist9;
9370 /* <var_listnode10:nullable Object> isa Array[Object] */
9371 cltype32 = type_array__Arraykernel__Object.color;
9372 idtype33 = type_array__Arraykernel__Object.id;
9373 if(var_listnode10 == NULL) {
9374 var31 = 0;
9375 } else {
9376 if(cltype32 >= var_listnode10->type->table_size) {
9377 var31 = 0;
9378 } else {
9379 var31 = var_listnode10->type->type_table[cltype32] == idtype33;
9380 }
9381 }
9382 if (!var31) {
9383 fprintf(stderr, "Runtime error: %s", "Assert failed");
9384 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8317);
9385 show_backtrace(1);
9386 }
9387 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction174>*/;
9388 var_listnode11 = var34;
9389 var_tkwendnode13 = var_nodearraylist11;
9390 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
9391 cltype36 = type_nullable_parser_nodes__TKwend.color;
9392 idtype37 = type_nullable_parser_nodes__TKwend.id;
9393 if(var_tkwendnode13 == NULL) {
9394 var35 = 1;
9395 } else {
9396 if(cltype36 >= var_tkwendnode13->type->table_size) {
9397 var35 = 0;
9398 } else {
9399 var35 = var_tkwendnode13->type->type_table[cltype36] == idtype37;
9400 }
9401 }
9402 if (!var35) {
9403 fprintf(stderr, "Runtime error: %s", "Assert failed");
9404 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8320);
9405 show_backtrace(1);
9406 }
9407 var38 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9408 var39 = NULL;
9409 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var38->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var38, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var39, var_pexterncodeblocknode9, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var38:AStdClassdef>*/;
9410 var_pclassdefnode1 = var38;
9411 var_node_list = var_pclassdefnode1;
9412 var40 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction174> */
9413 var41 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var40) /* go_to on <var_p:Parser>*/;
9414 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var41, var_node_list) /* push on <var_p:Parser>*/;
9415 RET_LABEL:;
9416 }
9417 /* method parser#ReduceAction174#action for (self: Object, Parser) */
9418 void VIRTUAL_parser__ReduceAction174__action(val* self, val* p0) {
9419 parser__ReduceAction174__action(self, p0);
9420 RET_LABEL:;
9421 }
9422 /* method parser#ReduceAction175#action for (self: ReduceAction175, Parser) */
9423 void parser__ReduceAction175__action(val* self, val* p0) {
9424 val* var_p /* var p: Parser */;
9425 val* var /* : null */;
9426 val* var_node_list /* var node_list: nullable Object */;
9427 val* var1 /* : nullable Object */;
9428 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
9429 val* var2 /* : nullable Object */;
9430 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
9431 val* var3 /* : nullable Object */;
9432 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
9433 val* var4 /* : nullable Object */;
9434 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9435 val* var5 /* : nullable Object */;
9436 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9437 val* var6 /* : nullable Object */;
9438 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9439 val* var7 /* : nullable Object */;
9440 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9441 val* var8 /* : nullable Object */;
9442 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9443 val* var9 /* : nullable Object */;
9444 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9445 val* var10 /* : nullable Object */;
9446 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9447 val* var11 /* : nullable Object */;
9448 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9449 val* var12 /* : nullable Object */;
9450 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9451 val* var13 /* : Array[Object] */;
9452 val* var_listnode7 /* var listnode7: Array[Object] */;
9453 val* var14 /* : Array[Object] */;
9454 val* var_listnode11 /* var listnode11: Array[Object] */;
9455 val* var15 /* : Array[Object] */;
9456 val* var_listnode12 /* var listnode12: Array[Object] */;
9457 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9458 short int var16 /* : Bool */;
9459 int cltype;
9460 int idtype;
9461 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
9462 short int var17 /* : Bool */;
9463 int cltype18;
9464 int idtype19;
9465 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9466 short int var20 /* : Bool */;
9467 int cltype21;
9468 int idtype22;
9469 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
9470 short int var23 /* : Bool */;
9471 int cltype24;
9472 int idtype25;
9473 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9474 short int var26 /* : Bool */;
9475 int cltype27;
9476 int idtype28;
9477 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
9478 short int var29 /* : Bool */;
9479 int cltype30;
9480 int idtype31;
9481 val* var_listnode10 /* var listnode10: nullable Object */;
9482 short int var32 /* : Bool */;
9483 int cltype33;
9484 int idtype34;
9485 val* var35 /* : Array[Object] */;
9486 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
9487 short int var36 /* : Bool */;
9488 int cltype37;
9489 int idtype38;
9490 val* var39 /* : AStdClassdef */;
9491 val* var40 /* : null */;
9492 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
9493 long var41 /* : Int */;
9494 long var42 /* : Int */;
9495 var_p = p0;
9496 var = NULL;
9497 var_node_list = var;
9498 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9499 var_nodearraylist12 = var1;
9500 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9501 var_nodearraylist11 = var2;
9502 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9503 var_nodearraylist10 = var3;
9504 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9505 var_nodearraylist9 = var4;
9506 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9507 var_nodearraylist8 = var5;
9508 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9509 var_nodearraylist7 = var6;
9510 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9511 var_nodearraylist6 = var7;
9512 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9513 var_nodearraylist5 = var8;
9514 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9515 var_nodearraylist4 = var9;
9516 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9517 var_nodearraylist3 = var10;
9518 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9519 var_nodearraylist2 = var11;
9520 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9521 var_nodearraylist1 = var12;
9522 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
9523 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
9524 var_listnode7 = var13;
9525 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
9526 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
9527 var_listnode11 = var14;
9528 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
9529 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
9530 var_listnode12 = var15;
9531 var_pdocnode2 = var_nodearraylist1;
9532 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9533 cltype = type_nullable_parser_nodes__ADoc.color;
9534 idtype = type_nullable_parser_nodes__ADoc.id;
9535 if(var_pdocnode2 == NULL) {
9536 var16 = 1;
9537 } else {
9538 if(cltype >= var_pdocnode2->type->table_size) {
9539 var16 = 0;
9540 } else {
9541 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
9542 }
9543 }
9544 if (!var16) {
9545 fprintf(stderr, "Runtime error: %s", "Assert failed");
9546 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8359);
9547 show_backtrace(1);
9548 }
9549 var_tkwredefnode3 = var_nodearraylist2;
9550 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
9551 cltype18 = type_nullable_parser_nodes__TKwredef.color;
9552 idtype19 = type_nullable_parser_nodes__TKwredef.id;
9553 if(var_tkwredefnode3 == NULL) {
9554 var17 = 1;
9555 } else {
9556 if(cltype18 >= var_tkwredefnode3->type->table_size) {
9557 var17 = 0;
9558 } else {
9559 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
9560 }
9561 }
9562 if (!var17) {
9563 fprintf(stderr, "Runtime error: %s", "Assert failed");
9564 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8361);
9565 show_backtrace(1);
9566 }
9567 var_pvisibilitynode4 = var_nodearraylist3;
9568 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9569 cltype21 = type_nullable_parser_nodes__AVisibility.color;
9570 idtype22 = type_nullable_parser_nodes__AVisibility.id;
9571 if(var_pvisibilitynode4 == NULL) {
9572 var20 = 1;
9573 } else {
9574 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
9575 var20 = 0;
9576 } else {
9577 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
9578 }
9579 }
9580 if (!var20) {
9581 fprintf(stderr, "Runtime error: %s", "Assert failed");
9582 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8363);
9583 show_backtrace(1);
9584 }
9585 var_pclasskindnode5 = var_nodearraylist4;
9586 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
9587 cltype24 = type_nullable_parser_nodes__AClasskind.color;
9588 idtype25 = type_nullable_parser_nodes__AClasskind.id;
9589 if(var_pclasskindnode5 == NULL) {
9590 var23 = 1;
9591 } else {
9592 if(cltype24 >= var_pclasskindnode5->type->table_size) {
9593 var23 = 0;
9594 } else {
9595 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
9596 }
9597 }
9598 if (!var23) {
9599 fprintf(stderr, "Runtime error: %s", "Assert failed");
9600 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8365);
9601 show_backtrace(1);
9602 }
9603 var_tclassidnode6 = var_nodearraylist8;
9604 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9605 cltype27 = type_nullable_parser_nodes__TClassid.color;
9606 idtype28 = type_nullable_parser_nodes__TClassid.id;
9607 if(var_tclassidnode6 == NULL) {
9608 var26 = 1;
9609 } else {
9610 if(cltype27 >= var_tclassidnode6->type->table_size) {
9611 var26 = 0;
9612 } else {
9613 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
9614 }
9615 }
9616 if (!var26) {
9617 fprintf(stderr, "Runtime error: %s", "Assert failed");
9618 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8367);
9619 show_backtrace(1);
9620 }
9621 var_pexterncodeblocknode9 = var_nodearraylist9;
9622 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
9623 cltype30 = type_nullable_parser_nodes__AExternCodeBlock.color;
9624 idtype31 = type_nullable_parser_nodes__AExternCodeBlock.id;
9625 if(var_pexterncodeblocknode9 == NULL) {
9626 var29 = 1;
9627 } else {
9628 if(cltype30 >= var_pexterncodeblocknode9->type->table_size) {
9629 var29 = 0;
9630 } else {
9631 var29 = var_pexterncodeblocknode9->type->type_table[cltype30] == idtype31;
9632 }
9633 }
9634 if (!var29) {
9635 fprintf(stderr, "Runtime error: %s", "Assert failed");
9636 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8369);
9637 show_backtrace(1);
9638 }
9639 var_listnode10 = var_nodearraylist10;
9640 /* <var_listnode10:nullable Object> isa Array[Object] */
9641 cltype33 = type_array__Arraykernel__Object.color;
9642 idtype34 = type_array__Arraykernel__Object.id;
9643 if(var_listnode10 == NULL) {
9644 var32 = 0;
9645 } else {
9646 if(cltype33 >= var_listnode10->type->table_size) {
9647 var32 = 0;
9648 } else {
9649 var32 = var_listnode10->type->type_table[cltype33] == idtype34;
9650 }
9651 }
9652 if (!var32) {
9653 fprintf(stderr, "Runtime error: %s", "Assert failed");
9654 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8371);
9655 show_backtrace(1);
9656 }
9657 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction175>*/;
9658 var_listnode11 = var35;
9659 var_tkwendnode13 = var_nodearraylist12;
9660 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
9661 cltype37 = type_nullable_parser_nodes__TKwend.color;
9662 idtype38 = type_nullable_parser_nodes__TKwend.id;
9663 if(var_tkwendnode13 == NULL) {
9664 var36 = 1;
9665 } else {
9666 if(cltype37 >= var_tkwendnode13->type->table_size) {
9667 var36 = 0;
9668 } else {
9669 var36 = var_tkwendnode13->type->type_table[cltype37] == idtype38;
9670 }
9671 }
9672 if (!var36) {
9673 fprintf(stderr, "Runtime error: %s", "Assert failed");
9674 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8374);
9675 show_backtrace(1);
9676 }
9677 var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9678 var40 = NULL;
9679 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var39->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var39, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var40, var_pexterncodeblocknode9, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var39:AStdClassdef>*/;
9680 var_pclassdefnode1 = var39;
9681 var_node_list = var_pclassdefnode1;
9682 var41 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction175> */
9683 var42 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var41) /* go_to on <var_p:Parser>*/;
9684 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var42, var_node_list) /* push on <var_p:Parser>*/;
9685 RET_LABEL:;
9686 }
9687 /* method parser#ReduceAction175#action for (self: Object, Parser) */
9688 void VIRTUAL_parser__ReduceAction175__action(val* self, val* p0) {
9689 parser__ReduceAction175__action(self, p0);
9690 RET_LABEL:;
9691 }
9692 /* method parser#ReduceAction177#action for (self: ReduceAction177, Parser) */
9693 void parser__ReduceAction177__action(val* self, val* p0) {
9694 val* var_p /* var p: Parser */;
9695 val* var /* : null */;
9696 val* var_node_list /* var node_list: nullable Object */;
9697 val* var1 /* : nullable Object */;
9698 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
9699 val* var2 /* : nullable Object */;
9700 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9701 val* var3 /* : nullable Object */;
9702 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9703 val* var4 /* : nullable Object */;
9704 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9705 val* var5 /* : nullable Object */;
9706 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9707 val* var6 /* : nullable Object */;
9708 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9709 val* var7 /* : nullable Object */;
9710 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9711 val* var8 /* : nullable Object */;
9712 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9713 val* var9 /* : nullable Object */;
9714 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9715 val* var10 /* : nullable Object */;
9716 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9717 val* var11 /* : Array[Object] */;
9718 val* var_listnode8 /* var listnode8: Array[Object] */;
9719 val* var12 /* : Array[Object] */;
9720 val* var_listnode12 /* var listnode12: Array[Object] */;
9721 val* var13 /* : Array[Object] */;
9722 val* var_listnode13 /* var listnode13: Array[Object] */;
9723 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9724 short int var14 /* : Bool */;
9725 int cltype;
9726 int idtype;
9727 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9728 short int var15 /* : Bool */;
9729 int cltype16;
9730 int idtype17;
9731 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
9732 short int var18 /* : Bool */;
9733 int cltype19;
9734 int idtype20;
9735 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9736 short int var21 /* : Bool */;
9737 int cltype22;
9738 int idtype23;
9739 val* var_listnode7 /* var listnode7: nullable Object */;
9740 short int var24 /* : Bool */;
9741 int cltype25;
9742 int idtype26;
9743 val* var27 /* : Array[Object] */;
9744 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
9745 short int var28 /* : Bool */;
9746 int cltype29;
9747 int idtype30;
9748 val* var_listnode11 /* var listnode11: nullable Object */;
9749 short int var31 /* : Bool */;
9750 int cltype32;
9751 int idtype33;
9752 val* var34 /* : Array[Object] */;
9753 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
9754 short int var35 /* : Bool */;
9755 int cltype36;
9756 int idtype37;
9757 val* var38 /* : AStdClassdef */;
9758 val* var39 /* : null */;
9759 val* var40 /* : null */;
9760 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
9761 long var41 /* : Int */;
9762 long var42 /* : Int */;
9763 var_p = p0;
9764 var = NULL;
9765 var_node_list = var;
9766 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9767 var_nodearraylist10 = var1;
9768 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9769 var_nodearraylist9 = var2;
9770 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9771 var_nodearraylist8 = var3;
9772 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9773 var_nodearraylist7 = var4;
9774 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9775 var_nodearraylist6 = var5;
9776 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9777 var_nodearraylist5 = var6;
9778 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9779 var_nodearraylist4 = var7;
9780 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9781 var_nodearraylist3 = var8;
9782 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9783 var_nodearraylist2 = var9;
9784 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9785 var_nodearraylist1 = var10;
9786 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
9787 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
9788 var_listnode8 = var11;
9789 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
9790 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
9791 var_listnode12 = var12;
9792 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
9793 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
9794 var_listnode13 = var13;
9795 var_pdocnode2 = var_nodearraylist1;
9796 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9797 cltype = type_nullable_parser_nodes__ADoc.color;
9798 idtype = type_nullable_parser_nodes__ADoc.id;
9799 if(var_pdocnode2 == NULL) {
9800 var14 = 1;
9801 } else {
9802 if(cltype >= var_pdocnode2->type->table_size) {
9803 var14 = 0;
9804 } else {
9805 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
9806 }
9807 }
9808 if (!var14) {
9809 fprintf(stderr, "Runtime error: %s", "Assert failed");
9810 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8411);
9811 show_backtrace(1);
9812 }
9813 var_pvisibilitynode4 = var_nodearraylist2;
9814 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9815 cltype16 = type_nullable_parser_nodes__AVisibility.color;
9816 idtype17 = type_nullable_parser_nodes__AVisibility.id;
9817 if(var_pvisibilitynode4 == NULL) {
9818 var15 = 1;
9819 } else {
9820 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
9821 var15 = 0;
9822 } else {
9823 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
9824 }
9825 }
9826 if (!var15) {
9827 fprintf(stderr, "Runtime error: %s", "Assert failed");
9828 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8413);
9829 show_backtrace(1);
9830 }
9831 var_pclasskindnode5 = var_nodearraylist3;
9832 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
9833 cltype19 = type_nullable_parser_nodes__AClasskind.color;
9834 idtype20 = type_nullable_parser_nodes__AClasskind.id;
9835 if(var_pclasskindnode5 == NULL) {
9836 var18 = 1;
9837 } else {
9838 if(cltype19 >= var_pclasskindnode5->type->table_size) {
9839 var18 = 0;
9840 } else {
9841 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
9842 }
9843 }
9844 if (!var18) {
9845 fprintf(stderr, "Runtime error: %s", "Assert failed");
9846 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8415);
9847 show_backtrace(1);
9848 }
9849 var_tclassidnode6 = var_nodearraylist5;
9850 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9851 cltype22 = type_nullable_parser_nodes__TClassid.color;
9852 idtype23 = type_nullable_parser_nodes__TClassid.id;
9853 if(var_tclassidnode6 == NULL) {
9854 var21 = 1;
9855 } else {
9856 if(cltype22 >= var_tclassidnode6->type->table_size) {
9857 var21 = 0;
9858 } else {
9859 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
9860 }
9861 }
9862 if (!var21) {
9863 fprintf(stderr, "Runtime error: %s", "Assert failed");
9864 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8417);
9865 show_backtrace(1);
9866 }
9867 var_listnode7 = var_nodearraylist6;
9868 /* <var_listnode7:nullable Object> isa Array[Object] */
9869 cltype25 = type_array__Arraykernel__Object.color;
9870 idtype26 = type_array__Arraykernel__Object.id;
9871 if(var_listnode7 == NULL) {
9872 var24 = 0;
9873 } else {
9874 if(cltype25 >= var_listnode7->type->table_size) {
9875 var24 = 0;
9876 } else {
9877 var24 = var_listnode7->type->type_table[cltype25] == idtype26;
9878 }
9879 }
9880 if (!var24) {
9881 fprintf(stderr, "Runtime error: %s", "Assert failed");
9882 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8419);
9883 show_backtrace(1);
9884 }
9885 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction177>*/;
9886 var_listnode8 = var27;
9887 var_pexterncodeblocknode10 = var_nodearraylist7;
9888 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
9889 cltype29 = type_nullable_parser_nodes__AExternCodeBlock.color;
9890 idtype30 = type_nullable_parser_nodes__AExternCodeBlock.id;
9891 if(var_pexterncodeblocknode10 == NULL) {
9892 var28 = 1;
9893 } else {
9894 if(cltype29 >= var_pexterncodeblocknode10->type->table_size) {
9895 var28 = 0;
9896 } else {
9897 var28 = var_pexterncodeblocknode10->type->type_table[cltype29] == idtype30;
9898 }
9899 }
9900 if (!var28) {
9901 fprintf(stderr, "Runtime error: %s", "Assert failed");
9902 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8422);
9903 show_backtrace(1);
9904 }
9905 var_listnode11 = var_nodearraylist8;
9906 /* <var_listnode11:nullable Object> isa Array[Object] */
9907 cltype32 = type_array__Arraykernel__Object.color;
9908 idtype33 = type_array__Arraykernel__Object.id;
9909 if(var_listnode11 == NULL) {
9910 var31 = 0;
9911 } else {
9912 if(cltype32 >= var_listnode11->type->table_size) {
9913 var31 = 0;
9914 } else {
9915 var31 = var_listnode11->type->type_table[cltype32] == idtype33;
9916 }
9917 }
9918 if (!var31) {
9919 fprintf(stderr, "Runtime error: %s", "Assert failed");
9920 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8424);
9921 show_backtrace(1);
9922 }
9923 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction177>*/;
9924 var_listnode12 = var34;
9925 var_tkwendnode14 = var_nodearraylist10;
9926 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
9927 cltype36 = type_nullable_parser_nodes__TKwend.color;
9928 idtype37 = type_nullable_parser_nodes__TKwend.id;
9929 if(var_tkwendnode14 == NULL) {
9930 var35 = 1;
9931 } else {
9932 if(cltype36 >= var_tkwendnode14->type->table_size) {
9933 var35 = 0;
9934 } else {
9935 var35 = var_tkwendnode14->type->type_table[cltype36] == idtype37;
9936 }
9937 }
9938 if (!var35) {
9939 fprintf(stderr, "Runtime error: %s", "Assert failed");
9940 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8427);
9941 show_backtrace(1);
9942 }
9943 var38 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9944 var39 = NULL;
9945 var40 = NULL;
9946 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var38->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var38, var_pdocnode2, var39, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var40, var_pexterncodeblocknode10, var_listnode12, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var38:AStdClassdef>*/;
9947 var_pclassdefnode1 = var38;
9948 var_node_list = var_pclassdefnode1;
9949 var41 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction177> */
9950 var42 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var41) /* go_to on <var_p:Parser>*/;
9951 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var42, var_node_list) /* push on <var_p:Parser>*/;
9952 RET_LABEL:;
9953 }
9954 /* method parser#ReduceAction177#action for (self: Object, Parser) */
9955 void VIRTUAL_parser__ReduceAction177__action(val* self, val* p0) {
9956 parser__ReduceAction177__action(self, p0);
9957 RET_LABEL:;
9958 }