c_src: update with new intern methods
[nit.git] / c_src / parser.sep.8.c
1 #include "parser.sep.0.h"
2 /* method parser#ReduceAction270#action for (self: ReduceAction270, Parser) */
3 void parser__ReduceAction270__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_nodearraylist11 /* var nodearraylist11: nullable Object */;
9 val* var2 /* : nullable Object */;
10 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
11 val* var3 /* : nullable Object */;
12 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
13 val* var4 /* : nullable Object */;
14 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
15 val* var5 /* : nullable Object */;
16 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
17 val* var6 /* : nullable Object */;
18 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
19 val* var7 /* : nullable Object */;
20 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
21 val* var8 /* : nullable Object */;
22 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
23 val* var9 /* : nullable Object */;
24 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
25 val* var10 /* : nullable Object */;
26 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
27 val* var11 /* : nullable Object */;
28 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
29 val* var12 /* : Array[Object] */;
30 val* var_listnode7 /* var listnode7: Array[Object] */;
31 val* var13 /* : Array[Object] */;
32 val* var_listnode11 /* var listnode11: Array[Object] */;
33 val* var14 /* : Array[Object] */;
34 val* var_listnode13 /* var listnode13: Array[Object] */;
35 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
36 short int var15 /* : Bool */;
37 int cltype;
38 int idtype;
39 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
40 short int var16 /* : Bool */;
41 int cltype17;
42 int idtype18;
43 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
44 short int var19 /* : Bool */;
45 int cltype20;
46 int idtype21;
47 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
48 short int var22 /* : Bool */;
49 int cltype23;
50 int idtype24;
51 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
52 short int var25 /* : Bool */;
53 int cltype26;
54 int idtype27;
55 val* var_listnode10 /* var listnode10: nullable Object */;
56 short int var28 /* : Bool */;
57 int cltype29;
58 int idtype30;
59 val* var31 /* : Array[Object] */;
60 val* var_listnode12 /* var listnode12: nullable Object */;
61 short int var32 /* : Bool */;
62 int cltype33;
63 int idtype34;
64 val* var35 /* : Array[Object] */;
65 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
66 short int var36 /* : Bool */;
67 int cltype37;
68 int idtype38;
69 val* var39 /* : AStdClassdef */;
70 val* var40 /* : null */;
71 val* var41 /* : null */;
72 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
73 long var42 /* : Int */;
74 long var43 /* : Int */;
75 var_p = p0;
76 var = NULL;
77 var_node_list = var;
78 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
79 var_nodearraylist11 = var1;
80 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
81 var_nodearraylist10 = var2;
82 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
83 var_nodearraylist9 = var3;
84 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
85 var_nodearraylist8 = var4;
86 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
87 var_nodearraylist7 = var5;
88 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
89 var_nodearraylist6 = var6;
90 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
91 var_nodearraylist5 = var7;
92 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
93 var_nodearraylist4 = var8;
94 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
95 var_nodearraylist3 = var9;
96 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
97 var_nodearraylist2 = var10;
98 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
99 var_nodearraylist1 = var11;
100 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
101 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
102 var_listnode7 = var12;
103 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
104 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
105 var_listnode11 = var13;
106 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
107 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
108 var_listnode13 = var14;
109 var_pdocnode2 = var_nodearraylist1;
110 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
111 cltype = type_nullable_parser_nodes__ADoc.color;
112 idtype = type_nullable_parser_nodes__ADoc.id;
113 if(var_pdocnode2 == NULL) {
114 var15 = 1;
115 } else {
116 if(cltype >= var_pdocnode2->type->table_size) {
117 var15 = 0;
118 } else {
119 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
120 }
121 }
122 if (!var15) {
123 fprintf(stderr, "Runtime error: %s", "Assert failed");
124 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12485);
125 show_backtrace(1);
126 }
127 var_tkwredefnode3 = var_nodearraylist2;
128 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
129 cltype17 = type_nullable_parser_nodes__TKwredef.color;
130 idtype18 = type_nullable_parser_nodes__TKwredef.id;
131 if(var_tkwredefnode3 == NULL) {
132 var16 = 1;
133 } else {
134 if(cltype17 >= var_tkwredefnode3->type->table_size) {
135 var16 = 0;
136 } else {
137 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
138 }
139 }
140 if (!var16) {
141 fprintf(stderr, "Runtime error: %s", "Assert failed");
142 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12487);
143 show_backtrace(1);
144 }
145 var_pvisibilitynode4 = var_nodearraylist3;
146 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
147 cltype20 = type_nullable_parser_nodes__AVisibility.color;
148 idtype21 = type_nullable_parser_nodes__AVisibility.id;
149 if(var_pvisibilitynode4 == NULL) {
150 var19 = 1;
151 } else {
152 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
153 var19 = 0;
154 } else {
155 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
156 }
157 }
158 if (!var19) {
159 fprintf(stderr, "Runtime error: %s", "Assert failed");
160 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12489);
161 show_backtrace(1);
162 }
163 var_pclasskindnode5 = var_nodearraylist4;
164 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
165 cltype23 = type_nullable_parser_nodes__AClasskind.color;
166 idtype24 = type_nullable_parser_nodes__AClasskind.id;
167 if(var_pclasskindnode5 == NULL) {
168 var22 = 1;
169 } else {
170 if(cltype23 >= var_pclasskindnode5->type->table_size) {
171 var22 = 0;
172 } else {
173 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
174 }
175 }
176 if (!var22) {
177 fprintf(stderr, "Runtime error: %s", "Assert failed");
178 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12491);
179 show_backtrace(1);
180 }
181 var_tclassidnode6 = var_nodearraylist7;
182 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
183 cltype26 = type_nullable_parser_nodes__TClassid.color;
184 idtype27 = type_nullable_parser_nodes__TClassid.id;
185 if(var_tclassidnode6 == NULL) {
186 var25 = 1;
187 } else {
188 if(cltype26 >= var_tclassidnode6->type->table_size) {
189 var25 = 0;
190 } else {
191 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
192 }
193 }
194 if (!var25) {
195 fprintf(stderr, "Runtime error: %s", "Assert failed");
196 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12493);
197 show_backtrace(1);
198 }
199 var_listnode10 = var_nodearraylist8;
200 /* <var_listnode10:nullable Object> isa Array[Object] */
201 cltype29 = type_array__Arraykernel__Object.color;
202 idtype30 = type_array__Arraykernel__Object.id;
203 if(var_listnode10 == NULL) {
204 var28 = 0;
205 } else {
206 if(cltype29 >= var_listnode10->type->table_size) {
207 var28 = 0;
208 } else {
209 var28 = var_listnode10->type->type_table[cltype29] == idtype30;
210 }
211 }
212 if (!var28) {
213 fprintf(stderr, "Runtime error: %s", "Assert failed");
214 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12495);
215 show_backtrace(1);
216 }
217 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction270>*/;
218 var_listnode11 = var31;
219 var_listnode12 = var_nodearraylist9;
220 /* <var_listnode12:nullable Object> isa Array[Object] */
221 cltype33 = type_array__Arraykernel__Object.color;
222 idtype34 = type_array__Arraykernel__Object.id;
223 if(var_listnode12 == NULL) {
224 var32 = 0;
225 } else {
226 if(cltype33 >= var_listnode12->type->table_size) {
227 var32 = 0;
228 } else {
229 var32 = var_listnode12->type->type_table[cltype33] == idtype34;
230 }
231 }
232 if (!var32) {
233 fprintf(stderr, "Runtime error: %s", "Assert failed");
234 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12498);
235 show_backtrace(1);
236 }
237 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction270>*/;
238 var_listnode13 = var35;
239 var_tkwendnode14 = var_nodearraylist11;
240 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
241 cltype37 = type_nullable_parser_nodes__TKwend.color;
242 idtype38 = type_nullable_parser_nodes__TKwend.id;
243 if(var_tkwendnode14 == NULL) {
244 var36 = 1;
245 } else {
246 if(cltype37 >= var_tkwendnode14->type->table_size) {
247 var36 = 0;
248 } else {
249 var36 = var_tkwendnode14->type->type_table[cltype37] == idtype38;
250 }
251 }
252 if (!var36) {
253 fprintf(stderr, "Runtime error: %s", "Assert failed");
254 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12501);
255 show_backtrace(1);
256 }
257 var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
258 var40 = NULL;
259 var41 = NULL;
260 ((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, var41, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var39:AStdClassdef>*/;
261 var_pclassdefnode1 = var39;
262 var_node_list = var_pclassdefnode1;
263 var42 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction270> */
264 var43 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var42) /* go_to on <var_p:Parser>*/;
265 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var43, var_node_list) /* push on <var_p:Parser>*/;
266 RET_LABEL:;
267 }
268 /* method parser#ReduceAction270#action for (self: Object, Parser) */
269 void VIRTUAL_parser__ReduceAction270__action(val* self, val* p0) {
270 parser__ReduceAction270__action(self, p0);
271 RET_LABEL:;
272 }
273 /* method parser#ReduceAction271#action for (self: ReduceAction271, Parser) */
274 void parser__ReduceAction271__action(val* self, val* p0) {
275 val* var_p /* var p: Parser */;
276 val* var /* : null */;
277 val* var_node_list /* var node_list: nullable Object */;
278 val* var1 /* : nullable Object */;
279 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
280 val* var2 /* : nullable Object */;
281 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
282 val* var3 /* : nullable Object */;
283 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
284 val* var4 /* : nullable Object */;
285 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
286 val* var5 /* : nullable Object */;
287 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
288 val* var6 /* : nullable Object */;
289 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
290 val* var7 /* : nullable Object */;
291 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
292 val* var8 /* : nullable Object */;
293 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
294 val* var9 /* : nullable Object */;
295 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
296 val* var10 /* : nullable Object */;
297 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
298 val* var11 /* : nullable Object */;
299 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
300 val* var12 /* : nullable Object */;
301 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
302 val* var13 /* : Array[Object] */;
303 val* var_listnode7 /* var listnode7: Array[Object] */;
304 val* var14 /* : Array[Object] */;
305 val* var_listnode11 /* var listnode11: Array[Object] */;
306 val* var15 /* : Array[Object] */;
307 val* var_listnode13 /* var listnode13: Array[Object] */;
308 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
309 short int var16 /* : Bool */;
310 int cltype;
311 int idtype;
312 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
313 short int var17 /* : Bool */;
314 int cltype18;
315 int idtype19;
316 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
317 short int var20 /* : Bool */;
318 int cltype21;
319 int idtype22;
320 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
321 short int var23 /* : Bool */;
322 int cltype24;
323 int idtype25;
324 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
325 short int var26 /* : Bool */;
326 int cltype27;
327 int idtype28;
328 val* var_listnode10 /* var listnode10: nullable Object */;
329 short int var29 /* : Bool */;
330 int cltype30;
331 int idtype31;
332 val* var32 /* : Array[Object] */;
333 val* var_listnode12 /* var listnode12: nullable Object */;
334 short int var33 /* : Bool */;
335 int cltype34;
336 int idtype35;
337 val* var36 /* : Array[Object] */;
338 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
339 short int var37 /* : Bool */;
340 int cltype38;
341 int idtype39;
342 val* var40 /* : AStdClassdef */;
343 val* var41 /* : null */;
344 val* var42 /* : null */;
345 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
346 long var43 /* : Int */;
347 long var44 /* : Int */;
348 var_p = p0;
349 var = NULL;
350 var_node_list = var;
351 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
352 var_nodearraylist12 = var1;
353 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
354 var_nodearraylist11 = var2;
355 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
356 var_nodearraylist10 = var3;
357 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
358 var_nodearraylist9 = var4;
359 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
360 var_nodearraylist8 = var5;
361 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
362 var_nodearraylist7 = var6;
363 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
364 var_nodearraylist6 = var7;
365 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
366 var_nodearraylist5 = var8;
367 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
368 var_nodearraylist4 = var9;
369 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
370 var_nodearraylist3 = var10;
371 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
372 var_nodearraylist2 = var11;
373 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
374 var_nodearraylist1 = var12;
375 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
376 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
377 var_listnode7 = var13;
378 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
379 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
380 var_listnode11 = var14;
381 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
382 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
383 var_listnode13 = var15;
384 var_pdocnode2 = var_nodearraylist1;
385 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
386 cltype = type_nullable_parser_nodes__ADoc.color;
387 idtype = type_nullable_parser_nodes__ADoc.id;
388 if(var_pdocnode2 == NULL) {
389 var16 = 1;
390 } else {
391 if(cltype >= var_pdocnode2->type->table_size) {
392 var16 = 0;
393 } else {
394 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
395 }
396 }
397 if (!var16) {
398 fprintf(stderr, "Runtime error: %s", "Assert failed");
399 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12540);
400 show_backtrace(1);
401 }
402 var_tkwredefnode3 = var_nodearraylist2;
403 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
404 cltype18 = type_nullable_parser_nodes__TKwredef.color;
405 idtype19 = type_nullable_parser_nodes__TKwredef.id;
406 if(var_tkwredefnode3 == NULL) {
407 var17 = 1;
408 } else {
409 if(cltype18 >= var_tkwredefnode3->type->table_size) {
410 var17 = 0;
411 } else {
412 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
413 }
414 }
415 if (!var17) {
416 fprintf(stderr, "Runtime error: %s", "Assert failed");
417 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12542);
418 show_backtrace(1);
419 }
420 var_pvisibilitynode4 = var_nodearraylist3;
421 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
422 cltype21 = type_nullable_parser_nodes__AVisibility.color;
423 idtype22 = type_nullable_parser_nodes__AVisibility.id;
424 if(var_pvisibilitynode4 == NULL) {
425 var20 = 1;
426 } else {
427 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
428 var20 = 0;
429 } else {
430 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
431 }
432 }
433 if (!var20) {
434 fprintf(stderr, "Runtime error: %s", "Assert failed");
435 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12544);
436 show_backtrace(1);
437 }
438 var_pclasskindnode5 = var_nodearraylist4;
439 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
440 cltype24 = type_nullable_parser_nodes__AClasskind.color;
441 idtype25 = type_nullable_parser_nodes__AClasskind.id;
442 if(var_pclasskindnode5 == NULL) {
443 var23 = 1;
444 } else {
445 if(cltype24 >= var_pclasskindnode5->type->table_size) {
446 var23 = 0;
447 } else {
448 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
449 }
450 }
451 if (!var23) {
452 fprintf(stderr, "Runtime error: %s", "Assert failed");
453 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12546);
454 show_backtrace(1);
455 }
456 var_tclassidnode6 = var_nodearraylist8;
457 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
458 cltype27 = type_nullable_parser_nodes__TClassid.color;
459 idtype28 = type_nullable_parser_nodes__TClassid.id;
460 if(var_tclassidnode6 == NULL) {
461 var26 = 1;
462 } else {
463 if(cltype27 >= var_tclassidnode6->type->table_size) {
464 var26 = 0;
465 } else {
466 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
467 }
468 }
469 if (!var26) {
470 fprintf(stderr, "Runtime error: %s", "Assert failed");
471 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12548);
472 show_backtrace(1);
473 }
474 var_listnode10 = var_nodearraylist9;
475 /* <var_listnode10:nullable Object> isa Array[Object] */
476 cltype30 = type_array__Arraykernel__Object.color;
477 idtype31 = type_array__Arraykernel__Object.id;
478 if(var_listnode10 == NULL) {
479 var29 = 0;
480 } else {
481 if(cltype30 >= var_listnode10->type->table_size) {
482 var29 = 0;
483 } else {
484 var29 = var_listnode10->type->type_table[cltype30] == idtype31;
485 }
486 }
487 if (!var29) {
488 fprintf(stderr, "Runtime error: %s", "Assert failed");
489 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12550);
490 show_backtrace(1);
491 }
492 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction271>*/;
493 var_listnode11 = var32;
494 var_listnode12 = var_nodearraylist10;
495 /* <var_listnode12:nullable Object> isa Array[Object] */
496 cltype34 = type_array__Arraykernel__Object.color;
497 idtype35 = type_array__Arraykernel__Object.id;
498 if(var_listnode12 == NULL) {
499 var33 = 0;
500 } else {
501 if(cltype34 >= var_listnode12->type->table_size) {
502 var33 = 0;
503 } else {
504 var33 = var_listnode12->type->type_table[cltype34] == idtype35;
505 }
506 }
507 if (!var33) {
508 fprintf(stderr, "Runtime error: %s", "Assert failed");
509 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12553);
510 show_backtrace(1);
511 }
512 var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction271>*/;
513 var_listnode13 = var36;
514 var_tkwendnode14 = var_nodearraylist12;
515 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
516 cltype38 = type_nullable_parser_nodes__TKwend.color;
517 idtype39 = type_nullable_parser_nodes__TKwend.id;
518 if(var_tkwendnode14 == NULL) {
519 var37 = 1;
520 } else {
521 if(cltype38 >= var_tkwendnode14->type->table_size) {
522 var37 = 0;
523 } else {
524 var37 = var_tkwendnode14->type->type_table[cltype38] == idtype39;
525 }
526 }
527 if (!var37) {
528 fprintf(stderr, "Runtime error: %s", "Assert failed");
529 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12556);
530 show_backtrace(1);
531 }
532 var40 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
533 var41 = NULL;
534 var42 = NULL;
535 ((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_listnode7, var41, var42, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var40:AStdClassdef>*/;
536 var_pclassdefnode1 = var40;
537 var_node_list = var_pclassdefnode1;
538 var43 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction271> */
539 var44 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var43) /* go_to on <var_p:Parser>*/;
540 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var44, var_node_list) /* push on <var_p:Parser>*/;
541 RET_LABEL:;
542 }
543 /* method parser#ReduceAction271#action for (self: Object, Parser) */
544 void VIRTUAL_parser__ReduceAction271__action(val* self, val* p0) {
545 parser__ReduceAction271__action(self, p0);
546 RET_LABEL:;
547 }
548 /* method parser#ReduceAction273#action for (self: ReduceAction273, Parser) */
549 void parser__ReduceAction273__action(val* self, val* p0) {
550 val* var_p /* var p: Parser */;
551 val* var /* : null */;
552 val* var_node_list /* var node_list: nullable Object */;
553 val* var1 /* : nullable Object */;
554 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
555 val* var2 /* : nullable Object */;
556 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
557 val* var3 /* : nullable Object */;
558 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
559 val* var4 /* : nullable Object */;
560 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
561 val* var5 /* : nullable Object */;
562 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
563 val* var6 /* : nullable Object */;
564 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
565 val* var7 /* : nullable Object */;
566 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
567 val* var8 /* : nullable Object */;
568 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
569 val* var9 /* : nullable Object */;
570 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
571 val* var10 /* : nullable Object */;
572 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
573 val* var11 /* : Array[Object] */;
574 val* var_listnode8 /* var listnode8: Array[Object] */;
575 val* var12 /* : Array[Object] */;
576 val* var_listnode12 /* var listnode12: Array[Object] */;
577 val* var13 /* : Array[Object] */;
578 val* var_listnode14 /* var listnode14: Array[Object] */;
579 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
580 short int var14 /* : Bool */;
581 int cltype;
582 int idtype;
583 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
584 short int var15 /* : Bool */;
585 int cltype16;
586 int idtype17;
587 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
588 short int var18 /* : Bool */;
589 int cltype19;
590 int idtype20;
591 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
592 short int var21 /* : Bool */;
593 int cltype22;
594 int idtype23;
595 val* var_listnode7 /* var listnode7: nullable Object */;
596 short int var24 /* : Bool */;
597 int cltype25;
598 int idtype26;
599 val* var27 /* : Array[Object] */;
600 val* var_listnode11 /* var listnode11: nullable Object */;
601 short int var28 /* : Bool */;
602 int cltype29;
603 int idtype30;
604 val* var31 /* : Array[Object] */;
605 val* var_listnode13 /* var listnode13: nullable Object */;
606 short int var32 /* : Bool */;
607 int cltype33;
608 int idtype34;
609 val* var35 /* : Array[Object] */;
610 val* var_tkwendnode15 /* var tkwendnode15: nullable Object */;
611 short int var36 /* : Bool */;
612 int cltype37;
613 int idtype38;
614 val* var39 /* : AStdClassdef */;
615 val* var40 /* : null */;
616 val* var41 /* : null */;
617 val* var42 /* : null */;
618 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
619 long var43 /* : Int */;
620 long var44 /* : Int */;
621 var_p = p0;
622 var = NULL;
623 var_node_list = var;
624 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
625 var_nodearraylist10 = var1;
626 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
627 var_nodearraylist9 = var2;
628 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
629 var_nodearraylist8 = var3;
630 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
631 var_nodearraylist7 = var4;
632 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
633 var_nodearraylist6 = var5;
634 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
635 var_nodearraylist5 = var6;
636 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
637 var_nodearraylist4 = var7;
638 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
639 var_nodearraylist3 = var8;
640 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
641 var_nodearraylist2 = var9;
642 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
643 var_nodearraylist1 = var10;
644 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
645 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
646 var_listnode8 = var11;
647 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
648 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
649 var_listnode12 = var12;
650 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
651 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
652 var_listnode14 = var13;
653 var_pdocnode2 = var_nodearraylist1;
654 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
655 cltype = type_nullable_parser_nodes__ADoc.color;
656 idtype = type_nullable_parser_nodes__ADoc.id;
657 if(var_pdocnode2 == NULL) {
658 var14 = 1;
659 } else {
660 if(cltype >= var_pdocnode2->type->table_size) {
661 var14 = 0;
662 } else {
663 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
664 }
665 }
666 if (!var14) {
667 fprintf(stderr, "Runtime error: %s", "Assert failed");
668 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12593);
669 show_backtrace(1);
670 }
671 var_pvisibilitynode4 = var_nodearraylist2;
672 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
673 cltype16 = type_nullable_parser_nodes__AVisibility.color;
674 idtype17 = type_nullable_parser_nodes__AVisibility.id;
675 if(var_pvisibilitynode4 == NULL) {
676 var15 = 1;
677 } else {
678 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
679 var15 = 0;
680 } else {
681 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
682 }
683 }
684 if (!var15) {
685 fprintf(stderr, "Runtime error: %s", "Assert failed");
686 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12595);
687 show_backtrace(1);
688 }
689 var_pclasskindnode5 = var_nodearraylist3;
690 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
691 cltype19 = type_nullable_parser_nodes__AClasskind.color;
692 idtype20 = type_nullable_parser_nodes__AClasskind.id;
693 if(var_pclasskindnode5 == NULL) {
694 var18 = 1;
695 } else {
696 if(cltype19 >= var_pclasskindnode5->type->table_size) {
697 var18 = 0;
698 } else {
699 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
700 }
701 }
702 if (!var18) {
703 fprintf(stderr, "Runtime error: %s", "Assert failed");
704 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12597);
705 show_backtrace(1);
706 }
707 var_tclassidnode6 = var_nodearraylist5;
708 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
709 cltype22 = type_nullable_parser_nodes__TClassid.color;
710 idtype23 = type_nullable_parser_nodes__TClassid.id;
711 if(var_tclassidnode6 == NULL) {
712 var21 = 1;
713 } else {
714 if(cltype22 >= var_tclassidnode6->type->table_size) {
715 var21 = 0;
716 } else {
717 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
718 }
719 }
720 if (!var21) {
721 fprintf(stderr, "Runtime error: %s", "Assert failed");
722 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12599);
723 show_backtrace(1);
724 }
725 var_listnode7 = var_nodearraylist6;
726 /* <var_listnode7:nullable Object> isa Array[Object] */
727 cltype25 = type_array__Arraykernel__Object.color;
728 idtype26 = type_array__Arraykernel__Object.id;
729 if(var_listnode7 == NULL) {
730 var24 = 0;
731 } else {
732 if(cltype25 >= var_listnode7->type->table_size) {
733 var24 = 0;
734 } else {
735 var24 = var_listnode7->type->type_table[cltype25] == idtype26;
736 }
737 }
738 if (!var24) {
739 fprintf(stderr, "Runtime error: %s", "Assert failed");
740 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12601);
741 show_backtrace(1);
742 }
743 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction273>*/;
744 var_listnode8 = var27;
745 var_listnode11 = var_nodearraylist7;
746 /* <var_listnode11:nullable Object> isa Array[Object] */
747 cltype29 = type_array__Arraykernel__Object.color;
748 idtype30 = type_array__Arraykernel__Object.id;
749 if(var_listnode11 == NULL) {
750 var28 = 0;
751 } else {
752 if(cltype29 >= var_listnode11->type->table_size) {
753 var28 = 0;
754 } else {
755 var28 = var_listnode11->type->type_table[cltype29] == idtype30;
756 }
757 }
758 if (!var28) {
759 fprintf(stderr, "Runtime error: %s", "Assert failed");
760 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12604);
761 show_backtrace(1);
762 }
763 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction273>*/;
764 var_listnode12 = var31;
765 var_listnode13 = var_nodearraylist8;
766 /* <var_listnode13:nullable Object> isa Array[Object] */
767 cltype33 = type_array__Arraykernel__Object.color;
768 idtype34 = type_array__Arraykernel__Object.id;
769 if(var_listnode13 == NULL) {
770 var32 = 0;
771 } else {
772 if(cltype33 >= var_listnode13->type->table_size) {
773 var32 = 0;
774 } else {
775 var32 = var_listnode13->type->type_table[cltype33] == idtype34;
776 }
777 }
778 if (!var32) {
779 fprintf(stderr, "Runtime error: %s", "Assert failed");
780 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12607);
781 show_backtrace(1);
782 }
783 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode14, var_listnode13) /* concat on <self:ReduceAction273>*/;
784 var_listnode14 = var35;
785 var_tkwendnode15 = var_nodearraylist10;
786 /* <var_tkwendnode15:nullable Object> isa nullable TKwend */
787 cltype37 = type_nullable_parser_nodes__TKwend.color;
788 idtype38 = type_nullable_parser_nodes__TKwend.id;
789 if(var_tkwendnode15 == NULL) {
790 var36 = 1;
791 } else {
792 if(cltype37 >= var_tkwendnode15->type->table_size) {
793 var36 = 0;
794 } else {
795 var36 = var_tkwendnode15->type->type_table[cltype37] == idtype38;
796 }
797 }
798 if (!var36) {
799 fprintf(stderr, "Runtime error: %s", "Assert failed");
800 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12610);
801 show_backtrace(1);
802 }
803 var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
804 var40 = NULL;
805 var41 = NULL;
806 var42 = NULL;
807 ((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_listnode8, var41, var42, var_listnode12, var_listnode14, var_tkwendnode15) /* init_astdclassdef on <var39:AStdClassdef>*/;
808 var_pclassdefnode1 = var39;
809 var_node_list = var_pclassdefnode1;
810 var43 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction273> */
811 var44 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var43) /* go_to on <var_p:Parser>*/;
812 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var44, var_node_list) /* push on <var_p:Parser>*/;
813 RET_LABEL:;
814 }
815 /* method parser#ReduceAction273#action for (self: Object, Parser) */
816 void VIRTUAL_parser__ReduceAction273__action(val* self, val* p0) {
817 parser__ReduceAction273__action(self, p0);
818 RET_LABEL:;
819 }
820 /* method parser#ReduceAction274#action for (self: ReduceAction274, Parser) */
821 void parser__ReduceAction274__action(val* self, val* p0) {
822 val* var_p /* var p: Parser */;
823 val* var /* : null */;
824 val* var_node_list /* var node_list: nullable Object */;
825 val* var1 /* : nullable Object */;
826 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
827 val* var2 /* : nullable Object */;
828 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
829 val* var3 /* : nullable Object */;
830 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
831 val* var4 /* : nullable Object */;
832 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
833 val* var5 /* : nullable Object */;
834 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
835 val* var6 /* : nullable Object */;
836 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
837 val* var7 /* : nullable Object */;
838 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
839 val* var8 /* : nullable Object */;
840 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
841 val* var9 /* : nullable Object */;
842 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
843 val* var10 /* : nullable Object */;
844 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
845 val* var11 /* : nullable Object */;
846 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
847 val* var12 /* : Array[Object] */;
848 val* var_listnode8 /* var listnode8: Array[Object] */;
849 val* var13 /* : Array[Object] */;
850 val* var_listnode12 /* var listnode12: Array[Object] */;
851 val* var14 /* : Array[Object] */;
852 val* var_listnode14 /* var listnode14: Array[Object] */;
853 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
854 short int var15 /* : Bool */;
855 int cltype;
856 int idtype;
857 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
858 short int var16 /* : Bool */;
859 int cltype17;
860 int idtype18;
861 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
862 short int var19 /* : Bool */;
863 int cltype20;
864 int idtype21;
865 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
866 short int var22 /* : Bool */;
867 int cltype23;
868 int idtype24;
869 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
870 short int var25 /* : Bool */;
871 int cltype26;
872 int idtype27;
873 val* var_listnode7 /* var listnode7: nullable Object */;
874 short int var28 /* : Bool */;
875 int cltype29;
876 int idtype30;
877 val* var31 /* : Array[Object] */;
878 val* var_listnode11 /* var listnode11: nullable Object */;
879 short int var32 /* : Bool */;
880 int cltype33;
881 int idtype34;
882 val* var35 /* : Array[Object] */;
883 val* var_listnode13 /* var listnode13: nullable Object */;
884 short int var36 /* : Bool */;
885 int cltype37;
886 int idtype38;
887 val* var39 /* : Array[Object] */;
888 val* var_tkwendnode15 /* var tkwendnode15: nullable Object */;
889 short int var40 /* : Bool */;
890 int cltype41;
891 int idtype42;
892 val* var43 /* : AStdClassdef */;
893 val* var44 /* : null */;
894 val* var45 /* : null */;
895 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
896 long var46 /* : Int */;
897 long var47 /* : Int */;
898 var_p = p0;
899 var = NULL;
900 var_node_list = var;
901 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
902 var_nodearraylist11 = var1;
903 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
904 var_nodearraylist10 = var2;
905 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
906 var_nodearraylist9 = var3;
907 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
908 var_nodearraylist8 = var4;
909 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
910 var_nodearraylist7 = var5;
911 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
912 var_nodearraylist6 = var6;
913 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
914 var_nodearraylist5 = var7;
915 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
916 var_nodearraylist4 = var8;
917 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
918 var_nodearraylist3 = var9;
919 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
920 var_nodearraylist2 = var10;
921 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
922 var_nodearraylist1 = var11;
923 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
924 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
925 var_listnode8 = var12;
926 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
927 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
928 var_listnode12 = var13;
929 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
930 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
931 var_listnode14 = var14;
932 var_pdocnode2 = var_nodearraylist1;
933 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
934 cltype = type_nullable_parser_nodes__ADoc.color;
935 idtype = type_nullable_parser_nodes__ADoc.id;
936 if(var_pdocnode2 == NULL) {
937 var15 = 1;
938 } else {
939 if(cltype >= var_pdocnode2->type->table_size) {
940 var15 = 0;
941 } else {
942 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
943 }
944 }
945 if (!var15) {
946 fprintf(stderr, "Runtime error: %s", "Assert failed");
947 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12648);
948 show_backtrace(1);
949 }
950 var_tkwredefnode3 = var_nodearraylist2;
951 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
952 cltype17 = type_nullable_parser_nodes__TKwredef.color;
953 idtype18 = type_nullable_parser_nodes__TKwredef.id;
954 if(var_tkwredefnode3 == NULL) {
955 var16 = 1;
956 } else {
957 if(cltype17 >= var_tkwredefnode3->type->table_size) {
958 var16 = 0;
959 } else {
960 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
961 }
962 }
963 if (!var16) {
964 fprintf(stderr, "Runtime error: %s", "Assert failed");
965 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12650);
966 show_backtrace(1);
967 }
968 var_pvisibilitynode4 = var_nodearraylist3;
969 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
970 cltype20 = type_nullable_parser_nodes__AVisibility.color;
971 idtype21 = type_nullable_parser_nodes__AVisibility.id;
972 if(var_pvisibilitynode4 == NULL) {
973 var19 = 1;
974 } else {
975 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
976 var19 = 0;
977 } else {
978 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
979 }
980 }
981 if (!var19) {
982 fprintf(stderr, "Runtime error: %s", "Assert failed");
983 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12652);
984 show_backtrace(1);
985 }
986 var_pclasskindnode5 = var_nodearraylist4;
987 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
988 cltype23 = type_nullable_parser_nodes__AClasskind.color;
989 idtype24 = type_nullable_parser_nodes__AClasskind.id;
990 if(var_pclasskindnode5 == NULL) {
991 var22 = 1;
992 } else {
993 if(cltype23 >= var_pclasskindnode5->type->table_size) {
994 var22 = 0;
995 } else {
996 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
997 }
998 }
999 if (!var22) {
1000 fprintf(stderr, "Runtime error: %s", "Assert failed");
1001 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12654);
1002 show_backtrace(1);
1003 }
1004 var_tclassidnode6 = var_nodearraylist6;
1005 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1006 cltype26 = type_nullable_parser_nodes__TClassid.color;
1007 idtype27 = type_nullable_parser_nodes__TClassid.id;
1008 if(var_tclassidnode6 == NULL) {
1009 var25 = 1;
1010 } else {
1011 if(cltype26 >= var_tclassidnode6->type->table_size) {
1012 var25 = 0;
1013 } else {
1014 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
1015 }
1016 }
1017 if (!var25) {
1018 fprintf(stderr, "Runtime error: %s", "Assert failed");
1019 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12656);
1020 show_backtrace(1);
1021 }
1022 var_listnode7 = var_nodearraylist7;
1023 /* <var_listnode7:nullable Object> isa Array[Object] */
1024 cltype29 = type_array__Arraykernel__Object.color;
1025 idtype30 = type_array__Arraykernel__Object.id;
1026 if(var_listnode7 == NULL) {
1027 var28 = 0;
1028 } else {
1029 if(cltype29 >= var_listnode7->type->table_size) {
1030 var28 = 0;
1031 } else {
1032 var28 = var_listnode7->type->type_table[cltype29] == idtype30;
1033 }
1034 }
1035 if (!var28) {
1036 fprintf(stderr, "Runtime error: %s", "Assert failed");
1037 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12658);
1038 show_backtrace(1);
1039 }
1040 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction274>*/;
1041 var_listnode8 = var31;
1042 var_listnode11 = var_nodearraylist8;
1043 /* <var_listnode11:nullable Object> isa Array[Object] */
1044 cltype33 = type_array__Arraykernel__Object.color;
1045 idtype34 = type_array__Arraykernel__Object.id;
1046 if(var_listnode11 == NULL) {
1047 var32 = 0;
1048 } else {
1049 if(cltype33 >= var_listnode11->type->table_size) {
1050 var32 = 0;
1051 } else {
1052 var32 = var_listnode11->type->type_table[cltype33] == idtype34;
1053 }
1054 }
1055 if (!var32) {
1056 fprintf(stderr, "Runtime error: %s", "Assert failed");
1057 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12661);
1058 show_backtrace(1);
1059 }
1060 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction274>*/;
1061 var_listnode12 = var35;
1062 var_listnode13 = var_nodearraylist9;
1063 /* <var_listnode13:nullable Object> isa Array[Object] */
1064 cltype37 = type_array__Arraykernel__Object.color;
1065 idtype38 = type_array__Arraykernel__Object.id;
1066 if(var_listnode13 == NULL) {
1067 var36 = 0;
1068 } else {
1069 if(cltype37 >= var_listnode13->type->table_size) {
1070 var36 = 0;
1071 } else {
1072 var36 = var_listnode13->type->type_table[cltype37] == idtype38;
1073 }
1074 }
1075 if (!var36) {
1076 fprintf(stderr, "Runtime error: %s", "Assert failed");
1077 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12664);
1078 show_backtrace(1);
1079 }
1080 var39 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode14, var_listnode13) /* concat on <self:ReduceAction274>*/;
1081 var_listnode14 = var39;
1082 var_tkwendnode15 = var_nodearraylist11;
1083 /* <var_tkwendnode15:nullable Object> isa nullable TKwend */
1084 cltype41 = type_nullable_parser_nodes__TKwend.color;
1085 idtype42 = type_nullable_parser_nodes__TKwend.id;
1086 if(var_tkwendnode15 == NULL) {
1087 var40 = 1;
1088 } else {
1089 if(cltype41 >= var_tkwendnode15->type->table_size) {
1090 var40 = 0;
1091 } else {
1092 var40 = var_tkwendnode15->type->type_table[cltype41] == idtype42;
1093 }
1094 }
1095 if (!var40) {
1096 fprintf(stderr, "Runtime error: %s", "Assert failed");
1097 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12667);
1098 show_backtrace(1);
1099 }
1100 var43 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1101 var44 = NULL;
1102 var45 = NULL;
1103 ((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_listnode8, var44, var45, var_listnode12, var_listnode14, var_tkwendnode15) /* init_astdclassdef on <var43:AStdClassdef>*/;
1104 var_pclassdefnode1 = var43;
1105 var_node_list = var_pclassdefnode1;
1106 var46 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction274> */
1107 var47 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var46) /* go_to on <var_p:Parser>*/;
1108 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var47, var_node_list) /* push on <var_p:Parser>*/;
1109 RET_LABEL:;
1110 }
1111 /* method parser#ReduceAction274#action for (self: Object, Parser) */
1112 void VIRTUAL_parser__ReduceAction274__action(val* self, val* p0) {
1113 parser__ReduceAction274__action(self, p0);
1114 RET_LABEL:;
1115 }
1116 /* method parser#ReduceAction275#action for (self: ReduceAction275, Parser) */
1117 void parser__ReduceAction275__action(val* self, val* p0) {
1118 val* var_p /* var p: Parser */;
1119 val* var /* : null */;
1120 val* var_node_list /* var node_list: nullable Object */;
1121 val* var1 /* : nullable Object */;
1122 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
1123 val* var2 /* : nullable Object */;
1124 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1125 val* var3 /* : nullable Object */;
1126 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1127 val* var4 /* : nullable Object */;
1128 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1129 val* var5 /* : nullable Object */;
1130 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1131 val* var6 /* : nullable Object */;
1132 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1133 val* var7 /* : nullable Object */;
1134 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1135 val* var8 /* : nullable Object */;
1136 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1137 val* var9 /* : nullable Object */;
1138 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1139 val* var10 /* : nullable Object */;
1140 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1141 val* var11 /* : nullable Object */;
1142 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1143 val* var12 /* : Array[Object] */;
1144 val* var_listnode8 /* var listnode8: Array[Object] */;
1145 val* var13 /* : Array[Object] */;
1146 val* var_listnode12 /* var listnode12: Array[Object] */;
1147 val* var14 /* : Array[Object] */;
1148 val* var_listnode14 /* var listnode14: Array[Object] */;
1149 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1150 short int var15 /* : Bool */;
1151 int cltype;
1152 int idtype;
1153 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1154 short int var16 /* : Bool */;
1155 int cltype17;
1156 int idtype18;
1157 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1158 short int var19 /* : Bool */;
1159 int cltype20;
1160 int idtype21;
1161 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1162 short int var22 /* : Bool */;
1163 int cltype23;
1164 int idtype24;
1165 val* var_listnode7 /* var listnode7: nullable Object */;
1166 short int var25 /* : Bool */;
1167 int cltype26;
1168 int idtype27;
1169 val* var28 /* : Array[Object] */;
1170 val* var_listnode11 /* var listnode11: nullable Object */;
1171 short int var29 /* : Bool */;
1172 int cltype30;
1173 int idtype31;
1174 val* var32 /* : Array[Object] */;
1175 val* var_listnode13 /* var listnode13: nullable Object */;
1176 short int var33 /* : Bool */;
1177 int cltype34;
1178 int idtype35;
1179 val* var36 /* : Array[Object] */;
1180 val* var_tkwendnode15 /* var tkwendnode15: nullable Object */;
1181 short int var37 /* : Bool */;
1182 int cltype38;
1183 int idtype39;
1184 val* var40 /* : AStdClassdef */;
1185 val* var41 /* : null */;
1186 val* var42 /* : null */;
1187 val* var43 /* : null */;
1188 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1189 long var44 /* : Int */;
1190 long var45 /* : Int */;
1191 var_p = p0;
1192 var = NULL;
1193 var_node_list = var;
1194 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1195 var_nodearraylist11 = var1;
1196 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1197 var_nodearraylist10 = var2;
1198 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1199 var_nodearraylist9 = var3;
1200 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1201 var_nodearraylist8 = var4;
1202 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1203 var_nodearraylist7 = var5;
1204 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1205 var_nodearraylist6 = var6;
1206 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1207 var_nodearraylist5 = var7;
1208 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1209 var_nodearraylist4 = var8;
1210 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1211 var_nodearraylist3 = var9;
1212 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1213 var_nodearraylist2 = var10;
1214 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1215 var_nodearraylist1 = var11;
1216 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
1217 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
1218 var_listnode8 = var12;
1219 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
1220 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
1221 var_listnode12 = var13;
1222 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
1223 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
1224 var_listnode14 = var14;
1225 var_pdocnode2 = var_nodearraylist1;
1226 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1227 cltype = type_nullable_parser_nodes__ADoc.color;
1228 idtype = type_nullable_parser_nodes__ADoc.id;
1229 if(var_pdocnode2 == NULL) {
1230 var15 = 1;
1231 } else {
1232 if(cltype >= var_pdocnode2->type->table_size) {
1233 var15 = 0;
1234 } else {
1235 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
1236 }
1237 }
1238 if (!var15) {
1239 fprintf(stderr, "Runtime error: %s", "Assert failed");
1240 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12705);
1241 show_backtrace(1);
1242 }
1243 var_pvisibilitynode4 = var_nodearraylist2;
1244 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1245 cltype17 = type_nullable_parser_nodes__AVisibility.color;
1246 idtype18 = type_nullable_parser_nodes__AVisibility.id;
1247 if(var_pvisibilitynode4 == NULL) {
1248 var16 = 1;
1249 } else {
1250 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
1251 var16 = 0;
1252 } else {
1253 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
1254 }
1255 }
1256 if (!var16) {
1257 fprintf(stderr, "Runtime error: %s", "Assert failed");
1258 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12707);
1259 show_backtrace(1);
1260 }
1261 var_pclasskindnode5 = var_nodearraylist3;
1262 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1263 cltype20 = type_nullable_parser_nodes__AClasskind.color;
1264 idtype21 = type_nullable_parser_nodes__AClasskind.id;
1265 if(var_pclasskindnode5 == NULL) {
1266 var19 = 1;
1267 } else {
1268 if(cltype20 >= var_pclasskindnode5->type->table_size) {
1269 var19 = 0;
1270 } else {
1271 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
1272 }
1273 }
1274 if (!var19) {
1275 fprintf(stderr, "Runtime error: %s", "Assert failed");
1276 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12709);
1277 show_backtrace(1);
1278 }
1279 var_tclassidnode6 = var_nodearraylist6;
1280 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1281 cltype23 = type_nullable_parser_nodes__TClassid.color;
1282 idtype24 = type_nullable_parser_nodes__TClassid.id;
1283 if(var_tclassidnode6 == NULL) {
1284 var22 = 1;
1285 } else {
1286 if(cltype23 >= var_tclassidnode6->type->table_size) {
1287 var22 = 0;
1288 } else {
1289 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
1290 }
1291 }
1292 if (!var22) {
1293 fprintf(stderr, "Runtime error: %s", "Assert failed");
1294 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12711);
1295 show_backtrace(1);
1296 }
1297 var_listnode7 = var_nodearraylist7;
1298 /* <var_listnode7:nullable Object> isa Array[Object] */
1299 cltype26 = type_array__Arraykernel__Object.color;
1300 idtype27 = type_array__Arraykernel__Object.id;
1301 if(var_listnode7 == NULL) {
1302 var25 = 0;
1303 } else {
1304 if(cltype26 >= var_listnode7->type->table_size) {
1305 var25 = 0;
1306 } else {
1307 var25 = var_listnode7->type->type_table[cltype26] == idtype27;
1308 }
1309 }
1310 if (!var25) {
1311 fprintf(stderr, "Runtime error: %s", "Assert failed");
1312 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12713);
1313 show_backtrace(1);
1314 }
1315 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction275>*/;
1316 var_listnode8 = var28;
1317 var_listnode11 = var_nodearraylist8;
1318 /* <var_listnode11:nullable Object> isa Array[Object] */
1319 cltype30 = type_array__Arraykernel__Object.color;
1320 idtype31 = type_array__Arraykernel__Object.id;
1321 if(var_listnode11 == NULL) {
1322 var29 = 0;
1323 } else {
1324 if(cltype30 >= var_listnode11->type->table_size) {
1325 var29 = 0;
1326 } else {
1327 var29 = var_listnode11->type->type_table[cltype30] == idtype31;
1328 }
1329 }
1330 if (!var29) {
1331 fprintf(stderr, "Runtime error: %s", "Assert failed");
1332 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12716);
1333 show_backtrace(1);
1334 }
1335 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction275>*/;
1336 var_listnode12 = var32;
1337 var_listnode13 = var_nodearraylist9;
1338 /* <var_listnode13:nullable Object> isa Array[Object] */
1339 cltype34 = type_array__Arraykernel__Object.color;
1340 idtype35 = type_array__Arraykernel__Object.id;
1341 if(var_listnode13 == NULL) {
1342 var33 = 0;
1343 } else {
1344 if(cltype34 >= var_listnode13->type->table_size) {
1345 var33 = 0;
1346 } else {
1347 var33 = var_listnode13->type->type_table[cltype34] == idtype35;
1348 }
1349 }
1350 if (!var33) {
1351 fprintf(stderr, "Runtime error: %s", "Assert failed");
1352 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12719);
1353 show_backtrace(1);
1354 }
1355 var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode14, var_listnode13) /* concat on <self:ReduceAction275>*/;
1356 var_listnode14 = var36;
1357 var_tkwendnode15 = var_nodearraylist11;
1358 /* <var_tkwendnode15:nullable Object> isa nullable TKwend */
1359 cltype38 = type_nullable_parser_nodes__TKwend.color;
1360 idtype39 = type_nullable_parser_nodes__TKwend.id;
1361 if(var_tkwendnode15 == NULL) {
1362 var37 = 1;
1363 } else {
1364 if(cltype38 >= var_tkwendnode15->type->table_size) {
1365 var37 = 0;
1366 } else {
1367 var37 = var_tkwendnode15->type->type_table[cltype38] == idtype39;
1368 }
1369 }
1370 if (!var37) {
1371 fprintf(stderr, "Runtime error: %s", "Assert failed");
1372 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12722);
1373 show_backtrace(1);
1374 }
1375 var40 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1376 var41 = NULL;
1377 var42 = NULL;
1378 var43 = NULL;
1379 ((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_listnode8, var42, var43, var_listnode12, var_listnode14, var_tkwendnode15) /* init_astdclassdef on <var40:AStdClassdef>*/;
1380 var_pclassdefnode1 = var40;
1381 var_node_list = var_pclassdefnode1;
1382 var44 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction275> */
1383 var45 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var44) /* go_to on <var_p:Parser>*/;
1384 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var45, var_node_list) /* push on <var_p:Parser>*/;
1385 RET_LABEL:;
1386 }
1387 /* method parser#ReduceAction275#action for (self: Object, Parser) */
1388 void VIRTUAL_parser__ReduceAction275__action(val* self, val* p0) {
1389 parser__ReduceAction275__action(self, p0);
1390 RET_LABEL:;
1391 }
1392 /* method parser#ReduceAction276#action for (self: ReduceAction276, Parser) */
1393 void parser__ReduceAction276__action(val* self, val* p0) {
1394 val* var_p /* var p: Parser */;
1395 val* var /* : null */;
1396 val* var_node_list /* var node_list: nullable Object */;
1397 val* var1 /* : nullable Object */;
1398 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
1399 val* var2 /* : nullable Object */;
1400 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
1401 val* var3 /* : nullable Object */;
1402 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1403 val* var4 /* : nullable Object */;
1404 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1405 val* var5 /* : nullable Object */;
1406 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1407 val* var6 /* : nullable Object */;
1408 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1409 val* var7 /* : nullable Object */;
1410 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1411 val* var8 /* : nullable Object */;
1412 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1413 val* var9 /* : nullable Object */;
1414 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1415 val* var10 /* : nullable Object */;
1416 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1417 val* var11 /* : nullable Object */;
1418 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1419 val* var12 /* : nullable Object */;
1420 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1421 val* var13 /* : Array[Object] */;
1422 val* var_listnode8 /* var listnode8: Array[Object] */;
1423 val* var14 /* : Array[Object] */;
1424 val* var_listnode12 /* var listnode12: Array[Object] */;
1425 val* var15 /* : Array[Object] */;
1426 val* var_listnode14 /* var listnode14: Array[Object] */;
1427 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1428 short int var16 /* : Bool */;
1429 int cltype;
1430 int idtype;
1431 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1432 short int var17 /* : Bool */;
1433 int cltype18;
1434 int idtype19;
1435 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1436 short int var20 /* : Bool */;
1437 int cltype21;
1438 int idtype22;
1439 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1440 short int var23 /* : Bool */;
1441 int cltype24;
1442 int idtype25;
1443 val* var_listnode7 /* var listnode7: nullable Object */;
1444 short int var26 /* : Bool */;
1445 int cltype27;
1446 int idtype28;
1447 val* var29 /* : Array[Object] */;
1448 val* var_listnode11 /* var listnode11: nullable Object */;
1449 short int var30 /* : Bool */;
1450 int cltype31;
1451 int idtype32;
1452 val* var33 /* : Array[Object] */;
1453 val* var_listnode13 /* var listnode13: nullable Object */;
1454 short int var34 /* : Bool */;
1455 int cltype35;
1456 int idtype36;
1457 val* var37 /* : Array[Object] */;
1458 val* var_tkwendnode15 /* var tkwendnode15: nullable Object */;
1459 short int var38 /* : Bool */;
1460 int cltype39;
1461 int idtype40;
1462 val* var41 /* : AStdClassdef */;
1463 val* var42 /* : null */;
1464 val* var43 /* : null */;
1465 val* var44 /* : null */;
1466 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1467 long var45 /* : Int */;
1468 long var46 /* : Int */;
1469 var_p = p0;
1470 var = NULL;
1471 var_node_list = var;
1472 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1473 var_nodearraylist12 = var1;
1474 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1475 var_nodearraylist11 = var2;
1476 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1477 var_nodearraylist10 = var3;
1478 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1479 var_nodearraylist9 = var4;
1480 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1481 var_nodearraylist8 = var5;
1482 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1483 var_nodearraylist7 = var6;
1484 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1485 var_nodearraylist6 = var7;
1486 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1487 var_nodearraylist5 = var8;
1488 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1489 var_nodearraylist4 = var9;
1490 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1491 var_nodearraylist3 = var10;
1492 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1493 var_nodearraylist2 = var11;
1494 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1495 var_nodearraylist1 = var12;
1496 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
1497 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
1498 var_listnode8 = var13;
1499 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
1500 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
1501 var_listnode12 = var14;
1502 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
1503 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
1504 var_listnode14 = var15;
1505 var_pdocnode2 = var_nodearraylist1;
1506 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1507 cltype = type_nullable_parser_nodes__ADoc.color;
1508 idtype = type_nullable_parser_nodes__ADoc.id;
1509 if(var_pdocnode2 == NULL) {
1510 var16 = 1;
1511 } else {
1512 if(cltype >= var_pdocnode2->type->table_size) {
1513 var16 = 0;
1514 } else {
1515 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
1516 }
1517 }
1518 if (!var16) {
1519 fprintf(stderr, "Runtime error: %s", "Assert failed");
1520 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12761);
1521 show_backtrace(1);
1522 }
1523 var_pvisibilitynode4 = var_nodearraylist2;
1524 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1525 cltype18 = type_nullable_parser_nodes__AVisibility.color;
1526 idtype19 = type_nullable_parser_nodes__AVisibility.id;
1527 if(var_pvisibilitynode4 == NULL) {
1528 var17 = 1;
1529 } else {
1530 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
1531 var17 = 0;
1532 } else {
1533 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
1534 }
1535 }
1536 if (!var17) {
1537 fprintf(stderr, "Runtime error: %s", "Assert failed");
1538 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12763);
1539 show_backtrace(1);
1540 }
1541 var_pclasskindnode5 = var_nodearraylist3;
1542 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1543 cltype21 = type_nullable_parser_nodes__AClasskind.color;
1544 idtype22 = type_nullable_parser_nodes__AClasskind.id;
1545 if(var_pclasskindnode5 == NULL) {
1546 var20 = 1;
1547 } else {
1548 if(cltype21 >= var_pclasskindnode5->type->table_size) {
1549 var20 = 0;
1550 } else {
1551 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
1552 }
1553 }
1554 if (!var20) {
1555 fprintf(stderr, "Runtime error: %s", "Assert failed");
1556 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12765);
1557 show_backtrace(1);
1558 }
1559 var_tclassidnode6 = var_nodearraylist7;
1560 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1561 cltype24 = type_nullable_parser_nodes__TClassid.color;
1562 idtype25 = type_nullable_parser_nodes__TClassid.id;
1563 if(var_tclassidnode6 == NULL) {
1564 var23 = 1;
1565 } else {
1566 if(cltype24 >= var_tclassidnode6->type->table_size) {
1567 var23 = 0;
1568 } else {
1569 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
1570 }
1571 }
1572 if (!var23) {
1573 fprintf(stderr, "Runtime error: %s", "Assert failed");
1574 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12767);
1575 show_backtrace(1);
1576 }
1577 var_listnode7 = var_nodearraylist8;
1578 /* <var_listnode7:nullable Object> isa Array[Object] */
1579 cltype27 = type_array__Arraykernel__Object.color;
1580 idtype28 = type_array__Arraykernel__Object.id;
1581 if(var_listnode7 == NULL) {
1582 var26 = 0;
1583 } else {
1584 if(cltype27 >= var_listnode7->type->table_size) {
1585 var26 = 0;
1586 } else {
1587 var26 = var_listnode7->type->type_table[cltype27] == idtype28;
1588 }
1589 }
1590 if (!var26) {
1591 fprintf(stderr, "Runtime error: %s", "Assert failed");
1592 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12769);
1593 show_backtrace(1);
1594 }
1595 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction276>*/;
1596 var_listnode8 = var29;
1597 var_listnode11 = var_nodearraylist9;
1598 /* <var_listnode11:nullable Object> isa Array[Object] */
1599 cltype31 = type_array__Arraykernel__Object.color;
1600 idtype32 = type_array__Arraykernel__Object.id;
1601 if(var_listnode11 == NULL) {
1602 var30 = 0;
1603 } else {
1604 if(cltype31 >= var_listnode11->type->table_size) {
1605 var30 = 0;
1606 } else {
1607 var30 = var_listnode11->type->type_table[cltype31] == idtype32;
1608 }
1609 }
1610 if (!var30) {
1611 fprintf(stderr, "Runtime error: %s", "Assert failed");
1612 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12772);
1613 show_backtrace(1);
1614 }
1615 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction276>*/;
1616 var_listnode12 = var33;
1617 var_listnode13 = var_nodearraylist10;
1618 /* <var_listnode13:nullable Object> isa Array[Object] */
1619 cltype35 = type_array__Arraykernel__Object.color;
1620 idtype36 = type_array__Arraykernel__Object.id;
1621 if(var_listnode13 == NULL) {
1622 var34 = 0;
1623 } else {
1624 if(cltype35 >= var_listnode13->type->table_size) {
1625 var34 = 0;
1626 } else {
1627 var34 = var_listnode13->type->type_table[cltype35] == idtype36;
1628 }
1629 }
1630 if (!var34) {
1631 fprintf(stderr, "Runtime error: %s", "Assert failed");
1632 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12775);
1633 show_backtrace(1);
1634 }
1635 var37 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode14, var_listnode13) /* concat on <self:ReduceAction276>*/;
1636 var_listnode14 = var37;
1637 var_tkwendnode15 = var_nodearraylist12;
1638 /* <var_tkwendnode15:nullable Object> isa nullable TKwend */
1639 cltype39 = type_nullable_parser_nodes__TKwend.color;
1640 idtype40 = type_nullable_parser_nodes__TKwend.id;
1641 if(var_tkwendnode15 == NULL) {
1642 var38 = 1;
1643 } else {
1644 if(cltype39 >= var_tkwendnode15->type->table_size) {
1645 var38 = 0;
1646 } else {
1647 var38 = var_tkwendnode15->type->type_table[cltype39] == idtype40;
1648 }
1649 }
1650 if (!var38) {
1651 fprintf(stderr, "Runtime error: %s", "Assert failed");
1652 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12778);
1653 show_backtrace(1);
1654 }
1655 var41 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1656 var42 = NULL;
1657 var43 = NULL;
1658 var44 = NULL;
1659 ((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_listnode8, var43, var44, var_listnode12, var_listnode14, var_tkwendnode15) /* init_astdclassdef on <var41:AStdClassdef>*/;
1660 var_pclassdefnode1 = var41;
1661 var_node_list = var_pclassdefnode1;
1662 var45 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction276> */
1663 var46 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var45) /* go_to on <var_p:Parser>*/;
1664 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var46, var_node_list) /* push on <var_p:Parser>*/;
1665 RET_LABEL:;
1666 }
1667 /* method parser#ReduceAction276#action for (self: Object, Parser) */
1668 void VIRTUAL_parser__ReduceAction276__action(val* self, val* p0) {
1669 parser__ReduceAction276__action(self, p0);
1670 RET_LABEL:;
1671 }
1672 /* method parser#ReduceAction278#action for (self: ReduceAction278, Parser) */
1673 void parser__ReduceAction278__action(val* self, val* p0) {
1674 val* var_p /* var p: Parser */;
1675 val* var /* : null */;
1676 val* var_node_list /* var node_list: nullable Object */;
1677 val* var1 /* : nullable Object */;
1678 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
1679 val* var2 /* : nullable Object */;
1680 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
1681 val* var3 /* : nullable Object */;
1682 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1683 val* var4 /* : nullable Object */;
1684 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1685 val* var5 /* : nullable Object */;
1686 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1687 val* var6 /* : nullable Object */;
1688 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1689 val* var7 /* : nullable Object */;
1690 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1691 val* var8 /* : nullable Object */;
1692 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1693 val* var9 /* : nullable Object */;
1694 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1695 val* var10 /* : nullable Object */;
1696 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1697 val* var11 /* : nullable Object */;
1698 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1699 val* var12 /* : nullable Object */;
1700 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1701 val* var13 /* : Array[Object] */;
1702 val* var_listnode8 /* var listnode8: Array[Object] */;
1703 val* var14 /* : Array[Object] */;
1704 val* var_listnode12 /* var listnode12: Array[Object] */;
1705 val* var15 /* : Array[Object] */;
1706 val* var_listnode14 /* var listnode14: Array[Object] */;
1707 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1708 short int var16 /* : Bool */;
1709 int cltype;
1710 int idtype;
1711 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
1712 short int var17 /* : Bool */;
1713 int cltype18;
1714 int idtype19;
1715 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1716 short int var20 /* : Bool */;
1717 int cltype21;
1718 int idtype22;
1719 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1720 short int var23 /* : Bool */;
1721 int cltype24;
1722 int idtype25;
1723 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1724 short int var26 /* : Bool */;
1725 int cltype27;
1726 int idtype28;
1727 val* var_listnode7 /* var listnode7: nullable Object */;
1728 short int var29 /* : Bool */;
1729 int cltype30;
1730 int idtype31;
1731 val* var32 /* : Array[Object] */;
1732 val* var_listnode11 /* var listnode11: nullable Object */;
1733 short int var33 /* : Bool */;
1734 int cltype34;
1735 int idtype35;
1736 val* var36 /* : Array[Object] */;
1737 val* var_listnode13 /* var listnode13: nullable Object */;
1738 short int var37 /* : Bool */;
1739 int cltype38;
1740 int idtype39;
1741 val* var40 /* : Array[Object] */;
1742 val* var_tkwendnode15 /* var tkwendnode15: nullable Object */;
1743 short int var41 /* : Bool */;
1744 int cltype42;
1745 int idtype43;
1746 val* var44 /* : AStdClassdef */;
1747 val* var45 /* : null */;
1748 val* var46 /* : null */;
1749 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1750 long var47 /* : Int */;
1751 long var48 /* : Int */;
1752 var_p = p0;
1753 var = NULL;
1754 var_node_list = var;
1755 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1756 var_nodearraylist12 = var1;
1757 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1758 var_nodearraylist11 = var2;
1759 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1760 var_nodearraylist10 = var3;
1761 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1762 var_nodearraylist9 = var4;
1763 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1764 var_nodearraylist8 = var5;
1765 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1766 var_nodearraylist7 = var6;
1767 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1768 var_nodearraylist6 = var7;
1769 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1770 var_nodearraylist5 = var8;
1771 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1772 var_nodearraylist4 = var9;
1773 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1774 var_nodearraylist3 = var10;
1775 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1776 var_nodearraylist2 = var11;
1777 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1778 var_nodearraylist1 = var12;
1779 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
1780 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
1781 var_listnode8 = var13;
1782 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
1783 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
1784 var_listnode12 = var14;
1785 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
1786 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
1787 var_listnode14 = var15;
1788 var_pdocnode2 = var_nodearraylist1;
1789 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1790 cltype = type_nullable_parser_nodes__ADoc.color;
1791 idtype = type_nullable_parser_nodes__ADoc.id;
1792 if(var_pdocnode2 == NULL) {
1793 var16 = 1;
1794 } else {
1795 if(cltype >= var_pdocnode2->type->table_size) {
1796 var16 = 0;
1797 } else {
1798 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
1799 }
1800 }
1801 if (!var16) {
1802 fprintf(stderr, "Runtime error: %s", "Assert failed");
1803 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12817);
1804 show_backtrace(1);
1805 }
1806 var_tkwredefnode3 = var_nodearraylist2;
1807 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1808 cltype18 = type_nullable_parser_nodes__TKwredef.color;
1809 idtype19 = type_nullable_parser_nodes__TKwredef.id;
1810 if(var_tkwredefnode3 == NULL) {
1811 var17 = 1;
1812 } else {
1813 if(cltype18 >= var_tkwredefnode3->type->table_size) {
1814 var17 = 0;
1815 } else {
1816 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
1817 }
1818 }
1819 if (!var17) {
1820 fprintf(stderr, "Runtime error: %s", "Assert failed");
1821 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12819);
1822 show_backtrace(1);
1823 }
1824 var_pvisibilitynode4 = var_nodearraylist3;
1825 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1826 cltype21 = type_nullable_parser_nodes__AVisibility.color;
1827 idtype22 = type_nullable_parser_nodes__AVisibility.id;
1828 if(var_pvisibilitynode4 == NULL) {
1829 var20 = 1;
1830 } else {
1831 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
1832 var20 = 0;
1833 } else {
1834 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
1835 }
1836 }
1837 if (!var20) {
1838 fprintf(stderr, "Runtime error: %s", "Assert failed");
1839 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12821);
1840 show_backtrace(1);
1841 }
1842 var_pclasskindnode5 = var_nodearraylist4;
1843 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1844 cltype24 = type_nullable_parser_nodes__AClasskind.color;
1845 idtype25 = type_nullable_parser_nodes__AClasskind.id;
1846 if(var_pclasskindnode5 == NULL) {
1847 var23 = 1;
1848 } else {
1849 if(cltype24 >= var_pclasskindnode5->type->table_size) {
1850 var23 = 0;
1851 } else {
1852 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
1853 }
1854 }
1855 if (!var23) {
1856 fprintf(stderr, "Runtime error: %s", "Assert failed");
1857 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12823);
1858 show_backtrace(1);
1859 }
1860 var_tclassidnode6 = var_nodearraylist7;
1861 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1862 cltype27 = type_nullable_parser_nodes__TClassid.color;
1863 idtype28 = type_nullable_parser_nodes__TClassid.id;
1864 if(var_tclassidnode6 == NULL) {
1865 var26 = 1;
1866 } else {
1867 if(cltype27 >= var_tclassidnode6->type->table_size) {
1868 var26 = 0;
1869 } else {
1870 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
1871 }
1872 }
1873 if (!var26) {
1874 fprintf(stderr, "Runtime error: %s", "Assert failed");
1875 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12825);
1876 show_backtrace(1);
1877 }
1878 var_listnode7 = var_nodearraylist8;
1879 /* <var_listnode7:nullable Object> isa Array[Object] */
1880 cltype30 = type_array__Arraykernel__Object.color;
1881 idtype31 = type_array__Arraykernel__Object.id;
1882 if(var_listnode7 == NULL) {
1883 var29 = 0;
1884 } else {
1885 if(cltype30 >= var_listnode7->type->table_size) {
1886 var29 = 0;
1887 } else {
1888 var29 = var_listnode7->type->type_table[cltype30] == idtype31;
1889 }
1890 }
1891 if (!var29) {
1892 fprintf(stderr, "Runtime error: %s", "Assert failed");
1893 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12827);
1894 show_backtrace(1);
1895 }
1896 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction278>*/;
1897 var_listnode8 = var32;
1898 var_listnode11 = var_nodearraylist9;
1899 /* <var_listnode11:nullable Object> isa Array[Object] */
1900 cltype34 = type_array__Arraykernel__Object.color;
1901 idtype35 = type_array__Arraykernel__Object.id;
1902 if(var_listnode11 == NULL) {
1903 var33 = 0;
1904 } else {
1905 if(cltype34 >= var_listnode11->type->table_size) {
1906 var33 = 0;
1907 } else {
1908 var33 = var_listnode11->type->type_table[cltype34] == idtype35;
1909 }
1910 }
1911 if (!var33) {
1912 fprintf(stderr, "Runtime error: %s", "Assert failed");
1913 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12830);
1914 show_backtrace(1);
1915 }
1916 var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction278>*/;
1917 var_listnode12 = var36;
1918 var_listnode13 = var_nodearraylist10;
1919 /* <var_listnode13:nullable Object> isa Array[Object] */
1920 cltype38 = type_array__Arraykernel__Object.color;
1921 idtype39 = type_array__Arraykernel__Object.id;
1922 if(var_listnode13 == NULL) {
1923 var37 = 0;
1924 } else {
1925 if(cltype38 >= var_listnode13->type->table_size) {
1926 var37 = 0;
1927 } else {
1928 var37 = var_listnode13->type->type_table[cltype38] == idtype39;
1929 }
1930 }
1931 if (!var37) {
1932 fprintf(stderr, "Runtime error: %s", "Assert failed");
1933 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12833);
1934 show_backtrace(1);
1935 }
1936 var40 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode14, var_listnode13) /* concat on <self:ReduceAction278>*/;
1937 var_listnode14 = var40;
1938 var_tkwendnode15 = var_nodearraylist12;
1939 /* <var_tkwendnode15:nullable Object> isa nullable TKwend */
1940 cltype42 = type_nullable_parser_nodes__TKwend.color;
1941 idtype43 = type_nullable_parser_nodes__TKwend.id;
1942 if(var_tkwendnode15 == NULL) {
1943 var41 = 1;
1944 } else {
1945 if(cltype42 >= var_tkwendnode15->type->table_size) {
1946 var41 = 0;
1947 } else {
1948 var41 = var_tkwendnode15->type->type_table[cltype42] == idtype43;
1949 }
1950 }
1951 if (!var41) {
1952 fprintf(stderr, "Runtime error: %s", "Assert failed");
1953 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12836);
1954 show_backtrace(1);
1955 }
1956 var44 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1957 var45 = NULL;
1958 var46 = NULL;
1959 ((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_listnode8, var45, var46, var_listnode12, var_listnode14, var_tkwendnode15) /* init_astdclassdef on <var44:AStdClassdef>*/;
1960 var_pclassdefnode1 = var44;
1961 var_node_list = var_pclassdefnode1;
1962 var47 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction278> */
1963 var48 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var47) /* go_to on <var_p:Parser>*/;
1964 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var48, var_node_list) /* push on <var_p:Parser>*/;
1965 RET_LABEL:;
1966 }
1967 /* method parser#ReduceAction278#action for (self: Object, Parser) */
1968 void VIRTUAL_parser__ReduceAction278__action(val* self, val* p0) {
1969 parser__ReduceAction278__action(self, p0);
1970 RET_LABEL:;
1971 }
1972 /* method parser#ReduceAction279#action for (self: ReduceAction279, Parser) */
1973 void parser__ReduceAction279__action(val* self, val* p0) {
1974 val* var_p /* var p: Parser */;
1975 val* var /* : null */;
1976 val* var_node_list /* var node_list: nullable Object */;
1977 val* var1 /* : nullable Object */;
1978 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
1979 val* var2 /* : nullable Object */;
1980 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
1981 val* var3 /* : nullable Object */;
1982 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
1983 val* var4 /* : nullable Object */;
1984 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1985 val* var5 /* : nullable Object */;
1986 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1987 val* var6 /* : nullable Object */;
1988 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1989 val* var7 /* : nullable Object */;
1990 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1991 val* var8 /* : nullable Object */;
1992 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1993 val* var9 /* : nullable Object */;
1994 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1995 val* var10 /* : nullable Object */;
1996 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1997 val* var11 /* : nullable Object */;
1998 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1999 val* var12 /* : nullable Object */;
2000 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2001 val* var13 /* : nullable Object */;
2002 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2003 val* var14 /* : Array[Object] */;
2004 val* var_listnode8 /* var listnode8: Array[Object] */;
2005 val* var15 /* : Array[Object] */;
2006 val* var_listnode12 /* var listnode12: Array[Object] */;
2007 val* var16 /* : Array[Object] */;
2008 val* var_listnode14 /* var listnode14: Array[Object] */;
2009 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2010 short int var17 /* : Bool */;
2011 int cltype;
2012 int idtype;
2013 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
2014 short int var18 /* : Bool */;
2015 int cltype19;
2016 int idtype20;
2017 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2018 short int var21 /* : Bool */;
2019 int cltype22;
2020 int idtype23;
2021 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2022 short int var24 /* : Bool */;
2023 int cltype25;
2024 int idtype26;
2025 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2026 short int var27 /* : Bool */;
2027 int cltype28;
2028 int idtype29;
2029 val* var_listnode7 /* var listnode7: nullable Object */;
2030 short int var30 /* : Bool */;
2031 int cltype31;
2032 int idtype32;
2033 val* var33 /* : Array[Object] */;
2034 val* var_listnode11 /* var listnode11: nullable Object */;
2035 short int var34 /* : Bool */;
2036 int cltype35;
2037 int idtype36;
2038 val* var37 /* : Array[Object] */;
2039 val* var_listnode13 /* var listnode13: nullable Object */;
2040 short int var38 /* : Bool */;
2041 int cltype39;
2042 int idtype40;
2043 val* var41 /* : Array[Object] */;
2044 val* var_tkwendnode15 /* var tkwendnode15: nullable Object */;
2045 short int var42 /* : Bool */;
2046 int cltype43;
2047 int idtype44;
2048 val* var45 /* : AStdClassdef */;
2049 val* var46 /* : null */;
2050 val* var47 /* : null */;
2051 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2052 long var48 /* : Int */;
2053 long var49 /* : Int */;
2054 var_p = p0;
2055 var = NULL;
2056 var_node_list = var;
2057 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2058 var_nodearraylist13 = var1;
2059 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2060 var_nodearraylist12 = var2;
2061 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2062 var_nodearraylist11 = var3;
2063 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2064 var_nodearraylist10 = var4;
2065 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2066 var_nodearraylist9 = var5;
2067 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2068 var_nodearraylist8 = var6;
2069 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2070 var_nodearraylist7 = var7;
2071 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2072 var_nodearraylist6 = var8;
2073 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2074 var_nodearraylist5 = var9;
2075 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2076 var_nodearraylist4 = var10;
2077 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2078 var_nodearraylist3 = var11;
2079 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2080 var_nodearraylist2 = var12;
2081 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2082 var_nodearraylist1 = var13;
2083 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
2084 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
2085 var_listnode8 = var14;
2086 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
2087 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
2088 var_listnode12 = var15;
2089 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
2090 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
2091 var_listnode14 = var16;
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 var17 = 1;
2098 } else {
2099 if(cltype >= var_pdocnode2->type->table_size) {
2100 var17 = 0;
2101 } else {
2102 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
2103 }
2104 }
2105 if (!var17) {
2106 fprintf(stderr, "Runtime error: %s", "Assert failed");
2107 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12876);
2108 show_backtrace(1);
2109 }
2110 var_tkwredefnode3 = var_nodearraylist2;
2111 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2112 cltype19 = type_nullable_parser_nodes__TKwredef.color;
2113 idtype20 = type_nullable_parser_nodes__TKwredef.id;
2114 if(var_tkwredefnode3 == NULL) {
2115 var18 = 1;
2116 } else {
2117 if(cltype19 >= var_tkwredefnode3->type->table_size) {
2118 var18 = 0;
2119 } else {
2120 var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20;
2121 }
2122 }
2123 if (!var18) {
2124 fprintf(stderr, "Runtime error: %s", "Assert failed");
2125 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12878);
2126 show_backtrace(1);
2127 }
2128 var_pvisibilitynode4 = var_nodearraylist3;
2129 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2130 cltype22 = type_nullable_parser_nodes__AVisibility.color;
2131 idtype23 = type_nullable_parser_nodes__AVisibility.id;
2132 if(var_pvisibilitynode4 == NULL) {
2133 var21 = 1;
2134 } else {
2135 if(cltype22 >= var_pvisibilitynode4->type->table_size) {
2136 var21 = 0;
2137 } else {
2138 var21 = var_pvisibilitynode4->type->type_table[cltype22] == idtype23;
2139 }
2140 }
2141 if (!var21) {
2142 fprintf(stderr, "Runtime error: %s", "Assert failed");
2143 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12880);
2144 show_backtrace(1);
2145 }
2146 var_pclasskindnode5 = var_nodearraylist4;
2147 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2148 cltype25 = type_nullable_parser_nodes__AClasskind.color;
2149 idtype26 = type_nullable_parser_nodes__AClasskind.id;
2150 if(var_pclasskindnode5 == NULL) {
2151 var24 = 1;
2152 } else {
2153 if(cltype25 >= var_pclasskindnode5->type->table_size) {
2154 var24 = 0;
2155 } else {
2156 var24 = var_pclasskindnode5->type->type_table[cltype25] == idtype26;
2157 }
2158 }
2159 if (!var24) {
2160 fprintf(stderr, "Runtime error: %s", "Assert failed");
2161 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12882);
2162 show_backtrace(1);
2163 }
2164 var_tclassidnode6 = var_nodearraylist8;
2165 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2166 cltype28 = type_nullable_parser_nodes__TClassid.color;
2167 idtype29 = type_nullable_parser_nodes__TClassid.id;
2168 if(var_tclassidnode6 == NULL) {
2169 var27 = 1;
2170 } else {
2171 if(cltype28 >= var_tclassidnode6->type->table_size) {
2172 var27 = 0;
2173 } else {
2174 var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29;
2175 }
2176 }
2177 if (!var27) {
2178 fprintf(stderr, "Runtime error: %s", "Assert failed");
2179 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12884);
2180 show_backtrace(1);
2181 }
2182 var_listnode7 = var_nodearraylist9;
2183 /* <var_listnode7:nullable Object> isa Array[Object] */
2184 cltype31 = type_array__Arraykernel__Object.color;
2185 idtype32 = type_array__Arraykernel__Object.id;
2186 if(var_listnode7 == NULL) {
2187 var30 = 0;
2188 } else {
2189 if(cltype31 >= var_listnode7->type->table_size) {
2190 var30 = 0;
2191 } else {
2192 var30 = var_listnode7->type->type_table[cltype31] == idtype32;
2193 }
2194 }
2195 if (!var30) {
2196 fprintf(stderr, "Runtime error: %s", "Assert failed");
2197 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12886);
2198 show_backtrace(1);
2199 }
2200 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction279>*/;
2201 var_listnode8 = var33;
2202 var_listnode11 = var_nodearraylist10;
2203 /* <var_listnode11:nullable Object> isa Array[Object] */
2204 cltype35 = type_array__Arraykernel__Object.color;
2205 idtype36 = type_array__Arraykernel__Object.id;
2206 if(var_listnode11 == NULL) {
2207 var34 = 0;
2208 } else {
2209 if(cltype35 >= var_listnode11->type->table_size) {
2210 var34 = 0;
2211 } else {
2212 var34 = var_listnode11->type->type_table[cltype35] == idtype36;
2213 }
2214 }
2215 if (!var34) {
2216 fprintf(stderr, "Runtime error: %s", "Assert failed");
2217 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12889);
2218 show_backtrace(1);
2219 }
2220 var37 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction279>*/;
2221 var_listnode12 = var37;
2222 var_listnode13 = var_nodearraylist11;
2223 /* <var_listnode13:nullable Object> isa Array[Object] */
2224 cltype39 = type_array__Arraykernel__Object.color;
2225 idtype40 = type_array__Arraykernel__Object.id;
2226 if(var_listnode13 == NULL) {
2227 var38 = 0;
2228 } else {
2229 if(cltype39 >= var_listnode13->type->table_size) {
2230 var38 = 0;
2231 } else {
2232 var38 = var_listnode13->type->type_table[cltype39] == idtype40;
2233 }
2234 }
2235 if (!var38) {
2236 fprintf(stderr, "Runtime error: %s", "Assert failed");
2237 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12892);
2238 show_backtrace(1);
2239 }
2240 var41 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode14, var_listnode13) /* concat on <self:ReduceAction279>*/;
2241 var_listnode14 = var41;
2242 var_tkwendnode15 = var_nodearraylist13;
2243 /* <var_tkwendnode15:nullable Object> isa nullable TKwend */
2244 cltype43 = type_nullable_parser_nodes__TKwend.color;
2245 idtype44 = type_nullable_parser_nodes__TKwend.id;
2246 if(var_tkwendnode15 == NULL) {
2247 var42 = 1;
2248 } else {
2249 if(cltype43 >= var_tkwendnode15->type->table_size) {
2250 var42 = 0;
2251 } else {
2252 var42 = var_tkwendnode15->type->type_table[cltype43] == idtype44;
2253 }
2254 }
2255 if (!var42) {
2256 fprintf(stderr, "Runtime error: %s", "Assert failed");
2257 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12895);
2258 show_backtrace(1);
2259 }
2260 var45 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2261 var46 = NULL;
2262 var47 = NULL;
2263 ((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_listnode8, var46, var47, var_listnode12, var_listnode14, var_tkwendnode15) /* init_astdclassdef on <var45:AStdClassdef>*/;
2264 var_pclassdefnode1 = var45;
2265 var_node_list = var_pclassdefnode1;
2266 var48 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction279> */
2267 var49 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var48) /* go_to on <var_p:Parser>*/;
2268 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var49, var_node_list) /* push on <var_p:Parser>*/;
2269 RET_LABEL:;
2270 }
2271 /* method parser#ReduceAction279#action for (self: Object, Parser) */
2272 void VIRTUAL_parser__ReduceAction279__action(val* self, val* p0) {
2273 parser__ReduceAction279__action(self, p0);
2274 RET_LABEL:;
2275 }
2276 /* method parser#ReduceAction281#action for (self: ReduceAction281, Parser) */
2277 void parser__ReduceAction281__action(val* self, val* p0) {
2278 val* var_p /* var p: Parser */;
2279 val* var /* : null */;
2280 val* var_node_list /* var node_list: nullable Object */;
2281 val* var1 /* : nullable Object */;
2282 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2283 val* var2 /* : nullable Object */;
2284 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2285 val* var3 /* : nullable Object */;
2286 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2287 val* var4 /* : nullable Object */;
2288 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2289 val* var5 /* : nullable Object */;
2290 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2291 val* var6 /* : nullable Object */;
2292 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2293 val* var7 /* : nullable Object */;
2294 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2295 val* var8 /* : nullable Object */;
2296 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2297 val* var9 /* : nullable Object */;
2298 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2299 val* var10 /* : nullable Object */;
2300 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2301 val* var11 /* : Array[Object] */;
2302 val* var_listnode7 /* var listnode7: Array[Object] */;
2303 val* var12 /* : Array[Object] */;
2304 val* var_listnode16 /* var listnode16: Array[Object] */;
2305 val* var13 /* : Array[Object] */;
2306 val* var_listnode18 /* var listnode18: Array[Object] */;
2307 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2308 short int var14 /* : Bool */;
2309 int cltype;
2310 int idtype;
2311 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2312 short int var15 /* : Bool */;
2313 int cltype16;
2314 int idtype17;
2315 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2316 short int var18 /* : Bool */;
2317 int cltype19;
2318 int idtype20;
2319 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2320 short int var21 /* : Bool */;
2321 int cltype22;
2322 int idtype23;
2323 val* var24 /* : Array[Object] */;
2324 val* var_listnode12 /* var listnode12: Array[Object] */;
2325 val* var_listnode11 /* var listnode11: nullable Object */;
2326 short int var25 /* : Bool */;
2327 int cltype26;
2328 int idtype27;
2329 val* var28 /* : Array[Object] */;
2330 val* var29 /* : AAnnotations */;
2331 val* var30 /* : null */;
2332 val* var31 /* : null */;
2333 val* var32 /* : null */;
2334 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
2335 val* var_listnode15 /* var listnode15: nullable Object */;
2336 short int var33 /* : Bool */;
2337 int cltype34;
2338 int idtype35;
2339 val* var36 /* : Array[Object] */;
2340 val* var_listnode17 /* var listnode17: nullable Object */;
2341 short int var37 /* : Bool */;
2342 int cltype38;
2343 int idtype39;
2344 val* var40 /* : Array[Object] */;
2345 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
2346 short int var41 /* : Bool */;
2347 int cltype42;
2348 int idtype43;
2349 val* var44 /* : AStdClassdef */;
2350 val* var45 /* : null */;
2351 val* var46 /* : null */;
2352 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2353 long var47 /* : Int */;
2354 long var48 /* : Int */;
2355 var_p = p0;
2356 var = NULL;
2357 var_node_list = var;
2358 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2359 var_nodearraylist10 = var1;
2360 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2361 var_nodearraylist9 = var2;
2362 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2363 var_nodearraylist8 = var3;
2364 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2365 var_nodearraylist7 = var4;
2366 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2367 var_nodearraylist6 = var5;
2368 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2369 var_nodearraylist5 = var6;
2370 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2371 var_nodearraylist4 = var7;
2372 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2373 var_nodearraylist3 = var8;
2374 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2375 var_nodearraylist2 = var9;
2376 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2377 var_nodearraylist1 = var10;
2378 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
2379 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
2380 var_listnode7 = var11;
2381 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
2382 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
2383 var_listnode16 = var12;
2384 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
2385 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
2386 var_listnode18 = var13;
2387 var_pdocnode2 = var_nodearraylist1;
2388 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2389 cltype = type_nullable_parser_nodes__ADoc.color;
2390 idtype = type_nullable_parser_nodes__ADoc.id;
2391 if(var_pdocnode2 == NULL) {
2392 var14 = 1;
2393 } else {
2394 if(cltype >= var_pdocnode2->type->table_size) {
2395 var14 = 0;
2396 } else {
2397 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
2398 }
2399 }
2400 if (!var14) {
2401 fprintf(stderr, "Runtime error: %s", "Assert failed");
2402 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12932);
2403 show_backtrace(1);
2404 }
2405 var_pvisibilitynode4 = var_nodearraylist2;
2406 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2407 cltype16 = type_nullable_parser_nodes__AVisibility.color;
2408 idtype17 = type_nullable_parser_nodes__AVisibility.id;
2409 if(var_pvisibilitynode4 == NULL) {
2410 var15 = 1;
2411 } else {
2412 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
2413 var15 = 0;
2414 } else {
2415 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
2416 }
2417 }
2418 if (!var15) {
2419 fprintf(stderr, "Runtime error: %s", "Assert failed");
2420 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12934);
2421 show_backtrace(1);
2422 }
2423 var_pclasskindnode5 = var_nodearraylist3;
2424 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2425 cltype19 = type_nullable_parser_nodes__AClasskind.color;
2426 idtype20 = type_nullable_parser_nodes__AClasskind.id;
2427 if(var_pclasskindnode5 == NULL) {
2428 var18 = 1;
2429 } else {
2430 if(cltype19 >= var_pclasskindnode5->type->table_size) {
2431 var18 = 0;
2432 } else {
2433 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
2434 }
2435 }
2436 if (!var18) {
2437 fprintf(stderr, "Runtime error: %s", "Assert failed");
2438 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12936);
2439 show_backtrace(1);
2440 }
2441 var_tclassidnode6 = var_nodearraylist5;
2442 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2443 cltype22 = type_nullable_parser_nodes__TClassid.color;
2444 idtype23 = type_nullable_parser_nodes__TClassid.id;
2445 if(var_tclassidnode6 == NULL) {
2446 var21 = 1;
2447 } else {
2448 if(cltype22 >= var_tclassidnode6->type->table_size) {
2449 var21 = 0;
2450 } else {
2451 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
2452 }
2453 }
2454 if (!var21) {
2455 fprintf(stderr, "Runtime error: %s", "Assert failed");
2456 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12938);
2457 show_backtrace(1);
2458 }
2459 var24 = NEW_array__Array(&type_array__Arraykernel__Object);
2460 ((void (*)(val*))(var24->class->vft[COLOR_array__Array__init]))(var24) /* init on <var24:Array[Object]>*/;
2461 var_listnode12 = var24;
2462 var_listnode11 = var_nodearraylist6;
2463 /* <var_listnode11:nullable Object> isa Array[Object] */
2464 cltype26 = type_array__Arraykernel__Object.color;
2465 idtype27 = type_array__Arraykernel__Object.id;
2466 if(var_listnode11 == NULL) {
2467 var25 = 0;
2468 } else {
2469 if(cltype26 >= var_listnode11->type->table_size) {
2470 var25 = 0;
2471 } else {
2472 var25 = var_listnode11->type->type_table[cltype26] == idtype27;
2473 }
2474 }
2475 if (!var25) {
2476 fprintf(stderr, "Runtime error: %s", "Assert failed");
2477 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12941);
2478 show_backtrace(1);
2479 }
2480 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction281>*/;
2481 var_listnode12 = var28;
2482 var29 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
2483 var30 = NULL;
2484 var31 = NULL;
2485 var32 = NULL;
2486 ((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>*/;
2487 var_pannotationsnode8 = var29;
2488 var_listnode15 = var_nodearraylist7;
2489 /* <var_listnode15:nullable Object> isa Array[Object] */
2490 cltype34 = type_array__Arraykernel__Object.color;
2491 idtype35 = type_array__Arraykernel__Object.id;
2492 if(var_listnode15 == NULL) {
2493 var33 = 0;
2494 } else {
2495 if(cltype34 >= var_listnode15->type->table_size) {
2496 var33 = 0;
2497 } else {
2498 var33 = var_listnode15->type->type_table[cltype34] == idtype35;
2499 }
2500 }
2501 if (!var33) {
2502 fprintf(stderr, "Runtime error: %s", "Assert failed");
2503 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12950);
2504 show_backtrace(1);
2505 }
2506 var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction281>*/;
2507 var_listnode16 = var36;
2508 var_listnode17 = var_nodearraylist8;
2509 /* <var_listnode17:nullable Object> isa Array[Object] */
2510 cltype38 = type_array__Arraykernel__Object.color;
2511 idtype39 = type_array__Arraykernel__Object.id;
2512 if(var_listnode17 == NULL) {
2513 var37 = 0;
2514 } else {
2515 if(cltype38 >= var_listnode17->type->table_size) {
2516 var37 = 0;
2517 } else {
2518 var37 = var_listnode17->type->type_table[cltype38] == idtype39;
2519 }
2520 }
2521 if (!var37) {
2522 fprintf(stderr, "Runtime error: %s", "Assert failed");
2523 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12953);
2524 show_backtrace(1);
2525 }
2526 var40 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction281>*/;
2527 var_listnode18 = var40;
2528 var_tkwendnode19 = var_nodearraylist10;
2529 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
2530 cltype42 = type_nullable_parser_nodes__TKwend.color;
2531 idtype43 = type_nullable_parser_nodes__TKwend.id;
2532 if(var_tkwendnode19 == NULL) {
2533 var41 = 1;
2534 } else {
2535 if(cltype42 >= var_tkwendnode19->type->table_size) {
2536 var41 = 0;
2537 } else {
2538 var41 = var_tkwendnode19->type->type_table[cltype42] == idtype43;
2539 }
2540 }
2541 if (!var41) {
2542 fprintf(stderr, "Runtime error: %s", "Assert failed");
2543 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12956);
2544 show_backtrace(1);
2545 }
2546 var44 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2547 var45 = NULL;
2548 var46 = NULL;
2549 ((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_listnode7, var_pannotationsnode8, var46, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var44:AStdClassdef>*/;
2550 var_pclassdefnode1 = var44;
2551 var_node_list = var_pclassdefnode1;
2552 var47 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction281> */
2553 var48 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var47) /* go_to on <var_p:Parser>*/;
2554 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var48, var_node_list) /* push on <var_p:Parser>*/;
2555 RET_LABEL:;
2556 }
2557 /* method parser#ReduceAction281#action for (self: Object, Parser) */
2558 void VIRTUAL_parser__ReduceAction281__action(val* self, val* p0) {
2559 parser__ReduceAction281__action(self, p0);
2560 RET_LABEL:;
2561 }
2562 /* method parser#ReduceAction282#action for (self: ReduceAction282, Parser) */
2563 void parser__ReduceAction282__action(val* self, val* p0) {
2564 val* var_p /* var p: Parser */;
2565 val* var /* : null */;
2566 val* var_node_list /* var node_list: nullable Object */;
2567 val* var1 /* : nullable Object */;
2568 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
2569 val* var2 /* : nullable Object */;
2570 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2571 val* var3 /* : nullable Object */;
2572 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2573 val* var4 /* : nullable Object */;
2574 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2575 val* var5 /* : nullable Object */;
2576 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2577 val* var6 /* : nullable Object */;
2578 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2579 val* var7 /* : nullable Object */;
2580 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2581 val* var8 /* : nullable Object */;
2582 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2583 val* var9 /* : nullable Object */;
2584 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2585 val* var10 /* : nullable Object */;
2586 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2587 val* var11 /* : nullable Object */;
2588 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2589 val* var12 /* : Array[Object] */;
2590 val* var_listnode7 /* var listnode7: Array[Object] */;
2591 val* var13 /* : Array[Object] */;
2592 val* var_listnode16 /* var listnode16: Array[Object] */;
2593 val* var14 /* : Array[Object] */;
2594 val* var_listnode18 /* var listnode18: Array[Object] */;
2595 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2596 short int var15 /* : Bool */;
2597 int cltype;
2598 int idtype;
2599 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
2600 short int var16 /* : Bool */;
2601 int cltype17;
2602 int idtype18;
2603 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2604 short int var19 /* : Bool */;
2605 int cltype20;
2606 int idtype21;
2607 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2608 short int var22 /* : Bool */;
2609 int cltype23;
2610 int idtype24;
2611 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2612 short int var25 /* : Bool */;
2613 int cltype26;
2614 int idtype27;
2615 val* var28 /* : Array[Object] */;
2616 val* var_listnode12 /* var listnode12: Array[Object] */;
2617 val* var_listnode11 /* var listnode11: nullable Object */;
2618 short int var29 /* : Bool */;
2619 int cltype30;
2620 int idtype31;
2621 val* var32 /* : Array[Object] */;
2622 val* var33 /* : AAnnotations */;
2623 val* var34 /* : null */;
2624 val* var35 /* : null */;
2625 val* var36 /* : null */;
2626 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
2627 val* var_listnode15 /* var listnode15: nullable Object */;
2628 short int var37 /* : Bool */;
2629 int cltype38;
2630 int idtype39;
2631 val* var40 /* : Array[Object] */;
2632 val* var_listnode17 /* var listnode17: nullable Object */;
2633 short int var41 /* : Bool */;
2634 int cltype42;
2635 int idtype43;
2636 val* var44 /* : Array[Object] */;
2637 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
2638 short int var45 /* : Bool */;
2639 int cltype46;
2640 int idtype47;
2641 val* var48 /* : AStdClassdef */;
2642 val* var49 /* : null */;
2643 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2644 long var50 /* : Int */;
2645 long var51 /* : Int */;
2646 var_p = p0;
2647 var = NULL;
2648 var_node_list = var;
2649 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2650 var_nodearraylist11 = var1;
2651 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2652 var_nodearraylist10 = var2;
2653 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2654 var_nodearraylist9 = var3;
2655 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2656 var_nodearraylist8 = var4;
2657 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2658 var_nodearraylist7 = var5;
2659 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2660 var_nodearraylist6 = var6;
2661 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2662 var_nodearraylist5 = var7;
2663 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2664 var_nodearraylist4 = var8;
2665 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2666 var_nodearraylist3 = var9;
2667 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2668 var_nodearraylist2 = var10;
2669 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2670 var_nodearraylist1 = var11;
2671 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
2672 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
2673 var_listnode7 = var12;
2674 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
2675 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
2676 var_listnode16 = var13;
2677 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
2678 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
2679 var_listnode18 = var14;
2680 var_pdocnode2 = var_nodearraylist1;
2681 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2682 cltype = type_nullable_parser_nodes__ADoc.color;
2683 idtype = type_nullable_parser_nodes__ADoc.id;
2684 if(var_pdocnode2 == NULL) {
2685 var15 = 1;
2686 } else {
2687 if(cltype >= var_pdocnode2->type->table_size) {
2688 var15 = 0;
2689 } else {
2690 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
2691 }
2692 }
2693 if (!var15) {
2694 fprintf(stderr, "Runtime error: %s", "Assert failed");
2695 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12994);
2696 show_backtrace(1);
2697 }
2698 var_tkwredefnode3 = var_nodearraylist2;
2699 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2700 cltype17 = type_nullable_parser_nodes__TKwredef.color;
2701 idtype18 = type_nullable_parser_nodes__TKwredef.id;
2702 if(var_tkwredefnode3 == NULL) {
2703 var16 = 1;
2704 } else {
2705 if(cltype17 >= var_tkwredefnode3->type->table_size) {
2706 var16 = 0;
2707 } else {
2708 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
2709 }
2710 }
2711 if (!var16) {
2712 fprintf(stderr, "Runtime error: %s", "Assert failed");
2713 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12996);
2714 show_backtrace(1);
2715 }
2716 var_pvisibilitynode4 = var_nodearraylist3;
2717 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2718 cltype20 = type_nullable_parser_nodes__AVisibility.color;
2719 idtype21 = type_nullable_parser_nodes__AVisibility.id;
2720 if(var_pvisibilitynode4 == NULL) {
2721 var19 = 1;
2722 } else {
2723 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
2724 var19 = 0;
2725 } else {
2726 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
2727 }
2728 }
2729 if (!var19) {
2730 fprintf(stderr, "Runtime error: %s", "Assert failed");
2731 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12998);
2732 show_backtrace(1);
2733 }
2734 var_pclasskindnode5 = var_nodearraylist4;
2735 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2736 cltype23 = type_nullable_parser_nodes__AClasskind.color;
2737 idtype24 = type_nullable_parser_nodes__AClasskind.id;
2738 if(var_pclasskindnode5 == NULL) {
2739 var22 = 1;
2740 } else {
2741 if(cltype23 >= var_pclasskindnode5->type->table_size) {
2742 var22 = 0;
2743 } else {
2744 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
2745 }
2746 }
2747 if (!var22) {
2748 fprintf(stderr, "Runtime error: %s", "Assert failed");
2749 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13000);
2750 show_backtrace(1);
2751 }
2752 var_tclassidnode6 = var_nodearraylist6;
2753 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2754 cltype26 = type_nullable_parser_nodes__TClassid.color;
2755 idtype27 = type_nullable_parser_nodes__TClassid.id;
2756 if(var_tclassidnode6 == NULL) {
2757 var25 = 1;
2758 } else {
2759 if(cltype26 >= var_tclassidnode6->type->table_size) {
2760 var25 = 0;
2761 } else {
2762 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
2763 }
2764 }
2765 if (!var25) {
2766 fprintf(stderr, "Runtime error: %s", "Assert failed");
2767 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13002);
2768 show_backtrace(1);
2769 }
2770 var28 = NEW_array__Array(&type_array__Arraykernel__Object);
2771 ((void (*)(val*))(var28->class->vft[COLOR_array__Array__init]))(var28) /* init on <var28:Array[Object]>*/;
2772 var_listnode12 = var28;
2773 var_listnode11 = var_nodearraylist7;
2774 /* <var_listnode11:nullable Object> isa Array[Object] */
2775 cltype30 = type_array__Arraykernel__Object.color;
2776 idtype31 = type_array__Arraykernel__Object.id;
2777 if(var_listnode11 == NULL) {
2778 var29 = 0;
2779 } else {
2780 if(cltype30 >= var_listnode11->type->table_size) {
2781 var29 = 0;
2782 } else {
2783 var29 = var_listnode11->type->type_table[cltype30] == idtype31;
2784 }
2785 }
2786 if (!var29) {
2787 fprintf(stderr, "Runtime error: %s", "Assert failed");
2788 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13005);
2789 show_backtrace(1);
2790 }
2791 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction282>*/;
2792 var_listnode12 = var32;
2793 var33 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
2794 var34 = NULL;
2795 var35 = NULL;
2796 var36 = NULL;
2797 ((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>*/;
2798 var_pannotationsnode8 = var33;
2799 var_listnode15 = var_nodearraylist8;
2800 /* <var_listnode15:nullable Object> isa Array[Object] */
2801 cltype38 = type_array__Arraykernel__Object.color;
2802 idtype39 = type_array__Arraykernel__Object.id;
2803 if(var_listnode15 == NULL) {
2804 var37 = 0;
2805 } else {
2806 if(cltype38 >= var_listnode15->type->table_size) {
2807 var37 = 0;
2808 } else {
2809 var37 = var_listnode15->type->type_table[cltype38] == idtype39;
2810 }
2811 }
2812 if (!var37) {
2813 fprintf(stderr, "Runtime error: %s", "Assert failed");
2814 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13014);
2815 show_backtrace(1);
2816 }
2817 var40 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction282>*/;
2818 var_listnode16 = var40;
2819 var_listnode17 = var_nodearraylist9;
2820 /* <var_listnode17:nullable Object> isa Array[Object] */
2821 cltype42 = type_array__Arraykernel__Object.color;
2822 idtype43 = type_array__Arraykernel__Object.id;
2823 if(var_listnode17 == NULL) {
2824 var41 = 0;
2825 } else {
2826 if(cltype42 >= var_listnode17->type->table_size) {
2827 var41 = 0;
2828 } else {
2829 var41 = var_listnode17->type->type_table[cltype42] == idtype43;
2830 }
2831 }
2832 if (!var41) {
2833 fprintf(stderr, "Runtime error: %s", "Assert failed");
2834 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13017);
2835 show_backtrace(1);
2836 }
2837 var44 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction282>*/;
2838 var_listnode18 = var44;
2839 var_tkwendnode19 = var_nodearraylist11;
2840 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
2841 cltype46 = type_nullable_parser_nodes__TKwend.color;
2842 idtype47 = type_nullable_parser_nodes__TKwend.id;
2843 if(var_tkwendnode19 == NULL) {
2844 var45 = 1;
2845 } else {
2846 if(cltype46 >= var_tkwendnode19->type->table_size) {
2847 var45 = 0;
2848 } else {
2849 var45 = var_tkwendnode19->type->type_table[cltype46] == idtype47;
2850 }
2851 }
2852 if (!var45) {
2853 fprintf(stderr, "Runtime error: %s", "Assert failed");
2854 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13020);
2855 show_backtrace(1);
2856 }
2857 var48 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2858 var49 = NULL;
2859 ((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_listnode7, var_pannotationsnode8, var49, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var48:AStdClassdef>*/;
2860 var_pclassdefnode1 = var48;
2861 var_node_list = var_pclassdefnode1;
2862 var50 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction282> */
2863 var51 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var50) /* go_to on <var_p:Parser>*/;
2864 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var51, var_node_list) /* push on <var_p:Parser>*/;
2865 RET_LABEL:;
2866 }
2867 /* method parser#ReduceAction282#action for (self: Object, Parser) */
2868 void VIRTUAL_parser__ReduceAction282__action(val* self, val* p0) {
2869 parser__ReduceAction282__action(self, p0);
2870 RET_LABEL:;
2871 }
2872 /* method parser#ReduceAction283#action for (self: ReduceAction283, Parser) */
2873 void parser__ReduceAction283__action(val* self, val* p0) {
2874 val* var_p /* var p: Parser */;
2875 val* var /* : null */;
2876 val* var_node_list /* var node_list: nullable Object */;
2877 val* var1 /* : nullable Object */;
2878 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
2879 val* var2 /* : nullable Object */;
2880 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2881 val* var3 /* : nullable Object */;
2882 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2883 val* var4 /* : nullable Object */;
2884 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2885 val* var5 /* : nullable Object */;
2886 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2887 val* var6 /* : nullable Object */;
2888 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2889 val* var7 /* : nullable Object */;
2890 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2891 val* var8 /* : nullable Object */;
2892 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2893 val* var9 /* : nullable Object */;
2894 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2895 val* var10 /* : nullable Object */;
2896 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2897 val* var11 /* : nullable Object */;
2898 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2899 val* var12 /* : Array[Object] */;
2900 val* var_listnode7 /* var listnode7: Array[Object] */;
2901 val* var13 /* : Array[Object] */;
2902 val* var_listnode16 /* var listnode16: Array[Object] */;
2903 val* var14 /* : Array[Object] */;
2904 val* var_listnode18 /* var listnode18: Array[Object] */;
2905 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2906 short int var15 /* : Bool */;
2907 int cltype;
2908 int idtype;
2909 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2910 short int var16 /* : Bool */;
2911 int cltype17;
2912 int idtype18;
2913 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2914 short int var19 /* : Bool */;
2915 int cltype20;
2916 int idtype21;
2917 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2918 short int var22 /* : Bool */;
2919 int cltype23;
2920 int idtype24;
2921 val* var25 /* : Array[Object] */;
2922 val* var_listnode12 /* var listnode12: Array[Object] */;
2923 val* var_listnode11 /* var listnode11: nullable Object */;
2924 short int var26 /* : Bool */;
2925 int cltype27;
2926 int idtype28;
2927 val* var29 /* : Array[Object] */;
2928 val* var30 /* : AAnnotations */;
2929 val* var31 /* : null */;
2930 val* var32 /* : null */;
2931 val* var33 /* : null */;
2932 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
2933 val* var_listnode15 /* var listnode15: nullable Object */;
2934 short int var34 /* : Bool */;
2935 int cltype35;
2936 int idtype36;
2937 val* var37 /* : Array[Object] */;
2938 val* var_listnode17 /* var listnode17: nullable Object */;
2939 short int var38 /* : Bool */;
2940 int cltype39;
2941 int idtype40;
2942 val* var41 /* : Array[Object] */;
2943 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
2944 short int var42 /* : Bool */;
2945 int cltype43;
2946 int idtype44;
2947 val* var45 /* : AStdClassdef */;
2948 val* var46 /* : null */;
2949 val* var47 /* : null */;
2950 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2951 long var48 /* : Int */;
2952 long var49 /* : Int */;
2953 var_p = p0;
2954 var = NULL;
2955 var_node_list = var;
2956 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2957 var_nodearraylist11 = var1;
2958 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2959 var_nodearraylist10 = var2;
2960 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2961 var_nodearraylist9 = var3;
2962 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2963 var_nodearraylist8 = var4;
2964 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2965 var_nodearraylist7 = var5;
2966 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2967 var_nodearraylist6 = var6;
2968 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2969 var_nodearraylist5 = var7;
2970 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2971 var_nodearraylist4 = var8;
2972 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2973 var_nodearraylist3 = var9;
2974 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2975 var_nodearraylist2 = var10;
2976 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2977 var_nodearraylist1 = var11;
2978 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
2979 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
2980 var_listnode7 = var12;
2981 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
2982 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
2983 var_listnode16 = var13;
2984 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
2985 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
2986 var_listnode18 = var14;
2987 var_pdocnode2 = var_nodearraylist1;
2988 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2989 cltype = type_nullable_parser_nodes__ADoc.color;
2990 idtype = type_nullable_parser_nodes__ADoc.id;
2991 if(var_pdocnode2 == NULL) {
2992 var15 = 1;
2993 } else {
2994 if(cltype >= var_pdocnode2->type->table_size) {
2995 var15 = 0;
2996 } else {
2997 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
2998 }
2999 }
3000 if (!var15) {
3001 fprintf(stderr, "Runtime error: %s", "Assert failed");
3002 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13058);
3003 show_backtrace(1);
3004 }
3005 var_pvisibilitynode4 = var_nodearraylist2;
3006 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3007 cltype17 = type_nullable_parser_nodes__AVisibility.color;
3008 idtype18 = type_nullable_parser_nodes__AVisibility.id;
3009 if(var_pvisibilitynode4 == NULL) {
3010 var16 = 1;
3011 } else {
3012 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
3013 var16 = 0;
3014 } else {
3015 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
3016 }
3017 }
3018 if (!var16) {
3019 fprintf(stderr, "Runtime error: %s", "Assert failed");
3020 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13060);
3021 show_backtrace(1);
3022 }
3023 var_pclasskindnode5 = var_nodearraylist3;
3024 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3025 cltype20 = type_nullable_parser_nodes__AClasskind.color;
3026 idtype21 = type_nullable_parser_nodes__AClasskind.id;
3027 if(var_pclasskindnode5 == NULL) {
3028 var19 = 1;
3029 } else {
3030 if(cltype20 >= var_pclasskindnode5->type->table_size) {
3031 var19 = 0;
3032 } else {
3033 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
3034 }
3035 }
3036 if (!var19) {
3037 fprintf(stderr, "Runtime error: %s", "Assert failed");
3038 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13062);
3039 show_backtrace(1);
3040 }
3041 var_tclassidnode6 = var_nodearraylist6;
3042 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3043 cltype23 = type_nullable_parser_nodes__TClassid.color;
3044 idtype24 = type_nullable_parser_nodes__TClassid.id;
3045 if(var_tclassidnode6 == NULL) {
3046 var22 = 1;
3047 } else {
3048 if(cltype23 >= var_tclassidnode6->type->table_size) {
3049 var22 = 0;
3050 } else {
3051 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
3052 }
3053 }
3054 if (!var22) {
3055 fprintf(stderr, "Runtime error: %s", "Assert failed");
3056 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13064);
3057 show_backtrace(1);
3058 }
3059 var25 = NEW_array__Array(&type_array__Arraykernel__Object);
3060 ((void (*)(val*))(var25->class->vft[COLOR_array__Array__init]))(var25) /* init on <var25:Array[Object]>*/;
3061 var_listnode12 = var25;
3062 var_listnode11 = var_nodearraylist7;
3063 /* <var_listnode11:nullable Object> isa Array[Object] */
3064 cltype27 = type_array__Arraykernel__Object.color;
3065 idtype28 = type_array__Arraykernel__Object.id;
3066 if(var_listnode11 == NULL) {
3067 var26 = 0;
3068 } else {
3069 if(cltype27 >= var_listnode11->type->table_size) {
3070 var26 = 0;
3071 } else {
3072 var26 = var_listnode11->type->type_table[cltype27] == idtype28;
3073 }
3074 }
3075 if (!var26) {
3076 fprintf(stderr, "Runtime error: %s", "Assert failed");
3077 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13067);
3078 show_backtrace(1);
3079 }
3080 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction283>*/;
3081 var_listnode12 = var29;
3082 var30 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
3083 var31 = NULL;
3084 var32 = NULL;
3085 var33 = NULL;
3086 ((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>*/;
3087 var_pannotationsnode8 = var30;
3088 var_listnode15 = var_nodearraylist8;
3089 /* <var_listnode15:nullable Object> isa Array[Object] */
3090 cltype35 = type_array__Arraykernel__Object.color;
3091 idtype36 = type_array__Arraykernel__Object.id;
3092 if(var_listnode15 == NULL) {
3093 var34 = 0;
3094 } else {
3095 if(cltype35 >= var_listnode15->type->table_size) {
3096 var34 = 0;
3097 } else {
3098 var34 = var_listnode15->type->type_table[cltype35] == idtype36;
3099 }
3100 }
3101 if (!var34) {
3102 fprintf(stderr, "Runtime error: %s", "Assert failed");
3103 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13076);
3104 show_backtrace(1);
3105 }
3106 var37 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction283>*/;
3107 var_listnode16 = var37;
3108 var_listnode17 = var_nodearraylist9;
3109 /* <var_listnode17:nullable Object> isa Array[Object] */
3110 cltype39 = type_array__Arraykernel__Object.color;
3111 idtype40 = type_array__Arraykernel__Object.id;
3112 if(var_listnode17 == NULL) {
3113 var38 = 0;
3114 } else {
3115 if(cltype39 >= var_listnode17->type->table_size) {
3116 var38 = 0;
3117 } else {
3118 var38 = var_listnode17->type->type_table[cltype39] == idtype40;
3119 }
3120 }
3121 if (!var38) {
3122 fprintf(stderr, "Runtime error: %s", "Assert failed");
3123 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13079);
3124 show_backtrace(1);
3125 }
3126 var41 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction283>*/;
3127 var_listnode18 = var41;
3128 var_tkwendnode19 = var_nodearraylist11;
3129 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
3130 cltype43 = type_nullable_parser_nodes__TKwend.color;
3131 idtype44 = type_nullable_parser_nodes__TKwend.id;
3132 if(var_tkwendnode19 == NULL) {
3133 var42 = 1;
3134 } else {
3135 if(cltype43 >= var_tkwendnode19->type->table_size) {
3136 var42 = 0;
3137 } else {
3138 var42 = var_tkwendnode19->type->type_table[cltype43] == idtype44;
3139 }
3140 }
3141 if (!var42) {
3142 fprintf(stderr, "Runtime error: %s", "Assert failed");
3143 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13082);
3144 show_backtrace(1);
3145 }
3146 var45 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3147 var46 = NULL;
3148 var47 = NULL;
3149 ((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_listnode7, var_pannotationsnode8, var47, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var45:AStdClassdef>*/;
3150 var_pclassdefnode1 = var45;
3151 var_node_list = var_pclassdefnode1;
3152 var48 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction283> */
3153 var49 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var48) /* go_to on <var_p:Parser>*/;
3154 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var49, var_node_list) /* push on <var_p:Parser>*/;
3155 RET_LABEL:;
3156 }
3157 /* method parser#ReduceAction283#action for (self: Object, Parser) */
3158 void VIRTUAL_parser__ReduceAction283__action(val* self, val* p0) {
3159 parser__ReduceAction283__action(self, p0);
3160 RET_LABEL:;
3161 }
3162 /* method parser#ReduceAction284#action for (self: ReduceAction284, Parser) */
3163 void parser__ReduceAction284__action(val* self, val* p0) {
3164 val* var_p /* var p: Parser */;
3165 val* var /* : null */;
3166 val* var_node_list /* var node_list: nullable Object */;
3167 val* var1 /* : nullable Object */;
3168 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
3169 val* var2 /* : nullable Object */;
3170 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
3171 val* var3 /* : nullable Object */;
3172 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
3173 val* var4 /* : nullable Object */;
3174 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3175 val* var5 /* : nullable Object */;
3176 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3177 val* var6 /* : nullable Object */;
3178 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3179 val* var7 /* : nullable Object */;
3180 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3181 val* var8 /* : nullable Object */;
3182 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3183 val* var9 /* : nullable Object */;
3184 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3185 val* var10 /* : nullable Object */;
3186 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3187 val* var11 /* : nullable Object */;
3188 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3189 val* var12 /* : nullable Object */;
3190 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3191 val* var13 /* : Array[Object] */;
3192 val* var_listnode7 /* var listnode7: Array[Object] */;
3193 val* var14 /* : Array[Object] */;
3194 val* var_listnode16 /* var listnode16: Array[Object] */;
3195 val* var15 /* : Array[Object] */;
3196 val* var_listnode18 /* var listnode18: Array[Object] */;
3197 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3198 short int var16 /* : Bool */;
3199 int cltype;
3200 int idtype;
3201 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3202 short int var17 /* : Bool */;
3203 int cltype18;
3204 int idtype19;
3205 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3206 short int var20 /* : Bool */;
3207 int cltype21;
3208 int idtype22;
3209 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3210 short int var23 /* : Bool */;
3211 int cltype24;
3212 int idtype25;
3213 val* var26 /* : Array[Object] */;
3214 val* var_listnode12 /* var listnode12: Array[Object] */;
3215 val* var_listnode11 /* var listnode11: nullable Object */;
3216 short int var27 /* : Bool */;
3217 int cltype28;
3218 int idtype29;
3219 val* var30 /* : Array[Object] */;
3220 val* var31 /* : AAnnotations */;
3221 val* var32 /* : null */;
3222 val* var33 /* : null */;
3223 val* var34 /* : null */;
3224 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
3225 val* var_listnode15 /* var listnode15: nullable Object */;
3226 short int var35 /* : Bool */;
3227 int cltype36;
3228 int idtype37;
3229 val* var38 /* : Array[Object] */;
3230 val* var_listnode17 /* var listnode17: nullable Object */;
3231 short int var39 /* : Bool */;
3232 int cltype40;
3233 int idtype41;
3234 val* var42 /* : Array[Object] */;
3235 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
3236 short int var43 /* : Bool */;
3237 int cltype44;
3238 int idtype45;
3239 val* var46 /* : AStdClassdef */;
3240 val* var47 /* : null */;
3241 val* var48 /* : null */;
3242 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3243 long var49 /* : Int */;
3244 long var50 /* : Int */;
3245 var_p = p0;
3246 var = NULL;
3247 var_node_list = var;
3248 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3249 var_nodearraylist12 = var1;
3250 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3251 var_nodearraylist11 = var2;
3252 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3253 var_nodearraylist10 = var3;
3254 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3255 var_nodearraylist9 = var4;
3256 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3257 var_nodearraylist8 = var5;
3258 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3259 var_nodearraylist7 = var6;
3260 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3261 var_nodearraylist6 = var7;
3262 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3263 var_nodearraylist5 = var8;
3264 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3265 var_nodearraylist4 = var9;
3266 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3267 var_nodearraylist3 = var10;
3268 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3269 var_nodearraylist2 = var11;
3270 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3271 var_nodearraylist1 = var12;
3272 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
3273 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
3274 var_listnode7 = var13;
3275 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
3276 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
3277 var_listnode16 = var14;
3278 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
3279 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
3280 var_listnode18 = var15;
3281 var_pdocnode2 = var_nodearraylist1;
3282 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3283 cltype = type_nullable_parser_nodes__ADoc.color;
3284 idtype = type_nullable_parser_nodes__ADoc.id;
3285 if(var_pdocnode2 == NULL) {
3286 var16 = 1;
3287 } else {
3288 if(cltype >= var_pdocnode2->type->table_size) {
3289 var16 = 0;
3290 } else {
3291 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
3292 }
3293 }
3294 if (!var16) {
3295 fprintf(stderr, "Runtime error: %s", "Assert failed");
3296 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13121);
3297 show_backtrace(1);
3298 }
3299 var_pvisibilitynode4 = var_nodearraylist2;
3300 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3301 cltype18 = type_nullable_parser_nodes__AVisibility.color;
3302 idtype19 = type_nullable_parser_nodes__AVisibility.id;
3303 if(var_pvisibilitynode4 == NULL) {
3304 var17 = 1;
3305 } else {
3306 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
3307 var17 = 0;
3308 } else {
3309 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
3310 }
3311 }
3312 if (!var17) {
3313 fprintf(stderr, "Runtime error: %s", "Assert failed");
3314 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13123);
3315 show_backtrace(1);
3316 }
3317 var_pclasskindnode5 = var_nodearraylist3;
3318 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3319 cltype21 = type_nullable_parser_nodes__AClasskind.color;
3320 idtype22 = type_nullable_parser_nodes__AClasskind.id;
3321 if(var_pclasskindnode5 == NULL) {
3322 var20 = 1;
3323 } else {
3324 if(cltype21 >= var_pclasskindnode5->type->table_size) {
3325 var20 = 0;
3326 } else {
3327 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
3328 }
3329 }
3330 if (!var20) {
3331 fprintf(stderr, "Runtime error: %s", "Assert failed");
3332 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13125);
3333 show_backtrace(1);
3334 }
3335 var_tclassidnode6 = var_nodearraylist7;
3336 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3337 cltype24 = type_nullable_parser_nodes__TClassid.color;
3338 idtype25 = type_nullable_parser_nodes__TClassid.id;
3339 if(var_tclassidnode6 == NULL) {
3340 var23 = 1;
3341 } else {
3342 if(cltype24 >= var_tclassidnode6->type->table_size) {
3343 var23 = 0;
3344 } else {
3345 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
3346 }
3347 }
3348 if (!var23) {
3349 fprintf(stderr, "Runtime error: %s", "Assert failed");
3350 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13127);
3351 show_backtrace(1);
3352 }
3353 var26 = NEW_array__Array(&type_array__Arraykernel__Object);
3354 ((void (*)(val*))(var26->class->vft[COLOR_array__Array__init]))(var26) /* init on <var26:Array[Object]>*/;
3355 var_listnode12 = var26;
3356 var_listnode11 = var_nodearraylist8;
3357 /* <var_listnode11:nullable Object> isa Array[Object] */
3358 cltype28 = type_array__Arraykernel__Object.color;
3359 idtype29 = type_array__Arraykernel__Object.id;
3360 if(var_listnode11 == NULL) {
3361 var27 = 0;
3362 } else {
3363 if(cltype28 >= var_listnode11->type->table_size) {
3364 var27 = 0;
3365 } else {
3366 var27 = var_listnode11->type->type_table[cltype28] == idtype29;
3367 }
3368 }
3369 if (!var27) {
3370 fprintf(stderr, "Runtime error: %s", "Assert failed");
3371 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13130);
3372 show_backtrace(1);
3373 }
3374 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction284>*/;
3375 var_listnode12 = var30;
3376 var31 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
3377 var32 = NULL;
3378 var33 = NULL;
3379 var34 = NULL;
3380 ((void (*)(val*, val*, val*, val*, val*))(var31->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var31, var32, var33, var_listnode12, var34) /* init_aannotations on <var31:AAnnotations>*/;
3381 var_pannotationsnode8 = var31;
3382 var_listnode15 = var_nodearraylist9;
3383 /* <var_listnode15:nullable Object> isa Array[Object] */
3384 cltype36 = type_array__Arraykernel__Object.color;
3385 idtype37 = type_array__Arraykernel__Object.id;
3386 if(var_listnode15 == NULL) {
3387 var35 = 0;
3388 } else {
3389 if(cltype36 >= var_listnode15->type->table_size) {
3390 var35 = 0;
3391 } else {
3392 var35 = var_listnode15->type->type_table[cltype36] == idtype37;
3393 }
3394 }
3395 if (!var35) {
3396 fprintf(stderr, "Runtime error: %s", "Assert failed");
3397 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13139);
3398 show_backtrace(1);
3399 }
3400 var38 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction284>*/;
3401 var_listnode16 = var38;
3402 var_listnode17 = var_nodearraylist10;
3403 /* <var_listnode17:nullable Object> isa Array[Object] */
3404 cltype40 = type_array__Arraykernel__Object.color;
3405 idtype41 = type_array__Arraykernel__Object.id;
3406 if(var_listnode17 == NULL) {
3407 var39 = 0;
3408 } else {
3409 if(cltype40 >= var_listnode17->type->table_size) {
3410 var39 = 0;
3411 } else {
3412 var39 = var_listnode17->type->type_table[cltype40] == idtype41;
3413 }
3414 }
3415 if (!var39) {
3416 fprintf(stderr, "Runtime error: %s", "Assert failed");
3417 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13142);
3418 show_backtrace(1);
3419 }
3420 var42 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction284>*/;
3421 var_listnode18 = var42;
3422 var_tkwendnode19 = var_nodearraylist12;
3423 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
3424 cltype44 = type_nullable_parser_nodes__TKwend.color;
3425 idtype45 = type_nullable_parser_nodes__TKwend.id;
3426 if(var_tkwendnode19 == NULL) {
3427 var43 = 1;
3428 } else {
3429 if(cltype44 >= var_tkwendnode19->type->table_size) {
3430 var43 = 0;
3431 } else {
3432 var43 = var_tkwendnode19->type->type_table[cltype44] == idtype45;
3433 }
3434 }
3435 if (!var43) {
3436 fprintf(stderr, "Runtime error: %s", "Assert failed");
3437 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13145);
3438 show_backtrace(1);
3439 }
3440 var46 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3441 var47 = NULL;
3442 var48 = NULL;
3443 ((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_listnode7, var_pannotationsnode8, var48, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var46:AStdClassdef>*/;
3444 var_pclassdefnode1 = var46;
3445 var_node_list = var_pclassdefnode1;
3446 var49 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction284> */
3447 var50 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var49) /* go_to on <var_p:Parser>*/;
3448 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var50, var_node_list) /* push on <var_p:Parser>*/;
3449 RET_LABEL:;
3450 }
3451 /* method parser#ReduceAction284#action for (self: Object, Parser) */
3452 void VIRTUAL_parser__ReduceAction284__action(val* self, val* p0) {
3453 parser__ReduceAction284__action(self, p0);
3454 RET_LABEL:;
3455 }
3456 /* method parser#ReduceAction286#action for (self: ReduceAction286, Parser) */
3457 void parser__ReduceAction286__action(val* self, val* p0) {
3458 val* var_p /* var p: Parser */;
3459 val* var /* : null */;
3460 val* var_node_list /* var node_list: nullable Object */;
3461 val* var1 /* : nullable Object */;
3462 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
3463 val* var2 /* : nullable Object */;
3464 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
3465 val* var3 /* : nullable Object */;
3466 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
3467 val* var4 /* : nullable Object */;
3468 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3469 val* var5 /* : nullable Object */;
3470 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3471 val* var6 /* : nullable Object */;
3472 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3473 val* var7 /* : nullable Object */;
3474 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3475 val* var8 /* : nullable Object */;
3476 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3477 val* var9 /* : nullable Object */;
3478 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3479 val* var10 /* : nullable Object */;
3480 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3481 val* var11 /* : nullable Object */;
3482 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3483 val* var12 /* : nullable Object */;
3484 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3485 val* var13 /* : Array[Object] */;
3486 val* var_listnode7 /* var listnode7: Array[Object] */;
3487 val* var14 /* : Array[Object] */;
3488 val* var_listnode16 /* var listnode16: Array[Object] */;
3489 val* var15 /* : Array[Object] */;
3490 val* var_listnode18 /* var listnode18: Array[Object] */;
3491 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3492 short int var16 /* : Bool */;
3493 int cltype;
3494 int idtype;
3495 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
3496 short int var17 /* : Bool */;
3497 int cltype18;
3498 int idtype19;
3499 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3500 short int var20 /* : Bool */;
3501 int cltype21;
3502 int idtype22;
3503 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3504 short int var23 /* : Bool */;
3505 int cltype24;
3506 int idtype25;
3507 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3508 short int var26 /* : Bool */;
3509 int cltype27;
3510 int idtype28;
3511 val* var29 /* : Array[Object] */;
3512 val* var_listnode12 /* var listnode12: Array[Object] */;
3513 val* var_listnode11 /* var listnode11: nullable Object */;
3514 short int var30 /* : Bool */;
3515 int cltype31;
3516 int idtype32;
3517 val* var33 /* : Array[Object] */;
3518 val* var34 /* : AAnnotations */;
3519 val* var35 /* : null */;
3520 val* var36 /* : null */;
3521 val* var37 /* : null */;
3522 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
3523 val* var_listnode15 /* var listnode15: nullable Object */;
3524 short int var38 /* : Bool */;
3525 int cltype39;
3526 int idtype40;
3527 val* var41 /* : Array[Object] */;
3528 val* var_listnode17 /* var listnode17: nullable Object */;
3529 short int var42 /* : Bool */;
3530 int cltype43;
3531 int idtype44;
3532 val* var45 /* : Array[Object] */;
3533 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
3534 short int var46 /* : Bool */;
3535 int cltype47;
3536 int idtype48;
3537 val* var49 /* : AStdClassdef */;
3538 val* var50 /* : null */;
3539 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3540 long var51 /* : Int */;
3541 long var52 /* : Int */;
3542 var_p = p0;
3543 var = NULL;
3544 var_node_list = var;
3545 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3546 var_nodearraylist12 = var1;
3547 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3548 var_nodearraylist11 = var2;
3549 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3550 var_nodearraylist10 = var3;
3551 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3552 var_nodearraylist9 = var4;
3553 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3554 var_nodearraylist8 = var5;
3555 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3556 var_nodearraylist7 = var6;
3557 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3558 var_nodearraylist6 = var7;
3559 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3560 var_nodearraylist5 = var8;
3561 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3562 var_nodearraylist4 = var9;
3563 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3564 var_nodearraylist3 = var10;
3565 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3566 var_nodearraylist2 = var11;
3567 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3568 var_nodearraylist1 = var12;
3569 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
3570 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
3571 var_listnode7 = var13;
3572 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
3573 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
3574 var_listnode16 = var14;
3575 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
3576 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
3577 var_listnode18 = var15;
3578 var_pdocnode2 = var_nodearraylist1;
3579 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3580 cltype = type_nullable_parser_nodes__ADoc.color;
3581 idtype = type_nullable_parser_nodes__ADoc.id;
3582 if(var_pdocnode2 == NULL) {
3583 var16 = 1;
3584 } else {
3585 if(cltype >= var_pdocnode2->type->table_size) {
3586 var16 = 0;
3587 } else {
3588 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
3589 }
3590 }
3591 if (!var16) {
3592 fprintf(stderr, "Runtime error: %s", "Assert failed");
3593 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13184);
3594 show_backtrace(1);
3595 }
3596 var_tkwredefnode3 = var_nodearraylist2;
3597 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3598 cltype18 = type_nullable_parser_nodes__TKwredef.color;
3599 idtype19 = type_nullable_parser_nodes__TKwredef.id;
3600 if(var_tkwredefnode3 == NULL) {
3601 var17 = 1;
3602 } else {
3603 if(cltype18 >= var_tkwredefnode3->type->table_size) {
3604 var17 = 0;
3605 } else {
3606 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
3607 }
3608 }
3609 if (!var17) {
3610 fprintf(stderr, "Runtime error: %s", "Assert failed");
3611 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13186);
3612 show_backtrace(1);
3613 }
3614 var_pvisibilitynode4 = var_nodearraylist3;
3615 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3616 cltype21 = type_nullable_parser_nodes__AVisibility.color;
3617 idtype22 = type_nullable_parser_nodes__AVisibility.id;
3618 if(var_pvisibilitynode4 == NULL) {
3619 var20 = 1;
3620 } else {
3621 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
3622 var20 = 0;
3623 } else {
3624 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
3625 }
3626 }
3627 if (!var20) {
3628 fprintf(stderr, "Runtime error: %s", "Assert failed");
3629 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13188);
3630 show_backtrace(1);
3631 }
3632 var_pclasskindnode5 = var_nodearraylist4;
3633 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3634 cltype24 = type_nullable_parser_nodes__AClasskind.color;
3635 idtype25 = type_nullable_parser_nodes__AClasskind.id;
3636 if(var_pclasskindnode5 == NULL) {
3637 var23 = 1;
3638 } else {
3639 if(cltype24 >= var_pclasskindnode5->type->table_size) {
3640 var23 = 0;
3641 } else {
3642 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
3643 }
3644 }
3645 if (!var23) {
3646 fprintf(stderr, "Runtime error: %s", "Assert failed");
3647 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13190);
3648 show_backtrace(1);
3649 }
3650 var_tclassidnode6 = var_nodearraylist7;
3651 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3652 cltype27 = type_nullable_parser_nodes__TClassid.color;
3653 idtype28 = type_nullable_parser_nodes__TClassid.id;
3654 if(var_tclassidnode6 == NULL) {
3655 var26 = 1;
3656 } else {
3657 if(cltype27 >= var_tclassidnode6->type->table_size) {
3658 var26 = 0;
3659 } else {
3660 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
3661 }
3662 }
3663 if (!var26) {
3664 fprintf(stderr, "Runtime error: %s", "Assert failed");
3665 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13192);
3666 show_backtrace(1);
3667 }
3668 var29 = NEW_array__Array(&type_array__Arraykernel__Object);
3669 ((void (*)(val*))(var29->class->vft[COLOR_array__Array__init]))(var29) /* init on <var29:Array[Object]>*/;
3670 var_listnode12 = var29;
3671 var_listnode11 = var_nodearraylist8;
3672 /* <var_listnode11:nullable Object> isa Array[Object] */
3673 cltype31 = type_array__Arraykernel__Object.color;
3674 idtype32 = type_array__Arraykernel__Object.id;
3675 if(var_listnode11 == NULL) {
3676 var30 = 0;
3677 } else {
3678 if(cltype31 >= var_listnode11->type->table_size) {
3679 var30 = 0;
3680 } else {
3681 var30 = var_listnode11->type->type_table[cltype31] == idtype32;
3682 }
3683 }
3684 if (!var30) {
3685 fprintf(stderr, "Runtime error: %s", "Assert failed");
3686 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13195);
3687 show_backtrace(1);
3688 }
3689 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction286>*/;
3690 var_listnode12 = var33;
3691 var34 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
3692 var35 = NULL;
3693 var36 = NULL;
3694 var37 = NULL;
3695 ((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>*/;
3696 var_pannotationsnode8 = var34;
3697 var_listnode15 = var_nodearraylist9;
3698 /* <var_listnode15:nullable Object> isa Array[Object] */
3699 cltype39 = type_array__Arraykernel__Object.color;
3700 idtype40 = type_array__Arraykernel__Object.id;
3701 if(var_listnode15 == NULL) {
3702 var38 = 0;
3703 } else {
3704 if(cltype39 >= var_listnode15->type->table_size) {
3705 var38 = 0;
3706 } else {
3707 var38 = var_listnode15->type->type_table[cltype39] == idtype40;
3708 }
3709 }
3710 if (!var38) {
3711 fprintf(stderr, "Runtime error: %s", "Assert failed");
3712 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13204);
3713 show_backtrace(1);
3714 }
3715 var41 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction286>*/;
3716 var_listnode16 = var41;
3717 var_listnode17 = var_nodearraylist10;
3718 /* <var_listnode17:nullable Object> isa Array[Object] */
3719 cltype43 = type_array__Arraykernel__Object.color;
3720 idtype44 = type_array__Arraykernel__Object.id;
3721 if(var_listnode17 == NULL) {
3722 var42 = 0;
3723 } else {
3724 if(cltype43 >= var_listnode17->type->table_size) {
3725 var42 = 0;
3726 } else {
3727 var42 = var_listnode17->type->type_table[cltype43] == idtype44;
3728 }
3729 }
3730 if (!var42) {
3731 fprintf(stderr, "Runtime error: %s", "Assert failed");
3732 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13207);
3733 show_backtrace(1);
3734 }
3735 var45 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction286>*/;
3736 var_listnode18 = var45;
3737 var_tkwendnode19 = var_nodearraylist12;
3738 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
3739 cltype47 = type_nullable_parser_nodes__TKwend.color;
3740 idtype48 = type_nullable_parser_nodes__TKwend.id;
3741 if(var_tkwendnode19 == NULL) {
3742 var46 = 1;
3743 } else {
3744 if(cltype47 >= var_tkwendnode19->type->table_size) {
3745 var46 = 0;
3746 } else {
3747 var46 = var_tkwendnode19->type->type_table[cltype47] == idtype48;
3748 }
3749 }
3750 if (!var46) {
3751 fprintf(stderr, "Runtime error: %s", "Assert failed");
3752 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13210);
3753 show_backtrace(1);
3754 }
3755 var49 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3756 var50 = NULL;
3757 ((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_listnode7, var_pannotationsnode8, var50, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var49:AStdClassdef>*/;
3758 var_pclassdefnode1 = var49;
3759 var_node_list = var_pclassdefnode1;
3760 var51 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction286> */
3761 var52 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var51) /* go_to on <var_p:Parser>*/;
3762 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var52, var_node_list) /* push on <var_p:Parser>*/;
3763 RET_LABEL:;
3764 }
3765 /* method parser#ReduceAction286#action for (self: Object, Parser) */
3766 void VIRTUAL_parser__ReduceAction286__action(val* self, val* p0) {
3767 parser__ReduceAction286__action(self, p0);
3768 RET_LABEL:;
3769 }
3770 /* method parser#ReduceAction287#action for (self: ReduceAction287, Parser) */
3771 void parser__ReduceAction287__action(val* self, val* p0) {
3772 val* var_p /* var p: Parser */;
3773 val* var /* : null */;
3774 val* var_node_list /* var node_list: nullable Object */;
3775 val* var1 /* : nullable Object */;
3776 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
3777 val* var2 /* : nullable Object */;
3778 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
3779 val* var3 /* : nullable Object */;
3780 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
3781 val* var4 /* : nullable Object */;
3782 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
3783 val* var5 /* : nullable Object */;
3784 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3785 val* var6 /* : nullable Object */;
3786 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3787 val* var7 /* : nullable Object */;
3788 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3789 val* var8 /* : nullable Object */;
3790 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3791 val* var9 /* : nullable Object */;
3792 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3793 val* var10 /* : nullable Object */;
3794 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3795 val* var11 /* : nullable Object */;
3796 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3797 val* var12 /* : nullable Object */;
3798 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3799 val* var13 /* : nullable Object */;
3800 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3801 val* var14 /* : Array[Object] */;
3802 val* var_listnode7 /* var listnode7: Array[Object] */;
3803 val* var15 /* : Array[Object] */;
3804 val* var_listnode16 /* var listnode16: Array[Object] */;
3805 val* var16 /* : Array[Object] */;
3806 val* var_listnode18 /* var listnode18: Array[Object] */;
3807 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3808 short int var17 /* : Bool */;
3809 int cltype;
3810 int idtype;
3811 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
3812 short int var18 /* : Bool */;
3813 int cltype19;
3814 int idtype20;
3815 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3816 short int var21 /* : Bool */;
3817 int cltype22;
3818 int idtype23;
3819 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3820 short int var24 /* : Bool */;
3821 int cltype25;
3822 int idtype26;
3823 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3824 short int var27 /* : Bool */;
3825 int cltype28;
3826 int idtype29;
3827 val* var30 /* : Array[Object] */;
3828 val* var_listnode12 /* var listnode12: Array[Object] */;
3829 val* var_listnode11 /* var listnode11: nullable Object */;
3830 short int var31 /* : Bool */;
3831 int cltype32;
3832 int idtype33;
3833 val* var34 /* : Array[Object] */;
3834 val* var35 /* : AAnnotations */;
3835 val* var36 /* : null */;
3836 val* var37 /* : null */;
3837 val* var38 /* : null */;
3838 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
3839 val* var_listnode15 /* var listnode15: nullable Object */;
3840 short int var39 /* : Bool */;
3841 int cltype40;
3842 int idtype41;
3843 val* var42 /* : Array[Object] */;
3844 val* var_listnode17 /* var listnode17: nullable Object */;
3845 short int var43 /* : Bool */;
3846 int cltype44;
3847 int idtype45;
3848 val* var46 /* : Array[Object] */;
3849 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
3850 short int var47 /* : Bool */;
3851 int cltype48;
3852 int idtype49;
3853 val* var50 /* : AStdClassdef */;
3854 val* var51 /* : null */;
3855 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3856 long var52 /* : Int */;
3857 long var53 /* : Int */;
3858 var_p = p0;
3859 var = NULL;
3860 var_node_list = var;
3861 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3862 var_nodearraylist13 = var1;
3863 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3864 var_nodearraylist12 = var2;
3865 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3866 var_nodearraylist11 = var3;
3867 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3868 var_nodearraylist10 = var4;
3869 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3870 var_nodearraylist9 = var5;
3871 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3872 var_nodearraylist8 = var6;
3873 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3874 var_nodearraylist7 = var7;
3875 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3876 var_nodearraylist6 = var8;
3877 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3878 var_nodearraylist5 = var9;
3879 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3880 var_nodearraylist4 = var10;
3881 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3882 var_nodearraylist3 = var11;
3883 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3884 var_nodearraylist2 = var12;
3885 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3886 var_nodearraylist1 = var13;
3887 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
3888 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
3889 var_listnode7 = var14;
3890 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
3891 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
3892 var_listnode16 = var15;
3893 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
3894 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
3895 var_listnode18 = var16;
3896 var_pdocnode2 = var_nodearraylist1;
3897 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3898 cltype = type_nullable_parser_nodes__ADoc.color;
3899 idtype = type_nullable_parser_nodes__ADoc.id;
3900 if(var_pdocnode2 == NULL) {
3901 var17 = 1;
3902 } else {
3903 if(cltype >= var_pdocnode2->type->table_size) {
3904 var17 = 0;
3905 } else {
3906 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
3907 }
3908 }
3909 if (!var17) {
3910 fprintf(stderr, "Runtime error: %s", "Assert failed");
3911 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13250);
3912 show_backtrace(1);
3913 }
3914 var_tkwredefnode3 = var_nodearraylist2;
3915 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3916 cltype19 = type_nullable_parser_nodes__TKwredef.color;
3917 idtype20 = type_nullable_parser_nodes__TKwredef.id;
3918 if(var_tkwredefnode3 == NULL) {
3919 var18 = 1;
3920 } else {
3921 if(cltype19 >= var_tkwredefnode3->type->table_size) {
3922 var18 = 0;
3923 } else {
3924 var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20;
3925 }
3926 }
3927 if (!var18) {
3928 fprintf(stderr, "Runtime error: %s", "Assert failed");
3929 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13252);
3930 show_backtrace(1);
3931 }
3932 var_pvisibilitynode4 = var_nodearraylist3;
3933 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3934 cltype22 = type_nullable_parser_nodes__AVisibility.color;
3935 idtype23 = type_nullable_parser_nodes__AVisibility.id;
3936 if(var_pvisibilitynode4 == NULL) {
3937 var21 = 1;
3938 } else {
3939 if(cltype22 >= var_pvisibilitynode4->type->table_size) {
3940 var21 = 0;
3941 } else {
3942 var21 = var_pvisibilitynode4->type->type_table[cltype22] == idtype23;
3943 }
3944 }
3945 if (!var21) {
3946 fprintf(stderr, "Runtime error: %s", "Assert failed");
3947 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13254);
3948 show_backtrace(1);
3949 }
3950 var_pclasskindnode5 = var_nodearraylist4;
3951 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3952 cltype25 = type_nullable_parser_nodes__AClasskind.color;
3953 idtype26 = type_nullable_parser_nodes__AClasskind.id;
3954 if(var_pclasskindnode5 == NULL) {
3955 var24 = 1;
3956 } else {
3957 if(cltype25 >= var_pclasskindnode5->type->table_size) {
3958 var24 = 0;
3959 } else {
3960 var24 = var_pclasskindnode5->type->type_table[cltype25] == idtype26;
3961 }
3962 }
3963 if (!var24) {
3964 fprintf(stderr, "Runtime error: %s", "Assert failed");
3965 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13256);
3966 show_backtrace(1);
3967 }
3968 var_tclassidnode6 = var_nodearraylist8;
3969 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3970 cltype28 = type_nullable_parser_nodes__TClassid.color;
3971 idtype29 = type_nullable_parser_nodes__TClassid.id;
3972 if(var_tclassidnode6 == NULL) {
3973 var27 = 1;
3974 } else {
3975 if(cltype28 >= var_tclassidnode6->type->table_size) {
3976 var27 = 0;
3977 } else {
3978 var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29;
3979 }
3980 }
3981 if (!var27) {
3982 fprintf(stderr, "Runtime error: %s", "Assert failed");
3983 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13258);
3984 show_backtrace(1);
3985 }
3986 var30 = NEW_array__Array(&type_array__Arraykernel__Object);
3987 ((void (*)(val*))(var30->class->vft[COLOR_array__Array__init]))(var30) /* init on <var30:Array[Object]>*/;
3988 var_listnode12 = var30;
3989 var_listnode11 = var_nodearraylist9;
3990 /* <var_listnode11:nullable Object> isa Array[Object] */
3991 cltype32 = type_array__Arraykernel__Object.color;
3992 idtype33 = type_array__Arraykernel__Object.id;
3993 if(var_listnode11 == NULL) {
3994 var31 = 0;
3995 } else {
3996 if(cltype32 >= var_listnode11->type->table_size) {
3997 var31 = 0;
3998 } else {
3999 var31 = var_listnode11->type->type_table[cltype32] == idtype33;
4000 }
4001 }
4002 if (!var31) {
4003 fprintf(stderr, "Runtime error: %s", "Assert failed");
4004 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13261);
4005 show_backtrace(1);
4006 }
4007 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction287>*/;
4008 var_listnode12 = var34;
4009 var35 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
4010 var36 = NULL;
4011 var37 = NULL;
4012 var38 = NULL;
4013 ((void (*)(val*, val*, val*, val*, val*))(var35->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var35, var36, var37, var_listnode12, var38) /* init_aannotations on <var35:AAnnotations>*/;
4014 var_pannotationsnode8 = var35;
4015 var_listnode15 = var_nodearraylist10;
4016 /* <var_listnode15:nullable Object> isa Array[Object] */
4017 cltype40 = type_array__Arraykernel__Object.color;
4018 idtype41 = type_array__Arraykernel__Object.id;
4019 if(var_listnode15 == NULL) {
4020 var39 = 0;
4021 } else {
4022 if(cltype40 >= var_listnode15->type->table_size) {
4023 var39 = 0;
4024 } else {
4025 var39 = var_listnode15->type->type_table[cltype40] == idtype41;
4026 }
4027 }
4028 if (!var39) {
4029 fprintf(stderr, "Runtime error: %s", "Assert failed");
4030 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13270);
4031 show_backtrace(1);
4032 }
4033 var42 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction287>*/;
4034 var_listnode16 = var42;
4035 var_listnode17 = var_nodearraylist11;
4036 /* <var_listnode17:nullable Object> isa Array[Object] */
4037 cltype44 = type_array__Arraykernel__Object.color;
4038 idtype45 = type_array__Arraykernel__Object.id;
4039 if(var_listnode17 == NULL) {
4040 var43 = 0;
4041 } else {
4042 if(cltype44 >= var_listnode17->type->table_size) {
4043 var43 = 0;
4044 } else {
4045 var43 = var_listnode17->type->type_table[cltype44] == idtype45;
4046 }
4047 }
4048 if (!var43) {
4049 fprintf(stderr, "Runtime error: %s", "Assert failed");
4050 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13273);
4051 show_backtrace(1);
4052 }
4053 var46 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction287>*/;
4054 var_listnode18 = var46;
4055 var_tkwendnode19 = var_nodearraylist13;
4056 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
4057 cltype48 = type_nullable_parser_nodes__TKwend.color;
4058 idtype49 = type_nullable_parser_nodes__TKwend.id;
4059 if(var_tkwendnode19 == NULL) {
4060 var47 = 1;
4061 } else {
4062 if(cltype48 >= var_tkwendnode19->type->table_size) {
4063 var47 = 0;
4064 } else {
4065 var47 = var_tkwendnode19->type->type_table[cltype48] == idtype49;
4066 }
4067 }
4068 if (!var47) {
4069 fprintf(stderr, "Runtime error: %s", "Assert failed");
4070 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13276);
4071 show_backtrace(1);
4072 }
4073 var50 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4074 var51 = NULL;
4075 ((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_listnode7, var_pannotationsnode8, var51, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var50:AStdClassdef>*/;
4076 var_pclassdefnode1 = var50;
4077 var_node_list = var_pclassdefnode1;
4078 var52 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction287> */
4079 var53 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var52) /* go_to on <var_p:Parser>*/;
4080 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var53, var_node_list) /* push on <var_p:Parser>*/;
4081 RET_LABEL:;
4082 }
4083 /* method parser#ReduceAction287#action for (self: Object, Parser) */
4084 void VIRTUAL_parser__ReduceAction287__action(val* self, val* p0) {
4085 parser__ReduceAction287__action(self, p0);
4086 RET_LABEL:;
4087 }
4088 /* method parser#ReduceAction289#action for (self: ReduceAction289, Parser) */
4089 void parser__ReduceAction289__action(val* self, val* p0) {
4090 val* var_p /* var p: Parser */;
4091 val* var /* : null */;
4092 val* var_node_list /* var node_list: nullable Object */;
4093 val* var1 /* : nullable Object */;
4094 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
4095 val* var2 /* : nullable Object */;
4096 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4097 val* var3 /* : nullable Object */;
4098 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4099 val* var4 /* : nullable Object */;
4100 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4101 val* var5 /* : nullable Object */;
4102 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4103 val* var6 /* : nullable Object */;
4104 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4105 val* var7 /* : nullable Object */;
4106 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4107 val* var8 /* : nullable Object */;
4108 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4109 val* var9 /* : nullable Object */;
4110 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4111 val* var10 /* : nullable Object */;
4112 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4113 val* var11 /* : nullable Object */;
4114 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4115 val* var12 /* : Array[Object] */;
4116 val* var_listnode8 /* var listnode8: Array[Object] */;
4117 val* var13 /* : Array[Object] */;
4118 val* var_listnode17 /* var listnode17: Array[Object] */;
4119 val* var14 /* : Array[Object] */;
4120 val* var_listnode19 /* var listnode19: Array[Object] */;
4121 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4122 short int var15 /* : Bool */;
4123 int cltype;
4124 int idtype;
4125 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4126 short int var16 /* : Bool */;
4127 int cltype17;
4128 int idtype18;
4129 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4130 short int var19 /* : Bool */;
4131 int cltype20;
4132 int idtype21;
4133 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4134 short int var22 /* : Bool */;
4135 int cltype23;
4136 int idtype24;
4137 val* var_listnode7 /* var listnode7: nullable Object */;
4138 short int var25 /* : Bool */;
4139 int cltype26;
4140 int idtype27;
4141 val* var28 /* : Array[Object] */;
4142 val* var29 /* : Array[Object] */;
4143 val* var_listnode13 /* var listnode13: Array[Object] */;
4144 val* var_listnode12 /* var listnode12: nullable Object */;
4145 short int var30 /* : Bool */;
4146 int cltype31;
4147 int idtype32;
4148 val* var33 /* : Array[Object] */;
4149 val* var34 /* : AAnnotations */;
4150 val* var35 /* : null */;
4151 val* var36 /* : null */;
4152 val* var37 /* : null */;
4153 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
4154 val* var_listnode16 /* var listnode16: nullable Object */;
4155 short int var38 /* : Bool */;
4156 int cltype39;
4157 int idtype40;
4158 val* var41 /* : Array[Object] */;
4159 val* var_listnode18 /* var listnode18: nullable Object */;
4160 short int var42 /* : Bool */;
4161 int cltype43;
4162 int idtype44;
4163 val* var45 /* : Array[Object] */;
4164 val* var_tkwendnode20 /* var tkwendnode20: nullable Object */;
4165 short int var46 /* : Bool */;
4166 int cltype47;
4167 int idtype48;
4168 val* var49 /* : AStdClassdef */;
4169 val* var50 /* : null */;
4170 val* var51 /* : null */;
4171 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4172 long var52 /* : Int */;
4173 long var53 /* : Int */;
4174 var_p = p0;
4175 var = NULL;
4176 var_node_list = var;
4177 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4178 var_nodearraylist11 = var1;
4179 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4180 var_nodearraylist10 = var2;
4181 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4182 var_nodearraylist9 = var3;
4183 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4184 var_nodearraylist8 = var4;
4185 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4186 var_nodearraylist7 = var5;
4187 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4188 var_nodearraylist6 = var6;
4189 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4190 var_nodearraylist5 = var7;
4191 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4192 var_nodearraylist4 = var8;
4193 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4194 var_nodearraylist3 = var9;
4195 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4196 var_nodearraylist2 = var10;
4197 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4198 var_nodearraylist1 = var11;
4199 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
4200 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
4201 var_listnode8 = var12;
4202 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
4203 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
4204 var_listnode17 = var13;
4205 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
4206 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
4207 var_listnode19 = var14;
4208 var_pdocnode2 = var_nodearraylist1;
4209 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4210 cltype = type_nullable_parser_nodes__ADoc.color;
4211 idtype = type_nullable_parser_nodes__ADoc.id;
4212 if(var_pdocnode2 == NULL) {
4213 var15 = 1;
4214 } else {
4215 if(cltype >= var_pdocnode2->type->table_size) {
4216 var15 = 0;
4217 } else {
4218 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
4219 }
4220 }
4221 if (!var15) {
4222 fprintf(stderr, "Runtime error: %s", "Assert failed");
4223 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13314);
4224 show_backtrace(1);
4225 }
4226 var_pvisibilitynode4 = var_nodearraylist2;
4227 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4228 cltype17 = type_nullable_parser_nodes__AVisibility.color;
4229 idtype18 = type_nullable_parser_nodes__AVisibility.id;
4230 if(var_pvisibilitynode4 == NULL) {
4231 var16 = 1;
4232 } else {
4233 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
4234 var16 = 0;
4235 } else {
4236 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
4237 }
4238 }
4239 if (!var16) {
4240 fprintf(stderr, "Runtime error: %s", "Assert failed");
4241 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13316);
4242 show_backtrace(1);
4243 }
4244 var_pclasskindnode5 = var_nodearraylist3;
4245 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4246 cltype20 = type_nullable_parser_nodes__AClasskind.color;
4247 idtype21 = type_nullable_parser_nodes__AClasskind.id;
4248 if(var_pclasskindnode5 == NULL) {
4249 var19 = 1;
4250 } else {
4251 if(cltype20 >= var_pclasskindnode5->type->table_size) {
4252 var19 = 0;
4253 } else {
4254 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
4255 }
4256 }
4257 if (!var19) {
4258 fprintf(stderr, "Runtime error: %s", "Assert failed");
4259 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13318);
4260 show_backtrace(1);
4261 }
4262 var_tclassidnode6 = var_nodearraylist5;
4263 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4264 cltype23 = type_nullable_parser_nodes__TClassid.color;
4265 idtype24 = type_nullable_parser_nodes__TClassid.id;
4266 if(var_tclassidnode6 == NULL) {
4267 var22 = 1;
4268 } else {
4269 if(cltype23 >= var_tclassidnode6->type->table_size) {
4270 var22 = 0;
4271 } else {
4272 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
4273 }
4274 }
4275 if (!var22) {
4276 fprintf(stderr, "Runtime error: %s", "Assert failed");
4277 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13320);
4278 show_backtrace(1);
4279 }
4280 var_listnode7 = var_nodearraylist6;
4281 /* <var_listnode7:nullable Object> isa Array[Object] */
4282 cltype26 = type_array__Arraykernel__Object.color;
4283 idtype27 = type_array__Arraykernel__Object.id;
4284 if(var_listnode7 == NULL) {
4285 var25 = 0;
4286 } else {
4287 if(cltype26 >= var_listnode7->type->table_size) {
4288 var25 = 0;
4289 } else {
4290 var25 = var_listnode7->type->type_table[cltype26] == idtype27;
4291 }
4292 }
4293 if (!var25) {
4294 fprintf(stderr, "Runtime error: %s", "Assert failed");
4295 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13322);
4296 show_backtrace(1);
4297 }
4298 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction289>*/;
4299 var_listnode8 = var28;
4300 var29 = NEW_array__Array(&type_array__Arraykernel__Object);
4301 ((void (*)(val*))(var29->class->vft[COLOR_array__Array__init]))(var29) /* init on <var29:Array[Object]>*/;
4302 var_listnode13 = var29;
4303 var_listnode12 = var_nodearraylist7;
4304 /* <var_listnode12:nullable Object> isa Array[Object] */
4305 cltype31 = type_array__Arraykernel__Object.color;
4306 idtype32 = type_array__Arraykernel__Object.id;
4307 if(var_listnode12 == NULL) {
4308 var30 = 0;
4309 } else {
4310 if(cltype31 >= var_listnode12->type->table_size) {
4311 var30 = 0;
4312 } else {
4313 var30 = var_listnode12->type->type_table[cltype31] == idtype32;
4314 }
4315 }
4316 if (!var30) {
4317 fprintf(stderr, "Runtime error: %s", "Assert failed");
4318 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13326);
4319 show_backtrace(1);
4320 }
4321 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction289>*/;
4322 var_listnode13 = var33;
4323 var34 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
4324 var35 = NULL;
4325 var36 = NULL;
4326 var37 = NULL;
4327 ((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>*/;
4328 var_pannotationsnode9 = var34;
4329 var_listnode16 = var_nodearraylist8;
4330 /* <var_listnode16:nullable Object> isa Array[Object] */
4331 cltype39 = type_array__Arraykernel__Object.color;
4332 idtype40 = type_array__Arraykernel__Object.id;
4333 if(var_listnode16 == NULL) {
4334 var38 = 0;
4335 } else {
4336 if(cltype39 >= var_listnode16->type->table_size) {
4337 var38 = 0;
4338 } else {
4339 var38 = var_listnode16->type->type_table[cltype39] == idtype40;
4340 }
4341 }
4342 if (!var38) {
4343 fprintf(stderr, "Runtime error: %s", "Assert failed");
4344 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13335);
4345 show_backtrace(1);
4346 }
4347 var41 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction289>*/;
4348 var_listnode17 = var41;
4349 var_listnode18 = var_nodearraylist9;
4350 /* <var_listnode18:nullable Object> isa Array[Object] */
4351 cltype43 = type_array__Arraykernel__Object.color;
4352 idtype44 = type_array__Arraykernel__Object.id;
4353 if(var_listnode18 == NULL) {
4354 var42 = 0;
4355 } else {
4356 if(cltype43 >= var_listnode18->type->table_size) {
4357 var42 = 0;
4358 } else {
4359 var42 = var_listnode18->type->type_table[cltype43] == idtype44;
4360 }
4361 }
4362 if (!var42) {
4363 fprintf(stderr, "Runtime error: %s", "Assert failed");
4364 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13338);
4365 show_backtrace(1);
4366 }
4367 var45 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode19, var_listnode18) /* concat on <self:ReduceAction289>*/;
4368 var_listnode19 = var45;
4369 var_tkwendnode20 = var_nodearraylist11;
4370 /* <var_tkwendnode20:nullable Object> isa nullable TKwend */
4371 cltype47 = type_nullable_parser_nodes__TKwend.color;
4372 idtype48 = type_nullable_parser_nodes__TKwend.id;
4373 if(var_tkwendnode20 == NULL) {
4374 var46 = 1;
4375 } else {
4376 if(cltype47 >= var_tkwendnode20->type->table_size) {
4377 var46 = 0;
4378 } else {
4379 var46 = var_tkwendnode20->type->type_table[cltype47] == idtype48;
4380 }
4381 }
4382 if (!var46) {
4383 fprintf(stderr, "Runtime error: %s", "Assert failed");
4384 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13341);
4385 show_backtrace(1);
4386 }
4387 var49 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4388 var50 = NULL;
4389 var51 = NULL;
4390 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var49->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var49, var_pdocnode2, var50, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var51, var_listnode17, var_listnode19, var_tkwendnode20) /* init_astdclassdef on <var49:AStdClassdef>*/;
4391 var_pclassdefnode1 = var49;
4392 var_node_list = var_pclassdefnode1;
4393 var52 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction289> */
4394 var53 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var52) /* go_to on <var_p:Parser>*/;
4395 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var53, var_node_list) /* push on <var_p:Parser>*/;
4396 RET_LABEL:;
4397 }
4398 /* method parser#ReduceAction289#action for (self: Object, Parser) */
4399 void VIRTUAL_parser__ReduceAction289__action(val* self, val* p0) {
4400 parser__ReduceAction289__action(self, p0);
4401 RET_LABEL:;
4402 }
4403 /* method parser#ReduceAction290#action for (self: ReduceAction290, Parser) */
4404 void parser__ReduceAction290__action(val* self, val* p0) {
4405 val* var_p /* var p: Parser */;
4406 val* var /* : null */;
4407 val* var_node_list /* var node_list: nullable Object */;
4408 val* var1 /* : nullable Object */;
4409 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
4410 val* var2 /* : nullable Object */;
4411 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
4412 val* var3 /* : nullable Object */;
4413 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4414 val* var4 /* : nullable Object */;
4415 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4416 val* var5 /* : nullable Object */;
4417 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4418 val* var6 /* : nullable Object */;
4419 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4420 val* var7 /* : nullable Object */;
4421 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4422 val* var8 /* : nullable Object */;
4423 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4424 val* var9 /* : nullable Object */;
4425 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4426 val* var10 /* : nullable Object */;
4427 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4428 val* var11 /* : nullable Object */;
4429 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4430 val* var12 /* : nullable Object */;
4431 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4432 val* var13 /* : Array[Object] */;
4433 val* var_listnode8 /* var listnode8: Array[Object] */;
4434 val* var14 /* : Array[Object] */;
4435 val* var_listnode17 /* var listnode17: Array[Object] */;
4436 val* var15 /* : Array[Object] */;
4437 val* var_listnode19 /* var listnode19: Array[Object] */;
4438 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4439 short int var16 /* : Bool */;
4440 int cltype;
4441 int idtype;
4442 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
4443 short int var17 /* : Bool */;
4444 int cltype18;
4445 int idtype19;
4446 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4447 short int var20 /* : Bool */;
4448 int cltype21;
4449 int idtype22;
4450 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4451 short int var23 /* : Bool */;
4452 int cltype24;
4453 int idtype25;
4454 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4455 short int var26 /* : Bool */;
4456 int cltype27;
4457 int idtype28;
4458 val* var_listnode7 /* var listnode7: nullable Object */;
4459 short int var29 /* : Bool */;
4460 int cltype30;
4461 int idtype31;
4462 val* var32 /* : Array[Object] */;
4463 val* var33 /* : Array[Object] */;
4464 val* var_listnode13 /* var listnode13: Array[Object] */;
4465 val* var_listnode12 /* var listnode12: nullable Object */;
4466 short int var34 /* : Bool */;
4467 int cltype35;
4468 int idtype36;
4469 val* var37 /* : Array[Object] */;
4470 val* var38 /* : AAnnotations */;
4471 val* var39 /* : null */;
4472 val* var40 /* : null */;
4473 val* var41 /* : null */;
4474 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
4475 val* var_listnode16 /* var listnode16: nullable Object */;
4476 short int var42 /* : Bool */;
4477 int cltype43;
4478 int idtype44;
4479 val* var45 /* : Array[Object] */;
4480 val* var_listnode18 /* var listnode18: nullable Object */;
4481 short int var46 /* : Bool */;
4482 int cltype47;
4483 int idtype48;
4484 val* var49 /* : Array[Object] */;
4485 val* var_tkwendnode20 /* var tkwendnode20: nullable Object */;
4486 short int var50 /* : Bool */;
4487 int cltype51;
4488 int idtype52;
4489 val* var53 /* : AStdClassdef */;
4490 val* var54 /* : null */;
4491 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4492 long var55 /* : Int */;
4493 long var56 /* : Int */;
4494 var_p = p0;
4495 var = NULL;
4496 var_node_list = var;
4497 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4498 var_nodearraylist12 = var1;
4499 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4500 var_nodearraylist11 = var2;
4501 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4502 var_nodearraylist10 = var3;
4503 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4504 var_nodearraylist9 = var4;
4505 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4506 var_nodearraylist8 = var5;
4507 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4508 var_nodearraylist7 = var6;
4509 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4510 var_nodearraylist6 = var7;
4511 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4512 var_nodearraylist5 = var8;
4513 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4514 var_nodearraylist4 = var9;
4515 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4516 var_nodearraylist3 = var10;
4517 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4518 var_nodearraylist2 = var11;
4519 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4520 var_nodearraylist1 = var12;
4521 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
4522 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
4523 var_listnode8 = var13;
4524 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
4525 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
4526 var_listnode17 = var14;
4527 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
4528 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
4529 var_listnode19 = var15;
4530 var_pdocnode2 = var_nodearraylist1;
4531 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4532 cltype = type_nullable_parser_nodes__ADoc.color;
4533 idtype = type_nullable_parser_nodes__ADoc.id;
4534 if(var_pdocnode2 == NULL) {
4535 var16 = 1;
4536 } else {
4537 if(cltype >= var_pdocnode2->type->table_size) {
4538 var16 = 0;
4539 } else {
4540 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
4541 }
4542 }
4543 if (!var16) {
4544 fprintf(stderr, "Runtime error: %s", "Assert failed");
4545 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13380);
4546 show_backtrace(1);
4547 }
4548 var_tkwredefnode3 = var_nodearraylist2;
4549 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4550 cltype18 = type_nullable_parser_nodes__TKwredef.color;
4551 idtype19 = type_nullable_parser_nodes__TKwredef.id;
4552 if(var_tkwredefnode3 == NULL) {
4553 var17 = 1;
4554 } else {
4555 if(cltype18 >= var_tkwredefnode3->type->table_size) {
4556 var17 = 0;
4557 } else {
4558 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
4559 }
4560 }
4561 if (!var17) {
4562 fprintf(stderr, "Runtime error: %s", "Assert failed");
4563 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13382);
4564 show_backtrace(1);
4565 }
4566 var_pvisibilitynode4 = var_nodearraylist3;
4567 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4568 cltype21 = type_nullable_parser_nodes__AVisibility.color;
4569 idtype22 = type_nullable_parser_nodes__AVisibility.id;
4570 if(var_pvisibilitynode4 == NULL) {
4571 var20 = 1;
4572 } else {
4573 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
4574 var20 = 0;
4575 } else {
4576 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
4577 }
4578 }
4579 if (!var20) {
4580 fprintf(stderr, "Runtime error: %s", "Assert failed");
4581 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13384);
4582 show_backtrace(1);
4583 }
4584 var_pclasskindnode5 = var_nodearraylist4;
4585 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4586 cltype24 = type_nullable_parser_nodes__AClasskind.color;
4587 idtype25 = type_nullable_parser_nodes__AClasskind.id;
4588 if(var_pclasskindnode5 == NULL) {
4589 var23 = 1;
4590 } else {
4591 if(cltype24 >= var_pclasskindnode5->type->table_size) {
4592 var23 = 0;
4593 } else {
4594 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
4595 }
4596 }
4597 if (!var23) {
4598 fprintf(stderr, "Runtime error: %s", "Assert failed");
4599 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13386);
4600 show_backtrace(1);
4601 }
4602 var_tclassidnode6 = var_nodearraylist6;
4603 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4604 cltype27 = type_nullable_parser_nodes__TClassid.color;
4605 idtype28 = type_nullable_parser_nodes__TClassid.id;
4606 if(var_tclassidnode6 == NULL) {
4607 var26 = 1;
4608 } else {
4609 if(cltype27 >= var_tclassidnode6->type->table_size) {
4610 var26 = 0;
4611 } else {
4612 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
4613 }
4614 }
4615 if (!var26) {
4616 fprintf(stderr, "Runtime error: %s", "Assert failed");
4617 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13388);
4618 show_backtrace(1);
4619 }
4620 var_listnode7 = var_nodearraylist7;
4621 /* <var_listnode7:nullable Object> isa Array[Object] */
4622 cltype30 = type_array__Arraykernel__Object.color;
4623 idtype31 = type_array__Arraykernel__Object.id;
4624 if(var_listnode7 == NULL) {
4625 var29 = 0;
4626 } else {
4627 if(cltype30 >= var_listnode7->type->table_size) {
4628 var29 = 0;
4629 } else {
4630 var29 = var_listnode7->type->type_table[cltype30] == idtype31;
4631 }
4632 }
4633 if (!var29) {
4634 fprintf(stderr, "Runtime error: %s", "Assert failed");
4635 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13390);
4636 show_backtrace(1);
4637 }
4638 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction290>*/;
4639 var_listnode8 = var32;
4640 var33 = NEW_array__Array(&type_array__Arraykernel__Object);
4641 ((void (*)(val*))(var33->class->vft[COLOR_array__Array__init]))(var33) /* init on <var33:Array[Object]>*/;
4642 var_listnode13 = var33;
4643 var_listnode12 = var_nodearraylist8;
4644 /* <var_listnode12:nullable Object> isa Array[Object] */
4645 cltype35 = type_array__Arraykernel__Object.color;
4646 idtype36 = type_array__Arraykernel__Object.id;
4647 if(var_listnode12 == NULL) {
4648 var34 = 0;
4649 } else {
4650 if(cltype35 >= var_listnode12->type->table_size) {
4651 var34 = 0;
4652 } else {
4653 var34 = var_listnode12->type->type_table[cltype35] == idtype36;
4654 }
4655 }
4656 if (!var34) {
4657 fprintf(stderr, "Runtime error: %s", "Assert failed");
4658 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13394);
4659 show_backtrace(1);
4660 }
4661 var37 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction290>*/;
4662 var_listnode13 = var37;
4663 var38 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
4664 var39 = NULL;
4665 var40 = NULL;
4666 var41 = NULL;
4667 ((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>*/;
4668 var_pannotationsnode9 = var38;
4669 var_listnode16 = var_nodearraylist9;
4670 /* <var_listnode16:nullable Object> isa Array[Object] */
4671 cltype43 = type_array__Arraykernel__Object.color;
4672 idtype44 = type_array__Arraykernel__Object.id;
4673 if(var_listnode16 == NULL) {
4674 var42 = 0;
4675 } else {
4676 if(cltype43 >= var_listnode16->type->table_size) {
4677 var42 = 0;
4678 } else {
4679 var42 = var_listnode16->type->type_table[cltype43] == idtype44;
4680 }
4681 }
4682 if (!var42) {
4683 fprintf(stderr, "Runtime error: %s", "Assert failed");
4684 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13403);
4685 show_backtrace(1);
4686 }
4687 var45 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction290>*/;
4688 var_listnode17 = var45;
4689 var_listnode18 = var_nodearraylist10;
4690 /* <var_listnode18:nullable Object> isa Array[Object] */
4691 cltype47 = type_array__Arraykernel__Object.color;
4692 idtype48 = type_array__Arraykernel__Object.id;
4693 if(var_listnode18 == NULL) {
4694 var46 = 0;
4695 } else {
4696 if(cltype47 >= var_listnode18->type->table_size) {
4697 var46 = 0;
4698 } else {
4699 var46 = var_listnode18->type->type_table[cltype47] == idtype48;
4700 }
4701 }
4702 if (!var46) {
4703 fprintf(stderr, "Runtime error: %s", "Assert failed");
4704 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13406);
4705 show_backtrace(1);
4706 }
4707 var49 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode19, var_listnode18) /* concat on <self:ReduceAction290>*/;
4708 var_listnode19 = var49;
4709 var_tkwendnode20 = var_nodearraylist12;
4710 /* <var_tkwendnode20:nullable Object> isa nullable TKwend */
4711 cltype51 = type_nullable_parser_nodes__TKwend.color;
4712 idtype52 = type_nullable_parser_nodes__TKwend.id;
4713 if(var_tkwendnode20 == NULL) {
4714 var50 = 1;
4715 } else {
4716 if(cltype51 >= var_tkwendnode20->type->table_size) {
4717 var50 = 0;
4718 } else {
4719 var50 = var_tkwendnode20->type->type_table[cltype51] == idtype52;
4720 }
4721 }
4722 if (!var50) {
4723 fprintf(stderr, "Runtime error: %s", "Assert failed");
4724 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13409);
4725 show_backtrace(1);
4726 }
4727 var53 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4728 var54 = NULL;
4729 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var53->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var53, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var54, var_listnode17, var_listnode19, var_tkwendnode20) /* init_astdclassdef on <var53:AStdClassdef>*/;
4730 var_pclassdefnode1 = var53;
4731 var_node_list = var_pclassdefnode1;
4732 var55 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction290> */
4733 var56 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var55) /* go_to on <var_p:Parser>*/;
4734 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var56, var_node_list) /* push on <var_p:Parser>*/;
4735 RET_LABEL:;
4736 }
4737 /* method parser#ReduceAction290#action for (self: Object, Parser) */
4738 void VIRTUAL_parser__ReduceAction290__action(val* self, val* p0) {
4739 parser__ReduceAction290__action(self, p0);
4740 RET_LABEL:;
4741 }
4742 /* method parser#ReduceAction291#action for (self: ReduceAction291, Parser) */
4743 void parser__ReduceAction291__action(val* self, val* p0) {
4744 val* var_p /* var p: Parser */;
4745 val* var /* : null */;
4746 val* var_node_list /* var node_list: nullable Object */;
4747 val* var1 /* : nullable Object */;
4748 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
4749 val* var2 /* : nullable Object */;
4750 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
4751 val* var3 /* : nullable Object */;
4752 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4753 val* var4 /* : nullable Object */;
4754 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4755 val* var5 /* : nullable Object */;
4756 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4757 val* var6 /* : nullable Object */;
4758 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4759 val* var7 /* : nullable Object */;
4760 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4761 val* var8 /* : nullable Object */;
4762 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4763 val* var9 /* : nullable Object */;
4764 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4765 val* var10 /* : nullable Object */;
4766 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4767 val* var11 /* : nullable Object */;
4768 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4769 val* var12 /* : nullable Object */;
4770 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4771 val* var13 /* : Array[Object] */;
4772 val* var_listnode8 /* var listnode8: Array[Object] */;
4773 val* var14 /* : Array[Object] */;
4774 val* var_listnode17 /* var listnode17: Array[Object] */;
4775 val* var15 /* : Array[Object] */;
4776 val* var_listnode19 /* var listnode19: Array[Object] */;
4777 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4778 short int var16 /* : Bool */;
4779 int cltype;
4780 int idtype;
4781 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4782 short int var17 /* : Bool */;
4783 int cltype18;
4784 int idtype19;
4785 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4786 short int var20 /* : Bool */;
4787 int cltype21;
4788 int idtype22;
4789 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4790 short int var23 /* : Bool */;
4791 int cltype24;
4792 int idtype25;
4793 val* var_listnode7 /* var listnode7: nullable Object */;
4794 short int var26 /* : Bool */;
4795 int cltype27;
4796 int idtype28;
4797 val* var29 /* : Array[Object] */;
4798 val* var30 /* : Array[Object] */;
4799 val* var_listnode13 /* var listnode13: Array[Object] */;
4800 val* var_listnode12 /* var listnode12: nullable Object */;
4801 short int var31 /* : Bool */;
4802 int cltype32;
4803 int idtype33;
4804 val* var34 /* : Array[Object] */;
4805 val* var35 /* : AAnnotations */;
4806 val* var36 /* : null */;
4807 val* var37 /* : null */;
4808 val* var38 /* : null */;
4809 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
4810 val* var_listnode16 /* var listnode16: nullable Object */;
4811 short int var39 /* : Bool */;
4812 int cltype40;
4813 int idtype41;
4814 val* var42 /* : Array[Object] */;
4815 val* var_listnode18 /* var listnode18: nullable Object */;
4816 short int var43 /* : Bool */;
4817 int cltype44;
4818 int idtype45;
4819 val* var46 /* : Array[Object] */;
4820 val* var_tkwendnode20 /* var tkwendnode20: nullable Object */;
4821 short int var47 /* : Bool */;
4822 int cltype48;
4823 int idtype49;
4824 val* var50 /* : AStdClassdef */;
4825 val* var51 /* : null */;
4826 val* var52 /* : null */;
4827 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4828 long var53 /* : Int */;
4829 long var54 /* : Int */;
4830 var_p = p0;
4831 var = NULL;
4832 var_node_list = var;
4833 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4834 var_nodearraylist12 = var1;
4835 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4836 var_nodearraylist11 = var2;
4837 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4838 var_nodearraylist10 = var3;
4839 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4840 var_nodearraylist9 = var4;
4841 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4842 var_nodearraylist8 = var5;
4843 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4844 var_nodearraylist7 = var6;
4845 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4846 var_nodearraylist6 = var7;
4847 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4848 var_nodearraylist5 = var8;
4849 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4850 var_nodearraylist4 = var9;
4851 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4852 var_nodearraylist3 = var10;
4853 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4854 var_nodearraylist2 = var11;
4855 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4856 var_nodearraylist1 = var12;
4857 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
4858 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
4859 var_listnode8 = var13;
4860 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
4861 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
4862 var_listnode17 = var14;
4863 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
4864 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
4865 var_listnode19 = var15;
4866 var_pdocnode2 = var_nodearraylist1;
4867 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4868 cltype = type_nullable_parser_nodes__ADoc.color;
4869 idtype = type_nullable_parser_nodes__ADoc.id;
4870 if(var_pdocnode2 == NULL) {
4871 var16 = 1;
4872 } else {
4873 if(cltype >= var_pdocnode2->type->table_size) {
4874 var16 = 0;
4875 } else {
4876 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
4877 }
4878 }
4879 if (!var16) {
4880 fprintf(stderr, "Runtime error: %s", "Assert failed");
4881 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13448);
4882 show_backtrace(1);
4883 }
4884 var_pvisibilitynode4 = var_nodearraylist2;
4885 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4886 cltype18 = type_nullable_parser_nodes__AVisibility.color;
4887 idtype19 = type_nullable_parser_nodes__AVisibility.id;
4888 if(var_pvisibilitynode4 == NULL) {
4889 var17 = 1;
4890 } else {
4891 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
4892 var17 = 0;
4893 } else {
4894 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
4895 }
4896 }
4897 if (!var17) {
4898 fprintf(stderr, "Runtime error: %s", "Assert failed");
4899 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13450);
4900 show_backtrace(1);
4901 }
4902 var_pclasskindnode5 = var_nodearraylist3;
4903 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4904 cltype21 = type_nullable_parser_nodes__AClasskind.color;
4905 idtype22 = type_nullable_parser_nodes__AClasskind.id;
4906 if(var_pclasskindnode5 == NULL) {
4907 var20 = 1;
4908 } else {
4909 if(cltype21 >= var_pclasskindnode5->type->table_size) {
4910 var20 = 0;
4911 } else {
4912 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
4913 }
4914 }
4915 if (!var20) {
4916 fprintf(stderr, "Runtime error: %s", "Assert failed");
4917 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13452);
4918 show_backtrace(1);
4919 }
4920 var_tclassidnode6 = var_nodearraylist6;
4921 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4922 cltype24 = type_nullable_parser_nodes__TClassid.color;
4923 idtype25 = type_nullable_parser_nodes__TClassid.id;
4924 if(var_tclassidnode6 == NULL) {
4925 var23 = 1;
4926 } else {
4927 if(cltype24 >= var_tclassidnode6->type->table_size) {
4928 var23 = 0;
4929 } else {
4930 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
4931 }
4932 }
4933 if (!var23) {
4934 fprintf(stderr, "Runtime error: %s", "Assert failed");
4935 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13454);
4936 show_backtrace(1);
4937 }
4938 var_listnode7 = var_nodearraylist7;
4939 /* <var_listnode7:nullable Object> isa Array[Object] */
4940 cltype27 = type_array__Arraykernel__Object.color;
4941 idtype28 = type_array__Arraykernel__Object.id;
4942 if(var_listnode7 == NULL) {
4943 var26 = 0;
4944 } else {
4945 if(cltype27 >= var_listnode7->type->table_size) {
4946 var26 = 0;
4947 } else {
4948 var26 = var_listnode7->type->type_table[cltype27] == idtype28;
4949 }
4950 }
4951 if (!var26) {
4952 fprintf(stderr, "Runtime error: %s", "Assert failed");
4953 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13456);
4954 show_backtrace(1);
4955 }
4956 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction291>*/;
4957 var_listnode8 = var29;
4958 var30 = NEW_array__Array(&type_array__Arraykernel__Object);
4959 ((void (*)(val*))(var30->class->vft[COLOR_array__Array__init]))(var30) /* init on <var30:Array[Object]>*/;
4960 var_listnode13 = var30;
4961 var_listnode12 = var_nodearraylist8;
4962 /* <var_listnode12:nullable Object> isa Array[Object] */
4963 cltype32 = type_array__Arraykernel__Object.color;
4964 idtype33 = type_array__Arraykernel__Object.id;
4965 if(var_listnode12 == NULL) {
4966 var31 = 0;
4967 } else {
4968 if(cltype32 >= var_listnode12->type->table_size) {
4969 var31 = 0;
4970 } else {
4971 var31 = var_listnode12->type->type_table[cltype32] == idtype33;
4972 }
4973 }
4974 if (!var31) {
4975 fprintf(stderr, "Runtime error: %s", "Assert failed");
4976 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13460);
4977 show_backtrace(1);
4978 }
4979 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction291>*/;
4980 var_listnode13 = var34;
4981 var35 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
4982 var36 = NULL;
4983 var37 = NULL;
4984 var38 = NULL;
4985 ((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>*/;
4986 var_pannotationsnode9 = var35;
4987 var_listnode16 = var_nodearraylist9;
4988 /* <var_listnode16:nullable Object> isa Array[Object] */
4989 cltype40 = type_array__Arraykernel__Object.color;
4990 idtype41 = type_array__Arraykernel__Object.id;
4991 if(var_listnode16 == NULL) {
4992 var39 = 0;
4993 } else {
4994 if(cltype40 >= var_listnode16->type->table_size) {
4995 var39 = 0;
4996 } else {
4997 var39 = var_listnode16->type->type_table[cltype40] == idtype41;
4998 }
4999 }
5000 if (!var39) {
5001 fprintf(stderr, "Runtime error: %s", "Assert failed");
5002 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13469);
5003 show_backtrace(1);
5004 }
5005 var42 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction291>*/;
5006 var_listnode17 = var42;
5007 var_listnode18 = var_nodearraylist10;
5008 /* <var_listnode18:nullable Object> isa Array[Object] */
5009 cltype44 = type_array__Arraykernel__Object.color;
5010 idtype45 = type_array__Arraykernel__Object.id;
5011 if(var_listnode18 == NULL) {
5012 var43 = 0;
5013 } else {
5014 if(cltype44 >= var_listnode18->type->table_size) {
5015 var43 = 0;
5016 } else {
5017 var43 = var_listnode18->type->type_table[cltype44] == idtype45;
5018 }
5019 }
5020 if (!var43) {
5021 fprintf(stderr, "Runtime error: %s", "Assert failed");
5022 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13472);
5023 show_backtrace(1);
5024 }
5025 var46 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode19, var_listnode18) /* concat on <self:ReduceAction291>*/;
5026 var_listnode19 = var46;
5027 var_tkwendnode20 = var_nodearraylist12;
5028 /* <var_tkwendnode20:nullable Object> isa nullable TKwend */
5029 cltype48 = type_nullable_parser_nodes__TKwend.color;
5030 idtype49 = type_nullable_parser_nodes__TKwend.id;
5031 if(var_tkwendnode20 == NULL) {
5032 var47 = 1;
5033 } else {
5034 if(cltype48 >= var_tkwendnode20->type->table_size) {
5035 var47 = 0;
5036 } else {
5037 var47 = var_tkwendnode20->type->type_table[cltype48] == idtype49;
5038 }
5039 }
5040 if (!var47) {
5041 fprintf(stderr, "Runtime error: %s", "Assert failed");
5042 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13475);
5043 show_backtrace(1);
5044 }
5045 var50 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5046 var51 = NULL;
5047 var52 = NULL;
5048 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var50->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var50, var_pdocnode2, var51, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var52, var_listnode17, var_listnode19, var_tkwendnode20) /* init_astdclassdef on <var50:AStdClassdef>*/;
5049 var_pclassdefnode1 = var50;
5050 var_node_list = var_pclassdefnode1;
5051 var53 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction291> */
5052 var54 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var53) /* go_to on <var_p:Parser>*/;
5053 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var54, var_node_list) /* push on <var_p:Parser>*/;
5054 RET_LABEL:;
5055 }
5056 /* method parser#ReduceAction291#action for (self: Object, Parser) */
5057 void VIRTUAL_parser__ReduceAction291__action(val* self, val* p0) {
5058 parser__ReduceAction291__action(self, p0);
5059 RET_LABEL:;
5060 }
5061 /* method parser#ReduceAction292#action for (self: ReduceAction292, Parser) */
5062 void parser__ReduceAction292__action(val* self, val* p0) {
5063 val* var_p /* var p: Parser */;
5064 val* var /* : null */;
5065 val* var_node_list /* var node_list: nullable Object */;
5066 val* var1 /* : nullable Object */;
5067 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
5068 val* var2 /* : nullable Object */;
5069 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
5070 val* var3 /* : nullable Object */;
5071 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
5072 val* var4 /* : nullable Object */;
5073 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5074 val* var5 /* : nullable Object */;
5075 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5076 val* var6 /* : nullable Object */;
5077 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5078 val* var7 /* : nullable Object */;
5079 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5080 val* var8 /* : nullable Object */;
5081 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5082 val* var9 /* : nullable Object */;
5083 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5084 val* var10 /* : nullable Object */;
5085 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5086 val* var11 /* : nullable Object */;
5087 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5088 val* var12 /* : nullable Object */;
5089 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5090 val* var13 /* : nullable Object */;
5091 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5092 val* var14 /* : Array[Object] */;
5093 val* var_listnode8 /* var listnode8: Array[Object] */;
5094 val* var15 /* : Array[Object] */;
5095 val* var_listnode17 /* var listnode17: Array[Object] */;
5096 val* var16 /* : Array[Object] */;
5097 val* var_listnode19 /* var listnode19: Array[Object] */;
5098 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5099 short int var17 /* : Bool */;
5100 int cltype;
5101 int idtype;
5102 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5103 short int var18 /* : Bool */;
5104 int cltype19;
5105 int idtype20;
5106 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5107 short int var21 /* : Bool */;
5108 int cltype22;
5109 int idtype23;
5110 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5111 short int var24 /* : Bool */;
5112 int cltype25;
5113 int idtype26;
5114 val* var_listnode7 /* var listnode7: nullable Object */;
5115 short int var27 /* : Bool */;
5116 int cltype28;
5117 int idtype29;
5118 val* var30 /* : Array[Object] */;
5119 val* var31 /* : Array[Object] */;
5120 val* var_listnode13 /* var listnode13: Array[Object] */;
5121 val* var_listnode12 /* var listnode12: nullable Object */;
5122 short int var32 /* : Bool */;
5123 int cltype33;
5124 int idtype34;
5125 val* var35 /* : Array[Object] */;
5126 val* var36 /* : AAnnotations */;
5127 val* var37 /* : null */;
5128 val* var38 /* : null */;
5129 val* var39 /* : null */;
5130 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
5131 val* var_listnode16 /* var listnode16: nullable Object */;
5132 short int var40 /* : Bool */;
5133 int cltype41;
5134 int idtype42;
5135 val* var43 /* : Array[Object] */;
5136 val* var_listnode18 /* var listnode18: nullable Object */;
5137 short int var44 /* : Bool */;
5138 int cltype45;
5139 int idtype46;
5140 val* var47 /* : Array[Object] */;
5141 val* var_tkwendnode20 /* var tkwendnode20: nullable Object */;
5142 short int var48 /* : Bool */;
5143 int cltype49;
5144 int idtype50;
5145 val* var51 /* : AStdClassdef */;
5146 val* var52 /* : null */;
5147 val* var53 /* : null */;
5148 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5149 long var54 /* : Int */;
5150 long var55 /* : Int */;
5151 var_p = p0;
5152 var = NULL;
5153 var_node_list = var;
5154 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5155 var_nodearraylist13 = var1;
5156 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5157 var_nodearraylist12 = var2;
5158 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5159 var_nodearraylist11 = var3;
5160 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5161 var_nodearraylist10 = var4;
5162 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5163 var_nodearraylist9 = var5;
5164 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5165 var_nodearraylist8 = var6;
5166 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5167 var_nodearraylist7 = var7;
5168 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5169 var_nodearraylist6 = var8;
5170 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5171 var_nodearraylist5 = var9;
5172 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5173 var_nodearraylist4 = var10;
5174 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5175 var_nodearraylist3 = var11;
5176 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5177 var_nodearraylist2 = var12;
5178 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5179 var_nodearraylist1 = var13;
5180 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
5181 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
5182 var_listnode8 = var14;
5183 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
5184 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
5185 var_listnode17 = var15;
5186 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
5187 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
5188 var_listnode19 = var16;
5189 var_pdocnode2 = var_nodearraylist1;
5190 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5191 cltype = type_nullable_parser_nodes__ADoc.color;
5192 idtype = type_nullable_parser_nodes__ADoc.id;
5193 if(var_pdocnode2 == NULL) {
5194 var17 = 1;
5195 } else {
5196 if(cltype >= var_pdocnode2->type->table_size) {
5197 var17 = 0;
5198 } else {
5199 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
5200 }
5201 }
5202 if (!var17) {
5203 fprintf(stderr, "Runtime error: %s", "Assert failed");
5204 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13515);
5205 show_backtrace(1);
5206 }
5207 var_pvisibilitynode4 = var_nodearraylist2;
5208 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5209 cltype19 = type_nullable_parser_nodes__AVisibility.color;
5210 idtype20 = type_nullable_parser_nodes__AVisibility.id;
5211 if(var_pvisibilitynode4 == NULL) {
5212 var18 = 1;
5213 } else {
5214 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
5215 var18 = 0;
5216 } else {
5217 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
5218 }
5219 }
5220 if (!var18) {
5221 fprintf(stderr, "Runtime error: %s", "Assert failed");
5222 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13517);
5223 show_backtrace(1);
5224 }
5225 var_pclasskindnode5 = var_nodearraylist3;
5226 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5227 cltype22 = type_nullable_parser_nodes__AClasskind.color;
5228 idtype23 = type_nullable_parser_nodes__AClasskind.id;
5229 if(var_pclasskindnode5 == NULL) {
5230 var21 = 1;
5231 } else {
5232 if(cltype22 >= var_pclasskindnode5->type->table_size) {
5233 var21 = 0;
5234 } else {
5235 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
5236 }
5237 }
5238 if (!var21) {
5239 fprintf(stderr, "Runtime error: %s", "Assert failed");
5240 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13519);
5241 show_backtrace(1);
5242 }
5243 var_tclassidnode6 = var_nodearraylist7;
5244 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5245 cltype25 = type_nullable_parser_nodes__TClassid.color;
5246 idtype26 = type_nullable_parser_nodes__TClassid.id;
5247 if(var_tclassidnode6 == NULL) {
5248 var24 = 1;
5249 } else {
5250 if(cltype25 >= var_tclassidnode6->type->table_size) {
5251 var24 = 0;
5252 } else {
5253 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
5254 }
5255 }
5256 if (!var24) {
5257 fprintf(stderr, "Runtime error: %s", "Assert failed");
5258 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13521);
5259 show_backtrace(1);
5260 }
5261 var_listnode7 = var_nodearraylist8;
5262 /* <var_listnode7:nullable Object> isa Array[Object] */
5263 cltype28 = type_array__Arraykernel__Object.color;
5264 idtype29 = type_array__Arraykernel__Object.id;
5265 if(var_listnode7 == NULL) {
5266 var27 = 0;
5267 } else {
5268 if(cltype28 >= var_listnode7->type->table_size) {
5269 var27 = 0;
5270 } else {
5271 var27 = var_listnode7->type->type_table[cltype28] == idtype29;
5272 }
5273 }
5274 if (!var27) {
5275 fprintf(stderr, "Runtime error: %s", "Assert failed");
5276 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13523);
5277 show_backtrace(1);
5278 }
5279 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction292>*/;
5280 var_listnode8 = var30;
5281 var31 = NEW_array__Array(&type_array__Arraykernel__Object);
5282 ((void (*)(val*))(var31->class->vft[COLOR_array__Array__init]))(var31) /* init on <var31:Array[Object]>*/;
5283 var_listnode13 = var31;
5284 var_listnode12 = var_nodearraylist9;
5285 /* <var_listnode12:nullable Object> isa Array[Object] */
5286 cltype33 = type_array__Arraykernel__Object.color;
5287 idtype34 = type_array__Arraykernel__Object.id;
5288 if(var_listnode12 == NULL) {
5289 var32 = 0;
5290 } else {
5291 if(cltype33 >= var_listnode12->type->table_size) {
5292 var32 = 0;
5293 } else {
5294 var32 = var_listnode12->type->type_table[cltype33] == idtype34;
5295 }
5296 }
5297 if (!var32) {
5298 fprintf(stderr, "Runtime error: %s", "Assert failed");
5299 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13527);
5300 show_backtrace(1);
5301 }
5302 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction292>*/;
5303 var_listnode13 = var35;
5304 var36 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
5305 var37 = NULL;
5306 var38 = NULL;
5307 var39 = NULL;
5308 ((void (*)(val*, val*, val*, val*, val*))(var36->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var36, var37, var38, var_listnode13, var39) /* init_aannotations on <var36:AAnnotations>*/;
5309 var_pannotationsnode9 = var36;
5310 var_listnode16 = var_nodearraylist10;
5311 /* <var_listnode16:nullable Object> isa Array[Object] */
5312 cltype41 = type_array__Arraykernel__Object.color;
5313 idtype42 = type_array__Arraykernel__Object.id;
5314 if(var_listnode16 == NULL) {
5315 var40 = 0;
5316 } else {
5317 if(cltype41 >= var_listnode16->type->table_size) {
5318 var40 = 0;
5319 } else {
5320 var40 = var_listnode16->type->type_table[cltype41] == idtype42;
5321 }
5322 }
5323 if (!var40) {
5324 fprintf(stderr, "Runtime error: %s", "Assert failed");
5325 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13536);
5326 show_backtrace(1);
5327 }
5328 var43 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction292>*/;
5329 var_listnode17 = var43;
5330 var_listnode18 = var_nodearraylist11;
5331 /* <var_listnode18:nullable Object> isa Array[Object] */
5332 cltype45 = type_array__Arraykernel__Object.color;
5333 idtype46 = type_array__Arraykernel__Object.id;
5334 if(var_listnode18 == NULL) {
5335 var44 = 0;
5336 } else {
5337 if(cltype45 >= var_listnode18->type->table_size) {
5338 var44 = 0;
5339 } else {
5340 var44 = var_listnode18->type->type_table[cltype45] == idtype46;
5341 }
5342 }
5343 if (!var44) {
5344 fprintf(stderr, "Runtime error: %s", "Assert failed");
5345 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13539);
5346 show_backtrace(1);
5347 }
5348 var47 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode19, var_listnode18) /* concat on <self:ReduceAction292>*/;
5349 var_listnode19 = var47;
5350 var_tkwendnode20 = var_nodearraylist13;
5351 /* <var_tkwendnode20:nullable Object> isa nullable TKwend */
5352 cltype49 = type_nullable_parser_nodes__TKwend.color;
5353 idtype50 = type_nullable_parser_nodes__TKwend.id;
5354 if(var_tkwendnode20 == NULL) {
5355 var48 = 1;
5356 } else {
5357 if(cltype49 >= var_tkwendnode20->type->table_size) {
5358 var48 = 0;
5359 } else {
5360 var48 = var_tkwendnode20->type->type_table[cltype49] == idtype50;
5361 }
5362 }
5363 if (!var48) {
5364 fprintf(stderr, "Runtime error: %s", "Assert failed");
5365 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13542);
5366 show_backtrace(1);
5367 }
5368 var51 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5369 var52 = NULL;
5370 var53 = NULL;
5371 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var51->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var51, var_pdocnode2, var52, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var53, var_listnode17, var_listnode19, var_tkwendnode20) /* init_astdclassdef on <var51:AStdClassdef>*/;
5372 var_pclassdefnode1 = var51;
5373 var_node_list = var_pclassdefnode1;
5374 var54 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction292> */
5375 var55 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var54) /* go_to on <var_p:Parser>*/;
5376 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var55, var_node_list) /* push on <var_p:Parser>*/;
5377 RET_LABEL:;
5378 }
5379 /* method parser#ReduceAction292#action for (self: Object, Parser) */
5380 void VIRTUAL_parser__ReduceAction292__action(val* self, val* p0) {
5381 parser__ReduceAction292__action(self, p0);
5382 RET_LABEL:;
5383 }
5384 /* method parser#ReduceAction294#action for (self: ReduceAction294, Parser) */
5385 void parser__ReduceAction294__action(val* self, val* p0) {
5386 val* var_p /* var p: Parser */;
5387 val* var /* : null */;
5388 val* var_node_list /* var node_list: nullable Object */;
5389 val* var1 /* : nullable Object */;
5390 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
5391 val* var2 /* : nullable Object */;
5392 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
5393 val* var3 /* : nullable Object */;
5394 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
5395 val* var4 /* : nullable Object */;
5396 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5397 val* var5 /* : nullable Object */;
5398 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5399 val* var6 /* : nullable Object */;
5400 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5401 val* var7 /* : nullable Object */;
5402 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5403 val* var8 /* : nullable Object */;
5404 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5405 val* var9 /* : nullable Object */;
5406 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5407 val* var10 /* : nullable Object */;
5408 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5409 val* var11 /* : nullable Object */;
5410 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5411 val* var12 /* : nullable Object */;
5412 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5413 val* var13 /* : nullable Object */;
5414 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5415 val* var14 /* : Array[Object] */;
5416 val* var_listnode8 /* var listnode8: Array[Object] */;
5417 val* var15 /* : Array[Object] */;
5418 val* var_listnode17 /* var listnode17: Array[Object] */;
5419 val* var16 /* : Array[Object] */;
5420 val* var_listnode19 /* var listnode19: Array[Object] */;
5421 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5422 short int var17 /* : Bool */;
5423 int cltype;
5424 int idtype;
5425 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
5426 short int var18 /* : Bool */;
5427 int cltype19;
5428 int idtype20;
5429 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5430 short int var21 /* : Bool */;
5431 int cltype22;
5432 int idtype23;
5433 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5434 short int var24 /* : Bool */;
5435 int cltype25;
5436 int idtype26;
5437 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5438 short int var27 /* : Bool */;
5439 int cltype28;
5440 int idtype29;
5441 val* var_listnode7 /* var listnode7: nullable Object */;
5442 short int var30 /* : Bool */;
5443 int cltype31;
5444 int idtype32;
5445 val* var33 /* : Array[Object] */;
5446 val* var34 /* : Array[Object] */;
5447 val* var_listnode13 /* var listnode13: Array[Object] */;
5448 val* var_listnode12 /* var listnode12: nullable Object */;
5449 short int var35 /* : Bool */;
5450 int cltype36;
5451 int idtype37;
5452 val* var38 /* : Array[Object] */;
5453 val* var39 /* : AAnnotations */;
5454 val* var40 /* : null */;
5455 val* var41 /* : null */;
5456 val* var42 /* : null */;
5457 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
5458 val* var_listnode16 /* var listnode16: nullable Object */;
5459 short int var43 /* : Bool */;
5460 int cltype44;
5461 int idtype45;
5462 val* var46 /* : Array[Object] */;
5463 val* var_listnode18 /* var listnode18: nullable Object */;
5464 short int var47 /* : Bool */;
5465 int cltype48;
5466 int idtype49;
5467 val* var50 /* : Array[Object] */;
5468 val* var_tkwendnode20 /* var tkwendnode20: nullable Object */;
5469 short int var51 /* : Bool */;
5470 int cltype52;
5471 int idtype53;
5472 val* var54 /* : AStdClassdef */;
5473 val* var55 /* : null */;
5474 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5475 long var56 /* : Int */;
5476 long var57 /* : Int */;
5477 var_p = p0;
5478 var = NULL;
5479 var_node_list = var;
5480 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5481 var_nodearraylist13 = var1;
5482 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5483 var_nodearraylist12 = var2;
5484 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5485 var_nodearraylist11 = var3;
5486 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5487 var_nodearraylist10 = var4;
5488 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5489 var_nodearraylist9 = var5;
5490 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5491 var_nodearraylist8 = var6;
5492 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5493 var_nodearraylist7 = var7;
5494 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5495 var_nodearraylist6 = var8;
5496 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5497 var_nodearraylist5 = var9;
5498 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5499 var_nodearraylist4 = var10;
5500 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5501 var_nodearraylist3 = var11;
5502 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5503 var_nodearraylist2 = var12;
5504 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5505 var_nodearraylist1 = var13;
5506 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
5507 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
5508 var_listnode8 = var14;
5509 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
5510 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
5511 var_listnode17 = var15;
5512 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
5513 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
5514 var_listnode19 = var16;
5515 var_pdocnode2 = var_nodearraylist1;
5516 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5517 cltype = type_nullable_parser_nodes__ADoc.color;
5518 idtype = type_nullable_parser_nodes__ADoc.id;
5519 if(var_pdocnode2 == NULL) {
5520 var17 = 1;
5521 } else {
5522 if(cltype >= var_pdocnode2->type->table_size) {
5523 var17 = 0;
5524 } else {
5525 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
5526 }
5527 }
5528 if (!var17) {
5529 fprintf(stderr, "Runtime error: %s", "Assert failed");
5530 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13582);
5531 show_backtrace(1);
5532 }
5533 var_tkwredefnode3 = var_nodearraylist2;
5534 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
5535 cltype19 = type_nullable_parser_nodes__TKwredef.color;
5536 idtype20 = type_nullable_parser_nodes__TKwredef.id;
5537 if(var_tkwredefnode3 == NULL) {
5538 var18 = 1;
5539 } else {
5540 if(cltype19 >= var_tkwredefnode3->type->table_size) {
5541 var18 = 0;
5542 } else {
5543 var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20;
5544 }
5545 }
5546 if (!var18) {
5547 fprintf(stderr, "Runtime error: %s", "Assert failed");
5548 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13584);
5549 show_backtrace(1);
5550 }
5551 var_pvisibilitynode4 = var_nodearraylist3;
5552 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5553 cltype22 = type_nullable_parser_nodes__AVisibility.color;
5554 idtype23 = type_nullable_parser_nodes__AVisibility.id;
5555 if(var_pvisibilitynode4 == NULL) {
5556 var21 = 1;
5557 } else {
5558 if(cltype22 >= var_pvisibilitynode4->type->table_size) {
5559 var21 = 0;
5560 } else {
5561 var21 = var_pvisibilitynode4->type->type_table[cltype22] == idtype23;
5562 }
5563 }
5564 if (!var21) {
5565 fprintf(stderr, "Runtime error: %s", "Assert failed");
5566 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13586);
5567 show_backtrace(1);
5568 }
5569 var_pclasskindnode5 = var_nodearraylist4;
5570 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5571 cltype25 = type_nullable_parser_nodes__AClasskind.color;
5572 idtype26 = type_nullable_parser_nodes__AClasskind.id;
5573 if(var_pclasskindnode5 == NULL) {
5574 var24 = 1;
5575 } else {
5576 if(cltype25 >= var_pclasskindnode5->type->table_size) {
5577 var24 = 0;
5578 } else {
5579 var24 = var_pclasskindnode5->type->type_table[cltype25] == idtype26;
5580 }
5581 }
5582 if (!var24) {
5583 fprintf(stderr, "Runtime error: %s", "Assert failed");
5584 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13588);
5585 show_backtrace(1);
5586 }
5587 var_tclassidnode6 = var_nodearraylist7;
5588 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5589 cltype28 = type_nullable_parser_nodes__TClassid.color;
5590 idtype29 = type_nullable_parser_nodes__TClassid.id;
5591 if(var_tclassidnode6 == NULL) {
5592 var27 = 1;
5593 } else {
5594 if(cltype28 >= var_tclassidnode6->type->table_size) {
5595 var27 = 0;
5596 } else {
5597 var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29;
5598 }
5599 }
5600 if (!var27) {
5601 fprintf(stderr, "Runtime error: %s", "Assert failed");
5602 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13590);
5603 show_backtrace(1);
5604 }
5605 var_listnode7 = var_nodearraylist8;
5606 /* <var_listnode7:nullable Object> isa Array[Object] */
5607 cltype31 = type_array__Arraykernel__Object.color;
5608 idtype32 = type_array__Arraykernel__Object.id;
5609 if(var_listnode7 == NULL) {
5610 var30 = 0;
5611 } else {
5612 if(cltype31 >= var_listnode7->type->table_size) {
5613 var30 = 0;
5614 } else {
5615 var30 = var_listnode7->type->type_table[cltype31] == idtype32;
5616 }
5617 }
5618 if (!var30) {
5619 fprintf(stderr, "Runtime error: %s", "Assert failed");
5620 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13592);
5621 show_backtrace(1);
5622 }
5623 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction294>*/;
5624 var_listnode8 = var33;
5625 var34 = NEW_array__Array(&type_array__Arraykernel__Object);
5626 ((void (*)(val*))(var34->class->vft[COLOR_array__Array__init]))(var34) /* init on <var34:Array[Object]>*/;
5627 var_listnode13 = var34;
5628 var_listnode12 = var_nodearraylist9;
5629 /* <var_listnode12:nullable Object> isa Array[Object] */
5630 cltype36 = type_array__Arraykernel__Object.color;
5631 idtype37 = type_array__Arraykernel__Object.id;
5632 if(var_listnode12 == NULL) {
5633 var35 = 0;
5634 } else {
5635 if(cltype36 >= var_listnode12->type->table_size) {
5636 var35 = 0;
5637 } else {
5638 var35 = var_listnode12->type->type_table[cltype36] == idtype37;
5639 }
5640 }
5641 if (!var35) {
5642 fprintf(stderr, "Runtime error: %s", "Assert failed");
5643 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13596);
5644 show_backtrace(1);
5645 }
5646 var38 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction294>*/;
5647 var_listnode13 = var38;
5648 var39 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
5649 var40 = NULL;
5650 var41 = NULL;
5651 var42 = NULL;
5652 ((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>*/;
5653 var_pannotationsnode9 = var39;
5654 var_listnode16 = var_nodearraylist10;
5655 /* <var_listnode16:nullable Object> isa Array[Object] */
5656 cltype44 = type_array__Arraykernel__Object.color;
5657 idtype45 = type_array__Arraykernel__Object.id;
5658 if(var_listnode16 == NULL) {
5659 var43 = 0;
5660 } else {
5661 if(cltype44 >= var_listnode16->type->table_size) {
5662 var43 = 0;
5663 } else {
5664 var43 = var_listnode16->type->type_table[cltype44] == idtype45;
5665 }
5666 }
5667 if (!var43) {
5668 fprintf(stderr, "Runtime error: %s", "Assert failed");
5669 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13605);
5670 show_backtrace(1);
5671 }
5672 var46 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction294>*/;
5673 var_listnode17 = var46;
5674 var_listnode18 = var_nodearraylist11;
5675 /* <var_listnode18:nullable Object> isa Array[Object] */
5676 cltype48 = type_array__Arraykernel__Object.color;
5677 idtype49 = type_array__Arraykernel__Object.id;
5678 if(var_listnode18 == NULL) {
5679 var47 = 0;
5680 } else {
5681 if(cltype48 >= var_listnode18->type->table_size) {
5682 var47 = 0;
5683 } else {
5684 var47 = var_listnode18->type->type_table[cltype48] == idtype49;
5685 }
5686 }
5687 if (!var47) {
5688 fprintf(stderr, "Runtime error: %s", "Assert failed");
5689 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13608);
5690 show_backtrace(1);
5691 }
5692 var50 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode19, var_listnode18) /* concat on <self:ReduceAction294>*/;
5693 var_listnode19 = var50;
5694 var_tkwendnode20 = var_nodearraylist13;
5695 /* <var_tkwendnode20:nullable Object> isa nullable TKwend */
5696 cltype52 = type_nullable_parser_nodes__TKwend.color;
5697 idtype53 = type_nullable_parser_nodes__TKwend.id;
5698 if(var_tkwendnode20 == NULL) {
5699 var51 = 1;
5700 } else {
5701 if(cltype52 >= var_tkwendnode20->type->table_size) {
5702 var51 = 0;
5703 } else {
5704 var51 = var_tkwendnode20->type->type_table[cltype52] == idtype53;
5705 }
5706 }
5707 if (!var51) {
5708 fprintf(stderr, "Runtime error: %s", "Assert failed");
5709 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13611);
5710 show_backtrace(1);
5711 }
5712 var54 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5713 var55 = NULL;
5714 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var54->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var54, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var55, var_listnode17, var_listnode19, var_tkwendnode20) /* init_astdclassdef on <var54:AStdClassdef>*/;
5715 var_pclassdefnode1 = var54;
5716 var_node_list = var_pclassdefnode1;
5717 var56 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction294> */
5718 var57 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var56) /* go_to on <var_p:Parser>*/;
5719 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var57, var_node_list) /* push on <var_p:Parser>*/;
5720 RET_LABEL:;
5721 }
5722 /* method parser#ReduceAction294#action for (self: Object, Parser) */
5723 void VIRTUAL_parser__ReduceAction294__action(val* self, val* p0) {
5724 parser__ReduceAction294__action(self, p0);
5725 RET_LABEL:;
5726 }
5727 /* method parser#ReduceAction295#action for (self: ReduceAction295, Parser) */
5728 void parser__ReduceAction295__action(val* self, val* p0) {
5729 val* var_p /* var p: Parser */;
5730 val* var /* : null */;
5731 val* var_node_list /* var node_list: nullable Object */;
5732 val* var1 /* : nullable Object */;
5733 val* var_nodearraylist14 /* var nodearraylist14: nullable Object */;
5734 val* var2 /* : nullable Object */;
5735 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
5736 val* var3 /* : nullable Object */;
5737 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
5738 val* var4 /* : nullable Object */;
5739 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
5740 val* var5 /* : nullable Object */;
5741 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5742 val* var6 /* : nullable Object */;
5743 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5744 val* var7 /* : nullable Object */;
5745 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5746 val* var8 /* : nullable Object */;
5747 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5748 val* var9 /* : nullable Object */;
5749 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5750 val* var10 /* : nullable Object */;
5751 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5752 val* var11 /* : nullable Object */;
5753 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5754 val* var12 /* : nullable Object */;
5755 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5756 val* var13 /* : nullable Object */;
5757 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5758 val* var14 /* : nullable Object */;
5759 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5760 val* var15 /* : Array[Object] */;
5761 val* var_listnode8 /* var listnode8: Array[Object] */;
5762 val* var16 /* : Array[Object] */;
5763 val* var_listnode17 /* var listnode17: Array[Object] */;
5764 val* var17 /* : Array[Object] */;
5765 val* var_listnode19 /* var listnode19: Array[Object] */;
5766 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5767 short int var18 /* : Bool */;
5768 int cltype;
5769 int idtype;
5770 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
5771 short int var19 /* : Bool */;
5772 int cltype20;
5773 int idtype21;
5774 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5775 short int var22 /* : Bool */;
5776 int cltype23;
5777 int idtype24;
5778 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5779 short int var25 /* : Bool */;
5780 int cltype26;
5781 int idtype27;
5782 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5783 short int var28 /* : Bool */;
5784 int cltype29;
5785 int idtype30;
5786 val* var_listnode7 /* var listnode7: nullable Object */;
5787 short int var31 /* : Bool */;
5788 int cltype32;
5789 int idtype33;
5790 val* var34 /* : Array[Object] */;
5791 val* var35 /* : Array[Object] */;
5792 val* var_listnode13 /* var listnode13: Array[Object] */;
5793 val* var_listnode12 /* var listnode12: nullable Object */;
5794 short int var36 /* : Bool */;
5795 int cltype37;
5796 int idtype38;
5797 val* var39 /* : Array[Object] */;
5798 val* var40 /* : AAnnotations */;
5799 val* var41 /* : null */;
5800 val* var42 /* : null */;
5801 val* var43 /* : null */;
5802 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
5803 val* var_listnode16 /* var listnode16: nullable Object */;
5804 short int var44 /* : Bool */;
5805 int cltype45;
5806 int idtype46;
5807 val* var47 /* : Array[Object] */;
5808 val* var_listnode18 /* var listnode18: nullable Object */;
5809 short int var48 /* : Bool */;
5810 int cltype49;
5811 int idtype50;
5812 val* var51 /* : Array[Object] */;
5813 val* var_tkwendnode20 /* var tkwendnode20: nullable Object */;
5814 short int var52 /* : Bool */;
5815 int cltype53;
5816 int idtype54;
5817 val* var55 /* : AStdClassdef */;
5818 val* var56 /* : null */;
5819 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5820 long var57 /* : Int */;
5821 long var58 /* : Int */;
5822 var_p = p0;
5823 var = NULL;
5824 var_node_list = var;
5825 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5826 var_nodearraylist14 = var1;
5827 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5828 var_nodearraylist13 = var2;
5829 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5830 var_nodearraylist12 = var3;
5831 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5832 var_nodearraylist11 = var4;
5833 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5834 var_nodearraylist10 = var5;
5835 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5836 var_nodearraylist9 = var6;
5837 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5838 var_nodearraylist8 = var7;
5839 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5840 var_nodearraylist7 = var8;
5841 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5842 var_nodearraylist6 = var9;
5843 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5844 var_nodearraylist5 = var10;
5845 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5846 var_nodearraylist4 = var11;
5847 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5848 var_nodearraylist3 = var12;
5849 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5850 var_nodearraylist2 = var13;
5851 var14 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5852 var_nodearraylist1 = var14;
5853 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
5854 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
5855 var_listnode8 = var15;
5856 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
5857 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
5858 var_listnode17 = var16;
5859 var17 = NEW_array__Array(&type_array__Arraykernel__Object);
5860 ((void (*)(val*))(var17->class->vft[COLOR_array__Array__init]))(var17) /* init on <var17:Array[Object]>*/;
5861 var_listnode19 = var17;
5862 var_pdocnode2 = var_nodearraylist1;
5863 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5864 cltype = type_nullable_parser_nodes__ADoc.color;
5865 idtype = type_nullable_parser_nodes__ADoc.id;
5866 if(var_pdocnode2 == NULL) {
5867 var18 = 1;
5868 } else {
5869 if(cltype >= var_pdocnode2->type->table_size) {
5870 var18 = 0;
5871 } else {
5872 var18 = var_pdocnode2->type->type_table[cltype] == idtype;
5873 }
5874 }
5875 if (!var18) {
5876 fprintf(stderr, "Runtime error: %s", "Assert failed");
5877 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13652);
5878 show_backtrace(1);
5879 }
5880 var_tkwredefnode3 = var_nodearraylist2;
5881 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
5882 cltype20 = type_nullable_parser_nodes__TKwredef.color;
5883 idtype21 = type_nullable_parser_nodes__TKwredef.id;
5884 if(var_tkwredefnode3 == NULL) {
5885 var19 = 1;
5886 } else {
5887 if(cltype20 >= var_tkwredefnode3->type->table_size) {
5888 var19 = 0;
5889 } else {
5890 var19 = var_tkwredefnode3->type->type_table[cltype20] == idtype21;
5891 }
5892 }
5893 if (!var19) {
5894 fprintf(stderr, "Runtime error: %s", "Assert failed");
5895 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13654);
5896 show_backtrace(1);
5897 }
5898 var_pvisibilitynode4 = var_nodearraylist3;
5899 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5900 cltype23 = type_nullable_parser_nodes__AVisibility.color;
5901 idtype24 = type_nullable_parser_nodes__AVisibility.id;
5902 if(var_pvisibilitynode4 == NULL) {
5903 var22 = 1;
5904 } else {
5905 if(cltype23 >= var_pvisibilitynode4->type->table_size) {
5906 var22 = 0;
5907 } else {
5908 var22 = var_pvisibilitynode4->type->type_table[cltype23] == idtype24;
5909 }
5910 }
5911 if (!var22) {
5912 fprintf(stderr, "Runtime error: %s", "Assert failed");
5913 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13656);
5914 show_backtrace(1);
5915 }
5916 var_pclasskindnode5 = var_nodearraylist4;
5917 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5918 cltype26 = type_nullable_parser_nodes__AClasskind.color;
5919 idtype27 = type_nullable_parser_nodes__AClasskind.id;
5920 if(var_pclasskindnode5 == NULL) {
5921 var25 = 1;
5922 } else {
5923 if(cltype26 >= var_pclasskindnode5->type->table_size) {
5924 var25 = 0;
5925 } else {
5926 var25 = var_pclasskindnode5->type->type_table[cltype26] == idtype27;
5927 }
5928 }
5929 if (!var25) {
5930 fprintf(stderr, "Runtime error: %s", "Assert failed");
5931 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13658);
5932 show_backtrace(1);
5933 }
5934 var_tclassidnode6 = var_nodearraylist8;
5935 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5936 cltype29 = type_nullable_parser_nodes__TClassid.color;
5937 idtype30 = type_nullable_parser_nodes__TClassid.id;
5938 if(var_tclassidnode6 == NULL) {
5939 var28 = 1;
5940 } else {
5941 if(cltype29 >= var_tclassidnode6->type->table_size) {
5942 var28 = 0;
5943 } else {
5944 var28 = var_tclassidnode6->type->type_table[cltype29] == idtype30;
5945 }
5946 }
5947 if (!var28) {
5948 fprintf(stderr, "Runtime error: %s", "Assert failed");
5949 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13660);
5950 show_backtrace(1);
5951 }
5952 var_listnode7 = var_nodearraylist9;
5953 /* <var_listnode7:nullable Object> isa Array[Object] */
5954 cltype32 = type_array__Arraykernel__Object.color;
5955 idtype33 = type_array__Arraykernel__Object.id;
5956 if(var_listnode7 == NULL) {
5957 var31 = 0;
5958 } else {
5959 if(cltype32 >= var_listnode7->type->table_size) {
5960 var31 = 0;
5961 } else {
5962 var31 = var_listnode7->type->type_table[cltype32] == idtype33;
5963 }
5964 }
5965 if (!var31) {
5966 fprintf(stderr, "Runtime error: %s", "Assert failed");
5967 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13662);
5968 show_backtrace(1);
5969 }
5970 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction295>*/;
5971 var_listnode8 = var34;
5972 var35 = NEW_array__Array(&type_array__Arraykernel__Object);
5973 ((void (*)(val*))(var35->class->vft[COLOR_array__Array__init]))(var35) /* init on <var35:Array[Object]>*/;
5974 var_listnode13 = var35;
5975 var_listnode12 = var_nodearraylist10;
5976 /* <var_listnode12:nullable Object> isa Array[Object] */
5977 cltype37 = type_array__Arraykernel__Object.color;
5978 idtype38 = type_array__Arraykernel__Object.id;
5979 if(var_listnode12 == NULL) {
5980 var36 = 0;
5981 } else {
5982 if(cltype37 >= var_listnode12->type->table_size) {
5983 var36 = 0;
5984 } else {
5985 var36 = var_listnode12->type->type_table[cltype37] == idtype38;
5986 }
5987 }
5988 if (!var36) {
5989 fprintf(stderr, "Runtime error: %s", "Assert failed");
5990 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13666);
5991 show_backtrace(1);
5992 }
5993 var39 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction295>*/;
5994 var_listnode13 = var39;
5995 var40 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
5996 var41 = NULL;
5997 var42 = NULL;
5998 var43 = NULL;
5999 ((void (*)(val*, val*, val*, val*, val*))(var40->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var40, var41, var42, var_listnode13, var43) /* init_aannotations on <var40:AAnnotations>*/;
6000 var_pannotationsnode9 = var40;
6001 var_listnode16 = var_nodearraylist11;
6002 /* <var_listnode16:nullable Object> isa Array[Object] */
6003 cltype45 = type_array__Arraykernel__Object.color;
6004 idtype46 = type_array__Arraykernel__Object.id;
6005 if(var_listnode16 == NULL) {
6006 var44 = 0;
6007 } else {
6008 if(cltype45 >= var_listnode16->type->table_size) {
6009 var44 = 0;
6010 } else {
6011 var44 = var_listnode16->type->type_table[cltype45] == idtype46;
6012 }
6013 }
6014 if (!var44) {
6015 fprintf(stderr, "Runtime error: %s", "Assert failed");
6016 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13675);
6017 show_backtrace(1);
6018 }
6019 var47 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction295>*/;
6020 var_listnode17 = var47;
6021 var_listnode18 = var_nodearraylist12;
6022 /* <var_listnode18:nullable Object> isa Array[Object] */
6023 cltype49 = type_array__Arraykernel__Object.color;
6024 idtype50 = type_array__Arraykernel__Object.id;
6025 if(var_listnode18 == NULL) {
6026 var48 = 0;
6027 } else {
6028 if(cltype49 >= var_listnode18->type->table_size) {
6029 var48 = 0;
6030 } else {
6031 var48 = var_listnode18->type->type_table[cltype49] == idtype50;
6032 }
6033 }
6034 if (!var48) {
6035 fprintf(stderr, "Runtime error: %s", "Assert failed");
6036 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13678);
6037 show_backtrace(1);
6038 }
6039 var51 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode19, var_listnode18) /* concat on <self:ReduceAction295>*/;
6040 var_listnode19 = var51;
6041 var_tkwendnode20 = var_nodearraylist14;
6042 /* <var_tkwendnode20:nullable Object> isa nullable TKwend */
6043 cltype53 = type_nullable_parser_nodes__TKwend.color;
6044 idtype54 = type_nullable_parser_nodes__TKwend.id;
6045 if(var_tkwendnode20 == NULL) {
6046 var52 = 1;
6047 } else {
6048 if(cltype53 >= var_tkwendnode20->type->table_size) {
6049 var52 = 0;
6050 } else {
6051 var52 = var_tkwendnode20->type->type_table[cltype53] == idtype54;
6052 }
6053 }
6054 if (!var52) {
6055 fprintf(stderr, "Runtime error: %s", "Assert failed");
6056 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13681);
6057 show_backtrace(1);
6058 }
6059 var55 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6060 var56 = NULL;
6061 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var55->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var55, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var56, var_listnode17, var_listnode19, var_tkwendnode20) /* init_astdclassdef on <var55:AStdClassdef>*/;
6062 var_pclassdefnode1 = var55;
6063 var_node_list = var_pclassdefnode1;
6064 var57 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction295> */
6065 var58 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var57) /* go_to on <var_p:Parser>*/;
6066 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var58, var_node_list) /* push on <var_p:Parser>*/;
6067 RET_LABEL:;
6068 }
6069 /* method parser#ReduceAction295#action for (self: Object, Parser) */
6070 void VIRTUAL_parser__ReduceAction295__action(val* self, val* p0) {
6071 parser__ReduceAction295__action(self, p0);
6072 RET_LABEL:;
6073 }
6074 /* method parser#ReduceAction297#action for (self: ReduceAction297, Parser) */
6075 void parser__ReduceAction297__action(val* self, val* p0) {
6076 val* var_p /* var p: Parser */;
6077 val* var /* : null */;
6078 val* var_node_list /* var node_list: nullable Object */;
6079 val* var1 /* : nullable Object */;
6080 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6081 val* var2 /* : nullable Object */;
6082 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6083 val* var3 /* : nullable Object */;
6084 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6085 val* var4 /* : nullable Object */;
6086 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6087 val* var5 /* : nullable Object */;
6088 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6089 val* var6 /* : nullable Object */;
6090 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6091 val* var7 /* : nullable Object */;
6092 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6093 val* var8 /* : nullable Object */;
6094 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6095 val* var9 /* : nullable Object */;
6096 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6097 val* var10 /* : nullable Object */;
6098 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6099 val* var11 /* : Array[Object] */;
6100 val* var_listnode7 /* var listnode7: Array[Object] */;
6101 val* var12 /* : Array[Object] */;
6102 val* var_listnode11 /* var listnode11: Array[Object] */;
6103 val* var13 /* : Array[Object] */;
6104 val* var_listnode13 /* var listnode13: Array[Object] */;
6105 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6106 short int var14 /* : Bool */;
6107 int cltype;
6108 int idtype;
6109 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6110 short int var15 /* : Bool */;
6111 int cltype16;
6112 int idtype17;
6113 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6114 short int var18 /* : Bool */;
6115 int cltype19;
6116 int idtype20;
6117 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6118 short int var21 /* : Bool */;
6119 int cltype22;
6120 int idtype23;
6121 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
6122 short int var24 /* : Bool */;
6123 int cltype25;
6124 int idtype26;
6125 val* var_listnode10 /* var listnode10: nullable Object */;
6126 short int var27 /* : Bool */;
6127 int cltype28;
6128 int idtype29;
6129 val* var30 /* : Array[Object] */;
6130 val* var_listnode12 /* var listnode12: nullable Object */;
6131 short int var31 /* : Bool */;
6132 int cltype32;
6133 int idtype33;
6134 val* var34 /* : Array[Object] */;
6135 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
6136 short int var35 /* : Bool */;
6137 int cltype36;
6138 int idtype37;
6139 val* var38 /* : AStdClassdef */;
6140 val* var39 /* : null */;
6141 val* var40 /* : null */;
6142 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6143 long var41 /* : Int */;
6144 long var42 /* : Int */;
6145 var_p = p0;
6146 var = NULL;
6147 var_node_list = var;
6148 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6149 var_nodearraylist10 = var1;
6150 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6151 var_nodearraylist9 = var2;
6152 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6153 var_nodearraylist8 = var3;
6154 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6155 var_nodearraylist7 = var4;
6156 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6157 var_nodearraylist6 = var5;
6158 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6159 var_nodearraylist5 = var6;
6160 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6161 var_nodearraylist4 = var7;
6162 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6163 var_nodearraylist3 = var8;
6164 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6165 var_nodearraylist2 = var9;
6166 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6167 var_nodearraylist1 = var10;
6168 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
6169 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
6170 var_listnode7 = var11;
6171 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
6172 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
6173 var_listnode11 = var12;
6174 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
6175 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
6176 var_listnode13 = var13;
6177 var_pdocnode2 = var_nodearraylist1;
6178 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6179 cltype = type_nullable_parser_nodes__ADoc.color;
6180 idtype = type_nullable_parser_nodes__ADoc.id;
6181 if(var_pdocnode2 == NULL) {
6182 var14 = 1;
6183 } else {
6184 if(cltype >= var_pdocnode2->type->table_size) {
6185 var14 = 0;
6186 } else {
6187 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
6188 }
6189 }
6190 if (!var14) {
6191 fprintf(stderr, "Runtime error: %s", "Assert failed");
6192 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13718);
6193 show_backtrace(1);
6194 }
6195 var_pvisibilitynode4 = var_nodearraylist2;
6196 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6197 cltype16 = type_nullable_parser_nodes__AVisibility.color;
6198 idtype17 = type_nullable_parser_nodes__AVisibility.id;
6199 if(var_pvisibilitynode4 == NULL) {
6200 var15 = 1;
6201 } else {
6202 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
6203 var15 = 0;
6204 } else {
6205 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
6206 }
6207 }
6208 if (!var15) {
6209 fprintf(stderr, "Runtime error: %s", "Assert failed");
6210 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13720);
6211 show_backtrace(1);
6212 }
6213 var_pclasskindnode5 = var_nodearraylist3;
6214 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6215 cltype19 = type_nullable_parser_nodes__AClasskind.color;
6216 idtype20 = type_nullable_parser_nodes__AClasskind.id;
6217 if(var_pclasskindnode5 == NULL) {
6218 var18 = 1;
6219 } else {
6220 if(cltype19 >= var_pclasskindnode5->type->table_size) {
6221 var18 = 0;
6222 } else {
6223 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
6224 }
6225 }
6226 if (!var18) {
6227 fprintf(stderr, "Runtime error: %s", "Assert failed");
6228 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13722);
6229 show_backtrace(1);
6230 }
6231 var_tclassidnode6 = var_nodearraylist5;
6232 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6233 cltype22 = type_nullable_parser_nodes__TClassid.color;
6234 idtype23 = type_nullable_parser_nodes__TClassid.id;
6235 if(var_tclassidnode6 == NULL) {
6236 var21 = 1;
6237 } else {
6238 if(cltype22 >= var_tclassidnode6->type->table_size) {
6239 var21 = 0;
6240 } else {
6241 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
6242 }
6243 }
6244 if (!var21) {
6245 fprintf(stderr, "Runtime error: %s", "Assert failed");
6246 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13724);
6247 show_backtrace(1);
6248 }
6249 var_pexterncodeblocknode9 = var_nodearraylist6;
6250 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
6251 cltype25 = type_nullable_parser_nodes__AExternCodeBlock.color;
6252 idtype26 = type_nullable_parser_nodes__AExternCodeBlock.id;
6253 if(var_pexterncodeblocknode9 == NULL) {
6254 var24 = 1;
6255 } else {
6256 if(cltype25 >= var_pexterncodeblocknode9->type->table_size) {
6257 var24 = 0;
6258 } else {
6259 var24 = var_pexterncodeblocknode9->type->type_table[cltype25] == idtype26;
6260 }
6261 }
6262 if (!var24) {
6263 fprintf(stderr, "Runtime error: %s", "Assert failed");
6264 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13726);
6265 show_backtrace(1);
6266 }
6267 var_listnode10 = var_nodearraylist7;
6268 /* <var_listnode10:nullable Object> isa Array[Object] */
6269 cltype28 = type_array__Arraykernel__Object.color;
6270 idtype29 = type_array__Arraykernel__Object.id;
6271 if(var_listnode10 == NULL) {
6272 var27 = 0;
6273 } else {
6274 if(cltype28 >= var_listnode10->type->table_size) {
6275 var27 = 0;
6276 } else {
6277 var27 = var_listnode10->type->type_table[cltype28] == idtype29;
6278 }
6279 }
6280 if (!var27) {
6281 fprintf(stderr, "Runtime error: %s", "Assert failed");
6282 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13728);
6283 show_backtrace(1);
6284 }
6285 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction297>*/;
6286 var_listnode11 = var30;
6287 var_listnode12 = var_nodearraylist8;
6288 /* <var_listnode12:nullable Object> isa Array[Object] */
6289 cltype32 = type_array__Arraykernel__Object.color;
6290 idtype33 = type_array__Arraykernel__Object.id;
6291 if(var_listnode12 == NULL) {
6292 var31 = 0;
6293 } else {
6294 if(cltype32 >= var_listnode12->type->table_size) {
6295 var31 = 0;
6296 } else {
6297 var31 = var_listnode12->type->type_table[cltype32] == idtype33;
6298 }
6299 }
6300 if (!var31) {
6301 fprintf(stderr, "Runtime error: %s", "Assert failed");
6302 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13731);
6303 show_backtrace(1);
6304 }
6305 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction297>*/;
6306 var_listnode13 = var34;
6307 var_tkwendnode14 = var_nodearraylist10;
6308 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
6309 cltype36 = type_nullable_parser_nodes__TKwend.color;
6310 idtype37 = type_nullable_parser_nodes__TKwend.id;
6311 if(var_tkwendnode14 == NULL) {
6312 var35 = 1;
6313 } else {
6314 if(cltype36 >= var_tkwendnode14->type->table_size) {
6315 var35 = 0;
6316 } else {
6317 var35 = var_tkwendnode14->type->type_table[cltype36] == idtype37;
6318 }
6319 }
6320 if (!var35) {
6321 fprintf(stderr, "Runtime error: %s", "Assert failed");
6322 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13734);
6323 show_backtrace(1);
6324 }
6325 var38 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6326 var39 = NULL;
6327 var40 = NULL;
6328 ((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_listnode7, var40, var_pexterncodeblocknode9, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var38:AStdClassdef>*/;
6329 var_pclassdefnode1 = var38;
6330 var_node_list = var_pclassdefnode1;
6331 var41 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction297> */
6332 var42 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var41) /* go_to on <var_p:Parser>*/;
6333 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var42, var_node_list) /* push on <var_p:Parser>*/;
6334 RET_LABEL:;
6335 }
6336 /* method parser#ReduceAction297#action for (self: Object, Parser) */
6337 void VIRTUAL_parser__ReduceAction297__action(val* self, val* p0) {
6338 parser__ReduceAction297__action(self, p0);
6339 RET_LABEL:;
6340 }
6341 /* method parser#ReduceAction298#action for (self: ReduceAction298, Parser) */
6342 void parser__ReduceAction298__action(val* self, val* p0) {
6343 val* var_p /* var p: Parser */;
6344 val* var /* : null */;
6345 val* var_node_list /* var node_list: nullable Object */;
6346 val* var1 /* : nullable Object */;
6347 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
6348 val* var2 /* : nullable Object */;
6349 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6350 val* var3 /* : nullable Object */;
6351 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6352 val* var4 /* : nullable Object */;
6353 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6354 val* var5 /* : nullable Object */;
6355 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6356 val* var6 /* : nullable Object */;
6357 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6358 val* var7 /* : nullable Object */;
6359 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6360 val* var8 /* : nullable Object */;
6361 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6362 val* var9 /* : nullable Object */;
6363 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6364 val* var10 /* : nullable Object */;
6365 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6366 val* var11 /* : nullable Object */;
6367 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6368 val* var12 /* : Array[Object] */;
6369 val* var_listnode7 /* var listnode7: Array[Object] */;
6370 val* var13 /* : Array[Object] */;
6371 val* var_listnode11 /* var listnode11: Array[Object] */;
6372 val* var14 /* : Array[Object] */;
6373 val* var_listnode13 /* var listnode13: Array[Object] */;
6374 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6375 short int var15 /* : Bool */;
6376 int cltype;
6377 int idtype;
6378 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
6379 short int var16 /* : Bool */;
6380 int cltype17;
6381 int idtype18;
6382 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6383 short int var19 /* : Bool */;
6384 int cltype20;
6385 int idtype21;
6386 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6387 short int var22 /* : Bool */;
6388 int cltype23;
6389 int idtype24;
6390 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6391 short int var25 /* : Bool */;
6392 int cltype26;
6393 int idtype27;
6394 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
6395 short int var28 /* : Bool */;
6396 int cltype29;
6397 int idtype30;
6398 val* var_listnode10 /* var listnode10: nullable Object */;
6399 short int var31 /* : Bool */;
6400 int cltype32;
6401 int idtype33;
6402 val* var34 /* : Array[Object] */;
6403 val* var_listnode12 /* var listnode12: nullable Object */;
6404 short int var35 /* : Bool */;
6405 int cltype36;
6406 int idtype37;
6407 val* var38 /* : Array[Object] */;
6408 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
6409 short int var39 /* : Bool */;
6410 int cltype40;
6411 int idtype41;
6412 val* var42 /* : AStdClassdef */;
6413 val* var43 /* : null */;
6414 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6415 long var44 /* : Int */;
6416 long var45 /* : Int */;
6417 var_p = p0;
6418 var = NULL;
6419 var_node_list = var;
6420 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6421 var_nodearraylist11 = var1;
6422 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6423 var_nodearraylist10 = var2;
6424 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6425 var_nodearraylist9 = var3;
6426 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6427 var_nodearraylist8 = var4;
6428 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6429 var_nodearraylist7 = var5;
6430 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6431 var_nodearraylist6 = var6;
6432 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6433 var_nodearraylist5 = var7;
6434 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6435 var_nodearraylist4 = var8;
6436 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6437 var_nodearraylist3 = var9;
6438 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6439 var_nodearraylist2 = var10;
6440 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6441 var_nodearraylist1 = var11;
6442 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
6443 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
6444 var_listnode7 = var12;
6445 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
6446 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
6447 var_listnode11 = var13;
6448 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
6449 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
6450 var_listnode13 = var14;
6451 var_pdocnode2 = var_nodearraylist1;
6452 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6453 cltype = type_nullable_parser_nodes__ADoc.color;
6454 idtype = type_nullable_parser_nodes__ADoc.id;
6455 if(var_pdocnode2 == NULL) {
6456 var15 = 1;
6457 } else {
6458 if(cltype >= var_pdocnode2->type->table_size) {
6459 var15 = 0;
6460 } else {
6461 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
6462 }
6463 }
6464 if (!var15) {
6465 fprintf(stderr, "Runtime error: %s", "Assert failed");
6466 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13772);
6467 show_backtrace(1);
6468 }
6469 var_tkwredefnode3 = var_nodearraylist2;
6470 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6471 cltype17 = type_nullable_parser_nodes__TKwredef.color;
6472 idtype18 = type_nullable_parser_nodes__TKwredef.id;
6473 if(var_tkwredefnode3 == NULL) {
6474 var16 = 1;
6475 } else {
6476 if(cltype17 >= var_tkwredefnode3->type->table_size) {
6477 var16 = 0;
6478 } else {
6479 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
6480 }
6481 }
6482 if (!var16) {
6483 fprintf(stderr, "Runtime error: %s", "Assert failed");
6484 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13774);
6485 show_backtrace(1);
6486 }
6487 var_pvisibilitynode4 = var_nodearraylist3;
6488 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6489 cltype20 = type_nullable_parser_nodes__AVisibility.color;
6490 idtype21 = type_nullable_parser_nodes__AVisibility.id;
6491 if(var_pvisibilitynode4 == NULL) {
6492 var19 = 1;
6493 } else {
6494 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
6495 var19 = 0;
6496 } else {
6497 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
6498 }
6499 }
6500 if (!var19) {
6501 fprintf(stderr, "Runtime error: %s", "Assert failed");
6502 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13776);
6503 show_backtrace(1);
6504 }
6505 var_pclasskindnode5 = var_nodearraylist4;
6506 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6507 cltype23 = type_nullable_parser_nodes__AClasskind.color;
6508 idtype24 = type_nullable_parser_nodes__AClasskind.id;
6509 if(var_pclasskindnode5 == NULL) {
6510 var22 = 1;
6511 } else {
6512 if(cltype23 >= var_pclasskindnode5->type->table_size) {
6513 var22 = 0;
6514 } else {
6515 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
6516 }
6517 }
6518 if (!var22) {
6519 fprintf(stderr, "Runtime error: %s", "Assert failed");
6520 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13778);
6521 show_backtrace(1);
6522 }
6523 var_tclassidnode6 = var_nodearraylist6;
6524 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6525 cltype26 = type_nullable_parser_nodes__TClassid.color;
6526 idtype27 = type_nullable_parser_nodes__TClassid.id;
6527 if(var_tclassidnode6 == NULL) {
6528 var25 = 1;
6529 } else {
6530 if(cltype26 >= var_tclassidnode6->type->table_size) {
6531 var25 = 0;
6532 } else {
6533 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
6534 }
6535 }
6536 if (!var25) {
6537 fprintf(stderr, "Runtime error: %s", "Assert failed");
6538 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13780);
6539 show_backtrace(1);
6540 }
6541 var_pexterncodeblocknode9 = var_nodearraylist7;
6542 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
6543 cltype29 = type_nullable_parser_nodes__AExternCodeBlock.color;
6544 idtype30 = type_nullable_parser_nodes__AExternCodeBlock.id;
6545 if(var_pexterncodeblocknode9 == NULL) {
6546 var28 = 1;
6547 } else {
6548 if(cltype29 >= var_pexterncodeblocknode9->type->table_size) {
6549 var28 = 0;
6550 } else {
6551 var28 = var_pexterncodeblocknode9->type->type_table[cltype29] == idtype30;
6552 }
6553 }
6554 if (!var28) {
6555 fprintf(stderr, "Runtime error: %s", "Assert failed");
6556 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13782);
6557 show_backtrace(1);
6558 }
6559 var_listnode10 = var_nodearraylist8;
6560 /* <var_listnode10:nullable Object> isa Array[Object] */
6561 cltype32 = type_array__Arraykernel__Object.color;
6562 idtype33 = type_array__Arraykernel__Object.id;
6563 if(var_listnode10 == NULL) {
6564 var31 = 0;
6565 } else {
6566 if(cltype32 >= var_listnode10->type->table_size) {
6567 var31 = 0;
6568 } else {
6569 var31 = var_listnode10->type->type_table[cltype32] == idtype33;
6570 }
6571 }
6572 if (!var31) {
6573 fprintf(stderr, "Runtime error: %s", "Assert failed");
6574 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13784);
6575 show_backtrace(1);
6576 }
6577 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction298>*/;
6578 var_listnode11 = var34;
6579 var_listnode12 = var_nodearraylist9;
6580 /* <var_listnode12:nullable Object> isa Array[Object] */
6581 cltype36 = type_array__Arraykernel__Object.color;
6582 idtype37 = type_array__Arraykernel__Object.id;
6583 if(var_listnode12 == NULL) {
6584 var35 = 0;
6585 } else {
6586 if(cltype36 >= var_listnode12->type->table_size) {
6587 var35 = 0;
6588 } else {
6589 var35 = var_listnode12->type->type_table[cltype36] == idtype37;
6590 }
6591 }
6592 if (!var35) {
6593 fprintf(stderr, "Runtime error: %s", "Assert failed");
6594 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13787);
6595 show_backtrace(1);
6596 }
6597 var38 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction298>*/;
6598 var_listnode13 = var38;
6599 var_tkwendnode14 = var_nodearraylist11;
6600 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
6601 cltype40 = type_nullable_parser_nodes__TKwend.color;
6602 idtype41 = type_nullable_parser_nodes__TKwend.id;
6603 if(var_tkwendnode14 == NULL) {
6604 var39 = 1;
6605 } else {
6606 if(cltype40 >= var_tkwendnode14->type->table_size) {
6607 var39 = 0;
6608 } else {
6609 var39 = var_tkwendnode14->type->type_table[cltype40] == idtype41;
6610 }
6611 }
6612 if (!var39) {
6613 fprintf(stderr, "Runtime error: %s", "Assert failed");
6614 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13790);
6615 show_backtrace(1);
6616 }
6617 var42 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6618 var43 = NULL;
6619 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var42->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var42, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var43, var_pexterncodeblocknode9, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var42:AStdClassdef>*/;
6620 var_pclassdefnode1 = var42;
6621 var_node_list = var_pclassdefnode1;
6622 var44 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction298> */
6623 var45 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var44) /* go_to on <var_p:Parser>*/;
6624 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var45, var_node_list) /* push on <var_p:Parser>*/;
6625 RET_LABEL:;
6626 }
6627 /* method parser#ReduceAction298#action for (self: Object, Parser) */
6628 void VIRTUAL_parser__ReduceAction298__action(val* self, val* p0) {
6629 parser__ReduceAction298__action(self, p0);
6630 RET_LABEL:;
6631 }
6632 /* method parser#ReduceAction299#action for (self: ReduceAction299, Parser) */
6633 void parser__ReduceAction299__action(val* self, val* p0) {
6634 val* var_p /* var p: Parser */;
6635 val* var /* : null */;
6636 val* var_node_list /* var node_list: nullable Object */;
6637 val* var1 /* : nullable Object */;
6638 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
6639 val* var2 /* : nullable Object */;
6640 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6641 val* var3 /* : nullable Object */;
6642 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6643 val* var4 /* : nullable Object */;
6644 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6645 val* var5 /* : nullable Object */;
6646 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6647 val* var6 /* : nullable Object */;
6648 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6649 val* var7 /* : nullable Object */;
6650 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6651 val* var8 /* : nullable Object */;
6652 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6653 val* var9 /* : nullable Object */;
6654 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6655 val* var10 /* : nullable Object */;
6656 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6657 val* var11 /* : nullable Object */;
6658 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6659 val* var12 /* : Array[Object] */;
6660 val* var_listnode7 /* var listnode7: Array[Object] */;
6661 val* var13 /* : Array[Object] */;
6662 val* var_listnode11 /* var listnode11: Array[Object] */;
6663 val* var14 /* : Array[Object] */;
6664 val* var_listnode13 /* var listnode13: Array[Object] */;
6665 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6666 short int var15 /* : Bool */;
6667 int cltype;
6668 int idtype;
6669 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6670 short int var16 /* : Bool */;
6671 int cltype17;
6672 int idtype18;
6673 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6674 short int var19 /* : Bool */;
6675 int cltype20;
6676 int idtype21;
6677 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6678 short int var22 /* : Bool */;
6679 int cltype23;
6680 int idtype24;
6681 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
6682 short int var25 /* : Bool */;
6683 int cltype26;
6684 int idtype27;
6685 val* var_listnode10 /* var listnode10: nullable Object */;
6686 short int var28 /* : Bool */;
6687 int cltype29;
6688 int idtype30;
6689 val* var31 /* : Array[Object] */;
6690 val* var_listnode12 /* var listnode12: nullable Object */;
6691 short int var32 /* : Bool */;
6692 int cltype33;
6693 int idtype34;
6694 val* var35 /* : Array[Object] */;
6695 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
6696 short int var36 /* : Bool */;
6697 int cltype37;
6698 int idtype38;
6699 val* var39 /* : AStdClassdef */;
6700 val* var40 /* : null */;
6701 val* var41 /* : null */;
6702 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6703 long var42 /* : Int */;
6704 long var43 /* : Int */;
6705 var_p = p0;
6706 var = NULL;
6707 var_node_list = var;
6708 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6709 var_nodearraylist11 = var1;
6710 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6711 var_nodearraylist10 = var2;
6712 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6713 var_nodearraylist9 = var3;
6714 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6715 var_nodearraylist8 = var4;
6716 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6717 var_nodearraylist7 = var5;
6718 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6719 var_nodearraylist6 = var6;
6720 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6721 var_nodearraylist5 = var7;
6722 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6723 var_nodearraylist4 = var8;
6724 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6725 var_nodearraylist3 = var9;
6726 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6727 var_nodearraylist2 = var10;
6728 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6729 var_nodearraylist1 = var11;
6730 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
6731 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
6732 var_listnode7 = var12;
6733 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
6734 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
6735 var_listnode11 = var13;
6736 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
6737 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
6738 var_listnode13 = var14;
6739 var_pdocnode2 = var_nodearraylist1;
6740 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6741 cltype = type_nullable_parser_nodes__ADoc.color;
6742 idtype = type_nullable_parser_nodes__ADoc.id;
6743 if(var_pdocnode2 == NULL) {
6744 var15 = 1;
6745 } else {
6746 if(cltype >= var_pdocnode2->type->table_size) {
6747 var15 = 0;
6748 } else {
6749 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
6750 }
6751 }
6752 if (!var15) {
6753 fprintf(stderr, "Runtime error: %s", "Assert failed");
6754 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13828);
6755 show_backtrace(1);
6756 }
6757 var_pvisibilitynode4 = var_nodearraylist2;
6758 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6759 cltype17 = type_nullable_parser_nodes__AVisibility.color;
6760 idtype18 = type_nullable_parser_nodes__AVisibility.id;
6761 if(var_pvisibilitynode4 == NULL) {
6762 var16 = 1;
6763 } else {
6764 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
6765 var16 = 0;
6766 } else {
6767 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
6768 }
6769 }
6770 if (!var16) {
6771 fprintf(stderr, "Runtime error: %s", "Assert failed");
6772 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13830);
6773 show_backtrace(1);
6774 }
6775 var_pclasskindnode5 = var_nodearraylist3;
6776 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6777 cltype20 = type_nullable_parser_nodes__AClasskind.color;
6778 idtype21 = type_nullable_parser_nodes__AClasskind.id;
6779 if(var_pclasskindnode5 == NULL) {
6780 var19 = 1;
6781 } else {
6782 if(cltype20 >= var_pclasskindnode5->type->table_size) {
6783 var19 = 0;
6784 } else {
6785 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
6786 }
6787 }
6788 if (!var19) {
6789 fprintf(stderr, "Runtime error: %s", "Assert failed");
6790 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13832);
6791 show_backtrace(1);
6792 }
6793 var_tclassidnode6 = var_nodearraylist6;
6794 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6795 cltype23 = type_nullable_parser_nodes__TClassid.color;
6796 idtype24 = type_nullable_parser_nodes__TClassid.id;
6797 if(var_tclassidnode6 == NULL) {
6798 var22 = 1;
6799 } else {
6800 if(cltype23 >= var_tclassidnode6->type->table_size) {
6801 var22 = 0;
6802 } else {
6803 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
6804 }
6805 }
6806 if (!var22) {
6807 fprintf(stderr, "Runtime error: %s", "Assert failed");
6808 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13834);
6809 show_backtrace(1);
6810 }
6811 var_pexterncodeblocknode9 = var_nodearraylist7;
6812 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
6813 cltype26 = type_nullable_parser_nodes__AExternCodeBlock.color;
6814 idtype27 = type_nullable_parser_nodes__AExternCodeBlock.id;
6815 if(var_pexterncodeblocknode9 == NULL) {
6816 var25 = 1;
6817 } else {
6818 if(cltype26 >= var_pexterncodeblocknode9->type->table_size) {
6819 var25 = 0;
6820 } else {
6821 var25 = var_pexterncodeblocknode9->type->type_table[cltype26] == idtype27;
6822 }
6823 }
6824 if (!var25) {
6825 fprintf(stderr, "Runtime error: %s", "Assert failed");
6826 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13836);
6827 show_backtrace(1);
6828 }
6829 var_listnode10 = var_nodearraylist8;
6830 /* <var_listnode10:nullable Object> isa Array[Object] */
6831 cltype29 = type_array__Arraykernel__Object.color;
6832 idtype30 = type_array__Arraykernel__Object.id;
6833 if(var_listnode10 == NULL) {
6834 var28 = 0;
6835 } else {
6836 if(cltype29 >= var_listnode10->type->table_size) {
6837 var28 = 0;
6838 } else {
6839 var28 = var_listnode10->type->type_table[cltype29] == idtype30;
6840 }
6841 }
6842 if (!var28) {
6843 fprintf(stderr, "Runtime error: %s", "Assert failed");
6844 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13838);
6845 show_backtrace(1);
6846 }
6847 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction299>*/;
6848 var_listnode11 = var31;
6849 var_listnode12 = var_nodearraylist9;
6850 /* <var_listnode12:nullable Object> isa Array[Object] */
6851 cltype33 = type_array__Arraykernel__Object.color;
6852 idtype34 = type_array__Arraykernel__Object.id;
6853 if(var_listnode12 == NULL) {
6854 var32 = 0;
6855 } else {
6856 if(cltype33 >= var_listnode12->type->table_size) {
6857 var32 = 0;
6858 } else {
6859 var32 = var_listnode12->type->type_table[cltype33] == idtype34;
6860 }
6861 }
6862 if (!var32) {
6863 fprintf(stderr, "Runtime error: %s", "Assert failed");
6864 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13841);
6865 show_backtrace(1);
6866 }
6867 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction299>*/;
6868 var_listnode13 = var35;
6869 var_tkwendnode14 = var_nodearraylist11;
6870 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
6871 cltype37 = type_nullable_parser_nodes__TKwend.color;
6872 idtype38 = type_nullable_parser_nodes__TKwend.id;
6873 if(var_tkwendnode14 == NULL) {
6874 var36 = 1;
6875 } else {
6876 if(cltype37 >= var_tkwendnode14->type->table_size) {
6877 var36 = 0;
6878 } else {
6879 var36 = var_tkwendnode14->type->type_table[cltype37] == idtype38;
6880 }
6881 }
6882 if (!var36) {
6883 fprintf(stderr, "Runtime error: %s", "Assert failed");
6884 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13844);
6885 show_backtrace(1);
6886 }
6887 var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6888 var40 = NULL;
6889 var41 = NULL;
6890 ((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, var41, var_pexterncodeblocknode9, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var39:AStdClassdef>*/;
6891 var_pclassdefnode1 = var39;
6892 var_node_list = var_pclassdefnode1;
6893 var42 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction299> */
6894 var43 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var42) /* go_to on <var_p:Parser>*/;
6895 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var43, var_node_list) /* push on <var_p:Parser>*/;
6896 RET_LABEL:;
6897 }
6898 /* method parser#ReduceAction299#action for (self: Object, Parser) */
6899 void VIRTUAL_parser__ReduceAction299__action(val* self, val* p0) {
6900 parser__ReduceAction299__action(self, p0);
6901 RET_LABEL:;
6902 }
6903 /* method parser#ReduceAction300#action for (self: ReduceAction300, Parser) */
6904 void parser__ReduceAction300__action(val* self, val* p0) {
6905 val* var_p /* var p: Parser */;
6906 val* var /* : null */;
6907 val* var_node_list /* var node_list: nullable Object */;
6908 val* var1 /* : nullable Object */;
6909 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
6910 val* var2 /* : nullable Object */;
6911 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
6912 val* var3 /* : nullable Object */;
6913 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6914 val* var4 /* : nullable Object */;
6915 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6916 val* var5 /* : nullable Object */;
6917 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6918 val* var6 /* : nullable Object */;
6919 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6920 val* var7 /* : nullable Object */;
6921 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6922 val* var8 /* : nullable Object */;
6923 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6924 val* var9 /* : nullable Object */;
6925 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6926 val* var10 /* : nullable Object */;
6927 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6928 val* var11 /* : nullable Object */;
6929 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6930 val* var12 /* : nullable Object */;
6931 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6932 val* var13 /* : Array[Object] */;
6933 val* var_listnode7 /* var listnode7: Array[Object] */;
6934 val* var14 /* : Array[Object] */;
6935 val* var_listnode11 /* var listnode11: Array[Object] */;
6936 val* var15 /* : Array[Object] */;
6937 val* var_listnode13 /* var listnode13: Array[Object] */;
6938 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6939 short int var16 /* : Bool */;
6940 int cltype;
6941 int idtype;
6942 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6943 short int var17 /* : Bool */;
6944 int cltype18;
6945 int idtype19;
6946 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6947 short int var20 /* : Bool */;
6948 int cltype21;
6949 int idtype22;
6950 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6951 short int var23 /* : Bool */;
6952 int cltype24;
6953 int idtype25;
6954 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
6955 short int var26 /* : Bool */;
6956 int cltype27;
6957 int idtype28;
6958 val* var_listnode10 /* var listnode10: nullable Object */;
6959 short int var29 /* : Bool */;
6960 int cltype30;
6961 int idtype31;
6962 val* var32 /* : Array[Object] */;
6963 val* var_listnode12 /* var listnode12: nullable Object */;
6964 short int var33 /* : Bool */;
6965 int cltype34;
6966 int idtype35;
6967 val* var36 /* : Array[Object] */;
6968 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
6969 short int var37 /* : Bool */;
6970 int cltype38;
6971 int idtype39;
6972 val* var40 /* : AStdClassdef */;
6973 val* var41 /* : null */;
6974 val* var42 /* : null */;
6975 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6976 long var43 /* : Int */;
6977 long var44 /* : Int */;
6978 var_p = p0;
6979 var = NULL;
6980 var_node_list = var;
6981 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6982 var_nodearraylist12 = var1;
6983 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6984 var_nodearraylist11 = var2;
6985 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6986 var_nodearraylist10 = var3;
6987 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6988 var_nodearraylist9 = var4;
6989 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6990 var_nodearraylist8 = var5;
6991 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6992 var_nodearraylist7 = var6;
6993 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6994 var_nodearraylist6 = var7;
6995 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6996 var_nodearraylist5 = var8;
6997 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6998 var_nodearraylist4 = var9;
6999 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7000 var_nodearraylist3 = var10;
7001 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7002 var_nodearraylist2 = var11;
7003 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7004 var_nodearraylist1 = var12;
7005 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
7006 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
7007 var_listnode7 = var13;
7008 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
7009 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
7010 var_listnode11 = var14;
7011 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
7012 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
7013 var_listnode13 = var15;
7014 var_pdocnode2 = var_nodearraylist1;
7015 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7016 cltype = type_nullable_parser_nodes__ADoc.color;
7017 idtype = type_nullable_parser_nodes__ADoc.id;
7018 if(var_pdocnode2 == NULL) {
7019 var16 = 1;
7020 } else {
7021 if(cltype >= var_pdocnode2->type->table_size) {
7022 var16 = 0;
7023 } else {
7024 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
7025 }
7026 }
7027 if (!var16) {
7028 fprintf(stderr, "Runtime error: %s", "Assert failed");
7029 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13883);
7030 show_backtrace(1);
7031 }
7032 var_pvisibilitynode4 = var_nodearraylist2;
7033 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7034 cltype18 = type_nullable_parser_nodes__AVisibility.color;
7035 idtype19 = type_nullable_parser_nodes__AVisibility.id;
7036 if(var_pvisibilitynode4 == NULL) {
7037 var17 = 1;
7038 } else {
7039 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
7040 var17 = 0;
7041 } else {
7042 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
7043 }
7044 }
7045 if (!var17) {
7046 fprintf(stderr, "Runtime error: %s", "Assert failed");
7047 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13885);
7048 show_backtrace(1);
7049 }
7050 var_pclasskindnode5 = var_nodearraylist3;
7051 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7052 cltype21 = type_nullable_parser_nodes__AClasskind.color;
7053 idtype22 = type_nullable_parser_nodes__AClasskind.id;
7054 if(var_pclasskindnode5 == NULL) {
7055 var20 = 1;
7056 } else {
7057 if(cltype21 >= var_pclasskindnode5->type->table_size) {
7058 var20 = 0;
7059 } else {
7060 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
7061 }
7062 }
7063 if (!var20) {
7064 fprintf(stderr, "Runtime error: %s", "Assert failed");
7065 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13887);
7066 show_backtrace(1);
7067 }
7068 var_tclassidnode6 = var_nodearraylist7;
7069 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7070 cltype24 = type_nullable_parser_nodes__TClassid.color;
7071 idtype25 = type_nullable_parser_nodes__TClassid.id;
7072 if(var_tclassidnode6 == NULL) {
7073 var23 = 1;
7074 } else {
7075 if(cltype24 >= var_tclassidnode6->type->table_size) {
7076 var23 = 0;
7077 } else {
7078 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
7079 }
7080 }
7081 if (!var23) {
7082 fprintf(stderr, "Runtime error: %s", "Assert failed");
7083 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13889);
7084 show_backtrace(1);
7085 }
7086 var_pexterncodeblocknode9 = var_nodearraylist8;
7087 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
7088 cltype27 = type_nullable_parser_nodes__AExternCodeBlock.color;
7089 idtype28 = type_nullable_parser_nodes__AExternCodeBlock.id;
7090 if(var_pexterncodeblocknode9 == NULL) {
7091 var26 = 1;
7092 } else {
7093 if(cltype27 >= var_pexterncodeblocknode9->type->table_size) {
7094 var26 = 0;
7095 } else {
7096 var26 = var_pexterncodeblocknode9->type->type_table[cltype27] == idtype28;
7097 }
7098 }
7099 if (!var26) {
7100 fprintf(stderr, "Runtime error: %s", "Assert failed");
7101 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13891);
7102 show_backtrace(1);
7103 }
7104 var_listnode10 = var_nodearraylist9;
7105 /* <var_listnode10:nullable Object> isa Array[Object] */
7106 cltype30 = type_array__Arraykernel__Object.color;
7107 idtype31 = type_array__Arraykernel__Object.id;
7108 if(var_listnode10 == NULL) {
7109 var29 = 0;
7110 } else {
7111 if(cltype30 >= var_listnode10->type->table_size) {
7112 var29 = 0;
7113 } else {
7114 var29 = var_listnode10->type->type_table[cltype30] == idtype31;
7115 }
7116 }
7117 if (!var29) {
7118 fprintf(stderr, "Runtime error: %s", "Assert failed");
7119 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13893);
7120 show_backtrace(1);
7121 }
7122 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction300>*/;
7123 var_listnode11 = var32;
7124 var_listnode12 = var_nodearraylist10;
7125 /* <var_listnode12:nullable Object> isa Array[Object] */
7126 cltype34 = type_array__Arraykernel__Object.color;
7127 idtype35 = type_array__Arraykernel__Object.id;
7128 if(var_listnode12 == NULL) {
7129 var33 = 0;
7130 } else {
7131 if(cltype34 >= var_listnode12->type->table_size) {
7132 var33 = 0;
7133 } else {
7134 var33 = var_listnode12->type->type_table[cltype34] == idtype35;
7135 }
7136 }
7137 if (!var33) {
7138 fprintf(stderr, "Runtime error: %s", "Assert failed");
7139 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13896);
7140 show_backtrace(1);
7141 }
7142 var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction300>*/;
7143 var_listnode13 = var36;
7144 var_tkwendnode14 = var_nodearraylist12;
7145 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
7146 cltype38 = type_nullable_parser_nodes__TKwend.color;
7147 idtype39 = type_nullable_parser_nodes__TKwend.id;
7148 if(var_tkwendnode14 == NULL) {
7149 var37 = 1;
7150 } else {
7151 if(cltype38 >= var_tkwendnode14->type->table_size) {
7152 var37 = 0;
7153 } else {
7154 var37 = var_tkwendnode14->type->type_table[cltype38] == idtype39;
7155 }
7156 }
7157 if (!var37) {
7158 fprintf(stderr, "Runtime error: %s", "Assert failed");
7159 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13899);
7160 show_backtrace(1);
7161 }
7162 var40 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7163 var41 = NULL;
7164 var42 = NULL;
7165 ((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, var42, var_pexterncodeblocknode9, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var40:AStdClassdef>*/;
7166 var_pclassdefnode1 = var40;
7167 var_node_list = var_pclassdefnode1;
7168 var43 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction300> */
7169 var44 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var43) /* go_to on <var_p:Parser>*/;
7170 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var44, var_node_list) /* push on <var_p:Parser>*/;
7171 RET_LABEL:;
7172 }
7173 /* method parser#ReduceAction300#action for (self: Object, Parser) */
7174 void VIRTUAL_parser__ReduceAction300__action(val* self, val* p0) {
7175 parser__ReduceAction300__action(self, p0);
7176 RET_LABEL:;
7177 }
7178 /* method parser#ReduceAction302#action for (self: ReduceAction302, Parser) */
7179 void parser__ReduceAction302__action(val* self, val* p0) {
7180 val* var_p /* var p: Parser */;
7181 val* var /* : null */;
7182 val* var_node_list /* var node_list: nullable Object */;
7183 val* var1 /* : nullable Object */;
7184 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
7185 val* var2 /* : nullable Object */;
7186 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
7187 val* var3 /* : nullable Object */;
7188 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7189 val* var4 /* : nullable Object */;
7190 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7191 val* var5 /* : nullable Object */;
7192 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7193 val* var6 /* : nullable Object */;
7194 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7195 val* var7 /* : nullable Object */;
7196 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7197 val* var8 /* : nullable Object */;
7198 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7199 val* var9 /* : nullable Object */;
7200 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7201 val* var10 /* : nullable Object */;
7202 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7203 val* var11 /* : nullable Object */;
7204 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7205 val* var12 /* : nullable Object */;
7206 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7207 val* var13 /* : Array[Object] */;
7208 val* var_listnode7 /* var listnode7: Array[Object] */;
7209 val* var14 /* : Array[Object] */;
7210 val* var_listnode11 /* var listnode11: Array[Object] */;
7211 val* var15 /* : Array[Object] */;
7212 val* var_listnode13 /* var listnode13: Array[Object] */;
7213 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7214 short int var16 /* : Bool */;
7215 int cltype;
7216 int idtype;
7217 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
7218 short int var17 /* : Bool */;
7219 int cltype18;
7220 int idtype19;
7221 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7222 short int var20 /* : Bool */;
7223 int cltype21;
7224 int idtype22;
7225 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7226 short int var23 /* : Bool */;
7227 int cltype24;
7228 int idtype25;
7229 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7230 short int var26 /* : Bool */;
7231 int cltype27;
7232 int idtype28;
7233 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
7234 short int var29 /* : Bool */;
7235 int cltype30;
7236 int idtype31;
7237 val* var_listnode10 /* var listnode10: nullable Object */;
7238 short int var32 /* : Bool */;
7239 int cltype33;
7240 int idtype34;
7241 val* var35 /* : Array[Object] */;
7242 val* var_listnode12 /* var listnode12: nullable Object */;
7243 short int var36 /* : Bool */;
7244 int cltype37;
7245 int idtype38;
7246 val* var39 /* : Array[Object] */;
7247 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
7248 short int var40 /* : Bool */;
7249 int cltype41;
7250 int idtype42;
7251 val* var43 /* : AStdClassdef */;
7252 val* var44 /* : null */;
7253 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7254 long var45 /* : Int */;
7255 long var46 /* : Int */;
7256 var_p = p0;
7257 var = NULL;
7258 var_node_list = var;
7259 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7260 var_nodearraylist12 = var1;
7261 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7262 var_nodearraylist11 = var2;
7263 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7264 var_nodearraylist10 = var3;
7265 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7266 var_nodearraylist9 = var4;
7267 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7268 var_nodearraylist8 = var5;
7269 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7270 var_nodearraylist7 = var6;
7271 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7272 var_nodearraylist6 = var7;
7273 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7274 var_nodearraylist5 = var8;
7275 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7276 var_nodearraylist4 = var9;
7277 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7278 var_nodearraylist3 = var10;
7279 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7280 var_nodearraylist2 = var11;
7281 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7282 var_nodearraylist1 = var12;
7283 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
7284 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
7285 var_listnode7 = var13;
7286 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
7287 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
7288 var_listnode11 = var14;
7289 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
7290 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
7291 var_listnode13 = var15;
7292 var_pdocnode2 = var_nodearraylist1;
7293 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7294 cltype = type_nullable_parser_nodes__ADoc.color;
7295 idtype = type_nullable_parser_nodes__ADoc.id;
7296 if(var_pdocnode2 == NULL) {
7297 var16 = 1;
7298 } else {
7299 if(cltype >= var_pdocnode2->type->table_size) {
7300 var16 = 0;
7301 } else {
7302 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
7303 }
7304 }
7305 if (!var16) {
7306 fprintf(stderr, "Runtime error: %s", "Assert failed");
7307 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13938);
7308 show_backtrace(1);
7309 }
7310 var_tkwredefnode3 = var_nodearraylist2;
7311 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7312 cltype18 = type_nullable_parser_nodes__TKwredef.color;
7313 idtype19 = type_nullable_parser_nodes__TKwredef.id;
7314 if(var_tkwredefnode3 == NULL) {
7315 var17 = 1;
7316 } else {
7317 if(cltype18 >= var_tkwredefnode3->type->table_size) {
7318 var17 = 0;
7319 } else {
7320 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
7321 }
7322 }
7323 if (!var17) {
7324 fprintf(stderr, "Runtime error: %s", "Assert failed");
7325 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13940);
7326 show_backtrace(1);
7327 }
7328 var_pvisibilitynode4 = var_nodearraylist3;
7329 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7330 cltype21 = type_nullable_parser_nodes__AVisibility.color;
7331 idtype22 = type_nullable_parser_nodes__AVisibility.id;
7332 if(var_pvisibilitynode4 == NULL) {
7333 var20 = 1;
7334 } else {
7335 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
7336 var20 = 0;
7337 } else {
7338 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
7339 }
7340 }
7341 if (!var20) {
7342 fprintf(stderr, "Runtime error: %s", "Assert failed");
7343 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13942);
7344 show_backtrace(1);
7345 }
7346 var_pclasskindnode5 = var_nodearraylist4;
7347 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7348 cltype24 = type_nullable_parser_nodes__AClasskind.color;
7349 idtype25 = type_nullable_parser_nodes__AClasskind.id;
7350 if(var_pclasskindnode5 == NULL) {
7351 var23 = 1;
7352 } else {
7353 if(cltype24 >= var_pclasskindnode5->type->table_size) {
7354 var23 = 0;
7355 } else {
7356 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
7357 }
7358 }
7359 if (!var23) {
7360 fprintf(stderr, "Runtime error: %s", "Assert failed");
7361 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13944);
7362 show_backtrace(1);
7363 }
7364 var_tclassidnode6 = var_nodearraylist7;
7365 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7366 cltype27 = type_nullable_parser_nodes__TClassid.color;
7367 idtype28 = type_nullable_parser_nodes__TClassid.id;
7368 if(var_tclassidnode6 == NULL) {
7369 var26 = 1;
7370 } else {
7371 if(cltype27 >= var_tclassidnode6->type->table_size) {
7372 var26 = 0;
7373 } else {
7374 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
7375 }
7376 }
7377 if (!var26) {
7378 fprintf(stderr, "Runtime error: %s", "Assert failed");
7379 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13946);
7380 show_backtrace(1);
7381 }
7382 var_pexterncodeblocknode9 = var_nodearraylist8;
7383 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
7384 cltype30 = type_nullable_parser_nodes__AExternCodeBlock.color;
7385 idtype31 = type_nullable_parser_nodes__AExternCodeBlock.id;
7386 if(var_pexterncodeblocknode9 == NULL) {
7387 var29 = 1;
7388 } else {
7389 if(cltype30 >= var_pexterncodeblocknode9->type->table_size) {
7390 var29 = 0;
7391 } else {
7392 var29 = var_pexterncodeblocknode9->type->type_table[cltype30] == idtype31;
7393 }
7394 }
7395 if (!var29) {
7396 fprintf(stderr, "Runtime error: %s", "Assert failed");
7397 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13948);
7398 show_backtrace(1);
7399 }
7400 var_listnode10 = var_nodearraylist9;
7401 /* <var_listnode10:nullable Object> isa Array[Object] */
7402 cltype33 = type_array__Arraykernel__Object.color;
7403 idtype34 = type_array__Arraykernel__Object.id;
7404 if(var_listnode10 == NULL) {
7405 var32 = 0;
7406 } else {
7407 if(cltype33 >= var_listnode10->type->table_size) {
7408 var32 = 0;
7409 } else {
7410 var32 = var_listnode10->type->type_table[cltype33] == idtype34;
7411 }
7412 }
7413 if (!var32) {
7414 fprintf(stderr, "Runtime error: %s", "Assert failed");
7415 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13950);
7416 show_backtrace(1);
7417 }
7418 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction302>*/;
7419 var_listnode11 = var35;
7420 var_listnode12 = var_nodearraylist10;
7421 /* <var_listnode12:nullable Object> isa Array[Object] */
7422 cltype37 = type_array__Arraykernel__Object.color;
7423 idtype38 = type_array__Arraykernel__Object.id;
7424 if(var_listnode12 == NULL) {
7425 var36 = 0;
7426 } else {
7427 if(cltype37 >= var_listnode12->type->table_size) {
7428 var36 = 0;
7429 } else {
7430 var36 = var_listnode12->type->type_table[cltype37] == idtype38;
7431 }
7432 }
7433 if (!var36) {
7434 fprintf(stderr, "Runtime error: %s", "Assert failed");
7435 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13953);
7436 show_backtrace(1);
7437 }
7438 var39 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction302>*/;
7439 var_listnode13 = var39;
7440 var_tkwendnode14 = var_nodearraylist12;
7441 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
7442 cltype41 = type_nullable_parser_nodes__TKwend.color;
7443 idtype42 = type_nullable_parser_nodes__TKwend.id;
7444 if(var_tkwendnode14 == NULL) {
7445 var40 = 1;
7446 } else {
7447 if(cltype41 >= var_tkwendnode14->type->table_size) {
7448 var40 = 0;
7449 } else {
7450 var40 = var_tkwendnode14->type->type_table[cltype41] == idtype42;
7451 }
7452 }
7453 if (!var40) {
7454 fprintf(stderr, "Runtime error: %s", "Assert failed");
7455 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13956);
7456 show_backtrace(1);
7457 }
7458 var43 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7459 var44 = NULL;
7460 ((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, var44, var_pexterncodeblocknode9, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var43:AStdClassdef>*/;
7461 var_pclassdefnode1 = var43;
7462 var_node_list = var_pclassdefnode1;
7463 var45 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction302> */
7464 var46 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var45) /* go_to on <var_p:Parser>*/;
7465 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var46, var_node_list) /* push on <var_p:Parser>*/;
7466 RET_LABEL:;
7467 }
7468 /* method parser#ReduceAction302#action for (self: Object, Parser) */
7469 void VIRTUAL_parser__ReduceAction302__action(val* self, val* p0) {
7470 parser__ReduceAction302__action(self, p0);
7471 RET_LABEL:;
7472 }
7473 /* method parser#ReduceAction303#action for (self: ReduceAction303, Parser) */
7474 void parser__ReduceAction303__action(val* self, val* p0) {
7475 val* var_p /* var p: Parser */;
7476 val* var /* : null */;
7477 val* var_node_list /* var node_list: nullable Object */;
7478 val* var1 /* : nullable Object */;
7479 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
7480 val* var2 /* : nullable Object */;
7481 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
7482 val* var3 /* : nullable Object */;
7483 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
7484 val* var4 /* : nullable Object */;
7485 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7486 val* var5 /* : nullable Object */;
7487 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7488 val* var6 /* : nullable Object */;
7489 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7490 val* var7 /* : nullable Object */;
7491 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7492 val* var8 /* : nullable Object */;
7493 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7494 val* var9 /* : nullable Object */;
7495 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7496 val* var10 /* : nullable Object */;
7497 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7498 val* var11 /* : nullable Object */;
7499 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7500 val* var12 /* : nullable Object */;
7501 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7502 val* var13 /* : nullable Object */;
7503 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7504 val* var14 /* : Array[Object] */;
7505 val* var_listnode7 /* var listnode7: Array[Object] */;
7506 val* var15 /* : Array[Object] */;
7507 val* var_listnode11 /* var listnode11: Array[Object] */;
7508 val* var16 /* : Array[Object] */;
7509 val* var_listnode13 /* var listnode13: Array[Object] */;
7510 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7511 short int var17 /* : Bool */;
7512 int cltype;
7513 int idtype;
7514 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
7515 short int var18 /* : Bool */;
7516 int cltype19;
7517 int idtype20;
7518 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7519 short int var21 /* : Bool */;
7520 int cltype22;
7521 int idtype23;
7522 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7523 short int var24 /* : Bool */;
7524 int cltype25;
7525 int idtype26;
7526 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7527 short int var27 /* : Bool */;
7528 int cltype28;
7529 int idtype29;
7530 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
7531 short int var30 /* : Bool */;
7532 int cltype31;
7533 int idtype32;
7534 val* var_listnode10 /* var listnode10: nullable Object */;
7535 short int var33 /* : Bool */;
7536 int cltype34;
7537 int idtype35;
7538 val* var36 /* : Array[Object] */;
7539 val* var_listnode12 /* var listnode12: nullable Object */;
7540 short int var37 /* : Bool */;
7541 int cltype38;
7542 int idtype39;
7543 val* var40 /* : Array[Object] */;
7544 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
7545 short int var41 /* : Bool */;
7546 int cltype42;
7547 int idtype43;
7548 val* var44 /* : AStdClassdef */;
7549 val* var45 /* : null */;
7550 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7551 long var46 /* : Int */;
7552 long var47 /* : Int */;
7553 var_p = p0;
7554 var = NULL;
7555 var_node_list = var;
7556 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7557 var_nodearraylist13 = var1;
7558 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7559 var_nodearraylist12 = var2;
7560 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7561 var_nodearraylist11 = var3;
7562 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7563 var_nodearraylist10 = var4;
7564 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7565 var_nodearraylist9 = var5;
7566 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7567 var_nodearraylist8 = var6;
7568 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7569 var_nodearraylist7 = var7;
7570 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7571 var_nodearraylist6 = var8;
7572 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7573 var_nodearraylist5 = var9;
7574 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7575 var_nodearraylist4 = var10;
7576 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7577 var_nodearraylist3 = var11;
7578 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7579 var_nodearraylist2 = var12;
7580 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7581 var_nodearraylist1 = var13;
7582 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
7583 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
7584 var_listnode7 = var14;
7585 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
7586 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
7587 var_listnode11 = var15;
7588 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
7589 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
7590 var_listnode13 = var16;
7591 var_pdocnode2 = var_nodearraylist1;
7592 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7593 cltype = type_nullable_parser_nodes__ADoc.color;
7594 idtype = type_nullable_parser_nodes__ADoc.id;
7595 if(var_pdocnode2 == NULL) {
7596 var17 = 1;
7597 } else {
7598 if(cltype >= var_pdocnode2->type->table_size) {
7599 var17 = 0;
7600 } else {
7601 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
7602 }
7603 }
7604 if (!var17) {
7605 fprintf(stderr, "Runtime error: %s", "Assert failed");
7606 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13996);
7607 show_backtrace(1);
7608 }
7609 var_tkwredefnode3 = var_nodearraylist2;
7610 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7611 cltype19 = type_nullable_parser_nodes__TKwredef.color;
7612 idtype20 = type_nullable_parser_nodes__TKwredef.id;
7613 if(var_tkwredefnode3 == NULL) {
7614 var18 = 1;
7615 } else {
7616 if(cltype19 >= var_tkwredefnode3->type->table_size) {
7617 var18 = 0;
7618 } else {
7619 var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20;
7620 }
7621 }
7622 if (!var18) {
7623 fprintf(stderr, "Runtime error: %s", "Assert failed");
7624 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13998);
7625 show_backtrace(1);
7626 }
7627 var_pvisibilitynode4 = var_nodearraylist3;
7628 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7629 cltype22 = type_nullable_parser_nodes__AVisibility.color;
7630 idtype23 = type_nullable_parser_nodes__AVisibility.id;
7631 if(var_pvisibilitynode4 == NULL) {
7632 var21 = 1;
7633 } else {
7634 if(cltype22 >= var_pvisibilitynode4->type->table_size) {
7635 var21 = 0;
7636 } else {
7637 var21 = var_pvisibilitynode4->type->type_table[cltype22] == idtype23;
7638 }
7639 }
7640 if (!var21) {
7641 fprintf(stderr, "Runtime error: %s", "Assert failed");
7642 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14000);
7643 show_backtrace(1);
7644 }
7645 var_pclasskindnode5 = var_nodearraylist4;
7646 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7647 cltype25 = type_nullable_parser_nodes__AClasskind.color;
7648 idtype26 = type_nullable_parser_nodes__AClasskind.id;
7649 if(var_pclasskindnode5 == NULL) {
7650 var24 = 1;
7651 } else {
7652 if(cltype25 >= var_pclasskindnode5->type->table_size) {
7653 var24 = 0;
7654 } else {
7655 var24 = var_pclasskindnode5->type->type_table[cltype25] == idtype26;
7656 }
7657 }
7658 if (!var24) {
7659 fprintf(stderr, "Runtime error: %s", "Assert failed");
7660 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14002);
7661 show_backtrace(1);
7662 }
7663 var_tclassidnode6 = var_nodearraylist8;
7664 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7665 cltype28 = type_nullable_parser_nodes__TClassid.color;
7666 idtype29 = type_nullable_parser_nodes__TClassid.id;
7667 if(var_tclassidnode6 == NULL) {
7668 var27 = 1;
7669 } else {
7670 if(cltype28 >= var_tclassidnode6->type->table_size) {
7671 var27 = 0;
7672 } else {
7673 var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29;
7674 }
7675 }
7676 if (!var27) {
7677 fprintf(stderr, "Runtime error: %s", "Assert failed");
7678 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14004);
7679 show_backtrace(1);
7680 }
7681 var_pexterncodeblocknode9 = var_nodearraylist9;
7682 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
7683 cltype31 = type_nullable_parser_nodes__AExternCodeBlock.color;
7684 idtype32 = type_nullable_parser_nodes__AExternCodeBlock.id;
7685 if(var_pexterncodeblocknode9 == NULL) {
7686 var30 = 1;
7687 } else {
7688 if(cltype31 >= var_pexterncodeblocknode9->type->table_size) {
7689 var30 = 0;
7690 } else {
7691 var30 = var_pexterncodeblocknode9->type->type_table[cltype31] == idtype32;
7692 }
7693 }
7694 if (!var30) {
7695 fprintf(stderr, "Runtime error: %s", "Assert failed");
7696 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14006);
7697 show_backtrace(1);
7698 }
7699 var_listnode10 = var_nodearraylist10;
7700 /* <var_listnode10:nullable Object> isa Array[Object] */
7701 cltype34 = type_array__Arraykernel__Object.color;
7702 idtype35 = type_array__Arraykernel__Object.id;
7703 if(var_listnode10 == NULL) {
7704 var33 = 0;
7705 } else {
7706 if(cltype34 >= var_listnode10->type->table_size) {
7707 var33 = 0;
7708 } else {
7709 var33 = var_listnode10->type->type_table[cltype34] == idtype35;
7710 }
7711 }
7712 if (!var33) {
7713 fprintf(stderr, "Runtime error: %s", "Assert failed");
7714 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14008);
7715 show_backtrace(1);
7716 }
7717 var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction303>*/;
7718 var_listnode11 = var36;
7719 var_listnode12 = var_nodearraylist11;
7720 /* <var_listnode12:nullable Object> isa Array[Object] */
7721 cltype38 = type_array__Arraykernel__Object.color;
7722 idtype39 = type_array__Arraykernel__Object.id;
7723 if(var_listnode12 == NULL) {
7724 var37 = 0;
7725 } else {
7726 if(cltype38 >= var_listnode12->type->table_size) {
7727 var37 = 0;
7728 } else {
7729 var37 = var_listnode12->type->type_table[cltype38] == idtype39;
7730 }
7731 }
7732 if (!var37) {
7733 fprintf(stderr, "Runtime error: %s", "Assert failed");
7734 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14011);
7735 show_backtrace(1);
7736 }
7737 var40 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction303>*/;
7738 var_listnode13 = var40;
7739 var_tkwendnode14 = var_nodearraylist13;
7740 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
7741 cltype42 = type_nullable_parser_nodes__TKwend.color;
7742 idtype43 = type_nullable_parser_nodes__TKwend.id;
7743 if(var_tkwendnode14 == NULL) {
7744 var41 = 1;
7745 } else {
7746 if(cltype42 >= var_tkwendnode14->type->table_size) {
7747 var41 = 0;
7748 } else {
7749 var41 = var_tkwendnode14->type->type_table[cltype42] == idtype43;
7750 }
7751 }
7752 if (!var41) {
7753 fprintf(stderr, "Runtime error: %s", "Assert failed");
7754 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14014);
7755 show_backtrace(1);
7756 }
7757 var44 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7758 var45 = NULL;
7759 ((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, var45, var_pexterncodeblocknode9, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var44:AStdClassdef>*/;
7760 var_pclassdefnode1 = var44;
7761 var_node_list = var_pclassdefnode1;
7762 var46 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction303> */
7763 var47 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var46) /* go_to on <var_p:Parser>*/;
7764 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var47, var_node_list) /* push on <var_p:Parser>*/;
7765 RET_LABEL:;
7766 }
7767 /* method parser#ReduceAction303#action for (self: Object, Parser) */
7768 void VIRTUAL_parser__ReduceAction303__action(val* self, val* p0) {
7769 parser__ReduceAction303__action(self, p0);
7770 RET_LABEL:;
7771 }
7772 /* method parser#ReduceAction305#action for (self: ReduceAction305, Parser) */
7773 void parser__ReduceAction305__action(val* self, val* p0) {
7774 val* var_p /* var p: Parser */;
7775 val* var /* : null */;
7776 val* var_node_list /* var node_list: nullable Object */;
7777 val* var1 /* : nullable Object */;
7778 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
7779 val* var2 /* : nullable Object */;
7780 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7781 val* var3 /* : nullable Object */;
7782 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7783 val* var4 /* : nullable Object */;
7784 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7785 val* var5 /* : nullable Object */;
7786 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7787 val* var6 /* : nullable Object */;
7788 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7789 val* var7 /* : nullable Object */;
7790 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7791 val* var8 /* : nullable Object */;
7792 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7793 val* var9 /* : nullable Object */;
7794 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7795 val* var10 /* : nullable Object */;
7796 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7797 val* var11 /* : nullable Object */;
7798 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7799 val* var12 /* : Array[Object] */;
7800 val* var_listnode8 /* var listnode8: Array[Object] */;
7801 val* var13 /* : Array[Object] */;
7802 val* var_listnode12 /* var listnode12: Array[Object] */;
7803 val* var14 /* : Array[Object] */;
7804 val* var_listnode14 /* var listnode14: Array[Object] */;
7805 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7806 short int var15 /* : Bool */;
7807 int cltype;
7808 int idtype;
7809 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7810 short int var16 /* : Bool */;
7811 int cltype17;
7812 int idtype18;
7813 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7814 short int var19 /* : Bool */;
7815 int cltype20;
7816 int idtype21;
7817 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7818 short int var22 /* : Bool */;
7819 int cltype23;
7820 int idtype24;
7821 val* var_listnode7 /* var listnode7: nullable Object */;
7822 short int var25 /* : Bool */;
7823 int cltype26;
7824 int idtype27;
7825 val* var28 /* : Array[Object] */;
7826 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
7827 short int var29 /* : Bool */;
7828 int cltype30;
7829 int idtype31;
7830 val* var_listnode11 /* var listnode11: nullable Object */;
7831 short int var32 /* : Bool */;
7832 int cltype33;
7833 int idtype34;
7834 val* var35 /* : Array[Object] */;
7835 val* var_listnode13 /* var listnode13: nullable Object */;
7836 short int var36 /* : Bool */;
7837 int cltype37;
7838 int idtype38;
7839 val* var39 /* : Array[Object] */;
7840 val* var_tkwendnode15 /* var tkwendnode15: nullable Object */;
7841 short int var40 /* : Bool */;
7842 int cltype41;
7843 int idtype42;
7844 val* var43 /* : AStdClassdef */;
7845 val* var44 /* : null */;
7846 val* var45 /* : null */;
7847 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7848 long var46 /* : Int */;
7849 long var47 /* : Int */;
7850 var_p = p0;
7851 var = NULL;
7852 var_node_list = var;
7853 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7854 var_nodearraylist11 = var1;
7855 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7856 var_nodearraylist10 = var2;
7857 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7858 var_nodearraylist9 = var3;
7859 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7860 var_nodearraylist8 = var4;
7861 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7862 var_nodearraylist7 = var5;
7863 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7864 var_nodearraylist6 = var6;
7865 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7866 var_nodearraylist5 = var7;
7867 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7868 var_nodearraylist4 = var8;
7869 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7870 var_nodearraylist3 = var9;
7871 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7872 var_nodearraylist2 = var10;
7873 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7874 var_nodearraylist1 = var11;
7875 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
7876 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
7877 var_listnode8 = var12;
7878 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
7879 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
7880 var_listnode12 = var13;
7881 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
7882 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
7883 var_listnode14 = var14;
7884 var_pdocnode2 = var_nodearraylist1;
7885 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7886 cltype = type_nullable_parser_nodes__ADoc.color;
7887 idtype = type_nullable_parser_nodes__ADoc.id;
7888 if(var_pdocnode2 == NULL) {
7889 var15 = 1;
7890 } else {
7891 if(cltype >= var_pdocnode2->type->table_size) {
7892 var15 = 0;
7893 } else {
7894 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
7895 }
7896 }
7897 if (!var15) {
7898 fprintf(stderr, "Runtime error: %s", "Assert failed");
7899 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14052);
7900 show_backtrace(1);
7901 }
7902 var_pvisibilitynode4 = var_nodearraylist2;
7903 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7904 cltype17 = type_nullable_parser_nodes__AVisibility.color;
7905 idtype18 = type_nullable_parser_nodes__AVisibility.id;
7906 if(var_pvisibilitynode4 == NULL) {
7907 var16 = 1;
7908 } else {
7909 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
7910 var16 = 0;
7911 } else {
7912 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
7913 }
7914 }
7915 if (!var16) {
7916 fprintf(stderr, "Runtime error: %s", "Assert failed");
7917 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14054);
7918 show_backtrace(1);
7919 }
7920 var_pclasskindnode5 = var_nodearraylist3;
7921 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7922 cltype20 = type_nullable_parser_nodes__AClasskind.color;
7923 idtype21 = type_nullable_parser_nodes__AClasskind.id;
7924 if(var_pclasskindnode5 == NULL) {
7925 var19 = 1;
7926 } else {
7927 if(cltype20 >= var_pclasskindnode5->type->table_size) {
7928 var19 = 0;
7929 } else {
7930 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
7931 }
7932 }
7933 if (!var19) {
7934 fprintf(stderr, "Runtime error: %s", "Assert failed");
7935 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14056);
7936 show_backtrace(1);
7937 }
7938 var_tclassidnode6 = var_nodearraylist5;
7939 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7940 cltype23 = type_nullable_parser_nodes__TClassid.color;
7941 idtype24 = type_nullable_parser_nodes__TClassid.id;
7942 if(var_tclassidnode6 == NULL) {
7943 var22 = 1;
7944 } else {
7945 if(cltype23 >= var_tclassidnode6->type->table_size) {
7946 var22 = 0;
7947 } else {
7948 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
7949 }
7950 }
7951 if (!var22) {
7952 fprintf(stderr, "Runtime error: %s", "Assert failed");
7953 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14058);
7954 show_backtrace(1);
7955 }
7956 var_listnode7 = var_nodearraylist6;
7957 /* <var_listnode7:nullable Object> isa Array[Object] */
7958 cltype26 = type_array__Arraykernel__Object.color;
7959 idtype27 = type_array__Arraykernel__Object.id;
7960 if(var_listnode7 == NULL) {
7961 var25 = 0;
7962 } else {
7963 if(cltype26 >= var_listnode7->type->table_size) {
7964 var25 = 0;
7965 } else {
7966 var25 = var_listnode7->type->type_table[cltype26] == idtype27;
7967 }
7968 }
7969 if (!var25) {
7970 fprintf(stderr, "Runtime error: %s", "Assert failed");
7971 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14060);
7972 show_backtrace(1);
7973 }
7974 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction305>*/;
7975 var_listnode8 = var28;
7976 var_pexterncodeblocknode10 = var_nodearraylist7;
7977 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
7978 cltype30 = type_nullable_parser_nodes__AExternCodeBlock.color;
7979 idtype31 = type_nullable_parser_nodes__AExternCodeBlock.id;
7980 if(var_pexterncodeblocknode10 == NULL) {
7981 var29 = 1;
7982 } else {
7983 if(cltype30 >= var_pexterncodeblocknode10->type->table_size) {
7984 var29 = 0;
7985 } else {
7986 var29 = var_pexterncodeblocknode10->type->type_table[cltype30] == idtype31;
7987 }
7988 }
7989 if (!var29) {
7990 fprintf(stderr, "Runtime error: %s", "Assert failed");
7991 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14063);
7992 show_backtrace(1);
7993 }
7994 var_listnode11 = var_nodearraylist8;
7995 /* <var_listnode11:nullable Object> isa Array[Object] */
7996 cltype33 = type_array__Arraykernel__Object.color;
7997 idtype34 = type_array__Arraykernel__Object.id;
7998 if(var_listnode11 == NULL) {
7999 var32 = 0;
8000 } else {
8001 if(cltype33 >= var_listnode11->type->table_size) {
8002 var32 = 0;
8003 } else {
8004 var32 = var_listnode11->type->type_table[cltype33] == idtype34;
8005 }
8006 }
8007 if (!var32) {
8008 fprintf(stderr, "Runtime error: %s", "Assert failed");
8009 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14065);
8010 show_backtrace(1);
8011 }
8012 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction305>*/;
8013 var_listnode12 = var35;
8014 var_listnode13 = var_nodearraylist9;
8015 /* <var_listnode13:nullable Object> isa Array[Object] */
8016 cltype37 = type_array__Arraykernel__Object.color;
8017 idtype38 = type_array__Arraykernel__Object.id;
8018 if(var_listnode13 == NULL) {
8019 var36 = 0;
8020 } else {
8021 if(cltype37 >= var_listnode13->type->table_size) {
8022 var36 = 0;
8023 } else {
8024 var36 = var_listnode13->type->type_table[cltype37] == idtype38;
8025 }
8026 }
8027 if (!var36) {
8028 fprintf(stderr, "Runtime error: %s", "Assert failed");
8029 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14068);
8030 show_backtrace(1);
8031 }
8032 var39 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode14, var_listnode13) /* concat on <self:ReduceAction305>*/;
8033 var_listnode14 = var39;
8034 var_tkwendnode15 = var_nodearraylist11;
8035 /* <var_tkwendnode15:nullable Object> isa nullable TKwend */
8036 cltype41 = type_nullable_parser_nodes__TKwend.color;
8037 idtype42 = type_nullable_parser_nodes__TKwend.id;
8038 if(var_tkwendnode15 == NULL) {
8039 var40 = 1;
8040 } else {
8041 if(cltype41 >= var_tkwendnode15->type->table_size) {
8042 var40 = 0;
8043 } else {
8044 var40 = var_tkwendnode15->type->type_table[cltype41] == idtype42;
8045 }
8046 }
8047 if (!var40) {
8048 fprintf(stderr, "Runtime error: %s", "Assert failed");
8049 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14071);
8050 show_backtrace(1);
8051 }
8052 var43 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8053 var44 = NULL;
8054 var45 = NULL;
8055 ((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, var45, var_pexterncodeblocknode10, var_listnode12, var_listnode14, var_tkwendnode15) /* init_astdclassdef on <var43:AStdClassdef>*/;
8056 var_pclassdefnode1 = var43;
8057 var_node_list = var_pclassdefnode1;
8058 var46 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction305> */
8059 var47 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var46) /* go_to on <var_p:Parser>*/;
8060 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var47, var_node_list) /* push on <var_p:Parser>*/;
8061 RET_LABEL:;
8062 }
8063 /* method parser#ReduceAction305#action for (self: Object, Parser) */
8064 void VIRTUAL_parser__ReduceAction305__action(val* self, val* p0) {
8065 parser__ReduceAction305__action(self, p0);
8066 RET_LABEL:;
8067 }
8068 /* method parser#ReduceAction306#action for (self: ReduceAction306, Parser) */
8069 void parser__ReduceAction306__action(val* self, val* p0) {
8070 val* var_p /* var p: Parser */;
8071 val* var /* : null */;
8072 val* var_node_list /* var node_list: nullable Object */;
8073 val* var1 /* : nullable Object */;
8074 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
8075 val* var2 /* : nullable Object */;
8076 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
8077 val* var3 /* : nullable Object */;
8078 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8079 val* var4 /* : nullable Object */;
8080 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8081 val* var5 /* : nullable Object */;
8082 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8083 val* var6 /* : nullable Object */;
8084 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8085 val* var7 /* : nullable Object */;
8086 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8087 val* var8 /* : nullable Object */;
8088 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8089 val* var9 /* : nullable Object */;
8090 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8091 val* var10 /* : nullable Object */;
8092 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8093 val* var11 /* : nullable Object */;
8094 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8095 val* var12 /* : nullable Object */;
8096 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8097 val* var13 /* : Array[Object] */;
8098 val* var_listnode8 /* var listnode8: Array[Object] */;
8099 val* var14 /* : Array[Object] */;
8100 val* var_listnode12 /* var listnode12: Array[Object] */;
8101 val* var15 /* : Array[Object] */;
8102 val* var_listnode14 /* var listnode14: Array[Object] */;
8103 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8104 short int var16 /* : Bool */;
8105 int cltype;
8106 int idtype;
8107 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
8108 short int var17 /* : Bool */;
8109 int cltype18;
8110 int idtype19;
8111 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8112 short int var20 /* : Bool */;
8113 int cltype21;
8114 int idtype22;
8115 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8116 short int var23 /* : Bool */;
8117 int cltype24;
8118 int idtype25;
8119 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8120 short int var26 /* : Bool */;
8121 int cltype27;
8122 int idtype28;
8123 val* var_listnode7 /* var listnode7: nullable Object */;
8124 short int var29 /* : Bool */;
8125 int cltype30;
8126 int idtype31;
8127 val* var32 /* : Array[Object] */;
8128 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
8129 short int var33 /* : Bool */;
8130 int cltype34;
8131 int idtype35;
8132 val* var_listnode11 /* var listnode11: nullable Object */;
8133 short int var36 /* : Bool */;
8134 int cltype37;
8135 int idtype38;
8136 val* var39 /* : Array[Object] */;
8137 val* var_listnode13 /* var listnode13: nullable Object */;
8138 short int var40 /* : Bool */;
8139 int cltype41;
8140 int idtype42;
8141 val* var43 /* : Array[Object] */;
8142 val* var_tkwendnode15 /* var tkwendnode15: nullable Object */;
8143 short int var44 /* : Bool */;
8144 int cltype45;
8145 int idtype46;
8146 val* var47 /* : AStdClassdef */;
8147 val* var48 /* : null */;
8148 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8149 long var49 /* : Int */;
8150 long var50 /* : Int */;
8151 var_p = p0;
8152 var = NULL;
8153 var_node_list = var;
8154 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8155 var_nodearraylist12 = var1;
8156 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8157 var_nodearraylist11 = var2;
8158 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8159 var_nodearraylist10 = var3;
8160 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8161 var_nodearraylist9 = var4;
8162 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8163 var_nodearraylist8 = var5;
8164 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8165 var_nodearraylist7 = var6;
8166 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8167 var_nodearraylist6 = var7;
8168 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8169 var_nodearraylist5 = var8;
8170 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8171 var_nodearraylist4 = var9;
8172 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8173 var_nodearraylist3 = var10;
8174 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8175 var_nodearraylist2 = var11;
8176 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8177 var_nodearraylist1 = var12;
8178 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
8179 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
8180 var_listnode8 = var13;
8181 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
8182 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
8183 var_listnode12 = var14;
8184 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
8185 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
8186 var_listnode14 = var15;
8187 var_pdocnode2 = var_nodearraylist1;
8188 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8189 cltype = type_nullable_parser_nodes__ADoc.color;
8190 idtype = type_nullable_parser_nodes__ADoc.id;
8191 if(var_pdocnode2 == NULL) {
8192 var16 = 1;
8193 } else {
8194 if(cltype >= var_pdocnode2->type->table_size) {
8195 var16 = 0;
8196 } else {
8197 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
8198 }
8199 }
8200 if (!var16) {
8201 fprintf(stderr, "Runtime error: %s", "Assert failed");
8202 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14110);
8203 show_backtrace(1);
8204 }
8205 var_tkwredefnode3 = var_nodearraylist2;
8206 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8207 cltype18 = type_nullable_parser_nodes__TKwredef.color;
8208 idtype19 = type_nullable_parser_nodes__TKwredef.id;
8209 if(var_tkwredefnode3 == NULL) {
8210 var17 = 1;
8211 } else {
8212 if(cltype18 >= var_tkwredefnode3->type->table_size) {
8213 var17 = 0;
8214 } else {
8215 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
8216 }
8217 }
8218 if (!var17) {
8219 fprintf(stderr, "Runtime error: %s", "Assert failed");
8220 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14112);
8221 show_backtrace(1);
8222 }
8223 var_pvisibilitynode4 = var_nodearraylist3;
8224 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8225 cltype21 = type_nullable_parser_nodes__AVisibility.color;
8226 idtype22 = type_nullable_parser_nodes__AVisibility.id;
8227 if(var_pvisibilitynode4 == NULL) {
8228 var20 = 1;
8229 } else {
8230 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
8231 var20 = 0;
8232 } else {
8233 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
8234 }
8235 }
8236 if (!var20) {
8237 fprintf(stderr, "Runtime error: %s", "Assert failed");
8238 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14114);
8239 show_backtrace(1);
8240 }
8241 var_pclasskindnode5 = var_nodearraylist4;
8242 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8243 cltype24 = type_nullable_parser_nodes__AClasskind.color;
8244 idtype25 = type_nullable_parser_nodes__AClasskind.id;
8245 if(var_pclasskindnode5 == NULL) {
8246 var23 = 1;
8247 } else {
8248 if(cltype24 >= var_pclasskindnode5->type->table_size) {
8249 var23 = 0;
8250 } else {
8251 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
8252 }
8253 }
8254 if (!var23) {
8255 fprintf(stderr, "Runtime error: %s", "Assert failed");
8256 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14116);
8257 show_backtrace(1);
8258 }
8259 var_tclassidnode6 = var_nodearraylist6;
8260 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8261 cltype27 = type_nullable_parser_nodes__TClassid.color;
8262 idtype28 = type_nullable_parser_nodes__TClassid.id;
8263 if(var_tclassidnode6 == NULL) {
8264 var26 = 1;
8265 } else {
8266 if(cltype27 >= var_tclassidnode6->type->table_size) {
8267 var26 = 0;
8268 } else {
8269 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
8270 }
8271 }
8272 if (!var26) {
8273 fprintf(stderr, "Runtime error: %s", "Assert failed");
8274 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14118);
8275 show_backtrace(1);
8276 }
8277 var_listnode7 = var_nodearraylist7;
8278 /* <var_listnode7:nullable Object> isa Array[Object] */
8279 cltype30 = type_array__Arraykernel__Object.color;
8280 idtype31 = type_array__Arraykernel__Object.id;
8281 if(var_listnode7 == NULL) {
8282 var29 = 0;
8283 } else {
8284 if(cltype30 >= var_listnode7->type->table_size) {
8285 var29 = 0;
8286 } else {
8287 var29 = var_listnode7->type->type_table[cltype30] == idtype31;
8288 }
8289 }
8290 if (!var29) {
8291 fprintf(stderr, "Runtime error: %s", "Assert failed");
8292 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14120);
8293 show_backtrace(1);
8294 }
8295 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction306>*/;
8296 var_listnode8 = var32;
8297 var_pexterncodeblocknode10 = var_nodearraylist8;
8298 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
8299 cltype34 = type_nullable_parser_nodes__AExternCodeBlock.color;
8300 idtype35 = type_nullable_parser_nodes__AExternCodeBlock.id;
8301 if(var_pexterncodeblocknode10 == NULL) {
8302 var33 = 1;
8303 } else {
8304 if(cltype34 >= var_pexterncodeblocknode10->type->table_size) {
8305 var33 = 0;
8306 } else {
8307 var33 = var_pexterncodeblocknode10->type->type_table[cltype34] == idtype35;
8308 }
8309 }
8310 if (!var33) {
8311 fprintf(stderr, "Runtime error: %s", "Assert failed");
8312 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14123);
8313 show_backtrace(1);
8314 }
8315 var_listnode11 = var_nodearraylist9;
8316 /* <var_listnode11:nullable Object> isa Array[Object] */
8317 cltype37 = type_array__Arraykernel__Object.color;
8318 idtype38 = type_array__Arraykernel__Object.id;
8319 if(var_listnode11 == NULL) {
8320 var36 = 0;
8321 } else {
8322 if(cltype37 >= var_listnode11->type->table_size) {
8323 var36 = 0;
8324 } else {
8325 var36 = var_listnode11->type->type_table[cltype37] == idtype38;
8326 }
8327 }
8328 if (!var36) {
8329 fprintf(stderr, "Runtime error: %s", "Assert failed");
8330 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14125);
8331 show_backtrace(1);
8332 }
8333 var39 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction306>*/;
8334 var_listnode12 = var39;
8335 var_listnode13 = var_nodearraylist10;
8336 /* <var_listnode13:nullable Object> isa Array[Object] */
8337 cltype41 = type_array__Arraykernel__Object.color;
8338 idtype42 = type_array__Arraykernel__Object.id;
8339 if(var_listnode13 == NULL) {
8340 var40 = 0;
8341 } else {
8342 if(cltype41 >= var_listnode13->type->table_size) {
8343 var40 = 0;
8344 } else {
8345 var40 = var_listnode13->type->type_table[cltype41] == idtype42;
8346 }
8347 }
8348 if (!var40) {
8349 fprintf(stderr, "Runtime error: %s", "Assert failed");
8350 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14128);
8351 show_backtrace(1);
8352 }
8353 var43 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode14, var_listnode13) /* concat on <self:ReduceAction306>*/;
8354 var_listnode14 = var43;
8355 var_tkwendnode15 = var_nodearraylist12;
8356 /* <var_tkwendnode15:nullable Object> isa nullable TKwend */
8357 cltype45 = type_nullable_parser_nodes__TKwend.color;
8358 idtype46 = type_nullable_parser_nodes__TKwend.id;
8359 if(var_tkwendnode15 == NULL) {
8360 var44 = 1;
8361 } else {
8362 if(cltype45 >= var_tkwendnode15->type->table_size) {
8363 var44 = 0;
8364 } else {
8365 var44 = var_tkwendnode15->type->type_table[cltype45] == idtype46;
8366 }
8367 }
8368 if (!var44) {
8369 fprintf(stderr, "Runtime error: %s", "Assert failed");
8370 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14131);
8371 show_backtrace(1);
8372 }
8373 var47 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8374 var48 = NULL;
8375 ((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, var48, var_pexterncodeblocknode10, var_listnode12, var_listnode14, var_tkwendnode15) /* init_astdclassdef on <var47:AStdClassdef>*/;
8376 var_pclassdefnode1 = var47;
8377 var_node_list = var_pclassdefnode1;
8378 var49 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction306> */
8379 var50 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var49) /* go_to on <var_p:Parser>*/;
8380 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var50, var_node_list) /* push on <var_p:Parser>*/;
8381 RET_LABEL:;
8382 }
8383 /* method parser#ReduceAction306#action for (self: Object, Parser) */
8384 void VIRTUAL_parser__ReduceAction306__action(val* self, val* p0) {
8385 parser__ReduceAction306__action(self, p0);
8386 RET_LABEL:;
8387 }
8388 /* method parser#ReduceAction307#action for (self: ReduceAction307, Parser) */
8389 void parser__ReduceAction307__action(val* self, val* p0) {
8390 val* var_p /* var p: Parser */;
8391 val* var /* : null */;
8392 val* var_node_list /* var node_list: nullable Object */;
8393 val* var1 /* : nullable Object */;
8394 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
8395 val* var2 /* : nullable Object */;
8396 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
8397 val* var3 /* : nullable Object */;
8398 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8399 val* var4 /* : nullable Object */;
8400 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8401 val* var5 /* : nullable Object */;
8402 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8403 val* var6 /* : nullable Object */;
8404 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8405 val* var7 /* : nullable Object */;
8406 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8407 val* var8 /* : nullable Object */;
8408 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8409 val* var9 /* : nullable Object */;
8410 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8411 val* var10 /* : nullable Object */;
8412 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8413 val* var11 /* : nullable Object */;
8414 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8415 val* var12 /* : nullable Object */;
8416 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8417 val* var13 /* : Array[Object] */;
8418 val* var_listnode8 /* var listnode8: Array[Object] */;
8419 val* var14 /* : Array[Object] */;
8420 val* var_listnode12 /* var listnode12: Array[Object] */;
8421 val* var15 /* : Array[Object] */;
8422 val* var_listnode14 /* var listnode14: Array[Object] */;
8423 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8424 short int var16 /* : Bool */;
8425 int cltype;
8426 int idtype;
8427 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8428 short int var17 /* : Bool */;
8429 int cltype18;
8430 int idtype19;
8431 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8432 short int var20 /* : Bool */;
8433 int cltype21;
8434 int idtype22;
8435 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8436 short int var23 /* : Bool */;
8437 int cltype24;
8438 int idtype25;
8439 val* var_listnode7 /* var listnode7: nullable Object */;
8440 short int var26 /* : Bool */;
8441 int cltype27;
8442 int idtype28;
8443 val* var29 /* : Array[Object] */;
8444 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
8445 short int var30 /* : Bool */;
8446 int cltype31;
8447 int idtype32;
8448 val* var_listnode11 /* var listnode11: nullable Object */;
8449 short int var33 /* : Bool */;
8450 int cltype34;
8451 int idtype35;
8452 val* var36 /* : Array[Object] */;
8453 val* var_listnode13 /* var listnode13: nullable Object */;
8454 short int var37 /* : Bool */;
8455 int cltype38;
8456 int idtype39;
8457 val* var40 /* : Array[Object] */;
8458 val* var_tkwendnode15 /* var tkwendnode15: nullable Object */;
8459 short int var41 /* : Bool */;
8460 int cltype42;
8461 int idtype43;
8462 val* var44 /* : AStdClassdef */;
8463 val* var45 /* : null */;
8464 val* var46 /* : null */;
8465 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8466 long var47 /* : Int */;
8467 long var48 /* : Int */;
8468 var_p = p0;
8469 var = NULL;
8470 var_node_list = var;
8471 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8472 var_nodearraylist12 = var1;
8473 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8474 var_nodearraylist11 = var2;
8475 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8476 var_nodearraylist10 = var3;
8477 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8478 var_nodearraylist9 = var4;
8479 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8480 var_nodearraylist8 = var5;
8481 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8482 var_nodearraylist7 = var6;
8483 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8484 var_nodearraylist6 = var7;
8485 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8486 var_nodearraylist5 = var8;
8487 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8488 var_nodearraylist4 = var9;
8489 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8490 var_nodearraylist3 = var10;
8491 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8492 var_nodearraylist2 = var11;
8493 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8494 var_nodearraylist1 = var12;
8495 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
8496 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
8497 var_listnode8 = var13;
8498 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
8499 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
8500 var_listnode12 = var14;
8501 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
8502 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
8503 var_listnode14 = var15;
8504 var_pdocnode2 = var_nodearraylist1;
8505 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8506 cltype = type_nullable_parser_nodes__ADoc.color;
8507 idtype = type_nullable_parser_nodes__ADoc.id;
8508 if(var_pdocnode2 == NULL) {
8509 var16 = 1;
8510 } else {
8511 if(cltype >= var_pdocnode2->type->table_size) {
8512 var16 = 0;
8513 } else {
8514 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
8515 }
8516 }
8517 if (!var16) {
8518 fprintf(stderr, "Runtime error: %s", "Assert failed");
8519 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14170);
8520 show_backtrace(1);
8521 }
8522 var_pvisibilitynode4 = var_nodearraylist2;
8523 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8524 cltype18 = type_nullable_parser_nodes__AVisibility.color;
8525 idtype19 = type_nullable_parser_nodes__AVisibility.id;
8526 if(var_pvisibilitynode4 == NULL) {
8527 var17 = 1;
8528 } else {
8529 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
8530 var17 = 0;
8531 } else {
8532 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
8533 }
8534 }
8535 if (!var17) {
8536 fprintf(stderr, "Runtime error: %s", "Assert failed");
8537 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14172);
8538 show_backtrace(1);
8539 }
8540 var_pclasskindnode5 = var_nodearraylist3;
8541 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8542 cltype21 = type_nullable_parser_nodes__AClasskind.color;
8543 idtype22 = type_nullable_parser_nodes__AClasskind.id;
8544 if(var_pclasskindnode5 == NULL) {
8545 var20 = 1;
8546 } else {
8547 if(cltype21 >= var_pclasskindnode5->type->table_size) {
8548 var20 = 0;
8549 } else {
8550 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
8551 }
8552 }
8553 if (!var20) {
8554 fprintf(stderr, "Runtime error: %s", "Assert failed");
8555 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14174);
8556 show_backtrace(1);
8557 }
8558 var_tclassidnode6 = var_nodearraylist6;
8559 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8560 cltype24 = type_nullable_parser_nodes__TClassid.color;
8561 idtype25 = type_nullable_parser_nodes__TClassid.id;
8562 if(var_tclassidnode6 == NULL) {
8563 var23 = 1;
8564 } else {
8565 if(cltype24 >= var_tclassidnode6->type->table_size) {
8566 var23 = 0;
8567 } else {
8568 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
8569 }
8570 }
8571 if (!var23) {
8572 fprintf(stderr, "Runtime error: %s", "Assert failed");
8573 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14176);
8574 show_backtrace(1);
8575 }
8576 var_listnode7 = var_nodearraylist7;
8577 /* <var_listnode7:nullable Object> isa Array[Object] */
8578 cltype27 = type_array__Arraykernel__Object.color;
8579 idtype28 = type_array__Arraykernel__Object.id;
8580 if(var_listnode7 == NULL) {
8581 var26 = 0;
8582 } else {
8583 if(cltype27 >= var_listnode7->type->table_size) {
8584 var26 = 0;
8585 } else {
8586 var26 = var_listnode7->type->type_table[cltype27] == idtype28;
8587 }
8588 }
8589 if (!var26) {
8590 fprintf(stderr, "Runtime error: %s", "Assert failed");
8591 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14178);
8592 show_backtrace(1);
8593 }
8594 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction307>*/;
8595 var_listnode8 = var29;
8596 var_pexterncodeblocknode10 = var_nodearraylist8;
8597 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
8598 cltype31 = type_nullable_parser_nodes__AExternCodeBlock.color;
8599 idtype32 = type_nullable_parser_nodes__AExternCodeBlock.id;
8600 if(var_pexterncodeblocknode10 == NULL) {
8601 var30 = 1;
8602 } else {
8603 if(cltype31 >= var_pexterncodeblocknode10->type->table_size) {
8604 var30 = 0;
8605 } else {
8606 var30 = var_pexterncodeblocknode10->type->type_table[cltype31] == idtype32;
8607 }
8608 }
8609 if (!var30) {
8610 fprintf(stderr, "Runtime error: %s", "Assert failed");
8611 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14181);
8612 show_backtrace(1);
8613 }
8614 var_listnode11 = var_nodearraylist9;
8615 /* <var_listnode11:nullable Object> isa Array[Object] */
8616 cltype34 = type_array__Arraykernel__Object.color;
8617 idtype35 = type_array__Arraykernel__Object.id;
8618 if(var_listnode11 == NULL) {
8619 var33 = 0;
8620 } else {
8621 if(cltype34 >= var_listnode11->type->table_size) {
8622 var33 = 0;
8623 } else {
8624 var33 = var_listnode11->type->type_table[cltype34] == idtype35;
8625 }
8626 }
8627 if (!var33) {
8628 fprintf(stderr, "Runtime error: %s", "Assert failed");
8629 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14183);
8630 show_backtrace(1);
8631 }
8632 var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction307>*/;
8633 var_listnode12 = var36;
8634 var_listnode13 = var_nodearraylist10;
8635 /* <var_listnode13:nullable Object> isa Array[Object] */
8636 cltype38 = type_array__Arraykernel__Object.color;
8637 idtype39 = type_array__Arraykernel__Object.id;
8638 if(var_listnode13 == NULL) {
8639 var37 = 0;
8640 } else {
8641 if(cltype38 >= var_listnode13->type->table_size) {
8642 var37 = 0;
8643 } else {
8644 var37 = var_listnode13->type->type_table[cltype38] == idtype39;
8645 }
8646 }
8647 if (!var37) {
8648 fprintf(stderr, "Runtime error: %s", "Assert failed");
8649 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14186);
8650 show_backtrace(1);
8651 }
8652 var40 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode14, var_listnode13) /* concat on <self:ReduceAction307>*/;
8653 var_listnode14 = var40;
8654 var_tkwendnode15 = var_nodearraylist12;
8655 /* <var_tkwendnode15:nullable Object> isa nullable TKwend */
8656 cltype42 = type_nullable_parser_nodes__TKwend.color;
8657 idtype43 = type_nullable_parser_nodes__TKwend.id;
8658 if(var_tkwendnode15 == NULL) {
8659 var41 = 1;
8660 } else {
8661 if(cltype42 >= var_tkwendnode15->type->table_size) {
8662 var41 = 0;
8663 } else {
8664 var41 = var_tkwendnode15->type->type_table[cltype42] == idtype43;
8665 }
8666 }
8667 if (!var41) {
8668 fprintf(stderr, "Runtime error: %s", "Assert failed");
8669 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14189);
8670 show_backtrace(1);
8671 }
8672 var44 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8673 var45 = NULL;
8674 var46 = NULL;
8675 ((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, var46, var_pexterncodeblocknode10, var_listnode12, var_listnode14, var_tkwendnode15) /* init_astdclassdef on <var44:AStdClassdef>*/;
8676 var_pclassdefnode1 = var44;
8677 var_node_list = var_pclassdefnode1;
8678 var47 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction307> */
8679 var48 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var47) /* go_to on <var_p:Parser>*/;
8680 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var48, var_node_list) /* push on <var_p:Parser>*/;
8681 RET_LABEL:;
8682 }
8683 /* method parser#ReduceAction307#action for (self: Object, Parser) */
8684 void VIRTUAL_parser__ReduceAction307__action(val* self, val* p0) {
8685 parser__ReduceAction307__action(self, p0);
8686 RET_LABEL:;
8687 }
8688 /* method parser#ReduceAction308#action for (self: ReduceAction308, Parser) */
8689 void parser__ReduceAction308__action(val* self, val* p0) {
8690 val* var_p /* var p: Parser */;
8691 val* var /* : null */;
8692 val* var_node_list /* var node_list: nullable Object */;
8693 val* var1 /* : nullable Object */;
8694 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
8695 val* var2 /* : nullable Object */;
8696 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
8697 val* var3 /* : nullable Object */;
8698 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
8699 val* var4 /* : nullable Object */;
8700 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8701 val* var5 /* : nullable Object */;
8702 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8703 val* var6 /* : nullable Object */;
8704 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8705 val* var7 /* : nullable Object */;
8706 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8707 val* var8 /* : nullable Object */;
8708 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8709 val* var9 /* : nullable Object */;
8710 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8711 val* var10 /* : nullable Object */;
8712 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8713 val* var11 /* : nullable Object */;
8714 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8715 val* var12 /* : nullable Object */;
8716 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8717 val* var13 /* : nullable Object */;
8718 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8719 val* var14 /* : Array[Object] */;
8720 val* var_listnode8 /* var listnode8: Array[Object] */;
8721 val* var15 /* : Array[Object] */;
8722 val* var_listnode12 /* var listnode12: Array[Object] */;
8723 val* var16 /* : Array[Object] */;
8724 val* var_listnode14 /* var listnode14: Array[Object] */;
8725 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8726 short int var17 /* : Bool */;
8727 int cltype;
8728 int idtype;
8729 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8730 short int var18 /* : Bool */;
8731 int cltype19;
8732 int idtype20;
8733 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8734 short int var21 /* : Bool */;
8735 int cltype22;
8736 int idtype23;
8737 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8738 short int var24 /* : Bool */;
8739 int cltype25;
8740 int idtype26;
8741 val* var_listnode7 /* var listnode7: nullable Object */;
8742 short int var27 /* : Bool */;
8743 int cltype28;
8744 int idtype29;
8745 val* var30 /* : Array[Object] */;
8746 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
8747 short int var31 /* : Bool */;
8748 int cltype32;
8749 int idtype33;
8750 val* var_listnode11 /* var listnode11: nullable Object */;
8751 short int var34 /* : Bool */;
8752 int cltype35;
8753 int idtype36;
8754 val* var37 /* : Array[Object] */;
8755 val* var_listnode13 /* var listnode13: nullable Object */;
8756 short int var38 /* : Bool */;
8757 int cltype39;
8758 int idtype40;
8759 val* var41 /* : Array[Object] */;
8760 val* var_tkwendnode15 /* var tkwendnode15: nullable Object */;
8761 short int var42 /* : Bool */;
8762 int cltype43;
8763 int idtype44;
8764 val* var45 /* : AStdClassdef */;
8765 val* var46 /* : null */;
8766 val* var47 /* : null */;
8767 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8768 long var48 /* : Int */;
8769 long var49 /* : Int */;
8770 var_p = p0;
8771 var = NULL;
8772 var_node_list = var;
8773 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8774 var_nodearraylist13 = var1;
8775 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8776 var_nodearraylist12 = var2;
8777 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8778 var_nodearraylist11 = var3;
8779 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8780 var_nodearraylist10 = var4;
8781 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8782 var_nodearraylist9 = var5;
8783 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8784 var_nodearraylist8 = var6;
8785 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8786 var_nodearraylist7 = var7;
8787 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8788 var_nodearraylist6 = var8;
8789 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8790 var_nodearraylist5 = var9;
8791 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8792 var_nodearraylist4 = var10;
8793 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8794 var_nodearraylist3 = var11;
8795 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8796 var_nodearraylist2 = var12;
8797 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8798 var_nodearraylist1 = var13;
8799 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
8800 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
8801 var_listnode8 = var14;
8802 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
8803 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
8804 var_listnode12 = var15;
8805 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
8806 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
8807 var_listnode14 = var16;
8808 var_pdocnode2 = var_nodearraylist1;
8809 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8810 cltype = type_nullable_parser_nodes__ADoc.color;
8811 idtype = type_nullable_parser_nodes__ADoc.id;
8812 if(var_pdocnode2 == NULL) {
8813 var17 = 1;
8814 } else {
8815 if(cltype >= var_pdocnode2->type->table_size) {
8816 var17 = 0;
8817 } else {
8818 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
8819 }
8820 }
8821 if (!var17) {
8822 fprintf(stderr, "Runtime error: %s", "Assert failed");
8823 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14229);
8824 show_backtrace(1);
8825 }
8826 var_pvisibilitynode4 = var_nodearraylist2;
8827 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8828 cltype19 = type_nullable_parser_nodes__AVisibility.color;
8829 idtype20 = type_nullable_parser_nodes__AVisibility.id;
8830 if(var_pvisibilitynode4 == NULL) {
8831 var18 = 1;
8832 } else {
8833 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
8834 var18 = 0;
8835 } else {
8836 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
8837 }
8838 }
8839 if (!var18) {
8840 fprintf(stderr, "Runtime error: %s", "Assert failed");
8841 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14231);
8842 show_backtrace(1);
8843 }
8844 var_pclasskindnode5 = var_nodearraylist3;
8845 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8846 cltype22 = type_nullable_parser_nodes__AClasskind.color;
8847 idtype23 = type_nullable_parser_nodes__AClasskind.id;
8848 if(var_pclasskindnode5 == NULL) {
8849 var21 = 1;
8850 } else {
8851 if(cltype22 >= var_pclasskindnode5->type->table_size) {
8852 var21 = 0;
8853 } else {
8854 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
8855 }
8856 }
8857 if (!var21) {
8858 fprintf(stderr, "Runtime error: %s", "Assert failed");
8859 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14233);
8860 show_backtrace(1);
8861 }
8862 var_tclassidnode6 = var_nodearraylist7;
8863 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8864 cltype25 = type_nullable_parser_nodes__TClassid.color;
8865 idtype26 = type_nullable_parser_nodes__TClassid.id;
8866 if(var_tclassidnode6 == NULL) {
8867 var24 = 1;
8868 } else {
8869 if(cltype25 >= var_tclassidnode6->type->table_size) {
8870 var24 = 0;
8871 } else {
8872 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
8873 }
8874 }
8875 if (!var24) {
8876 fprintf(stderr, "Runtime error: %s", "Assert failed");
8877 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14235);
8878 show_backtrace(1);
8879 }
8880 var_listnode7 = var_nodearraylist8;
8881 /* <var_listnode7:nullable Object> isa Array[Object] */
8882 cltype28 = type_array__Arraykernel__Object.color;
8883 idtype29 = type_array__Arraykernel__Object.id;
8884 if(var_listnode7 == NULL) {
8885 var27 = 0;
8886 } else {
8887 if(cltype28 >= var_listnode7->type->table_size) {
8888 var27 = 0;
8889 } else {
8890 var27 = var_listnode7->type->type_table[cltype28] == idtype29;
8891 }
8892 }
8893 if (!var27) {
8894 fprintf(stderr, "Runtime error: %s", "Assert failed");
8895 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14237);
8896 show_backtrace(1);
8897 }
8898 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction308>*/;
8899 var_listnode8 = var30;
8900 var_pexterncodeblocknode10 = var_nodearraylist9;
8901 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
8902 cltype32 = type_nullable_parser_nodes__AExternCodeBlock.color;
8903 idtype33 = type_nullable_parser_nodes__AExternCodeBlock.id;
8904 if(var_pexterncodeblocknode10 == NULL) {
8905 var31 = 1;
8906 } else {
8907 if(cltype32 >= var_pexterncodeblocknode10->type->table_size) {
8908 var31 = 0;
8909 } else {
8910 var31 = var_pexterncodeblocknode10->type->type_table[cltype32] == idtype33;
8911 }
8912 }
8913 if (!var31) {
8914 fprintf(stderr, "Runtime error: %s", "Assert failed");
8915 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14240);
8916 show_backtrace(1);
8917 }
8918 var_listnode11 = var_nodearraylist10;
8919 /* <var_listnode11:nullable Object> isa Array[Object] */
8920 cltype35 = type_array__Arraykernel__Object.color;
8921 idtype36 = type_array__Arraykernel__Object.id;
8922 if(var_listnode11 == NULL) {
8923 var34 = 0;
8924 } else {
8925 if(cltype35 >= var_listnode11->type->table_size) {
8926 var34 = 0;
8927 } else {
8928 var34 = var_listnode11->type->type_table[cltype35] == idtype36;
8929 }
8930 }
8931 if (!var34) {
8932 fprintf(stderr, "Runtime error: %s", "Assert failed");
8933 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14242);
8934 show_backtrace(1);
8935 }
8936 var37 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction308>*/;
8937 var_listnode12 = var37;
8938 var_listnode13 = var_nodearraylist11;
8939 /* <var_listnode13:nullable Object> isa Array[Object] */
8940 cltype39 = type_array__Arraykernel__Object.color;
8941 idtype40 = type_array__Arraykernel__Object.id;
8942 if(var_listnode13 == NULL) {
8943 var38 = 0;
8944 } else {
8945 if(cltype39 >= var_listnode13->type->table_size) {
8946 var38 = 0;
8947 } else {
8948 var38 = var_listnode13->type->type_table[cltype39] == idtype40;
8949 }
8950 }
8951 if (!var38) {
8952 fprintf(stderr, "Runtime error: %s", "Assert failed");
8953 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14245);
8954 show_backtrace(1);
8955 }
8956 var41 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode14, var_listnode13) /* concat on <self:ReduceAction308>*/;
8957 var_listnode14 = var41;
8958 var_tkwendnode15 = var_nodearraylist13;
8959 /* <var_tkwendnode15:nullable Object> isa nullable TKwend */
8960 cltype43 = type_nullable_parser_nodes__TKwend.color;
8961 idtype44 = type_nullable_parser_nodes__TKwend.id;
8962 if(var_tkwendnode15 == NULL) {
8963 var42 = 1;
8964 } else {
8965 if(cltype43 >= var_tkwendnode15->type->table_size) {
8966 var42 = 0;
8967 } else {
8968 var42 = var_tkwendnode15->type->type_table[cltype43] == idtype44;
8969 }
8970 }
8971 if (!var42) {
8972 fprintf(stderr, "Runtime error: %s", "Assert failed");
8973 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14248);
8974 show_backtrace(1);
8975 }
8976 var45 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8977 var46 = NULL;
8978 var47 = NULL;
8979 ((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, var47, var_pexterncodeblocknode10, var_listnode12, var_listnode14, var_tkwendnode15) /* init_astdclassdef on <var45:AStdClassdef>*/;
8980 var_pclassdefnode1 = var45;
8981 var_node_list = var_pclassdefnode1;
8982 var48 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction308> */
8983 var49 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var48) /* go_to on <var_p:Parser>*/;
8984 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var49, var_node_list) /* push on <var_p:Parser>*/;
8985 RET_LABEL:;
8986 }
8987 /* method parser#ReduceAction308#action for (self: Object, Parser) */
8988 void VIRTUAL_parser__ReduceAction308__action(val* self, val* p0) {
8989 parser__ReduceAction308__action(self, p0);
8990 RET_LABEL:;
8991 }
8992 /* method parser#ReduceAction310#action for (self: ReduceAction310, Parser) */
8993 void parser__ReduceAction310__action(val* self, val* p0) {
8994 val* var_p /* var p: Parser */;
8995 val* var /* : null */;
8996 val* var_node_list /* var node_list: nullable Object */;
8997 val* var1 /* : nullable Object */;
8998 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
8999 val* var2 /* : nullable Object */;
9000 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
9001 val* var3 /* : nullable Object */;
9002 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
9003 val* var4 /* : nullable Object */;
9004 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
9005 val* var5 /* : nullable Object */;
9006 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9007 val* var6 /* : nullable Object */;
9008 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9009 val* var7 /* : nullable Object */;
9010 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9011 val* var8 /* : nullable Object */;
9012 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9013 val* var9 /* : nullable Object */;
9014 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9015 val* var10 /* : nullable Object */;
9016 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9017 val* var11 /* : nullable Object */;
9018 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9019 val* var12 /* : nullable Object */;
9020 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9021 val* var13 /* : nullable Object */;
9022 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9023 val* var14 /* : Array[Object] */;
9024 val* var_listnode8 /* var listnode8: Array[Object] */;
9025 val* var15 /* : Array[Object] */;
9026 val* var_listnode12 /* var listnode12: Array[Object] */;
9027 val* var16 /* : Array[Object] */;
9028 val* var_listnode14 /* var listnode14: Array[Object] */;
9029 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9030 short int var17 /* : Bool */;
9031 int cltype;
9032 int idtype;
9033 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
9034 short int var18 /* : Bool */;
9035 int cltype19;
9036 int idtype20;
9037 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9038 short int var21 /* : Bool */;
9039 int cltype22;
9040 int idtype23;
9041 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
9042 short int var24 /* : Bool */;
9043 int cltype25;
9044 int idtype26;
9045 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9046 short int var27 /* : Bool */;
9047 int cltype28;
9048 int idtype29;
9049 val* var_listnode7 /* var listnode7: nullable Object */;
9050 short int var30 /* : Bool */;
9051 int cltype31;
9052 int idtype32;
9053 val* var33 /* : Array[Object] */;
9054 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
9055 short int var34 /* : Bool */;
9056 int cltype35;
9057 int idtype36;
9058 val* var_listnode11 /* var listnode11: nullable Object */;
9059 short int var37 /* : Bool */;
9060 int cltype38;
9061 int idtype39;
9062 val* var40 /* : Array[Object] */;
9063 val* var_listnode13 /* var listnode13: nullable Object */;
9064 short int var41 /* : Bool */;
9065 int cltype42;
9066 int idtype43;
9067 val* var44 /* : Array[Object] */;
9068 val* var_tkwendnode15 /* var tkwendnode15: nullable Object */;
9069 short int var45 /* : Bool */;
9070 int cltype46;
9071 int idtype47;
9072 val* var48 /* : AStdClassdef */;
9073 val* var49 /* : null */;
9074 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
9075 long var50 /* : Int */;
9076 long var51 /* : Int */;
9077 var_p = p0;
9078 var = NULL;
9079 var_node_list = var;
9080 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9081 var_nodearraylist13 = var1;
9082 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9083 var_nodearraylist12 = var2;
9084 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9085 var_nodearraylist11 = var3;
9086 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9087 var_nodearraylist10 = var4;
9088 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9089 var_nodearraylist9 = var5;
9090 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9091 var_nodearraylist8 = var6;
9092 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9093 var_nodearraylist7 = var7;
9094 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9095 var_nodearraylist6 = var8;
9096 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9097 var_nodearraylist5 = var9;
9098 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9099 var_nodearraylist4 = var10;
9100 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9101 var_nodearraylist3 = var11;
9102 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9103 var_nodearraylist2 = var12;
9104 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9105 var_nodearraylist1 = var13;
9106 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
9107 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
9108 var_listnode8 = var14;
9109 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
9110 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
9111 var_listnode12 = var15;
9112 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
9113 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
9114 var_listnode14 = var16;
9115 var_pdocnode2 = var_nodearraylist1;
9116 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9117 cltype = type_nullable_parser_nodes__ADoc.color;
9118 idtype = type_nullable_parser_nodes__ADoc.id;
9119 if(var_pdocnode2 == NULL) {
9120 var17 = 1;
9121 } else {
9122 if(cltype >= var_pdocnode2->type->table_size) {
9123 var17 = 0;
9124 } else {
9125 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
9126 }
9127 }
9128 if (!var17) {
9129 fprintf(stderr, "Runtime error: %s", "Assert failed");
9130 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14288);
9131 show_backtrace(1);
9132 }
9133 var_tkwredefnode3 = var_nodearraylist2;
9134 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
9135 cltype19 = type_nullable_parser_nodes__TKwredef.color;
9136 idtype20 = type_nullable_parser_nodes__TKwredef.id;
9137 if(var_tkwredefnode3 == NULL) {
9138 var18 = 1;
9139 } else {
9140 if(cltype19 >= var_tkwredefnode3->type->table_size) {
9141 var18 = 0;
9142 } else {
9143 var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20;
9144 }
9145 }
9146 if (!var18) {
9147 fprintf(stderr, "Runtime error: %s", "Assert failed");
9148 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14290);
9149 show_backtrace(1);
9150 }
9151 var_pvisibilitynode4 = var_nodearraylist3;
9152 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9153 cltype22 = type_nullable_parser_nodes__AVisibility.color;
9154 idtype23 = type_nullable_parser_nodes__AVisibility.id;
9155 if(var_pvisibilitynode4 == NULL) {
9156 var21 = 1;
9157 } else {
9158 if(cltype22 >= var_pvisibilitynode4->type->table_size) {
9159 var21 = 0;
9160 } else {
9161 var21 = var_pvisibilitynode4->type->type_table[cltype22] == idtype23;
9162 }
9163 }
9164 if (!var21) {
9165 fprintf(stderr, "Runtime error: %s", "Assert failed");
9166 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14292);
9167 show_backtrace(1);
9168 }
9169 var_pclasskindnode5 = var_nodearraylist4;
9170 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
9171 cltype25 = type_nullable_parser_nodes__AClasskind.color;
9172 idtype26 = type_nullable_parser_nodes__AClasskind.id;
9173 if(var_pclasskindnode5 == NULL) {
9174 var24 = 1;
9175 } else {
9176 if(cltype25 >= var_pclasskindnode5->type->table_size) {
9177 var24 = 0;
9178 } else {
9179 var24 = var_pclasskindnode5->type->type_table[cltype25] == idtype26;
9180 }
9181 }
9182 if (!var24) {
9183 fprintf(stderr, "Runtime error: %s", "Assert failed");
9184 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14294);
9185 show_backtrace(1);
9186 }
9187 var_tclassidnode6 = var_nodearraylist7;
9188 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9189 cltype28 = type_nullable_parser_nodes__TClassid.color;
9190 idtype29 = type_nullable_parser_nodes__TClassid.id;
9191 if(var_tclassidnode6 == NULL) {
9192 var27 = 1;
9193 } else {
9194 if(cltype28 >= var_tclassidnode6->type->table_size) {
9195 var27 = 0;
9196 } else {
9197 var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29;
9198 }
9199 }
9200 if (!var27) {
9201 fprintf(stderr, "Runtime error: %s", "Assert failed");
9202 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14296);
9203 show_backtrace(1);
9204 }
9205 var_listnode7 = var_nodearraylist8;
9206 /* <var_listnode7:nullable Object> isa Array[Object] */
9207 cltype31 = type_array__Arraykernel__Object.color;
9208 idtype32 = type_array__Arraykernel__Object.id;
9209 if(var_listnode7 == NULL) {
9210 var30 = 0;
9211 } else {
9212 if(cltype31 >= var_listnode7->type->table_size) {
9213 var30 = 0;
9214 } else {
9215 var30 = var_listnode7->type->type_table[cltype31] == idtype32;
9216 }
9217 }
9218 if (!var30) {
9219 fprintf(stderr, "Runtime error: %s", "Assert failed");
9220 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14298);
9221 show_backtrace(1);
9222 }
9223 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction310>*/;
9224 var_listnode8 = var33;
9225 var_pexterncodeblocknode10 = var_nodearraylist9;
9226 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
9227 cltype35 = type_nullable_parser_nodes__AExternCodeBlock.color;
9228 idtype36 = type_nullable_parser_nodes__AExternCodeBlock.id;
9229 if(var_pexterncodeblocknode10 == NULL) {
9230 var34 = 1;
9231 } else {
9232 if(cltype35 >= var_pexterncodeblocknode10->type->table_size) {
9233 var34 = 0;
9234 } else {
9235 var34 = var_pexterncodeblocknode10->type->type_table[cltype35] == idtype36;
9236 }
9237 }
9238 if (!var34) {
9239 fprintf(stderr, "Runtime error: %s", "Assert failed");
9240 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14301);
9241 show_backtrace(1);
9242 }
9243 var_listnode11 = var_nodearraylist10;
9244 /* <var_listnode11:nullable Object> isa Array[Object] */
9245 cltype38 = type_array__Arraykernel__Object.color;
9246 idtype39 = type_array__Arraykernel__Object.id;
9247 if(var_listnode11 == NULL) {
9248 var37 = 0;
9249 } else {
9250 if(cltype38 >= var_listnode11->type->table_size) {
9251 var37 = 0;
9252 } else {
9253 var37 = var_listnode11->type->type_table[cltype38] == idtype39;
9254 }
9255 }
9256 if (!var37) {
9257 fprintf(stderr, "Runtime error: %s", "Assert failed");
9258 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14303);
9259 show_backtrace(1);
9260 }
9261 var40 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction310>*/;
9262 var_listnode12 = var40;
9263 var_listnode13 = var_nodearraylist11;
9264 /* <var_listnode13:nullable Object> isa Array[Object] */
9265 cltype42 = type_array__Arraykernel__Object.color;
9266 idtype43 = type_array__Arraykernel__Object.id;
9267 if(var_listnode13 == NULL) {
9268 var41 = 0;
9269 } else {
9270 if(cltype42 >= var_listnode13->type->table_size) {
9271 var41 = 0;
9272 } else {
9273 var41 = var_listnode13->type->type_table[cltype42] == idtype43;
9274 }
9275 }
9276 if (!var41) {
9277 fprintf(stderr, "Runtime error: %s", "Assert failed");
9278 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14306);
9279 show_backtrace(1);
9280 }
9281 var44 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode14, var_listnode13) /* concat on <self:ReduceAction310>*/;
9282 var_listnode14 = var44;
9283 var_tkwendnode15 = var_nodearraylist13;
9284 /* <var_tkwendnode15:nullable Object> isa nullable TKwend */
9285 cltype46 = type_nullable_parser_nodes__TKwend.color;
9286 idtype47 = type_nullable_parser_nodes__TKwend.id;
9287 if(var_tkwendnode15 == NULL) {
9288 var45 = 1;
9289 } else {
9290 if(cltype46 >= var_tkwendnode15->type->table_size) {
9291 var45 = 0;
9292 } else {
9293 var45 = var_tkwendnode15->type->type_table[cltype46] == idtype47;
9294 }
9295 }
9296 if (!var45) {
9297 fprintf(stderr, "Runtime error: %s", "Assert failed");
9298 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14309);
9299 show_backtrace(1);
9300 }
9301 var48 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9302 var49 = NULL;
9303 ((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, var49, var_pexterncodeblocknode10, var_listnode12, var_listnode14, var_tkwendnode15) /* init_astdclassdef on <var48:AStdClassdef>*/;
9304 var_pclassdefnode1 = var48;
9305 var_node_list = var_pclassdefnode1;
9306 var50 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction310> */
9307 var51 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var50) /* go_to on <var_p:Parser>*/;
9308 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var51, var_node_list) /* push on <var_p:Parser>*/;
9309 RET_LABEL:;
9310 }
9311 /* method parser#ReduceAction310#action for (self: Object, Parser) */
9312 void VIRTUAL_parser__ReduceAction310__action(val* self, val* p0) {
9313 parser__ReduceAction310__action(self, p0);
9314 RET_LABEL:;
9315 }
9316 /* method parser#ReduceAction311#action for (self: ReduceAction311, Parser) */
9317 void parser__ReduceAction311__action(val* self, val* p0) {
9318 val* var_p /* var p: Parser */;
9319 val* var /* : null */;
9320 val* var_node_list /* var node_list: nullable Object */;
9321 val* var1 /* : nullable Object */;
9322 val* var_nodearraylist14 /* var nodearraylist14: nullable Object */;
9323 val* var2 /* : nullable Object */;
9324 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
9325 val* var3 /* : nullable Object */;
9326 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
9327 val* var4 /* : nullable Object */;
9328 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
9329 val* var5 /* : nullable Object */;
9330 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
9331 val* var6 /* : nullable Object */;
9332 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9333 val* var7 /* : nullable Object */;
9334 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9335 val* var8 /* : nullable Object */;
9336 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9337 val* var9 /* : nullable Object */;
9338 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9339 val* var10 /* : nullable Object */;
9340 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9341 val* var11 /* : nullable Object */;
9342 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9343 val* var12 /* : nullable Object */;
9344 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9345 val* var13 /* : nullable Object */;
9346 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9347 val* var14 /* : nullable Object */;
9348 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9349 val* var15 /* : Array[Object] */;
9350 val* var_listnode8 /* var listnode8: Array[Object] */;
9351 val* var16 /* : Array[Object] */;
9352 val* var_listnode12 /* var listnode12: Array[Object] */;
9353 val* var17 /* : Array[Object] */;
9354 val* var_listnode14 /* var listnode14: Array[Object] */;
9355 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9356 short int var18 /* : Bool */;
9357 int cltype;
9358 int idtype;
9359 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
9360 short int var19 /* : Bool */;
9361 int cltype20;
9362 int idtype21;
9363 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9364 short int var22 /* : Bool */;
9365 int cltype23;
9366 int idtype24;
9367 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
9368 short int var25 /* : Bool */;
9369 int cltype26;
9370 int idtype27;
9371 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9372 short int var28 /* : Bool */;
9373 int cltype29;
9374 int idtype30;
9375 val* var_listnode7 /* var listnode7: nullable Object */;
9376 short int var31 /* : Bool */;
9377 int cltype32;
9378 int idtype33;
9379 val* var34 /* : Array[Object] */;
9380 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
9381 short int var35 /* : Bool */;
9382 int cltype36;
9383 int idtype37;
9384 val* var_listnode11 /* var listnode11: nullable Object */;
9385 short int var38 /* : Bool */;
9386 int cltype39;
9387 int idtype40;
9388 val* var41 /* : Array[Object] */;
9389 val* var_listnode13 /* var listnode13: nullable Object */;
9390 short int var42 /* : Bool */;
9391 int cltype43;
9392 int idtype44;
9393 val* var45 /* : Array[Object] */;
9394 val* var_tkwendnode15 /* var tkwendnode15: nullable Object */;
9395 short int var46 /* : Bool */;
9396 int cltype47;
9397 int idtype48;
9398 val* var49 /* : AStdClassdef */;
9399 val* var50 /* : null */;
9400 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
9401 long var51 /* : Int */;
9402 long var52 /* : Int */;
9403 var_p = p0;
9404 var = NULL;
9405 var_node_list = var;
9406 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9407 var_nodearraylist14 = var1;
9408 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9409 var_nodearraylist13 = var2;
9410 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9411 var_nodearraylist12 = var3;
9412 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9413 var_nodearraylist11 = var4;
9414 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9415 var_nodearraylist10 = var5;
9416 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9417 var_nodearraylist9 = var6;
9418 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9419 var_nodearraylist8 = var7;
9420 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9421 var_nodearraylist7 = var8;
9422 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9423 var_nodearraylist6 = var9;
9424 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9425 var_nodearraylist5 = var10;
9426 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9427 var_nodearraylist4 = var11;
9428 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9429 var_nodearraylist3 = var12;
9430 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9431 var_nodearraylist2 = var13;
9432 var14 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9433 var_nodearraylist1 = var14;
9434 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
9435 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
9436 var_listnode8 = var15;
9437 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
9438 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
9439 var_listnode12 = var16;
9440 var17 = NEW_array__Array(&type_array__Arraykernel__Object);
9441 ((void (*)(val*))(var17->class->vft[COLOR_array__Array__init]))(var17) /* init on <var17:Array[Object]>*/;
9442 var_listnode14 = var17;
9443 var_pdocnode2 = var_nodearraylist1;
9444 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9445 cltype = type_nullable_parser_nodes__ADoc.color;
9446 idtype = type_nullable_parser_nodes__ADoc.id;
9447 if(var_pdocnode2 == NULL) {
9448 var18 = 1;
9449 } else {
9450 if(cltype >= var_pdocnode2->type->table_size) {
9451 var18 = 0;
9452 } else {
9453 var18 = var_pdocnode2->type->type_table[cltype] == idtype;
9454 }
9455 }
9456 if (!var18) {
9457 fprintf(stderr, "Runtime error: %s", "Assert failed");
9458 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14350);
9459 show_backtrace(1);
9460 }
9461 var_tkwredefnode3 = var_nodearraylist2;
9462 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
9463 cltype20 = type_nullable_parser_nodes__TKwredef.color;
9464 idtype21 = type_nullable_parser_nodes__TKwredef.id;
9465 if(var_tkwredefnode3 == NULL) {
9466 var19 = 1;
9467 } else {
9468 if(cltype20 >= var_tkwredefnode3->type->table_size) {
9469 var19 = 0;
9470 } else {
9471 var19 = var_tkwredefnode3->type->type_table[cltype20] == idtype21;
9472 }
9473 }
9474 if (!var19) {
9475 fprintf(stderr, "Runtime error: %s", "Assert failed");
9476 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14352);
9477 show_backtrace(1);
9478 }
9479 var_pvisibilitynode4 = var_nodearraylist3;
9480 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9481 cltype23 = type_nullable_parser_nodes__AVisibility.color;
9482 idtype24 = type_nullable_parser_nodes__AVisibility.id;
9483 if(var_pvisibilitynode4 == NULL) {
9484 var22 = 1;
9485 } else {
9486 if(cltype23 >= var_pvisibilitynode4->type->table_size) {
9487 var22 = 0;
9488 } else {
9489 var22 = var_pvisibilitynode4->type->type_table[cltype23] == idtype24;
9490 }
9491 }
9492 if (!var22) {
9493 fprintf(stderr, "Runtime error: %s", "Assert failed");
9494 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14354);
9495 show_backtrace(1);
9496 }
9497 var_pclasskindnode5 = var_nodearraylist4;
9498 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
9499 cltype26 = type_nullable_parser_nodes__AClasskind.color;
9500 idtype27 = type_nullable_parser_nodes__AClasskind.id;
9501 if(var_pclasskindnode5 == NULL) {
9502 var25 = 1;
9503 } else {
9504 if(cltype26 >= var_pclasskindnode5->type->table_size) {
9505 var25 = 0;
9506 } else {
9507 var25 = var_pclasskindnode5->type->type_table[cltype26] == idtype27;
9508 }
9509 }
9510 if (!var25) {
9511 fprintf(stderr, "Runtime error: %s", "Assert failed");
9512 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14356);
9513 show_backtrace(1);
9514 }
9515 var_tclassidnode6 = var_nodearraylist8;
9516 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9517 cltype29 = type_nullable_parser_nodes__TClassid.color;
9518 idtype30 = type_nullable_parser_nodes__TClassid.id;
9519 if(var_tclassidnode6 == NULL) {
9520 var28 = 1;
9521 } else {
9522 if(cltype29 >= var_tclassidnode6->type->table_size) {
9523 var28 = 0;
9524 } else {
9525 var28 = var_tclassidnode6->type->type_table[cltype29] == idtype30;
9526 }
9527 }
9528 if (!var28) {
9529 fprintf(stderr, "Runtime error: %s", "Assert failed");
9530 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14358);
9531 show_backtrace(1);
9532 }
9533 var_listnode7 = var_nodearraylist9;
9534 /* <var_listnode7:nullable Object> isa Array[Object] */
9535 cltype32 = type_array__Arraykernel__Object.color;
9536 idtype33 = type_array__Arraykernel__Object.id;
9537 if(var_listnode7 == NULL) {
9538 var31 = 0;
9539 } else {
9540 if(cltype32 >= var_listnode7->type->table_size) {
9541 var31 = 0;
9542 } else {
9543 var31 = var_listnode7->type->type_table[cltype32] == idtype33;
9544 }
9545 }
9546 if (!var31) {
9547 fprintf(stderr, "Runtime error: %s", "Assert failed");
9548 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14360);
9549 show_backtrace(1);
9550 }
9551 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction311>*/;
9552 var_listnode8 = var34;
9553 var_pexterncodeblocknode10 = var_nodearraylist10;
9554 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
9555 cltype36 = type_nullable_parser_nodes__AExternCodeBlock.color;
9556 idtype37 = type_nullable_parser_nodes__AExternCodeBlock.id;
9557 if(var_pexterncodeblocknode10 == NULL) {
9558 var35 = 1;
9559 } else {
9560 if(cltype36 >= var_pexterncodeblocknode10->type->table_size) {
9561 var35 = 0;
9562 } else {
9563 var35 = var_pexterncodeblocknode10->type->type_table[cltype36] == idtype37;
9564 }
9565 }
9566 if (!var35) {
9567 fprintf(stderr, "Runtime error: %s", "Assert failed");
9568 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14363);
9569 show_backtrace(1);
9570 }
9571 var_listnode11 = var_nodearraylist11;
9572 /* <var_listnode11:nullable Object> isa Array[Object] */
9573 cltype39 = type_array__Arraykernel__Object.color;
9574 idtype40 = type_array__Arraykernel__Object.id;
9575 if(var_listnode11 == NULL) {
9576 var38 = 0;
9577 } else {
9578 if(cltype39 >= var_listnode11->type->table_size) {
9579 var38 = 0;
9580 } else {
9581 var38 = var_listnode11->type->type_table[cltype39] == idtype40;
9582 }
9583 }
9584 if (!var38) {
9585 fprintf(stderr, "Runtime error: %s", "Assert failed");
9586 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14365);
9587 show_backtrace(1);
9588 }
9589 var41 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction311>*/;
9590 var_listnode12 = var41;
9591 var_listnode13 = var_nodearraylist12;
9592 /* <var_listnode13:nullable Object> isa Array[Object] */
9593 cltype43 = type_array__Arraykernel__Object.color;
9594 idtype44 = type_array__Arraykernel__Object.id;
9595 if(var_listnode13 == NULL) {
9596 var42 = 0;
9597 } else {
9598 if(cltype43 >= var_listnode13->type->table_size) {
9599 var42 = 0;
9600 } else {
9601 var42 = var_listnode13->type->type_table[cltype43] == idtype44;
9602 }
9603 }
9604 if (!var42) {
9605 fprintf(stderr, "Runtime error: %s", "Assert failed");
9606 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14368);
9607 show_backtrace(1);
9608 }
9609 var45 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode14, var_listnode13) /* concat on <self:ReduceAction311>*/;
9610 var_listnode14 = var45;
9611 var_tkwendnode15 = var_nodearraylist14;
9612 /* <var_tkwendnode15:nullable Object> isa nullable TKwend */
9613 cltype47 = type_nullable_parser_nodes__TKwend.color;
9614 idtype48 = type_nullable_parser_nodes__TKwend.id;
9615 if(var_tkwendnode15 == NULL) {
9616 var46 = 1;
9617 } else {
9618 if(cltype47 >= var_tkwendnode15->type->table_size) {
9619 var46 = 0;
9620 } else {
9621 var46 = var_tkwendnode15->type->type_table[cltype47] == idtype48;
9622 }
9623 }
9624 if (!var46) {
9625 fprintf(stderr, "Runtime error: %s", "Assert failed");
9626 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14371);
9627 show_backtrace(1);
9628 }
9629 var49 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9630 var50 = NULL;
9631 ((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, var50, var_pexterncodeblocknode10, var_listnode12, var_listnode14, var_tkwendnode15) /* init_astdclassdef on <var49:AStdClassdef>*/;
9632 var_pclassdefnode1 = var49;
9633 var_node_list = var_pclassdefnode1;
9634 var51 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction311> */
9635 var52 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var51) /* go_to on <var_p:Parser>*/;
9636 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var52, var_node_list) /* push on <var_p:Parser>*/;
9637 RET_LABEL:;
9638 }
9639 /* method parser#ReduceAction311#action for (self: Object, Parser) */
9640 void VIRTUAL_parser__ReduceAction311__action(val* self, val* p0) {
9641 parser__ReduceAction311__action(self, p0);
9642 RET_LABEL:;
9643 }
9644 /* method parser#ReduceAction313#action for (self: ReduceAction313, Parser) */
9645 void parser__ReduceAction313__action(val* self, val* p0) {
9646 val* var_p /* var p: Parser */;
9647 val* var /* : null */;
9648 val* var_node_list /* var node_list: nullable Object */;
9649 val* var1 /* : nullable Object */;
9650 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
9651 val* var2 /* : nullable Object */;
9652 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
9653 val* var3 /* : nullable Object */;
9654 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9655 val* var4 /* : nullable Object */;
9656 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9657 val* var5 /* : nullable Object */;
9658 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9659 val* var6 /* : nullable Object */;
9660 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9661 val* var7 /* : nullable Object */;
9662 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9663 val* var8 /* : nullable Object */;
9664 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9665 val* var9 /* : nullable Object */;
9666 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9667 val* var10 /* : nullable Object */;
9668 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9669 val* var11 /* : nullable Object */;
9670 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9671 val* var12 /* : Array[Object] */;
9672 val* var_listnode7 /* var listnode7: Array[Object] */;
9673 val* var13 /* : Array[Object] */;
9674 val* var_listnode16 /* var listnode16: Array[Object] */;
9675 val* var14 /* : Array[Object] */;
9676 val* var_listnode18 /* var listnode18: Array[Object] */;
9677 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9678 short int var15 /* : Bool */;
9679 int cltype;
9680 int idtype;
9681 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9682 short int var16 /* : Bool */;
9683 int cltype17;
9684 int idtype18;
9685 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
9686 short int var19 /* : Bool */;
9687 int cltype20;
9688 int idtype21;
9689 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9690 short int var22 /* : Bool */;
9691 int cltype23;
9692 int idtype24;
9693 val* var25 /* : Array[Object] */;
9694 val* var_listnode12 /* var listnode12: Array[Object] */;
9695 val* var_listnode11 /* var listnode11: nullable Object */;
9696 short int var26 /* : Bool */;
9697 int cltype27;
9698 int idtype28;
9699 val* var29 /* : Array[Object] */;
9700 val* var30 /* : AAnnotations */;
9701 val* var31 /* : null */;
9702 val* var32 /* : null */;
9703 val* var33 /* : null */;
9704 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
9705 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
9706 short int var34 /* : Bool */;
9707 int cltype35;
9708 int idtype36;
9709 val* var_listnode15 /* var listnode15: nullable Object */;
9710 short int var37 /* : Bool */;
9711 int cltype38;
9712 int idtype39;
9713 val* var40 /* : Array[Object] */;
9714 val* var_listnode17 /* var listnode17: nullable Object */;
9715 short int var41 /* : Bool */;
9716 int cltype42;
9717 int idtype43;
9718 val* var44 /* : Array[Object] */;
9719 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
9720 short int var45 /* : Bool */;
9721 int cltype46;
9722 int idtype47;
9723 val* var48 /* : AStdClassdef */;
9724 val* var49 /* : null */;
9725 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
9726 long var50 /* : Int */;
9727 long var51 /* : Int */;
9728 var_p = p0;
9729 var = NULL;
9730 var_node_list = var;
9731 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9732 var_nodearraylist11 = var1;
9733 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9734 var_nodearraylist10 = var2;
9735 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9736 var_nodearraylist9 = var3;
9737 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9738 var_nodearraylist8 = var4;
9739 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9740 var_nodearraylist7 = var5;
9741 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9742 var_nodearraylist6 = var6;
9743 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9744 var_nodearraylist5 = var7;
9745 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9746 var_nodearraylist4 = var8;
9747 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9748 var_nodearraylist3 = var9;
9749 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9750 var_nodearraylist2 = var10;
9751 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9752 var_nodearraylist1 = var11;
9753 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
9754 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
9755 var_listnode7 = var12;
9756 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
9757 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
9758 var_listnode16 = var13;
9759 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
9760 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
9761 var_listnode18 = var14;
9762 var_pdocnode2 = var_nodearraylist1;
9763 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9764 cltype = type_nullable_parser_nodes__ADoc.color;
9765 idtype = type_nullable_parser_nodes__ADoc.id;
9766 if(var_pdocnode2 == NULL) {
9767 var15 = 1;
9768 } else {
9769 if(cltype >= var_pdocnode2->type->table_size) {
9770 var15 = 0;
9771 } else {
9772 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
9773 }
9774 }
9775 if (!var15) {
9776 fprintf(stderr, "Runtime error: %s", "Assert failed");
9777 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14409);
9778 show_backtrace(1);
9779 }
9780 var_pvisibilitynode4 = var_nodearraylist2;
9781 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9782 cltype17 = type_nullable_parser_nodes__AVisibility.color;
9783 idtype18 = type_nullable_parser_nodes__AVisibility.id;
9784 if(var_pvisibilitynode4 == NULL) {
9785 var16 = 1;
9786 } else {
9787 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
9788 var16 = 0;
9789 } else {
9790 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
9791 }
9792 }
9793 if (!var16) {
9794 fprintf(stderr, "Runtime error: %s", "Assert failed");
9795 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14411);
9796 show_backtrace(1);
9797 }
9798 var_pclasskindnode5 = var_nodearraylist3;
9799 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
9800 cltype20 = type_nullable_parser_nodes__AClasskind.color;
9801 idtype21 = type_nullable_parser_nodes__AClasskind.id;
9802 if(var_pclasskindnode5 == NULL) {
9803 var19 = 1;
9804 } else {
9805 if(cltype20 >= var_pclasskindnode5->type->table_size) {
9806 var19 = 0;
9807 } else {
9808 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
9809 }
9810 }
9811 if (!var19) {
9812 fprintf(stderr, "Runtime error: %s", "Assert failed");
9813 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14413);
9814 show_backtrace(1);
9815 }
9816 var_tclassidnode6 = var_nodearraylist5;
9817 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9818 cltype23 = type_nullable_parser_nodes__TClassid.color;
9819 idtype24 = type_nullable_parser_nodes__TClassid.id;
9820 if(var_tclassidnode6 == NULL) {
9821 var22 = 1;
9822 } else {
9823 if(cltype23 >= var_tclassidnode6->type->table_size) {
9824 var22 = 0;
9825 } else {
9826 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
9827 }
9828 }
9829 if (!var22) {
9830 fprintf(stderr, "Runtime error: %s", "Assert failed");
9831 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14415);
9832 show_backtrace(1);
9833 }
9834 var25 = NEW_array__Array(&type_array__Arraykernel__Object);
9835 ((void (*)(val*))(var25->class->vft[COLOR_array__Array__init]))(var25) /* init on <var25:Array[Object]>*/;
9836 var_listnode12 = var25;
9837 var_listnode11 = var_nodearraylist6;
9838 /* <var_listnode11:nullable Object> isa Array[Object] */
9839 cltype27 = type_array__Arraykernel__Object.color;
9840 idtype28 = type_array__Arraykernel__Object.id;
9841 if(var_listnode11 == NULL) {
9842 var26 = 0;
9843 } else {
9844 if(cltype27 >= var_listnode11->type->table_size) {
9845 var26 = 0;
9846 } else {
9847 var26 = var_listnode11->type->type_table[cltype27] == idtype28;
9848 }
9849 }
9850 if (!var26) {
9851 fprintf(stderr, "Runtime error: %s", "Assert failed");
9852 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14418);
9853 show_backtrace(1);
9854 }
9855 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction313>*/;
9856 var_listnode12 = var29;
9857 var30 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
9858 var31 = NULL;
9859 var32 = NULL;
9860 var33 = NULL;
9861 ((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>*/;
9862 var_pannotationsnode8 = var30;
9863 var_pexterncodeblocknode14 = var_nodearraylist7;
9864 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
9865 cltype35 = type_nullable_parser_nodes__AExternCodeBlock.color;
9866 idtype36 = type_nullable_parser_nodes__AExternCodeBlock.id;
9867 if(var_pexterncodeblocknode14 == NULL) {
9868 var34 = 1;
9869 } else {
9870 if(cltype35 >= var_pexterncodeblocknode14->type->table_size) {
9871 var34 = 0;
9872 } else {
9873 var34 = var_pexterncodeblocknode14->type->type_table[cltype35] == idtype36;
9874 }
9875 }
9876 if (!var34) {
9877 fprintf(stderr, "Runtime error: %s", "Assert failed");
9878 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14427);
9879 show_backtrace(1);
9880 }
9881 var_listnode15 = var_nodearraylist8;
9882 /* <var_listnode15:nullable Object> isa Array[Object] */
9883 cltype38 = type_array__Arraykernel__Object.color;
9884 idtype39 = type_array__Arraykernel__Object.id;
9885 if(var_listnode15 == NULL) {
9886 var37 = 0;
9887 } else {
9888 if(cltype38 >= var_listnode15->type->table_size) {
9889 var37 = 0;
9890 } else {
9891 var37 = var_listnode15->type->type_table[cltype38] == idtype39;
9892 }
9893 }
9894 if (!var37) {
9895 fprintf(stderr, "Runtime error: %s", "Assert failed");
9896 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14429);
9897 show_backtrace(1);
9898 }
9899 var40 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction313>*/;
9900 var_listnode16 = var40;
9901 var_listnode17 = var_nodearraylist9;
9902 /* <var_listnode17:nullable Object> isa Array[Object] */
9903 cltype42 = type_array__Arraykernel__Object.color;
9904 idtype43 = type_array__Arraykernel__Object.id;
9905 if(var_listnode17 == NULL) {
9906 var41 = 0;
9907 } else {
9908 if(cltype42 >= var_listnode17->type->table_size) {
9909 var41 = 0;
9910 } else {
9911 var41 = var_listnode17->type->type_table[cltype42] == idtype43;
9912 }
9913 }
9914 if (!var41) {
9915 fprintf(stderr, "Runtime error: %s", "Assert failed");
9916 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14432);
9917 show_backtrace(1);
9918 }
9919 var44 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction313>*/;
9920 var_listnode18 = var44;
9921 var_tkwendnode19 = var_nodearraylist11;
9922 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
9923 cltype46 = type_nullable_parser_nodes__TKwend.color;
9924 idtype47 = type_nullable_parser_nodes__TKwend.id;
9925 if(var_tkwendnode19 == NULL) {
9926 var45 = 1;
9927 } else {
9928 if(cltype46 >= var_tkwendnode19->type->table_size) {
9929 var45 = 0;
9930 } else {
9931 var45 = var_tkwendnode19->type->type_table[cltype46] == idtype47;
9932 }
9933 }
9934 if (!var45) {
9935 fprintf(stderr, "Runtime error: %s", "Assert failed");
9936 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14435);
9937 show_backtrace(1);
9938 }
9939 var48 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9940 var49 = NULL;
9941 ((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, var49, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var48:AStdClassdef>*/;
9942 var_pclassdefnode1 = var48;
9943 var_node_list = var_pclassdefnode1;
9944 var50 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction313> */
9945 var51 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var50) /* go_to on <var_p:Parser>*/;
9946 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var51, var_node_list) /* push on <var_p:Parser>*/;
9947 RET_LABEL:;
9948 }
9949 /* method parser#ReduceAction313#action for (self: Object, Parser) */
9950 void VIRTUAL_parser__ReduceAction313__action(val* self, val* p0) {
9951 parser__ReduceAction313__action(self, p0);
9952 RET_LABEL:;
9953 }