pep8analysis: add copyright info for viz.js
[nit.git] / c_src / parser.sep.6.c
1 #include "parser.sep.0.h"
2 /* method parser#ReduceAction178#action for (self: ReduceAction178, Parser) */
3 void parser__ReduceAction178__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_listnode8 /* var listnode8: Array[Object] */;
31 val* var13 /* : Array[Object] */;
32 val* var_listnode12 /* var listnode12: 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_listnode7 /* var listnode7: nullable Object */;
56 short int var28 /* : Bool */;
57 int cltype29;
58 int idtype30;
59 val* var31 /* : Array[Object] */;
60 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
61 short int var32 /* : Bool */;
62 int cltype33;
63 int idtype34;
64 val* var_listnode11 /* var listnode11: nullable Object */;
65 short int var35 /* : Bool */;
66 int cltype36;
67 int idtype37;
68 val* var38 /* : Array[Object] */;
69 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
70 short int var39 /* : Bool */;
71 int cltype40;
72 int idtype41;
73 val* var42 /* : AStdClassdef */;
74 val* var43 /* : null */;
75 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
76 long var44 /* : Int */;
77 long var45 /* : Int */;
78 var_p = p0;
79 var = NULL;
80 var_node_list = var;
81 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
82 var_nodearraylist11 = var1;
83 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
84 var_nodearraylist10 = var2;
85 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
86 var_nodearraylist9 = var3;
87 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
88 var_nodearraylist8 = var4;
89 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
90 var_nodearraylist7 = var5;
91 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
92 var_nodearraylist6 = var6;
93 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
94 var_nodearraylist5 = var7;
95 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
96 var_nodearraylist4 = var8;
97 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
98 var_nodearraylist3 = var9;
99 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
100 var_nodearraylist2 = var10;
101 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
102 var_nodearraylist1 = var11;
103 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
104 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
105 var_listnode8 = var12;
106 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
107 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
108 var_listnode12 = var13;
109 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
110 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
111 var_listnode13 = var14;
112 var_pdocnode2 = var_nodearraylist1;
113 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
114 cltype = type_nullable_parser_nodes__ADoc.color;
115 idtype = type_nullable_parser_nodes__ADoc.id;
116 if(var_pdocnode2 == NULL) {
117 var15 = 1;
118 } else {
119 if(cltype >= var_pdocnode2->type->table_size) {
120 var15 = 0;
121 } else {
122 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
123 }
124 }
125 if (!var15) {
126 fprintf(stderr, "Runtime error: %s", "Assert failed");
127 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8465);
128 show_backtrace(1);
129 }
130 var_tkwredefnode3 = var_nodearraylist2;
131 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
132 cltype17 = type_nullable_parser_nodes__TKwredef.color;
133 idtype18 = type_nullable_parser_nodes__TKwredef.id;
134 if(var_tkwredefnode3 == NULL) {
135 var16 = 1;
136 } else {
137 if(cltype17 >= var_tkwredefnode3->type->table_size) {
138 var16 = 0;
139 } else {
140 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
141 }
142 }
143 if (!var16) {
144 fprintf(stderr, "Runtime error: %s", "Assert failed");
145 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8467);
146 show_backtrace(1);
147 }
148 var_pvisibilitynode4 = var_nodearraylist3;
149 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
150 cltype20 = type_nullable_parser_nodes__AVisibility.color;
151 idtype21 = type_nullable_parser_nodes__AVisibility.id;
152 if(var_pvisibilitynode4 == NULL) {
153 var19 = 1;
154 } else {
155 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
156 var19 = 0;
157 } else {
158 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
159 }
160 }
161 if (!var19) {
162 fprintf(stderr, "Runtime error: %s", "Assert failed");
163 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8469);
164 show_backtrace(1);
165 }
166 var_pclasskindnode5 = var_nodearraylist4;
167 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
168 cltype23 = type_nullable_parser_nodes__AClasskind.color;
169 idtype24 = type_nullable_parser_nodes__AClasskind.id;
170 if(var_pclasskindnode5 == NULL) {
171 var22 = 1;
172 } else {
173 if(cltype23 >= var_pclasskindnode5->type->table_size) {
174 var22 = 0;
175 } else {
176 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
177 }
178 }
179 if (!var22) {
180 fprintf(stderr, "Runtime error: %s", "Assert failed");
181 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8471);
182 show_backtrace(1);
183 }
184 var_tclassidnode6 = var_nodearraylist6;
185 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
186 cltype26 = type_nullable_parser_nodes__TClassid.color;
187 idtype27 = type_nullable_parser_nodes__TClassid.id;
188 if(var_tclassidnode6 == NULL) {
189 var25 = 1;
190 } else {
191 if(cltype26 >= var_tclassidnode6->type->table_size) {
192 var25 = 0;
193 } else {
194 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
195 }
196 }
197 if (!var25) {
198 fprintf(stderr, "Runtime error: %s", "Assert failed");
199 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8473);
200 show_backtrace(1);
201 }
202 var_listnode7 = var_nodearraylist7;
203 /* <var_listnode7:nullable Object> isa Array[Object] */
204 cltype29 = type_array__Arraykernel__Object.color;
205 idtype30 = type_array__Arraykernel__Object.id;
206 if(var_listnode7 == NULL) {
207 var28 = 0;
208 } else {
209 if(cltype29 >= var_listnode7->type->table_size) {
210 var28 = 0;
211 } else {
212 var28 = var_listnode7->type->type_table[cltype29] == idtype30;
213 }
214 }
215 if (!var28) {
216 fprintf(stderr, "Runtime error: %s", "Assert failed");
217 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8475);
218 show_backtrace(1);
219 }
220 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction178>*/;
221 var_listnode8 = var31;
222 var_pexterncodeblocknode10 = var_nodearraylist8;
223 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
224 cltype33 = type_nullable_parser_nodes__AExternCodeBlock.color;
225 idtype34 = type_nullable_parser_nodes__AExternCodeBlock.id;
226 if(var_pexterncodeblocknode10 == NULL) {
227 var32 = 1;
228 } else {
229 if(cltype33 >= var_pexterncodeblocknode10->type->table_size) {
230 var32 = 0;
231 } else {
232 var32 = var_pexterncodeblocknode10->type->type_table[cltype33] == idtype34;
233 }
234 }
235 if (!var32) {
236 fprintf(stderr, "Runtime error: %s", "Assert failed");
237 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8478);
238 show_backtrace(1);
239 }
240 var_listnode11 = var_nodearraylist9;
241 /* <var_listnode11:nullable Object> isa Array[Object] */
242 cltype36 = type_array__Arraykernel__Object.color;
243 idtype37 = type_array__Arraykernel__Object.id;
244 if(var_listnode11 == NULL) {
245 var35 = 0;
246 } else {
247 if(cltype36 >= var_listnode11->type->table_size) {
248 var35 = 0;
249 } else {
250 var35 = var_listnode11->type->type_table[cltype36] == idtype37;
251 }
252 }
253 if (!var35) {
254 fprintf(stderr, "Runtime error: %s", "Assert failed");
255 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8480);
256 show_backtrace(1);
257 }
258 var38 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction178>*/;
259 var_listnode12 = var38;
260 var_tkwendnode14 = var_nodearraylist11;
261 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
262 cltype40 = type_nullable_parser_nodes__TKwend.color;
263 idtype41 = type_nullable_parser_nodes__TKwend.id;
264 if(var_tkwendnode14 == NULL) {
265 var39 = 1;
266 } else {
267 if(cltype40 >= var_tkwendnode14->type->table_size) {
268 var39 = 0;
269 } else {
270 var39 = var_tkwendnode14->type->type_table[cltype40] == idtype41;
271 }
272 }
273 if (!var39) {
274 fprintf(stderr, "Runtime error: %s", "Assert failed");
275 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8483);
276 show_backtrace(1);
277 }
278 var42 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
279 var43 = NULL;
280 ((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_listnode8, var43, var_pexterncodeblocknode10, var_listnode12, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var42:AStdClassdef>*/;
281 var_pclassdefnode1 = var42;
282 var_node_list = var_pclassdefnode1;
283 var44 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction178> */
284 var45 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var44) /* go_to on <var_p:Parser>*/;
285 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var45, var_node_list) /* push on <var_p:Parser>*/;
286 RET_LABEL:;
287 }
288 /* method parser#ReduceAction178#action for (self: Object, Parser) */
289 void VIRTUAL_parser__ReduceAction178__action(val* self, val* p0) {
290 parser__ReduceAction178__action(self, p0);
291 RET_LABEL:;
292 }
293 /* method parser#ReduceAction179#action for (self: ReduceAction179, Parser) */
294 void parser__ReduceAction179__action(val* self, val* p0) {
295 val* var_p /* var p: Parser */;
296 val* var /* : null */;
297 val* var_node_list /* var node_list: nullable Object */;
298 val* var1 /* : nullable Object */;
299 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
300 val* var2 /* : nullable Object */;
301 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
302 val* var3 /* : nullable Object */;
303 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
304 val* var4 /* : nullable Object */;
305 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
306 val* var5 /* : nullable Object */;
307 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
308 val* var6 /* : nullable Object */;
309 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
310 val* var7 /* : nullable Object */;
311 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
312 val* var8 /* : nullable Object */;
313 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
314 val* var9 /* : nullable Object */;
315 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
316 val* var10 /* : nullable Object */;
317 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
318 val* var11 /* : nullable Object */;
319 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
320 val* var12 /* : Array[Object] */;
321 val* var_listnode8 /* var listnode8: Array[Object] */;
322 val* var13 /* : Array[Object] */;
323 val* var_listnode12 /* var listnode12: Array[Object] */;
324 val* var14 /* : Array[Object] */;
325 val* var_listnode13 /* var listnode13: Array[Object] */;
326 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
327 short int var15 /* : Bool */;
328 int cltype;
329 int idtype;
330 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
331 short int var16 /* : Bool */;
332 int cltype17;
333 int idtype18;
334 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
335 short int var19 /* : Bool */;
336 int cltype20;
337 int idtype21;
338 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
339 short int var22 /* : Bool */;
340 int cltype23;
341 int idtype24;
342 val* var_listnode7 /* var listnode7: nullable Object */;
343 short int var25 /* : Bool */;
344 int cltype26;
345 int idtype27;
346 val* var28 /* : Array[Object] */;
347 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
348 short int var29 /* : Bool */;
349 int cltype30;
350 int idtype31;
351 val* var_listnode11 /* var listnode11: nullable Object */;
352 short int var32 /* : Bool */;
353 int cltype33;
354 int idtype34;
355 val* var35 /* : Array[Object] */;
356 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
357 short int var36 /* : Bool */;
358 int cltype37;
359 int idtype38;
360 val* var39 /* : AStdClassdef */;
361 val* var40 /* : null */;
362 val* var41 /* : null */;
363 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
364 long var42 /* : Int */;
365 long var43 /* : Int */;
366 var_p = p0;
367 var = NULL;
368 var_node_list = var;
369 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
370 var_nodearraylist11 = var1;
371 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
372 var_nodearraylist10 = var2;
373 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
374 var_nodearraylist9 = var3;
375 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
376 var_nodearraylist8 = var4;
377 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
378 var_nodearraylist7 = var5;
379 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
380 var_nodearraylist6 = var6;
381 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
382 var_nodearraylist5 = var7;
383 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
384 var_nodearraylist4 = var8;
385 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
386 var_nodearraylist3 = var9;
387 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
388 var_nodearraylist2 = var10;
389 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
390 var_nodearraylist1 = var11;
391 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
392 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
393 var_listnode8 = var12;
394 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
395 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
396 var_listnode12 = var13;
397 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
398 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
399 var_listnode13 = var14;
400 var_pdocnode2 = var_nodearraylist1;
401 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
402 cltype = type_nullable_parser_nodes__ADoc.color;
403 idtype = type_nullable_parser_nodes__ADoc.id;
404 if(var_pdocnode2 == NULL) {
405 var15 = 1;
406 } else {
407 if(cltype >= var_pdocnode2->type->table_size) {
408 var15 = 0;
409 } else {
410 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
411 }
412 }
413 if (!var15) {
414 fprintf(stderr, "Runtime error: %s", "Assert failed");
415 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8521);
416 show_backtrace(1);
417 }
418 var_pvisibilitynode4 = var_nodearraylist2;
419 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
420 cltype17 = type_nullable_parser_nodes__AVisibility.color;
421 idtype18 = type_nullable_parser_nodes__AVisibility.id;
422 if(var_pvisibilitynode4 == NULL) {
423 var16 = 1;
424 } else {
425 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
426 var16 = 0;
427 } else {
428 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
429 }
430 }
431 if (!var16) {
432 fprintf(stderr, "Runtime error: %s", "Assert failed");
433 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8523);
434 show_backtrace(1);
435 }
436 var_pclasskindnode5 = var_nodearraylist3;
437 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
438 cltype20 = type_nullable_parser_nodes__AClasskind.color;
439 idtype21 = type_nullable_parser_nodes__AClasskind.id;
440 if(var_pclasskindnode5 == NULL) {
441 var19 = 1;
442 } else {
443 if(cltype20 >= var_pclasskindnode5->type->table_size) {
444 var19 = 0;
445 } else {
446 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
447 }
448 }
449 if (!var19) {
450 fprintf(stderr, "Runtime error: %s", "Assert failed");
451 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8525);
452 show_backtrace(1);
453 }
454 var_tclassidnode6 = var_nodearraylist6;
455 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
456 cltype23 = type_nullable_parser_nodes__TClassid.color;
457 idtype24 = type_nullable_parser_nodes__TClassid.id;
458 if(var_tclassidnode6 == NULL) {
459 var22 = 1;
460 } else {
461 if(cltype23 >= var_tclassidnode6->type->table_size) {
462 var22 = 0;
463 } else {
464 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
465 }
466 }
467 if (!var22) {
468 fprintf(stderr, "Runtime error: %s", "Assert failed");
469 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8527);
470 show_backtrace(1);
471 }
472 var_listnode7 = var_nodearraylist7;
473 /* <var_listnode7:nullable Object> isa Array[Object] */
474 cltype26 = type_array__Arraykernel__Object.color;
475 idtype27 = type_array__Arraykernel__Object.id;
476 if(var_listnode7 == NULL) {
477 var25 = 0;
478 } else {
479 if(cltype26 >= var_listnode7->type->table_size) {
480 var25 = 0;
481 } else {
482 var25 = var_listnode7->type->type_table[cltype26] == idtype27;
483 }
484 }
485 if (!var25) {
486 fprintf(stderr, "Runtime error: %s", "Assert failed");
487 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8529);
488 show_backtrace(1);
489 }
490 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction179>*/;
491 var_listnode8 = var28;
492 var_pexterncodeblocknode10 = var_nodearraylist8;
493 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
494 cltype30 = type_nullable_parser_nodes__AExternCodeBlock.color;
495 idtype31 = type_nullable_parser_nodes__AExternCodeBlock.id;
496 if(var_pexterncodeblocknode10 == NULL) {
497 var29 = 1;
498 } else {
499 if(cltype30 >= var_pexterncodeblocknode10->type->table_size) {
500 var29 = 0;
501 } else {
502 var29 = var_pexterncodeblocknode10->type->type_table[cltype30] == idtype31;
503 }
504 }
505 if (!var29) {
506 fprintf(stderr, "Runtime error: %s", "Assert failed");
507 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8532);
508 show_backtrace(1);
509 }
510 var_listnode11 = var_nodearraylist9;
511 /* <var_listnode11:nullable Object> isa Array[Object] */
512 cltype33 = type_array__Arraykernel__Object.color;
513 idtype34 = type_array__Arraykernel__Object.id;
514 if(var_listnode11 == NULL) {
515 var32 = 0;
516 } else {
517 if(cltype33 >= var_listnode11->type->table_size) {
518 var32 = 0;
519 } else {
520 var32 = var_listnode11->type->type_table[cltype33] == idtype34;
521 }
522 }
523 if (!var32) {
524 fprintf(stderr, "Runtime error: %s", "Assert failed");
525 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8534);
526 show_backtrace(1);
527 }
528 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction179>*/;
529 var_listnode12 = var35;
530 var_tkwendnode14 = var_nodearraylist11;
531 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
532 cltype37 = type_nullable_parser_nodes__TKwend.color;
533 idtype38 = type_nullable_parser_nodes__TKwend.id;
534 if(var_tkwendnode14 == NULL) {
535 var36 = 1;
536 } else {
537 if(cltype37 >= var_tkwendnode14->type->table_size) {
538 var36 = 0;
539 } else {
540 var36 = var_tkwendnode14->type->type_table[cltype37] == idtype38;
541 }
542 }
543 if (!var36) {
544 fprintf(stderr, "Runtime error: %s", "Assert failed");
545 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8537);
546 show_backtrace(1);
547 }
548 var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
549 var40 = NULL;
550 var41 = NULL;
551 ((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, var_pexterncodeblocknode10, var_listnode12, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var39:AStdClassdef>*/;
552 var_pclassdefnode1 = var39;
553 var_node_list = var_pclassdefnode1;
554 var42 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction179> */
555 var43 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var42) /* go_to on <var_p:Parser>*/;
556 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var43, var_node_list) /* push on <var_p:Parser>*/;
557 RET_LABEL:;
558 }
559 /* method parser#ReduceAction179#action for (self: Object, Parser) */
560 void VIRTUAL_parser__ReduceAction179__action(val* self, val* p0) {
561 parser__ReduceAction179__action(self, p0);
562 RET_LABEL:;
563 }
564 /* method parser#ReduceAction180#action for (self: ReduceAction180, Parser) */
565 void parser__ReduceAction180__action(val* self, val* p0) {
566 val* var_p /* var p: Parser */;
567 val* var /* : null */;
568 val* var_node_list /* var node_list: nullable Object */;
569 val* var1 /* : nullable Object */;
570 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
571 val* var2 /* : nullable Object */;
572 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
573 val* var3 /* : nullable Object */;
574 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
575 val* var4 /* : nullable Object */;
576 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
577 val* var5 /* : nullable Object */;
578 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
579 val* var6 /* : nullable Object */;
580 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
581 val* var7 /* : nullable Object */;
582 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
583 val* var8 /* : nullable Object */;
584 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
585 val* var9 /* : nullable Object */;
586 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
587 val* var10 /* : nullable Object */;
588 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
589 val* var11 /* : nullable Object */;
590 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
591 val* var12 /* : nullable Object */;
592 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
593 val* var13 /* : Array[Object] */;
594 val* var_listnode8 /* var listnode8: Array[Object] */;
595 val* var14 /* : Array[Object] */;
596 val* var_listnode12 /* var listnode12: Array[Object] */;
597 val* var15 /* : Array[Object] */;
598 val* var_listnode13 /* var listnode13: Array[Object] */;
599 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
600 short int var16 /* : Bool */;
601 int cltype;
602 int idtype;
603 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
604 short int var17 /* : Bool */;
605 int cltype18;
606 int idtype19;
607 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
608 short int var20 /* : Bool */;
609 int cltype21;
610 int idtype22;
611 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
612 short int var23 /* : Bool */;
613 int cltype24;
614 int idtype25;
615 val* var_listnode7 /* var listnode7: nullable Object */;
616 short int var26 /* : Bool */;
617 int cltype27;
618 int idtype28;
619 val* var29 /* : Array[Object] */;
620 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
621 short int var30 /* : Bool */;
622 int cltype31;
623 int idtype32;
624 val* var_listnode11 /* var listnode11: nullable Object */;
625 short int var33 /* : Bool */;
626 int cltype34;
627 int idtype35;
628 val* var36 /* : Array[Object] */;
629 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
630 short int var37 /* : Bool */;
631 int cltype38;
632 int idtype39;
633 val* var40 /* : AStdClassdef */;
634 val* var41 /* : null */;
635 val* var42 /* : null */;
636 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
637 long var43 /* : Int */;
638 long var44 /* : Int */;
639 var_p = p0;
640 var = NULL;
641 var_node_list = var;
642 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
643 var_nodearraylist12 = var1;
644 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
645 var_nodearraylist11 = var2;
646 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
647 var_nodearraylist10 = var3;
648 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
649 var_nodearraylist9 = var4;
650 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
651 var_nodearraylist8 = var5;
652 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
653 var_nodearraylist7 = var6;
654 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
655 var_nodearraylist6 = var7;
656 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
657 var_nodearraylist5 = var8;
658 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
659 var_nodearraylist4 = var9;
660 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
661 var_nodearraylist3 = var10;
662 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
663 var_nodearraylist2 = var11;
664 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
665 var_nodearraylist1 = var12;
666 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
667 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
668 var_listnode8 = var13;
669 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
670 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
671 var_listnode12 = var14;
672 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
673 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
674 var_listnode13 = var15;
675 var_pdocnode2 = var_nodearraylist1;
676 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
677 cltype = type_nullable_parser_nodes__ADoc.color;
678 idtype = type_nullable_parser_nodes__ADoc.id;
679 if(var_pdocnode2 == NULL) {
680 var16 = 1;
681 } else {
682 if(cltype >= var_pdocnode2->type->table_size) {
683 var16 = 0;
684 } else {
685 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
686 }
687 }
688 if (!var16) {
689 fprintf(stderr, "Runtime error: %s", "Assert failed");
690 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8576);
691 show_backtrace(1);
692 }
693 var_pvisibilitynode4 = var_nodearraylist2;
694 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
695 cltype18 = type_nullable_parser_nodes__AVisibility.color;
696 idtype19 = type_nullable_parser_nodes__AVisibility.id;
697 if(var_pvisibilitynode4 == NULL) {
698 var17 = 1;
699 } else {
700 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
701 var17 = 0;
702 } else {
703 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
704 }
705 }
706 if (!var17) {
707 fprintf(stderr, "Runtime error: %s", "Assert failed");
708 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8578);
709 show_backtrace(1);
710 }
711 var_pclasskindnode5 = var_nodearraylist3;
712 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
713 cltype21 = type_nullable_parser_nodes__AClasskind.color;
714 idtype22 = type_nullable_parser_nodes__AClasskind.id;
715 if(var_pclasskindnode5 == NULL) {
716 var20 = 1;
717 } else {
718 if(cltype21 >= var_pclasskindnode5->type->table_size) {
719 var20 = 0;
720 } else {
721 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
722 }
723 }
724 if (!var20) {
725 fprintf(stderr, "Runtime error: %s", "Assert failed");
726 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8580);
727 show_backtrace(1);
728 }
729 var_tclassidnode6 = var_nodearraylist7;
730 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
731 cltype24 = type_nullable_parser_nodes__TClassid.color;
732 idtype25 = type_nullable_parser_nodes__TClassid.id;
733 if(var_tclassidnode6 == NULL) {
734 var23 = 1;
735 } else {
736 if(cltype24 >= var_tclassidnode6->type->table_size) {
737 var23 = 0;
738 } else {
739 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
740 }
741 }
742 if (!var23) {
743 fprintf(stderr, "Runtime error: %s", "Assert failed");
744 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8582);
745 show_backtrace(1);
746 }
747 var_listnode7 = var_nodearraylist8;
748 /* <var_listnode7:nullable Object> isa Array[Object] */
749 cltype27 = type_array__Arraykernel__Object.color;
750 idtype28 = type_array__Arraykernel__Object.id;
751 if(var_listnode7 == NULL) {
752 var26 = 0;
753 } else {
754 if(cltype27 >= var_listnode7->type->table_size) {
755 var26 = 0;
756 } else {
757 var26 = var_listnode7->type->type_table[cltype27] == idtype28;
758 }
759 }
760 if (!var26) {
761 fprintf(stderr, "Runtime error: %s", "Assert failed");
762 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8584);
763 show_backtrace(1);
764 }
765 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction180>*/;
766 var_listnode8 = var29;
767 var_pexterncodeblocknode10 = var_nodearraylist9;
768 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
769 cltype31 = type_nullable_parser_nodes__AExternCodeBlock.color;
770 idtype32 = type_nullable_parser_nodes__AExternCodeBlock.id;
771 if(var_pexterncodeblocknode10 == NULL) {
772 var30 = 1;
773 } else {
774 if(cltype31 >= var_pexterncodeblocknode10->type->table_size) {
775 var30 = 0;
776 } else {
777 var30 = var_pexterncodeblocknode10->type->type_table[cltype31] == idtype32;
778 }
779 }
780 if (!var30) {
781 fprintf(stderr, "Runtime error: %s", "Assert failed");
782 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8587);
783 show_backtrace(1);
784 }
785 var_listnode11 = var_nodearraylist10;
786 /* <var_listnode11:nullable Object> isa Array[Object] */
787 cltype34 = type_array__Arraykernel__Object.color;
788 idtype35 = type_array__Arraykernel__Object.id;
789 if(var_listnode11 == NULL) {
790 var33 = 0;
791 } else {
792 if(cltype34 >= var_listnode11->type->table_size) {
793 var33 = 0;
794 } else {
795 var33 = var_listnode11->type->type_table[cltype34] == idtype35;
796 }
797 }
798 if (!var33) {
799 fprintf(stderr, "Runtime error: %s", "Assert failed");
800 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8589);
801 show_backtrace(1);
802 }
803 var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction180>*/;
804 var_listnode12 = var36;
805 var_tkwendnode14 = var_nodearraylist12;
806 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
807 cltype38 = type_nullable_parser_nodes__TKwend.color;
808 idtype39 = type_nullable_parser_nodes__TKwend.id;
809 if(var_tkwendnode14 == NULL) {
810 var37 = 1;
811 } else {
812 if(cltype38 >= var_tkwendnode14->type->table_size) {
813 var37 = 0;
814 } else {
815 var37 = var_tkwendnode14->type->type_table[cltype38] == idtype39;
816 }
817 }
818 if (!var37) {
819 fprintf(stderr, "Runtime error: %s", "Assert failed");
820 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8592);
821 show_backtrace(1);
822 }
823 var40 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
824 var41 = NULL;
825 var42 = NULL;
826 ((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, var_pexterncodeblocknode10, var_listnode12, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var40:AStdClassdef>*/;
827 var_pclassdefnode1 = var40;
828 var_node_list = var_pclassdefnode1;
829 var43 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction180> */
830 var44 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var43) /* go_to on <var_p:Parser>*/;
831 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var44, var_node_list) /* push on <var_p:Parser>*/;
832 RET_LABEL:;
833 }
834 /* method parser#ReduceAction180#action for (self: Object, Parser) */
835 void VIRTUAL_parser__ReduceAction180__action(val* self, val* p0) {
836 parser__ReduceAction180__action(self, p0);
837 RET_LABEL:;
838 }
839 /* method parser#ReduceAction182#action for (self: ReduceAction182, Parser) */
840 void parser__ReduceAction182__action(val* self, val* p0) {
841 val* var_p /* var p: Parser */;
842 val* var /* : null */;
843 val* var_node_list /* var node_list: nullable Object */;
844 val* var1 /* : nullable Object */;
845 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
846 val* var2 /* : nullable Object */;
847 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
848 val* var3 /* : nullable Object */;
849 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
850 val* var4 /* : nullable Object */;
851 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
852 val* var5 /* : nullable Object */;
853 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
854 val* var6 /* : nullable Object */;
855 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
856 val* var7 /* : nullable Object */;
857 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
858 val* var8 /* : nullable Object */;
859 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
860 val* var9 /* : nullable Object */;
861 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
862 val* var10 /* : nullable Object */;
863 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
864 val* var11 /* : nullable Object */;
865 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
866 val* var12 /* : nullable Object */;
867 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
868 val* var13 /* : Array[Object] */;
869 val* var_listnode8 /* var listnode8: Array[Object] */;
870 val* var14 /* : Array[Object] */;
871 val* var_listnode12 /* var listnode12: Array[Object] */;
872 val* var15 /* : Array[Object] */;
873 val* var_listnode13 /* var listnode13: Array[Object] */;
874 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
875 short int var16 /* : Bool */;
876 int cltype;
877 int idtype;
878 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
879 short int var17 /* : Bool */;
880 int cltype18;
881 int idtype19;
882 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
883 short int var20 /* : Bool */;
884 int cltype21;
885 int idtype22;
886 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
887 short int var23 /* : Bool */;
888 int cltype24;
889 int idtype25;
890 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
891 short int var26 /* : Bool */;
892 int cltype27;
893 int idtype28;
894 val* var_listnode7 /* var listnode7: nullable Object */;
895 short int var29 /* : Bool */;
896 int cltype30;
897 int idtype31;
898 val* var32 /* : Array[Object] */;
899 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
900 short int var33 /* : Bool */;
901 int cltype34;
902 int idtype35;
903 val* var_listnode11 /* var listnode11: nullable Object */;
904 short int var36 /* : Bool */;
905 int cltype37;
906 int idtype38;
907 val* var39 /* : Array[Object] */;
908 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
909 short int var40 /* : Bool */;
910 int cltype41;
911 int idtype42;
912 val* var43 /* : AStdClassdef */;
913 val* var44 /* : null */;
914 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
915 long var45 /* : Int */;
916 long var46 /* : Int */;
917 var_p = p0;
918 var = NULL;
919 var_node_list = var;
920 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
921 var_nodearraylist12 = var1;
922 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
923 var_nodearraylist11 = var2;
924 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
925 var_nodearraylist10 = var3;
926 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
927 var_nodearraylist9 = var4;
928 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
929 var_nodearraylist8 = var5;
930 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
931 var_nodearraylist7 = var6;
932 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
933 var_nodearraylist6 = var7;
934 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
935 var_nodearraylist5 = var8;
936 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
937 var_nodearraylist4 = var9;
938 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
939 var_nodearraylist3 = var10;
940 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
941 var_nodearraylist2 = var11;
942 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
943 var_nodearraylist1 = var12;
944 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
945 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
946 var_listnode8 = var13;
947 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
948 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
949 var_listnode12 = var14;
950 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
951 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
952 var_listnode13 = var15;
953 var_pdocnode2 = var_nodearraylist1;
954 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
955 cltype = type_nullable_parser_nodes__ADoc.color;
956 idtype = type_nullable_parser_nodes__ADoc.id;
957 if(var_pdocnode2 == NULL) {
958 var16 = 1;
959 } else {
960 if(cltype >= var_pdocnode2->type->table_size) {
961 var16 = 0;
962 } else {
963 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
964 }
965 }
966 if (!var16) {
967 fprintf(stderr, "Runtime error: %s", "Assert failed");
968 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8631);
969 show_backtrace(1);
970 }
971 var_tkwredefnode3 = var_nodearraylist2;
972 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
973 cltype18 = type_nullable_parser_nodes__TKwredef.color;
974 idtype19 = type_nullable_parser_nodes__TKwredef.id;
975 if(var_tkwredefnode3 == NULL) {
976 var17 = 1;
977 } else {
978 if(cltype18 >= var_tkwredefnode3->type->table_size) {
979 var17 = 0;
980 } else {
981 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
982 }
983 }
984 if (!var17) {
985 fprintf(stderr, "Runtime error: %s", "Assert failed");
986 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8633);
987 show_backtrace(1);
988 }
989 var_pvisibilitynode4 = var_nodearraylist3;
990 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
991 cltype21 = type_nullable_parser_nodes__AVisibility.color;
992 idtype22 = type_nullable_parser_nodes__AVisibility.id;
993 if(var_pvisibilitynode4 == NULL) {
994 var20 = 1;
995 } else {
996 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
997 var20 = 0;
998 } else {
999 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
1000 }
1001 }
1002 if (!var20) {
1003 fprintf(stderr, "Runtime error: %s", "Assert failed");
1004 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8635);
1005 show_backtrace(1);
1006 }
1007 var_pclasskindnode5 = var_nodearraylist4;
1008 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1009 cltype24 = type_nullable_parser_nodes__AClasskind.color;
1010 idtype25 = type_nullable_parser_nodes__AClasskind.id;
1011 if(var_pclasskindnode5 == NULL) {
1012 var23 = 1;
1013 } else {
1014 if(cltype24 >= var_pclasskindnode5->type->table_size) {
1015 var23 = 0;
1016 } else {
1017 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
1018 }
1019 }
1020 if (!var23) {
1021 fprintf(stderr, "Runtime error: %s", "Assert failed");
1022 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8637);
1023 show_backtrace(1);
1024 }
1025 var_tclassidnode6 = var_nodearraylist7;
1026 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1027 cltype27 = type_nullable_parser_nodes__TClassid.color;
1028 idtype28 = type_nullable_parser_nodes__TClassid.id;
1029 if(var_tclassidnode6 == NULL) {
1030 var26 = 1;
1031 } else {
1032 if(cltype27 >= var_tclassidnode6->type->table_size) {
1033 var26 = 0;
1034 } else {
1035 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
1036 }
1037 }
1038 if (!var26) {
1039 fprintf(stderr, "Runtime error: %s", "Assert failed");
1040 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8639);
1041 show_backtrace(1);
1042 }
1043 var_listnode7 = var_nodearraylist8;
1044 /* <var_listnode7:nullable Object> isa Array[Object] */
1045 cltype30 = type_array__Arraykernel__Object.color;
1046 idtype31 = type_array__Arraykernel__Object.id;
1047 if(var_listnode7 == NULL) {
1048 var29 = 0;
1049 } else {
1050 if(cltype30 >= var_listnode7->type->table_size) {
1051 var29 = 0;
1052 } else {
1053 var29 = var_listnode7->type->type_table[cltype30] == idtype31;
1054 }
1055 }
1056 if (!var29) {
1057 fprintf(stderr, "Runtime error: %s", "Assert failed");
1058 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8641);
1059 show_backtrace(1);
1060 }
1061 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction182>*/;
1062 var_listnode8 = var32;
1063 var_pexterncodeblocknode10 = var_nodearraylist9;
1064 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
1065 cltype34 = type_nullable_parser_nodes__AExternCodeBlock.color;
1066 idtype35 = type_nullable_parser_nodes__AExternCodeBlock.id;
1067 if(var_pexterncodeblocknode10 == NULL) {
1068 var33 = 1;
1069 } else {
1070 if(cltype34 >= var_pexterncodeblocknode10->type->table_size) {
1071 var33 = 0;
1072 } else {
1073 var33 = var_pexterncodeblocknode10->type->type_table[cltype34] == idtype35;
1074 }
1075 }
1076 if (!var33) {
1077 fprintf(stderr, "Runtime error: %s", "Assert failed");
1078 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8644);
1079 show_backtrace(1);
1080 }
1081 var_listnode11 = var_nodearraylist10;
1082 /* <var_listnode11:nullable Object> isa Array[Object] */
1083 cltype37 = type_array__Arraykernel__Object.color;
1084 idtype38 = type_array__Arraykernel__Object.id;
1085 if(var_listnode11 == NULL) {
1086 var36 = 0;
1087 } else {
1088 if(cltype37 >= var_listnode11->type->table_size) {
1089 var36 = 0;
1090 } else {
1091 var36 = var_listnode11->type->type_table[cltype37] == idtype38;
1092 }
1093 }
1094 if (!var36) {
1095 fprintf(stderr, "Runtime error: %s", "Assert failed");
1096 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8646);
1097 show_backtrace(1);
1098 }
1099 var39 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction182>*/;
1100 var_listnode12 = var39;
1101 var_tkwendnode14 = var_nodearraylist12;
1102 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
1103 cltype41 = type_nullable_parser_nodes__TKwend.color;
1104 idtype42 = type_nullable_parser_nodes__TKwend.id;
1105 if(var_tkwendnode14 == NULL) {
1106 var40 = 1;
1107 } else {
1108 if(cltype41 >= var_tkwendnode14->type->table_size) {
1109 var40 = 0;
1110 } else {
1111 var40 = var_tkwendnode14->type->type_table[cltype41] == idtype42;
1112 }
1113 }
1114 if (!var40) {
1115 fprintf(stderr, "Runtime error: %s", "Assert failed");
1116 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8649);
1117 show_backtrace(1);
1118 }
1119 var43 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1120 var44 = NULL;
1121 ((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, var_pexterncodeblocknode10, var_listnode12, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var43:AStdClassdef>*/;
1122 var_pclassdefnode1 = var43;
1123 var_node_list = var_pclassdefnode1;
1124 var45 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction182> */
1125 var46 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var45) /* go_to on <var_p:Parser>*/;
1126 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var46, var_node_list) /* push on <var_p:Parser>*/;
1127 RET_LABEL:;
1128 }
1129 /* method parser#ReduceAction182#action for (self: Object, Parser) */
1130 void VIRTUAL_parser__ReduceAction182__action(val* self, val* p0) {
1131 parser__ReduceAction182__action(self, p0);
1132 RET_LABEL:;
1133 }
1134 /* method parser#ReduceAction183#action for (self: ReduceAction183, Parser) */
1135 void parser__ReduceAction183__action(val* self, val* p0) {
1136 val* var_p /* var p: Parser */;
1137 val* var /* : null */;
1138 val* var_node_list /* var node_list: nullable Object */;
1139 val* var1 /* : nullable Object */;
1140 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
1141 val* var2 /* : nullable Object */;
1142 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
1143 val* var3 /* : nullable Object */;
1144 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
1145 val* var4 /* : nullable Object */;
1146 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1147 val* var5 /* : nullable Object */;
1148 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1149 val* var6 /* : nullable Object */;
1150 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1151 val* var7 /* : nullable Object */;
1152 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1153 val* var8 /* : nullable Object */;
1154 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1155 val* var9 /* : nullable Object */;
1156 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1157 val* var10 /* : nullable Object */;
1158 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1159 val* var11 /* : nullable Object */;
1160 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1161 val* var12 /* : nullable Object */;
1162 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1163 val* var13 /* : nullable Object */;
1164 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1165 val* var14 /* : Array[Object] */;
1166 val* var_listnode8 /* var listnode8: Array[Object] */;
1167 val* var15 /* : Array[Object] */;
1168 val* var_listnode12 /* var listnode12: Array[Object] */;
1169 val* var16 /* : Array[Object] */;
1170 val* var_listnode13 /* var listnode13: Array[Object] */;
1171 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1172 short int var17 /* : Bool */;
1173 int cltype;
1174 int idtype;
1175 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
1176 short int var18 /* : Bool */;
1177 int cltype19;
1178 int idtype20;
1179 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1180 short int var21 /* : Bool */;
1181 int cltype22;
1182 int idtype23;
1183 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1184 short int var24 /* : Bool */;
1185 int cltype25;
1186 int idtype26;
1187 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1188 short int var27 /* : Bool */;
1189 int cltype28;
1190 int idtype29;
1191 val* var_listnode7 /* var listnode7: nullable Object */;
1192 short int var30 /* : Bool */;
1193 int cltype31;
1194 int idtype32;
1195 val* var33 /* : Array[Object] */;
1196 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
1197 short int var34 /* : Bool */;
1198 int cltype35;
1199 int idtype36;
1200 val* var_listnode11 /* var listnode11: nullable Object */;
1201 short int var37 /* : Bool */;
1202 int cltype38;
1203 int idtype39;
1204 val* var40 /* : Array[Object] */;
1205 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
1206 short int var41 /* : Bool */;
1207 int cltype42;
1208 int idtype43;
1209 val* var44 /* : AStdClassdef */;
1210 val* var45 /* : null */;
1211 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1212 long var46 /* : Int */;
1213 long var47 /* : Int */;
1214 var_p = p0;
1215 var = NULL;
1216 var_node_list = var;
1217 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1218 var_nodearraylist13 = var1;
1219 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1220 var_nodearraylist12 = var2;
1221 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1222 var_nodearraylist11 = var3;
1223 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1224 var_nodearraylist10 = var4;
1225 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1226 var_nodearraylist9 = var5;
1227 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1228 var_nodearraylist8 = var6;
1229 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1230 var_nodearraylist7 = var7;
1231 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1232 var_nodearraylist6 = var8;
1233 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1234 var_nodearraylist5 = var9;
1235 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1236 var_nodearraylist4 = var10;
1237 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1238 var_nodearraylist3 = var11;
1239 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1240 var_nodearraylist2 = var12;
1241 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1242 var_nodearraylist1 = var13;
1243 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
1244 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
1245 var_listnode8 = var14;
1246 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
1247 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
1248 var_listnode12 = var15;
1249 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
1250 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
1251 var_listnode13 = var16;
1252 var_pdocnode2 = var_nodearraylist1;
1253 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1254 cltype = type_nullable_parser_nodes__ADoc.color;
1255 idtype = type_nullable_parser_nodes__ADoc.id;
1256 if(var_pdocnode2 == NULL) {
1257 var17 = 1;
1258 } else {
1259 if(cltype >= var_pdocnode2->type->table_size) {
1260 var17 = 0;
1261 } else {
1262 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
1263 }
1264 }
1265 if (!var17) {
1266 fprintf(stderr, "Runtime error: %s", "Assert failed");
1267 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8689);
1268 show_backtrace(1);
1269 }
1270 var_tkwredefnode3 = var_nodearraylist2;
1271 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1272 cltype19 = type_nullable_parser_nodes__TKwredef.color;
1273 idtype20 = type_nullable_parser_nodes__TKwredef.id;
1274 if(var_tkwredefnode3 == NULL) {
1275 var18 = 1;
1276 } else {
1277 if(cltype19 >= var_tkwredefnode3->type->table_size) {
1278 var18 = 0;
1279 } else {
1280 var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20;
1281 }
1282 }
1283 if (!var18) {
1284 fprintf(stderr, "Runtime error: %s", "Assert failed");
1285 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8691);
1286 show_backtrace(1);
1287 }
1288 var_pvisibilitynode4 = var_nodearraylist3;
1289 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1290 cltype22 = type_nullable_parser_nodes__AVisibility.color;
1291 idtype23 = type_nullable_parser_nodes__AVisibility.id;
1292 if(var_pvisibilitynode4 == NULL) {
1293 var21 = 1;
1294 } else {
1295 if(cltype22 >= var_pvisibilitynode4->type->table_size) {
1296 var21 = 0;
1297 } else {
1298 var21 = var_pvisibilitynode4->type->type_table[cltype22] == idtype23;
1299 }
1300 }
1301 if (!var21) {
1302 fprintf(stderr, "Runtime error: %s", "Assert failed");
1303 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8693);
1304 show_backtrace(1);
1305 }
1306 var_pclasskindnode5 = var_nodearraylist4;
1307 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1308 cltype25 = type_nullable_parser_nodes__AClasskind.color;
1309 idtype26 = type_nullable_parser_nodes__AClasskind.id;
1310 if(var_pclasskindnode5 == NULL) {
1311 var24 = 1;
1312 } else {
1313 if(cltype25 >= var_pclasskindnode5->type->table_size) {
1314 var24 = 0;
1315 } else {
1316 var24 = var_pclasskindnode5->type->type_table[cltype25] == idtype26;
1317 }
1318 }
1319 if (!var24) {
1320 fprintf(stderr, "Runtime error: %s", "Assert failed");
1321 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8695);
1322 show_backtrace(1);
1323 }
1324 var_tclassidnode6 = var_nodearraylist8;
1325 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1326 cltype28 = type_nullable_parser_nodes__TClassid.color;
1327 idtype29 = type_nullable_parser_nodes__TClassid.id;
1328 if(var_tclassidnode6 == NULL) {
1329 var27 = 1;
1330 } else {
1331 if(cltype28 >= var_tclassidnode6->type->table_size) {
1332 var27 = 0;
1333 } else {
1334 var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29;
1335 }
1336 }
1337 if (!var27) {
1338 fprintf(stderr, "Runtime error: %s", "Assert failed");
1339 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8697);
1340 show_backtrace(1);
1341 }
1342 var_listnode7 = var_nodearraylist9;
1343 /* <var_listnode7:nullable Object> isa Array[Object] */
1344 cltype31 = type_array__Arraykernel__Object.color;
1345 idtype32 = type_array__Arraykernel__Object.id;
1346 if(var_listnode7 == NULL) {
1347 var30 = 0;
1348 } else {
1349 if(cltype31 >= var_listnode7->type->table_size) {
1350 var30 = 0;
1351 } else {
1352 var30 = var_listnode7->type->type_table[cltype31] == idtype32;
1353 }
1354 }
1355 if (!var30) {
1356 fprintf(stderr, "Runtime error: %s", "Assert failed");
1357 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8699);
1358 show_backtrace(1);
1359 }
1360 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction183>*/;
1361 var_listnode8 = var33;
1362 var_pexterncodeblocknode10 = var_nodearraylist10;
1363 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
1364 cltype35 = type_nullable_parser_nodes__AExternCodeBlock.color;
1365 idtype36 = type_nullable_parser_nodes__AExternCodeBlock.id;
1366 if(var_pexterncodeblocknode10 == NULL) {
1367 var34 = 1;
1368 } else {
1369 if(cltype35 >= var_pexterncodeblocknode10->type->table_size) {
1370 var34 = 0;
1371 } else {
1372 var34 = var_pexterncodeblocknode10->type->type_table[cltype35] == idtype36;
1373 }
1374 }
1375 if (!var34) {
1376 fprintf(stderr, "Runtime error: %s", "Assert failed");
1377 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8702);
1378 show_backtrace(1);
1379 }
1380 var_listnode11 = var_nodearraylist11;
1381 /* <var_listnode11:nullable Object> isa Array[Object] */
1382 cltype38 = type_array__Arraykernel__Object.color;
1383 idtype39 = type_array__Arraykernel__Object.id;
1384 if(var_listnode11 == NULL) {
1385 var37 = 0;
1386 } else {
1387 if(cltype38 >= var_listnode11->type->table_size) {
1388 var37 = 0;
1389 } else {
1390 var37 = var_listnode11->type->type_table[cltype38] == idtype39;
1391 }
1392 }
1393 if (!var37) {
1394 fprintf(stderr, "Runtime error: %s", "Assert failed");
1395 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8704);
1396 show_backtrace(1);
1397 }
1398 var40 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction183>*/;
1399 var_listnode12 = var40;
1400 var_tkwendnode14 = var_nodearraylist13;
1401 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
1402 cltype42 = type_nullable_parser_nodes__TKwend.color;
1403 idtype43 = type_nullable_parser_nodes__TKwend.id;
1404 if(var_tkwendnode14 == NULL) {
1405 var41 = 1;
1406 } else {
1407 if(cltype42 >= var_tkwendnode14->type->table_size) {
1408 var41 = 0;
1409 } else {
1410 var41 = var_tkwendnode14->type->type_table[cltype42] == idtype43;
1411 }
1412 }
1413 if (!var41) {
1414 fprintf(stderr, "Runtime error: %s", "Assert failed");
1415 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8707);
1416 show_backtrace(1);
1417 }
1418 var44 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1419 var45 = NULL;
1420 ((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, var_pexterncodeblocknode10, var_listnode12, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var44:AStdClassdef>*/;
1421 var_pclassdefnode1 = var44;
1422 var_node_list = var_pclassdefnode1;
1423 var46 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction183> */
1424 var47 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var46) /* go_to on <var_p:Parser>*/;
1425 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var47, var_node_list) /* push on <var_p:Parser>*/;
1426 RET_LABEL:;
1427 }
1428 /* method parser#ReduceAction183#action for (self: Object, Parser) */
1429 void VIRTUAL_parser__ReduceAction183__action(val* self, val* p0) {
1430 parser__ReduceAction183__action(self, p0);
1431 RET_LABEL:;
1432 }
1433 /* method parser#ReduceAction185#action for (self: ReduceAction185, Parser) */
1434 void parser__ReduceAction185__action(val* self, val* p0) {
1435 val* var_p /* var p: Parser */;
1436 val* var /* : null */;
1437 val* var_node_list /* var node_list: nullable Object */;
1438 val* var1 /* : nullable Object */;
1439 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1440 val* var2 /* : nullable Object */;
1441 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1442 val* var3 /* : nullable Object */;
1443 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1444 val* var4 /* : nullable Object */;
1445 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1446 val* var5 /* : nullable Object */;
1447 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1448 val* var6 /* : nullable Object */;
1449 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1450 val* var7 /* : nullable Object */;
1451 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1452 val* var8 /* : nullable Object */;
1453 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1454 val* var9 /* : nullable Object */;
1455 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1456 val* var10 /* : nullable Object */;
1457 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1458 val* var11 /* : Array[Object] */;
1459 val* var_listnode7 /* var listnode7: Array[Object] */;
1460 val* var12 /* : Array[Object] */;
1461 val* var_listnode16 /* var listnode16: Array[Object] */;
1462 val* var13 /* : Array[Object] */;
1463 val* var_listnode17 /* var listnode17: Array[Object] */;
1464 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1465 short int var14 /* : Bool */;
1466 int cltype;
1467 int idtype;
1468 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1469 short int var15 /* : Bool */;
1470 int cltype16;
1471 int idtype17;
1472 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1473 short int var18 /* : Bool */;
1474 int cltype19;
1475 int idtype20;
1476 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1477 short int var21 /* : Bool */;
1478 int cltype22;
1479 int idtype23;
1480 val* var24 /* : Array[Object] */;
1481 val* var_listnode12 /* var listnode12: Array[Object] */;
1482 val* var_listnode11 /* var listnode11: nullable Object */;
1483 short int var25 /* : Bool */;
1484 int cltype26;
1485 int idtype27;
1486 val* var28 /* : Array[Object] */;
1487 val* var29 /* : AAnnotations */;
1488 val* var30 /* : null */;
1489 val* var31 /* : null */;
1490 val* var32 /* : null */;
1491 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
1492 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
1493 short int var33 /* : Bool */;
1494 int cltype34;
1495 int idtype35;
1496 val* var_listnode15 /* var listnode15: nullable Object */;
1497 short int var36 /* : Bool */;
1498 int cltype37;
1499 int idtype38;
1500 val* var39 /* : Array[Object] */;
1501 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
1502 short int var40 /* : Bool */;
1503 int cltype41;
1504 int idtype42;
1505 val* var43 /* : AStdClassdef */;
1506 val* var44 /* : null */;
1507 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1508 long var45 /* : Int */;
1509 long var46 /* : Int */;
1510 var_p = p0;
1511 var = NULL;
1512 var_node_list = var;
1513 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1514 var_nodearraylist10 = var1;
1515 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1516 var_nodearraylist9 = var2;
1517 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1518 var_nodearraylist8 = var3;
1519 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1520 var_nodearraylist7 = var4;
1521 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1522 var_nodearraylist6 = var5;
1523 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1524 var_nodearraylist5 = var6;
1525 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1526 var_nodearraylist4 = var7;
1527 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1528 var_nodearraylist3 = var8;
1529 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1530 var_nodearraylist2 = var9;
1531 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1532 var_nodearraylist1 = var10;
1533 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
1534 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
1535 var_listnode7 = var11;
1536 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
1537 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
1538 var_listnode16 = var12;
1539 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
1540 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
1541 var_listnode17 = var13;
1542 var_pdocnode2 = var_nodearraylist1;
1543 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1544 cltype = type_nullable_parser_nodes__ADoc.color;
1545 idtype = type_nullable_parser_nodes__ADoc.id;
1546 if(var_pdocnode2 == NULL) {
1547 var14 = 1;
1548 } else {
1549 if(cltype >= var_pdocnode2->type->table_size) {
1550 var14 = 0;
1551 } else {
1552 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
1553 }
1554 }
1555 if (!var14) {
1556 fprintf(stderr, "Runtime error: %s", "Assert failed");
1557 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8744);
1558 show_backtrace(1);
1559 }
1560 var_pvisibilitynode4 = var_nodearraylist2;
1561 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1562 cltype16 = type_nullable_parser_nodes__AVisibility.color;
1563 idtype17 = type_nullable_parser_nodes__AVisibility.id;
1564 if(var_pvisibilitynode4 == NULL) {
1565 var15 = 1;
1566 } else {
1567 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
1568 var15 = 0;
1569 } else {
1570 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
1571 }
1572 }
1573 if (!var15) {
1574 fprintf(stderr, "Runtime error: %s", "Assert failed");
1575 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8746);
1576 show_backtrace(1);
1577 }
1578 var_pclasskindnode5 = var_nodearraylist3;
1579 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1580 cltype19 = type_nullable_parser_nodes__AClasskind.color;
1581 idtype20 = type_nullable_parser_nodes__AClasskind.id;
1582 if(var_pclasskindnode5 == NULL) {
1583 var18 = 1;
1584 } else {
1585 if(cltype19 >= var_pclasskindnode5->type->table_size) {
1586 var18 = 0;
1587 } else {
1588 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
1589 }
1590 }
1591 if (!var18) {
1592 fprintf(stderr, "Runtime error: %s", "Assert failed");
1593 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8748);
1594 show_backtrace(1);
1595 }
1596 var_tclassidnode6 = var_nodearraylist5;
1597 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1598 cltype22 = type_nullable_parser_nodes__TClassid.color;
1599 idtype23 = type_nullable_parser_nodes__TClassid.id;
1600 if(var_tclassidnode6 == NULL) {
1601 var21 = 1;
1602 } else {
1603 if(cltype22 >= var_tclassidnode6->type->table_size) {
1604 var21 = 0;
1605 } else {
1606 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
1607 }
1608 }
1609 if (!var21) {
1610 fprintf(stderr, "Runtime error: %s", "Assert failed");
1611 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8750);
1612 show_backtrace(1);
1613 }
1614 var24 = NEW_array__Array(&type_array__Arraykernel__Object);
1615 ((void (*)(val*))(var24->class->vft[COLOR_array__Array__init]))(var24) /* init on <var24:Array[Object]>*/;
1616 var_listnode12 = var24;
1617 var_listnode11 = var_nodearraylist6;
1618 /* <var_listnode11:nullable Object> isa Array[Object] */
1619 cltype26 = type_array__Arraykernel__Object.color;
1620 idtype27 = type_array__Arraykernel__Object.id;
1621 if(var_listnode11 == NULL) {
1622 var25 = 0;
1623 } else {
1624 if(cltype26 >= var_listnode11->type->table_size) {
1625 var25 = 0;
1626 } else {
1627 var25 = var_listnode11->type->type_table[cltype26] == idtype27;
1628 }
1629 }
1630 if (!var25) {
1631 fprintf(stderr, "Runtime error: %s", "Assert failed");
1632 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8753);
1633 show_backtrace(1);
1634 }
1635 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction185>*/;
1636 var_listnode12 = var28;
1637 var29 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
1638 var30 = NULL;
1639 var31 = NULL;
1640 var32 = NULL;
1641 ((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>*/;
1642 var_pannotationsnode8 = var29;
1643 var_pexterncodeblocknode14 = var_nodearraylist7;
1644 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
1645 cltype34 = type_nullable_parser_nodes__AExternCodeBlock.color;
1646 idtype35 = type_nullable_parser_nodes__AExternCodeBlock.id;
1647 if(var_pexterncodeblocknode14 == NULL) {
1648 var33 = 1;
1649 } else {
1650 if(cltype34 >= var_pexterncodeblocknode14->type->table_size) {
1651 var33 = 0;
1652 } else {
1653 var33 = var_pexterncodeblocknode14->type->type_table[cltype34] == idtype35;
1654 }
1655 }
1656 if (!var33) {
1657 fprintf(stderr, "Runtime error: %s", "Assert failed");
1658 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8762);
1659 show_backtrace(1);
1660 }
1661 var_listnode15 = var_nodearraylist8;
1662 /* <var_listnode15:nullable Object> isa Array[Object] */
1663 cltype37 = type_array__Arraykernel__Object.color;
1664 idtype38 = type_array__Arraykernel__Object.id;
1665 if(var_listnode15 == NULL) {
1666 var36 = 0;
1667 } else {
1668 if(cltype37 >= var_listnode15->type->table_size) {
1669 var36 = 0;
1670 } else {
1671 var36 = var_listnode15->type->type_table[cltype37] == idtype38;
1672 }
1673 }
1674 if (!var36) {
1675 fprintf(stderr, "Runtime error: %s", "Assert failed");
1676 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8764);
1677 show_backtrace(1);
1678 }
1679 var39 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction185>*/;
1680 var_listnode16 = var39;
1681 var_tkwendnode18 = var_nodearraylist10;
1682 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
1683 cltype41 = type_nullable_parser_nodes__TKwend.color;
1684 idtype42 = type_nullable_parser_nodes__TKwend.id;
1685 if(var_tkwendnode18 == NULL) {
1686 var40 = 1;
1687 } else {
1688 if(cltype41 >= var_tkwendnode18->type->table_size) {
1689 var40 = 0;
1690 } else {
1691 var40 = var_tkwendnode18->type->type_table[cltype41] == idtype42;
1692 }
1693 }
1694 if (!var40) {
1695 fprintf(stderr, "Runtime error: %s", "Assert failed");
1696 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8767);
1697 show_backtrace(1);
1698 }
1699 var43 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1700 var44 = NULL;
1701 ((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_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var43:AStdClassdef>*/;
1702 var_pclassdefnode1 = var43;
1703 var_node_list = var_pclassdefnode1;
1704 var45 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction185> */
1705 var46 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var45) /* go_to on <var_p:Parser>*/;
1706 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var46, var_node_list) /* push on <var_p:Parser>*/;
1707 RET_LABEL:;
1708 }
1709 /* method parser#ReduceAction185#action for (self: Object, Parser) */
1710 void VIRTUAL_parser__ReduceAction185__action(val* self, val* p0) {
1711 parser__ReduceAction185__action(self, p0);
1712 RET_LABEL:;
1713 }
1714 /* method parser#ReduceAction186#action for (self: ReduceAction186, Parser) */
1715 void parser__ReduceAction186__action(val* self, val* p0) {
1716 val* var_p /* var p: Parser */;
1717 val* var /* : null */;
1718 val* var_node_list /* var node_list: nullable Object */;
1719 val* var1 /* : nullable Object */;
1720 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
1721 val* var2 /* : nullable Object */;
1722 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1723 val* var3 /* : nullable Object */;
1724 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1725 val* var4 /* : nullable Object */;
1726 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1727 val* var5 /* : nullable Object */;
1728 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1729 val* var6 /* : nullable Object */;
1730 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1731 val* var7 /* : nullable Object */;
1732 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1733 val* var8 /* : nullable Object */;
1734 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1735 val* var9 /* : nullable Object */;
1736 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1737 val* var10 /* : nullable Object */;
1738 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1739 val* var11 /* : nullable Object */;
1740 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1741 val* var12 /* : Array[Object] */;
1742 val* var_listnode7 /* var listnode7: Array[Object] */;
1743 val* var13 /* : Array[Object] */;
1744 val* var_listnode16 /* var listnode16: Array[Object] */;
1745 val* var14 /* : Array[Object] */;
1746 val* var_listnode17 /* var listnode17: Array[Object] */;
1747 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1748 short int var15 /* : Bool */;
1749 int cltype;
1750 int idtype;
1751 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
1752 short int var16 /* : Bool */;
1753 int cltype17;
1754 int idtype18;
1755 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1756 short int var19 /* : Bool */;
1757 int cltype20;
1758 int idtype21;
1759 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1760 short int var22 /* : Bool */;
1761 int cltype23;
1762 int idtype24;
1763 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1764 short int var25 /* : Bool */;
1765 int cltype26;
1766 int idtype27;
1767 val* var28 /* : Array[Object] */;
1768 val* var_listnode12 /* var listnode12: Array[Object] */;
1769 val* var_listnode11 /* var listnode11: nullable Object */;
1770 short int var29 /* : Bool */;
1771 int cltype30;
1772 int idtype31;
1773 val* var32 /* : Array[Object] */;
1774 val* var33 /* : AAnnotations */;
1775 val* var34 /* : null */;
1776 val* var35 /* : null */;
1777 val* var36 /* : null */;
1778 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
1779 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
1780 short int var37 /* : Bool */;
1781 int cltype38;
1782 int idtype39;
1783 val* var_listnode15 /* var listnode15: nullable Object */;
1784 short int var40 /* : Bool */;
1785 int cltype41;
1786 int idtype42;
1787 val* var43 /* : Array[Object] */;
1788 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
1789 short int var44 /* : Bool */;
1790 int cltype45;
1791 int idtype46;
1792 val* var47 /* : AStdClassdef */;
1793 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1794 long var48 /* : Int */;
1795 long var49 /* : Int */;
1796 var_p = p0;
1797 var = NULL;
1798 var_node_list = var;
1799 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1800 var_nodearraylist11 = var1;
1801 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1802 var_nodearraylist10 = var2;
1803 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1804 var_nodearraylist9 = var3;
1805 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1806 var_nodearraylist8 = var4;
1807 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1808 var_nodearraylist7 = var5;
1809 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1810 var_nodearraylist6 = var6;
1811 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1812 var_nodearraylist5 = var7;
1813 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1814 var_nodearraylist4 = var8;
1815 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1816 var_nodearraylist3 = var9;
1817 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1818 var_nodearraylist2 = var10;
1819 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1820 var_nodearraylist1 = var11;
1821 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
1822 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
1823 var_listnode7 = var12;
1824 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
1825 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
1826 var_listnode16 = var13;
1827 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
1828 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
1829 var_listnode17 = var14;
1830 var_pdocnode2 = var_nodearraylist1;
1831 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1832 cltype = type_nullable_parser_nodes__ADoc.color;
1833 idtype = type_nullable_parser_nodes__ADoc.id;
1834 if(var_pdocnode2 == NULL) {
1835 var15 = 1;
1836 } else {
1837 if(cltype >= var_pdocnode2->type->table_size) {
1838 var15 = 0;
1839 } else {
1840 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
1841 }
1842 }
1843 if (!var15) {
1844 fprintf(stderr, "Runtime error: %s", "Assert failed");
1845 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8805);
1846 show_backtrace(1);
1847 }
1848 var_tkwredefnode3 = var_nodearraylist2;
1849 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1850 cltype17 = type_nullable_parser_nodes__TKwredef.color;
1851 idtype18 = type_nullable_parser_nodes__TKwredef.id;
1852 if(var_tkwredefnode3 == NULL) {
1853 var16 = 1;
1854 } else {
1855 if(cltype17 >= var_tkwredefnode3->type->table_size) {
1856 var16 = 0;
1857 } else {
1858 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
1859 }
1860 }
1861 if (!var16) {
1862 fprintf(stderr, "Runtime error: %s", "Assert failed");
1863 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8807);
1864 show_backtrace(1);
1865 }
1866 var_pvisibilitynode4 = var_nodearraylist3;
1867 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1868 cltype20 = type_nullable_parser_nodes__AVisibility.color;
1869 idtype21 = type_nullable_parser_nodes__AVisibility.id;
1870 if(var_pvisibilitynode4 == NULL) {
1871 var19 = 1;
1872 } else {
1873 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
1874 var19 = 0;
1875 } else {
1876 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
1877 }
1878 }
1879 if (!var19) {
1880 fprintf(stderr, "Runtime error: %s", "Assert failed");
1881 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8809);
1882 show_backtrace(1);
1883 }
1884 var_pclasskindnode5 = var_nodearraylist4;
1885 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1886 cltype23 = type_nullable_parser_nodes__AClasskind.color;
1887 idtype24 = type_nullable_parser_nodes__AClasskind.id;
1888 if(var_pclasskindnode5 == NULL) {
1889 var22 = 1;
1890 } else {
1891 if(cltype23 >= var_pclasskindnode5->type->table_size) {
1892 var22 = 0;
1893 } else {
1894 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
1895 }
1896 }
1897 if (!var22) {
1898 fprintf(stderr, "Runtime error: %s", "Assert failed");
1899 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8811);
1900 show_backtrace(1);
1901 }
1902 var_tclassidnode6 = var_nodearraylist6;
1903 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1904 cltype26 = type_nullable_parser_nodes__TClassid.color;
1905 idtype27 = type_nullable_parser_nodes__TClassid.id;
1906 if(var_tclassidnode6 == NULL) {
1907 var25 = 1;
1908 } else {
1909 if(cltype26 >= var_tclassidnode6->type->table_size) {
1910 var25 = 0;
1911 } else {
1912 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
1913 }
1914 }
1915 if (!var25) {
1916 fprintf(stderr, "Runtime error: %s", "Assert failed");
1917 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8813);
1918 show_backtrace(1);
1919 }
1920 var28 = NEW_array__Array(&type_array__Arraykernel__Object);
1921 ((void (*)(val*))(var28->class->vft[COLOR_array__Array__init]))(var28) /* init on <var28:Array[Object]>*/;
1922 var_listnode12 = var28;
1923 var_listnode11 = var_nodearraylist7;
1924 /* <var_listnode11:nullable Object> isa Array[Object] */
1925 cltype30 = type_array__Arraykernel__Object.color;
1926 idtype31 = type_array__Arraykernel__Object.id;
1927 if(var_listnode11 == NULL) {
1928 var29 = 0;
1929 } else {
1930 if(cltype30 >= var_listnode11->type->table_size) {
1931 var29 = 0;
1932 } else {
1933 var29 = var_listnode11->type->type_table[cltype30] == idtype31;
1934 }
1935 }
1936 if (!var29) {
1937 fprintf(stderr, "Runtime error: %s", "Assert failed");
1938 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8816);
1939 show_backtrace(1);
1940 }
1941 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction186>*/;
1942 var_listnode12 = var32;
1943 var33 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
1944 var34 = NULL;
1945 var35 = NULL;
1946 var36 = NULL;
1947 ((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>*/;
1948 var_pannotationsnode8 = var33;
1949 var_pexterncodeblocknode14 = var_nodearraylist8;
1950 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
1951 cltype38 = type_nullable_parser_nodes__AExternCodeBlock.color;
1952 idtype39 = type_nullable_parser_nodes__AExternCodeBlock.id;
1953 if(var_pexterncodeblocknode14 == NULL) {
1954 var37 = 1;
1955 } else {
1956 if(cltype38 >= var_pexterncodeblocknode14->type->table_size) {
1957 var37 = 0;
1958 } else {
1959 var37 = var_pexterncodeblocknode14->type->type_table[cltype38] == idtype39;
1960 }
1961 }
1962 if (!var37) {
1963 fprintf(stderr, "Runtime error: %s", "Assert failed");
1964 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8825);
1965 show_backtrace(1);
1966 }
1967 var_listnode15 = var_nodearraylist9;
1968 /* <var_listnode15:nullable Object> isa Array[Object] */
1969 cltype41 = type_array__Arraykernel__Object.color;
1970 idtype42 = type_array__Arraykernel__Object.id;
1971 if(var_listnode15 == NULL) {
1972 var40 = 0;
1973 } else {
1974 if(cltype41 >= var_listnode15->type->table_size) {
1975 var40 = 0;
1976 } else {
1977 var40 = var_listnode15->type->type_table[cltype41] == idtype42;
1978 }
1979 }
1980 if (!var40) {
1981 fprintf(stderr, "Runtime error: %s", "Assert failed");
1982 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8827);
1983 show_backtrace(1);
1984 }
1985 var43 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction186>*/;
1986 var_listnode16 = var43;
1987 var_tkwendnode18 = var_nodearraylist11;
1988 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
1989 cltype45 = type_nullable_parser_nodes__TKwend.color;
1990 idtype46 = type_nullable_parser_nodes__TKwend.id;
1991 if(var_tkwendnode18 == NULL) {
1992 var44 = 1;
1993 } else {
1994 if(cltype45 >= var_tkwendnode18->type->table_size) {
1995 var44 = 0;
1996 } else {
1997 var44 = var_tkwendnode18->type->type_table[cltype45] == idtype46;
1998 }
1999 }
2000 if (!var44) {
2001 fprintf(stderr, "Runtime error: %s", "Assert failed");
2002 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8830);
2003 show_backtrace(1);
2004 }
2005 var47 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2006 ((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_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var47:AStdClassdef>*/;
2007 var_pclassdefnode1 = var47;
2008 var_node_list = var_pclassdefnode1;
2009 var48 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction186> */
2010 var49 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var48) /* go_to on <var_p:Parser>*/;
2011 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var49, var_node_list) /* push on <var_p:Parser>*/;
2012 RET_LABEL:;
2013 }
2014 /* method parser#ReduceAction186#action for (self: Object, Parser) */
2015 void VIRTUAL_parser__ReduceAction186__action(val* self, val* p0) {
2016 parser__ReduceAction186__action(self, p0);
2017 RET_LABEL:;
2018 }
2019 /* method parser#ReduceAction187#action for (self: ReduceAction187, Parser) */
2020 void parser__ReduceAction187__action(val* self, val* p0) {
2021 val* var_p /* var p: Parser */;
2022 val* var /* : null */;
2023 val* var_node_list /* var node_list: nullable Object */;
2024 val* var1 /* : nullable Object */;
2025 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
2026 val* var2 /* : nullable Object */;
2027 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2028 val* var3 /* : nullable Object */;
2029 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2030 val* var4 /* : nullable Object */;
2031 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2032 val* var5 /* : nullable Object */;
2033 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2034 val* var6 /* : nullable Object */;
2035 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2036 val* var7 /* : nullable Object */;
2037 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2038 val* var8 /* : nullable Object */;
2039 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2040 val* var9 /* : nullable Object */;
2041 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2042 val* var10 /* : nullable Object */;
2043 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2044 val* var11 /* : nullable Object */;
2045 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2046 val* var12 /* : Array[Object] */;
2047 val* var_listnode7 /* var listnode7: Array[Object] */;
2048 val* var13 /* : Array[Object] */;
2049 val* var_listnode16 /* var listnode16: Array[Object] */;
2050 val* var14 /* : Array[Object] */;
2051 val* var_listnode17 /* var listnode17: Array[Object] */;
2052 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2053 short int var15 /* : Bool */;
2054 int cltype;
2055 int idtype;
2056 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2057 short int var16 /* : Bool */;
2058 int cltype17;
2059 int idtype18;
2060 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2061 short int var19 /* : Bool */;
2062 int cltype20;
2063 int idtype21;
2064 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2065 short int var22 /* : Bool */;
2066 int cltype23;
2067 int idtype24;
2068 val* var25 /* : Array[Object] */;
2069 val* var_listnode12 /* var listnode12: Array[Object] */;
2070 val* var_listnode11 /* var listnode11: nullable Object */;
2071 short int var26 /* : Bool */;
2072 int cltype27;
2073 int idtype28;
2074 val* var29 /* : Array[Object] */;
2075 val* var30 /* : AAnnotations */;
2076 val* var31 /* : null */;
2077 val* var32 /* : null */;
2078 val* var33 /* : null */;
2079 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
2080 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
2081 short int var34 /* : Bool */;
2082 int cltype35;
2083 int idtype36;
2084 val* var_listnode15 /* var listnode15: nullable Object */;
2085 short int var37 /* : Bool */;
2086 int cltype38;
2087 int idtype39;
2088 val* var40 /* : Array[Object] */;
2089 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
2090 short int var41 /* : Bool */;
2091 int cltype42;
2092 int idtype43;
2093 val* var44 /* : AStdClassdef */;
2094 val* var45 /* : null */;
2095 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2096 long var46 /* : Int */;
2097 long var47 /* : Int */;
2098 var_p = p0;
2099 var = NULL;
2100 var_node_list = var;
2101 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2102 var_nodearraylist11 = var1;
2103 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2104 var_nodearraylist10 = var2;
2105 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2106 var_nodearraylist9 = var3;
2107 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2108 var_nodearraylist8 = var4;
2109 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2110 var_nodearraylist7 = var5;
2111 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2112 var_nodearraylist6 = var6;
2113 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2114 var_nodearraylist5 = var7;
2115 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2116 var_nodearraylist4 = var8;
2117 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2118 var_nodearraylist3 = var9;
2119 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2120 var_nodearraylist2 = var10;
2121 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2122 var_nodearraylist1 = var11;
2123 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
2124 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
2125 var_listnode7 = var12;
2126 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
2127 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
2128 var_listnode16 = var13;
2129 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
2130 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
2131 var_listnode17 = var14;
2132 var_pdocnode2 = var_nodearraylist1;
2133 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2134 cltype = type_nullable_parser_nodes__ADoc.color;
2135 idtype = type_nullable_parser_nodes__ADoc.id;
2136 if(var_pdocnode2 == NULL) {
2137 var15 = 1;
2138 } else {
2139 if(cltype >= var_pdocnode2->type->table_size) {
2140 var15 = 0;
2141 } else {
2142 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
2143 }
2144 }
2145 if (!var15) {
2146 fprintf(stderr, "Runtime error: %s", "Assert failed");
2147 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8868);
2148 show_backtrace(1);
2149 }
2150 var_pvisibilitynode4 = var_nodearraylist2;
2151 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2152 cltype17 = type_nullable_parser_nodes__AVisibility.color;
2153 idtype18 = type_nullable_parser_nodes__AVisibility.id;
2154 if(var_pvisibilitynode4 == NULL) {
2155 var16 = 1;
2156 } else {
2157 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
2158 var16 = 0;
2159 } else {
2160 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
2161 }
2162 }
2163 if (!var16) {
2164 fprintf(stderr, "Runtime error: %s", "Assert failed");
2165 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8870);
2166 show_backtrace(1);
2167 }
2168 var_pclasskindnode5 = var_nodearraylist3;
2169 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2170 cltype20 = type_nullable_parser_nodes__AClasskind.color;
2171 idtype21 = type_nullable_parser_nodes__AClasskind.id;
2172 if(var_pclasskindnode5 == NULL) {
2173 var19 = 1;
2174 } else {
2175 if(cltype20 >= var_pclasskindnode5->type->table_size) {
2176 var19 = 0;
2177 } else {
2178 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
2179 }
2180 }
2181 if (!var19) {
2182 fprintf(stderr, "Runtime error: %s", "Assert failed");
2183 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8872);
2184 show_backtrace(1);
2185 }
2186 var_tclassidnode6 = var_nodearraylist6;
2187 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2188 cltype23 = type_nullable_parser_nodes__TClassid.color;
2189 idtype24 = type_nullable_parser_nodes__TClassid.id;
2190 if(var_tclassidnode6 == NULL) {
2191 var22 = 1;
2192 } else {
2193 if(cltype23 >= var_tclassidnode6->type->table_size) {
2194 var22 = 0;
2195 } else {
2196 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
2197 }
2198 }
2199 if (!var22) {
2200 fprintf(stderr, "Runtime error: %s", "Assert failed");
2201 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8874);
2202 show_backtrace(1);
2203 }
2204 var25 = NEW_array__Array(&type_array__Arraykernel__Object);
2205 ((void (*)(val*))(var25->class->vft[COLOR_array__Array__init]))(var25) /* init on <var25:Array[Object]>*/;
2206 var_listnode12 = var25;
2207 var_listnode11 = var_nodearraylist7;
2208 /* <var_listnode11:nullable Object> isa Array[Object] */
2209 cltype27 = type_array__Arraykernel__Object.color;
2210 idtype28 = type_array__Arraykernel__Object.id;
2211 if(var_listnode11 == NULL) {
2212 var26 = 0;
2213 } else {
2214 if(cltype27 >= var_listnode11->type->table_size) {
2215 var26 = 0;
2216 } else {
2217 var26 = var_listnode11->type->type_table[cltype27] == idtype28;
2218 }
2219 }
2220 if (!var26) {
2221 fprintf(stderr, "Runtime error: %s", "Assert failed");
2222 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8877);
2223 show_backtrace(1);
2224 }
2225 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction187>*/;
2226 var_listnode12 = var29;
2227 var30 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
2228 var31 = NULL;
2229 var32 = NULL;
2230 var33 = NULL;
2231 ((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>*/;
2232 var_pannotationsnode8 = var30;
2233 var_pexterncodeblocknode14 = var_nodearraylist8;
2234 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
2235 cltype35 = type_nullable_parser_nodes__AExternCodeBlock.color;
2236 idtype36 = type_nullable_parser_nodes__AExternCodeBlock.id;
2237 if(var_pexterncodeblocknode14 == NULL) {
2238 var34 = 1;
2239 } else {
2240 if(cltype35 >= var_pexterncodeblocknode14->type->table_size) {
2241 var34 = 0;
2242 } else {
2243 var34 = var_pexterncodeblocknode14->type->type_table[cltype35] == idtype36;
2244 }
2245 }
2246 if (!var34) {
2247 fprintf(stderr, "Runtime error: %s", "Assert failed");
2248 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8886);
2249 show_backtrace(1);
2250 }
2251 var_listnode15 = var_nodearraylist9;
2252 /* <var_listnode15:nullable Object> isa Array[Object] */
2253 cltype38 = type_array__Arraykernel__Object.color;
2254 idtype39 = type_array__Arraykernel__Object.id;
2255 if(var_listnode15 == NULL) {
2256 var37 = 0;
2257 } else {
2258 if(cltype38 >= var_listnode15->type->table_size) {
2259 var37 = 0;
2260 } else {
2261 var37 = var_listnode15->type->type_table[cltype38] == idtype39;
2262 }
2263 }
2264 if (!var37) {
2265 fprintf(stderr, "Runtime error: %s", "Assert failed");
2266 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8888);
2267 show_backtrace(1);
2268 }
2269 var40 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction187>*/;
2270 var_listnode16 = var40;
2271 var_tkwendnode18 = var_nodearraylist11;
2272 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
2273 cltype42 = type_nullable_parser_nodes__TKwend.color;
2274 idtype43 = type_nullable_parser_nodes__TKwend.id;
2275 if(var_tkwendnode18 == NULL) {
2276 var41 = 1;
2277 } else {
2278 if(cltype42 >= var_tkwendnode18->type->table_size) {
2279 var41 = 0;
2280 } else {
2281 var41 = var_tkwendnode18->type->type_table[cltype42] == idtype43;
2282 }
2283 }
2284 if (!var41) {
2285 fprintf(stderr, "Runtime error: %s", "Assert failed");
2286 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8891);
2287 show_backtrace(1);
2288 }
2289 var44 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2290 var45 = NULL;
2291 ((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, var_pexterncodeblocknode14, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var44:AStdClassdef>*/;
2292 var_pclassdefnode1 = var44;
2293 var_node_list = var_pclassdefnode1;
2294 var46 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction187> */
2295 var47 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var46) /* go_to on <var_p:Parser>*/;
2296 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var47, var_node_list) /* push on <var_p:Parser>*/;
2297 RET_LABEL:;
2298 }
2299 /* method parser#ReduceAction187#action for (self: Object, Parser) */
2300 void VIRTUAL_parser__ReduceAction187__action(val* self, val* p0) {
2301 parser__ReduceAction187__action(self, p0);
2302 RET_LABEL:;
2303 }
2304 /* method parser#ReduceAction188#action for (self: ReduceAction188, Parser) */
2305 void parser__ReduceAction188__action(val* self, val* p0) {
2306 val* var_p /* var p: Parser */;
2307 val* var /* : null */;
2308 val* var_node_list /* var node_list: nullable Object */;
2309 val* var1 /* : nullable Object */;
2310 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
2311 val* var2 /* : nullable Object */;
2312 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
2313 val* var3 /* : nullable Object */;
2314 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2315 val* var4 /* : nullable Object */;
2316 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2317 val* var5 /* : nullable Object */;
2318 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2319 val* var6 /* : nullable Object */;
2320 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2321 val* var7 /* : nullable Object */;
2322 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2323 val* var8 /* : nullable Object */;
2324 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2325 val* var9 /* : nullable Object */;
2326 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2327 val* var10 /* : nullable Object */;
2328 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2329 val* var11 /* : nullable Object */;
2330 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2331 val* var12 /* : nullable Object */;
2332 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2333 val* var13 /* : Array[Object] */;
2334 val* var_listnode7 /* var listnode7: Array[Object] */;
2335 val* var14 /* : Array[Object] */;
2336 val* var_listnode16 /* var listnode16: Array[Object] */;
2337 val* var15 /* : Array[Object] */;
2338 val* var_listnode17 /* var listnode17: Array[Object] */;
2339 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2340 short int var16 /* : Bool */;
2341 int cltype;
2342 int idtype;
2343 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2344 short int var17 /* : Bool */;
2345 int cltype18;
2346 int idtype19;
2347 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2348 short int var20 /* : Bool */;
2349 int cltype21;
2350 int idtype22;
2351 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2352 short int var23 /* : Bool */;
2353 int cltype24;
2354 int idtype25;
2355 val* var26 /* : Array[Object] */;
2356 val* var_listnode12 /* var listnode12: Array[Object] */;
2357 val* var_listnode11 /* var listnode11: nullable Object */;
2358 short int var27 /* : Bool */;
2359 int cltype28;
2360 int idtype29;
2361 val* var30 /* : Array[Object] */;
2362 val* var31 /* : AAnnotations */;
2363 val* var32 /* : null */;
2364 val* var33 /* : null */;
2365 val* var34 /* : null */;
2366 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
2367 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
2368 short int var35 /* : Bool */;
2369 int cltype36;
2370 int idtype37;
2371 val* var_listnode15 /* var listnode15: nullable Object */;
2372 short int var38 /* : Bool */;
2373 int cltype39;
2374 int idtype40;
2375 val* var41 /* : Array[Object] */;
2376 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
2377 short int var42 /* : Bool */;
2378 int cltype43;
2379 int idtype44;
2380 val* var45 /* : AStdClassdef */;
2381 val* var46 /* : null */;
2382 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2383 long var47 /* : Int */;
2384 long var48 /* : Int */;
2385 var_p = p0;
2386 var = NULL;
2387 var_node_list = var;
2388 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2389 var_nodearraylist12 = var1;
2390 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2391 var_nodearraylist11 = var2;
2392 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2393 var_nodearraylist10 = var3;
2394 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2395 var_nodearraylist9 = var4;
2396 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2397 var_nodearraylist8 = var5;
2398 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2399 var_nodearraylist7 = var6;
2400 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2401 var_nodearraylist6 = var7;
2402 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2403 var_nodearraylist5 = var8;
2404 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2405 var_nodearraylist4 = var9;
2406 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2407 var_nodearraylist3 = var10;
2408 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2409 var_nodearraylist2 = var11;
2410 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2411 var_nodearraylist1 = var12;
2412 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
2413 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
2414 var_listnode7 = var13;
2415 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
2416 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
2417 var_listnode16 = var14;
2418 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
2419 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
2420 var_listnode17 = var15;
2421 var_pdocnode2 = var_nodearraylist1;
2422 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2423 cltype = type_nullable_parser_nodes__ADoc.color;
2424 idtype = type_nullable_parser_nodes__ADoc.id;
2425 if(var_pdocnode2 == NULL) {
2426 var16 = 1;
2427 } else {
2428 if(cltype >= var_pdocnode2->type->table_size) {
2429 var16 = 0;
2430 } else {
2431 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
2432 }
2433 }
2434 if (!var16) {
2435 fprintf(stderr, "Runtime error: %s", "Assert failed");
2436 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8930);
2437 show_backtrace(1);
2438 }
2439 var_pvisibilitynode4 = var_nodearraylist2;
2440 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2441 cltype18 = type_nullable_parser_nodes__AVisibility.color;
2442 idtype19 = type_nullable_parser_nodes__AVisibility.id;
2443 if(var_pvisibilitynode4 == NULL) {
2444 var17 = 1;
2445 } else {
2446 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
2447 var17 = 0;
2448 } else {
2449 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
2450 }
2451 }
2452 if (!var17) {
2453 fprintf(stderr, "Runtime error: %s", "Assert failed");
2454 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8932);
2455 show_backtrace(1);
2456 }
2457 var_pclasskindnode5 = var_nodearraylist3;
2458 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2459 cltype21 = type_nullable_parser_nodes__AClasskind.color;
2460 idtype22 = type_nullable_parser_nodes__AClasskind.id;
2461 if(var_pclasskindnode5 == NULL) {
2462 var20 = 1;
2463 } else {
2464 if(cltype21 >= var_pclasskindnode5->type->table_size) {
2465 var20 = 0;
2466 } else {
2467 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
2468 }
2469 }
2470 if (!var20) {
2471 fprintf(stderr, "Runtime error: %s", "Assert failed");
2472 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8934);
2473 show_backtrace(1);
2474 }
2475 var_tclassidnode6 = var_nodearraylist7;
2476 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2477 cltype24 = type_nullable_parser_nodes__TClassid.color;
2478 idtype25 = type_nullable_parser_nodes__TClassid.id;
2479 if(var_tclassidnode6 == NULL) {
2480 var23 = 1;
2481 } else {
2482 if(cltype24 >= var_tclassidnode6->type->table_size) {
2483 var23 = 0;
2484 } else {
2485 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
2486 }
2487 }
2488 if (!var23) {
2489 fprintf(stderr, "Runtime error: %s", "Assert failed");
2490 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8936);
2491 show_backtrace(1);
2492 }
2493 var26 = NEW_array__Array(&type_array__Arraykernel__Object);
2494 ((void (*)(val*))(var26->class->vft[COLOR_array__Array__init]))(var26) /* init on <var26:Array[Object]>*/;
2495 var_listnode12 = var26;
2496 var_listnode11 = var_nodearraylist8;
2497 /* <var_listnode11:nullable Object> isa Array[Object] */
2498 cltype28 = type_array__Arraykernel__Object.color;
2499 idtype29 = type_array__Arraykernel__Object.id;
2500 if(var_listnode11 == NULL) {
2501 var27 = 0;
2502 } else {
2503 if(cltype28 >= var_listnode11->type->table_size) {
2504 var27 = 0;
2505 } else {
2506 var27 = var_listnode11->type->type_table[cltype28] == idtype29;
2507 }
2508 }
2509 if (!var27) {
2510 fprintf(stderr, "Runtime error: %s", "Assert failed");
2511 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8939);
2512 show_backtrace(1);
2513 }
2514 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction188>*/;
2515 var_listnode12 = var30;
2516 var31 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
2517 var32 = NULL;
2518 var33 = NULL;
2519 var34 = NULL;
2520 ((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>*/;
2521 var_pannotationsnode8 = var31;
2522 var_pexterncodeblocknode14 = var_nodearraylist9;
2523 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
2524 cltype36 = type_nullable_parser_nodes__AExternCodeBlock.color;
2525 idtype37 = type_nullable_parser_nodes__AExternCodeBlock.id;
2526 if(var_pexterncodeblocknode14 == NULL) {
2527 var35 = 1;
2528 } else {
2529 if(cltype36 >= var_pexterncodeblocknode14->type->table_size) {
2530 var35 = 0;
2531 } else {
2532 var35 = var_pexterncodeblocknode14->type->type_table[cltype36] == idtype37;
2533 }
2534 }
2535 if (!var35) {
2536 fprintf(stderr, "Runtime error: %s", "Assert failed");
2537 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8948);
2538 show_backtrace(1);
2539 }
2540 var_listnode15 = var_nodearraylist10;
2541 /* <var_listnode15:nullable Object> isa Array[Object] */
2542 cltype39 = type_array__Arraykernel__Object.color;
2543 idtype40 = type_array__Arraykernel__Object.id;
2544 if(var_listnode15 == NULL) {
2545 var38 = 0;
2546 } else {
2547 if(cltype39 >= var_listnode15->type->table_size) {
2548 var38 = 0;
2549 } else {
2550 var38 = var_listnode15->type->type_table[cltype39] == idtype40;
2551 }
2552 }
2553 if (!var38) {
2554 fprintf(stderr, "Runtime error: %s", "Assert failed");
2555 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8950);
2556 show_backtrace(1);
2557 }
2558 var41 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction188>*/;
2559 var_listnode16 = var41;
2560 var_tkwendnode18 = var_nodearraylist12;
2561 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
2562 cltype43 = type_nullable_parser_nodes__TKwend.color;
2563 idtype44 = type_nullable_parser_nodes__TKwend.id;
2564 if(var_tkwendnode18 == NULL) {
2565 var42 = 1;
2566 } else {
2567 if(cltype43 >= var_tkwendnode18->type->table_size) {
2568 var42 = 0;
2569 } else {
2570 var42 = var_tkwendnode18->type->type_table[cltype43] == idtype44;
2571 }
2572 }
2573 if (!var42) {
2574 fprintf(stderr, "Runtime error: %s", "Assert failed");
2575 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8953);
2576 show_backtrace(1);
2577 }
2578 var45 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2579 var46 = NULL;
2580 ((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, var_pexterncodeblocknode14, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var45:AStdClassdef>*/;
2581 var_pclassdefnode1 = var45;
2582 var_node_list = var_pclassdefnode1;
2583 var47 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction188> */
2584 var48 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var47) /* go_to on <var_p:Parser>*/;
2585 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var48, var_node_list) /* push on <var_p:Parser>*/;
2586 RET_LABEL:;
2587 }
2588 /* method parser#ReduceAction188#action for (self: Object, Parser) */
2589 void VIRTUAL_parser__ReduceAction188__action(val* self, val* p0) {
2590 parser__ReduceAction188__action(self, p0);
2591 RET_LABEL:;
2592 }
2593 /* method parser#ReduceAction190#action for (self: ReduceAction190, Parser) */
2594 void parser__ReduceAction190__action(val* self, val* p0) {
2595 val* var_p /* var p: Parser */;
2596 val* var /* : null */;
2597 val* var_node_list /* var node_list: nullable Object */;
2598 val* var1 /* : nullable Object */;
2599 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
2600 val* var2 /* : nullable Object */;
2601 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
2602 val* var3 /* : nullable Object */;
2603 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2604 val* var4 /* : nullable Object */;
2605 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2606 val* var5 /* : nullable Object */;
2607 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2608 val* var6 /* : nullable Object */;
2609 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2610 val* var7 /* : nullable Object */;
2611 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2612 val* var8 /* : nullable Object */;
2613 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2614 val* var9 /* : nullable Object */;
2615 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2616 val* var10 /* : nullable Object */;
2617 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2618 val* var11 /* : nullable Object */;
2619 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2620 val* var12 /* : nullable Object */;
2621 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2622 val* var13 /* : Array[Object] */;
2623 val* var_listnode7 /* var listnode7: Array[Object] */;
2624 val* var14 /* : Array[Object] */;
2625 val* var_listnode16 /* var listnode16: Array[Object] */;
2626 val* var15 /* : Array[Object] */;
2627 val* var_listnode17 /* var listnode17: Array[Object] */;
2628 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2629 short int var16 /* : Bool */;
2630 int cltype;
2631 int idtype;
2632 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
2633 short int var17 /* : Bool */;
2634 int cltype18;
2635 int idtype19;
2636 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2637 short int var20 /* : Bool */;
2638 int cltype21;
2639 int idtype22;
2640 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2641 short int var23 /* : Bool */;
2642 int cltype24;
2643 int idtype25;
2644 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2645 short int var26 /* : Bool */;
2646 int cltype27;
2647 int idtype28;
2648 val* var29 /* : Array[Object] */;
2649 val* var_listnode12 /* var listnode12: Array[Object] */;
2650 val* var_listnode11 /* var listnode11: nullable Object */;
2651 short int var30 /* : Bool */;
2652 int cltype31;
2653 int idtype32;
2654 val* var33 /* : Array[Object] */;
2655 val* var34 /* : AAnnotations */;
2656 val* var35 /* : null */;
2657 val* var36 /* : null */;
2658 val* var37 /* : null */;
2659 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
2660 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
2661 short int var38 /* : Bool */;
2662 int cltype39;
2663 int idtype40;
2664 val* var_listnode15 /* var listnode15: nullable Object */;
2665 short int var41 /* : Bool */;
2666 int cltype42;
2667 int idtype43;
2668 val* var44 /* : Array[Object] */;
2669 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
2670 short int var45 /* : Bool */;
2671 int cltype46;
2672 int idtype47;
2673 val* var48 /* : AStdClassdef */;
2674 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2675 long var49 /* : Int */;
2676 long var50 /* : Int */;
2677 var_p = p0;
2678 var = NULL;
2679 var_node_list = var;
2680 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2681 var_nodearraylist12 = var1;
2682 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2683 var_nodearraylist11 = var2;
2684 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2685 var_nodearraylist10 = var3;
2686 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2687 var_nodearraylist9 = var4;
2688 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2689 var_nodearraylist8 = var5;
2690 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2691 var_nodearraylist7 = var6;
2692 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2693 var_nodearraylist6 = var7;
2694 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2695 var_nodearraylist5 = var8;
2696 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2697 var_nodearraylist4 = var9;
2698 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2699 var_nodearraylist3 = var10;
2700 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2701 var_nodearraylist2 = var11;
2702 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2703 var_nodearraylist1 = var12;
2704 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
2705 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
2706 var_listnode7 = var13;
2707 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
2708 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
2709 var_listnode16 = var14;
2710 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
2711 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
2712 var_listnode17 = var15;
2713 var_pdocnode2 = var_nodearraylist1;
2714 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2715 cltype = type_nullable_parser_nodes__ADoc.color;
2716 idtype = type_nullable_parser_nodes__ADoc.id;
2717 if(var_pdocnode2 == NULL) {
2718 var16 = 1;
2719 } else {
2720 if(cltype >= var_pdocnode2->type->table_size) {
2721 var16 = 0;
2722 } else {
2723 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
2724 }
2725 }
2726 if (!var16) {
2727 fprintf(stderr, "Runtime error: %s", "Assert failed");
2728 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8992);
2729 show_backtrace(1);
2730 }
2731 var_tkwredefnode3 = var_nodearraylist2;
2732 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2733 cltype18 = type_nullable_parser_nodes__TKwredef.color;
2734 idtype19 = type_nullable_parser_nodes__TKwredef.id;
2735 if(var_tkwredefnode3 == NULL) {
2736 var17 = 1;
2737 } else {
2738 if(cltype18 >= var_tkwredefnode3->type->table_size) {
2739 var17 = 0;
2740 } else {
2741 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
2742 }
2743 }
2744 if (!var17) {
2745 fprintf(stderr, "Runtime error: %s", "Assert failed");
2746 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8994);
2747 show_backtrace(1);
2748 }
2749 var_pvisibilitynode4 = var_nodearraylist3;
2750 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2751 cltype21 = type_nullable_parser_nodes__AVisibility.color;
2752 idtype22 = type_nullable_parser_nodes__AVisibility.id;
2753 if(var_pvisibilitynode4 == NULL) {
2754 var20 = 1;
2755 } else {
2756 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
2757 var20 = 0;
2758 } else {
2759 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
2760 }
2761 }
2762 if (!var20) {
2763 fprintf(stderr, "Runtime error: %s", "Assert failed");
2764 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8996);
2765 show_backtrace(1);
2766 }
2767 var_pclasskindnode5 = var_nodearraylist4;
2768 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2769 cltype24 = type_nullable_parser_nodes__AClasskind.color;
2770 idtype25 = type_nullable_parser_nodes__AClasskind.id;
2771 if(var_pclasskindnode5 == NULL) {
2772 var23 = 1;
2773 } else {
2774 if(cltype24 >= var_pclasskindnode5->type->table_size) {
2775 var23 = 0;
2776 } else {
2777 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
2778 }
2779 }
2780 if (!var23) {
2781 fprintf(stderr, "Runtime error: %s", "Assert failed");
2782 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8998);
2783 show_backtrace(1);
2784 }
2785 var_tclassidnode6 = var_nodearraylist7;
2786 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2787 cltype27 = type_nullable_parser_nodes__TClassid.color;
2788 idtype28 = type_nullable_parser_nodes__TClassid.id;
2789 if(var_tclassidnode6 == NULL) {
2790 var26 = 1;
2791 } else {
2792 if(cltype27 >= var_tclassidnode6->type->table_size) {
2793 var26 = 0;
2794 } else {
2795 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
2796 }
2797 }
2798 if (!var26) {
2799 fprintf(stderr, "Runtime error: %s", "Assert failed");
2800 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9000);
2801 show_backtrace(1);
2802 }
2803 var29 = NEW_array__Array(&type_array__Arraykernel__Object);
2804 ((void (*)(val*))(var29->class->vft[COLOR_array__Array__init]))(var29) /* init on <var29:Array[Object]>*/;
2805 var_listnode12 = var29;
2806 var_listnode11 = var_nodearraylist8;
2807 /* <var_listnode11:nullable Object> isa Array[Object] */
2808 cltype31 = type_array__Arraykernel__Object.color;
2809 idtype32 = type_array__Arraykernel__Object.id;
2810 if(var_listnode11 == NULL) {
2811 var30 = 0;
2812 } else {
2813 if(cltype31 >= var_listnode11->type->table_size) {
2814 var30 = 0;
2815 } else {
2816 var30 = var_listnode11->type->type_table[cltype31] == idtype32;
2817 }
2818 }
2819 if (!var30) {
2820 fprintf(stderr, "Runtime error: %s", "Assert failed");
2821 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9003);
2822 show_backtrace(1);
2823 }
2824 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction190>*/;
2825 var_listnode12 = var33;
2826 var34 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
2827 var35 = NULL;
2828 var36 = NULL;
2829 var37 = NULL;
2830 ((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>*/;
2831 var_pannotationsnode8 = var34;
2832 var_pexterncodeblocknode14 = var_nodearraylist9;
2833 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
2834 cltype39 = type_nullable_parser_nodes__AExternCodeBlock.color;
2835 idtype40 = type_nullable_parser_nodes__AExternCodeBlock.id;
2836 if(var_pexterncodeblocknode14 == NULL) {
2837 var38 = 1;
2838 } else {
2839 if(cltype39 >= var_pexterncodeblocknode14->type->table_size) {
2840 var38 = 0;
2841 } else {
2842 var38 = var_pexterncodeblocknode14->type->type_table[cltype39] == idtype40;
2843 }
2844 }
2845 if (!var38) {
2846 fprintf(stderr, "Runtime error: %s", "Assert failed");
2847 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9012);
2848 show_backtrace(1);
2849 }
2850 var_listnode15 = var_nodearraylist10;
2851 /* <var_listnode15:nullable Object> isa Array[Object] */
2852 cltype42 = type_array__Arraykernel__Object.color;
2853 idtype43 = type_array__Arraykernel__Object.id;
2854 if(var_listnode15 == NULL) {
2855 var41 = 0;
2856 } else {
2857 if(cltype42 >= var_listnode15->type->table_size) {
2858 var41 = 0;
2859 } else {
2860 var41 = var_listnode15->type->type_table[cltype42] == idtype43;
2861 }
2862 }
2863 if (!var41) {
2864 fprintf(stderr, "Runtime error: %s", "Assert failed");
2865 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9014);
2866 show_backtrace(1);
2867 }
2868 var44 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction190>*/;
2869 var_listnode16 = var44;
2870 var_tkwendnode18 = var_nodearraylist12;
2871 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
2872 cltype46 = type_nullable_parser_nodes__TKwend.color;
2873 idtype47 = type_nullable_parser_nodes__TKwend.id;
2874 if(var_tkwendnode18 == NULL) {
2875 var45 = 1;
2876 } else {
2877 if(cltype46 >= var_tkwendnode18->type->table_size) {
2878 var45 = 0;
2879 } else {
2880 var45 = var_tkwendnode18->type->type_table[cltype46] == idtype47;
2881 }
2882 }
2883 if (!var45) {
2884 fprintf(stderr, "Runtime error: %s", "Assert failed");
2885 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9017);
2886 show_backtrace(1);
2887 }
2888 var48 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2889 ((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, var_pexterncodeblocknode14, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var48:AStdClassdef>*/;
2890 var_pclassdefnode1 = var48;
2891 var_node_list = var_pclassdefnode1;
2892 var49 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction190> */
2893 var50 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var49) /* go_to on <var_p:Parser>*/;
2894 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var50, var_node_list) /* push on <var_p:Parser>*/;
2895 RET_LABEL:;
2896 }
2897 /* method parser#ReduceAction190#action for (self: Object, Parser) */
2898 void VIRTUAL_parser__ReduceAction190__action(val* self, val* p0) {
2899 parser__ReduceAction190__action(self, p0);
2900 RET_LABEL:;
2901 }
2902 /* method parser#ReduceAction191#action for (self: ReduceAction191, Parser) */
2903 void parser__ReduceAction191__action(val* self, val* p0) {
2904 val* var_p /* var p: Parser */;
2905 val* var /* : null */;
2906 val* var_node_list /* var node_list: nullable Object */;
2907 val* var1 /* : nullable Object */;
2908 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
2909 val* var2 /* : nullable Object */;
2910 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
2911 val* var3 /* : nullable Object */;
2912 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
2913 val* var4 /* : nullable Object */;
2914 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2915 val* var5 /* : nullable Object */;
2916 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2917 val* var6 /* : nullable Object */;
2918 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2919 val* var7 /* : nullable Object */;
2920 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2921 val* var8 /* : nullable Object */;
2922 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2923 val* var9 /* : nullable Object */;
2924 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2925 val* var10 /* : nullable Object */;
2926 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2927 val* var11 /* : nullable Object */;
2928 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2929 val* var12 /* : nullable Object */;
2930 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2931 val* var13 /* : nullable Object */;
2932 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2933 val* var14 /* : Array[Object] */;
2934 val* var_listnode7 /* var listnode7: Array[Object] */;
2935 val* var15 /* : Array[Object] */;
2936 val* var_listnode16 /* var listnode16: Array[Object] */;
2937 val* var16 /* : Array[Object] */;
2938 val* var_listnode17 /* var listnode17: Array[Object] */;
2939 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2940 short int var17 /* : Bool */;
2941 int cltype;
2942 int idtype;
2943 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
2944 short int var18 /* : Bool */;
2945 int cltype19;
2946 int idtype20;
2947 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2948 short int var21 /* : Bool */;
2949 int cltype22;
2950 int idtype23;
2951 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2952 short int var24 /* : Bool */;
2953 int cltype25;
2954 int idtype26;
2955 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2956 short int var27 /* : Bool */;
2957 int cltype28;
2958 int idtype29;
2959 val* var30 /* : Array[Object] */;
2960 val* var_listnode12 /* var listnode12: Array[Object] */;
2961 val* var_listnode11 /* var listnode11: nullable Object */;
2962 short int var31 /* : Bool */;
2963 int cltype32;
2964 int idtype33;
2965 val* var34 /* : Array[Object] */;
2966 val* var35 /* : AAnnotations */;
2967 val* var36 /* : null */;
2968 val* var37 /* : null */;
2969 val* var38 /* : null */;
2970 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
2971 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
2972 short int var39 /* : Bool */;
2973 int cltype40;
2974 int idtype41;
2975 val* var_listnode15 /* var listnode15: nullable Object */;
2976 short int var42 /* : Bool */;
2977 int cltype43;
2978 int idtype44;
2979 val* var45 /* : Array[Object] */;
2980 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
2981 short int var46 /* : Bool */;
2982 int cltype47;
2983 int idtype48;
2984 val* var49 /* : AStdClassdef */;
2985 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2986 long var50 /* : Int */;
2987 long var51 /* : Int */;
2988 var_p = p0;
2989 var = NULL;
2990 var_node_list = var;
2991 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2992 var_nodearraylist13 = var1;
2993 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2994 var_nodearraylist12 = var2;
2995 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2996 var_nodearraylist11 = var3;
2997 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2998 var_nodearraylist10 = var4;
2999 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3000 var_nodearraylist9 = var5;
3001 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3002 var_nodearraylist8 = var6;
3003 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3004 var_nodearraylist7 = var7;
3005 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3006 var_nodearraylist6 = var8;
3007 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3008 var_nodearraylist5 = var9;
3009 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3010 var_nodearraylist4 = var10;
3011 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3012 var_nodearraylist3 = var11;
3013 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3014 var_nodearraylist2 = var12;
3015 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3016 var_nodearraylist1 = var13;
3017 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
3018 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
3019 var_listnode7 = var14;
3020 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
3021 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
3022 var_listnode16 = var15;
3023 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
3024 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
3025 var_listnode17 = var16;
3026 var_pdocnode2 = var_nodearraylist1;
3027 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3028 cltype = type_nullable_parser_nodes__ADoc.color;
3029 idtype = type_nullable_parser_nodes__ADoc.id;
3030 if(var_pdocnode2 == NULL) {
3031 var17 = 1;
3032 } else {
3033 if(cltype >= var_pdocnode2->type->table_size) {
3034 var17 = 0;
3035 } else {
3036 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
3037 }
3038 }
3039 if (!var17) {
3040 fprintf(stderr, "Runtime error: %s", "Assert failed");
3041 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9057);
3042 show_backtrace(1);
3043 }
3044 var_tkwredefnode3 = var_nodearraylist2;
3045 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3046 cltype19 = type_nullable_parser_nodes__TKwredef.color;
3047 idtype20 = type_nullable_parser_nodes__TKwredef.id;
3048 if(var_tkwredefnode3 == NULL) {
3049 var18 = 1;
3050 } else {
3051 if(cltype19 >= var_tkwredefnode3->type->table_size) {
3052 var18 = 0;
3053 } else {
3054 var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20;
3055 }
3056 }
3057 if (!var18) {
3058 fprintf(stderr, "Runtime error: %s", "Assert failed");
3059 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9059);
3060 show_backtrace(1);
3061 }
3062 var_pvisibilitynode4 = var_nodearraylist3;
3063 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3064 cltype22 = type_nullable_parser_nodes__AVisibility.color;
3065 idtype23 = type_nullable_parser_nodes__AVisibility.id;
3066 if(var_pvisibilitynode4 == NULL) {
3067 var21 = 1;
3068 } else {
3069 if(cltype22 >= var_pvisibilitynode4->type->table_size) {
3070 var21 = 0;
3071 } else {
3072 var21 = var_pvisibilitynode4->type->type_table[cltype22] == idtype23;
3073 }
3074 }
3075 if (!var21) {
3076 fprintf(stderr, "Runtime error: %s", "Assert failed");
3077 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9061);
3078 show_backtrace(1);
3079 }
3080 var_pclasskindnode5 = var_nodearraylist4;
3081 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3082 cltype25 = type_nullable_parser_nodes__AClasskind.color;
3083 idtype26 = type_nullable_parser_nodes__AClasskind.id;
3084 if(var_pclasskindnode5 == NULL) {
3085 var24 = 1;
3086 } else {
3087 if(cltype25 >= var_pclasskindnode5->type->table_size) {
3088 var24 = 0;
3089 } else {
3090 var24 = var_pclasskindnode5->type->type_table[cltype25] == idtype26;
3091 }
3092 }
3093 if (!var24) {
3094 fprintf(stderr, "Runtime error: %s", "Assert failed");
3095 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9063);
3096 show_backtrace(1);
3097 }
3098 var_tclassidnode6 = var_nodearraylist8;
3099 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3100 cltype28 = type_nullable_parser_nodes__TClassid.color;
3101 idtype29 = type_nullable_parser_nodes__TClassid.id;
3102 if(var_tclassidnode6 == NULL) {
3103 var27 = 1;
3104 } else {
3105 if(cltype28 >= var_tclassidnode6->type->table_size) {
3106 var27 = 0;
3107 } else {
3108 var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29;
3109 }
3110 }
3111 if (!var27) {
3112 fprintf(stderr, "Runtime error: %s", "Assert failed");
3113 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9065);
3114 show_backtrace(1);
3115 }
3116 var30 = NEW_array__Array(&type_array__Arraykernel__Object);
3117 ((void (*)(val*))(var30->class->vft[COLOR_array__Array__init]))(var30) /* init on <var30:Array[Object]>*/;
3118 var_listnode12 = var30;
3119 var_listnode11 = var_nodearraylist9;
3120 /* <var_listnode11:nullable Object> isa Array[Object] */
3121 cltype32 = type_array__Arraykernel__Object.color;
3122 idtype33 = type_array__Arraykernel__Object.id;
3123 if(var_listnode11 == NULL) {
3124 var31 = 0;
3125 } else {
3126 if(cltype32 >= var_listnode11->type->table_size) {
3127 var31 = 0;
3128 } else {
3129 var31 = var_listnode11->type->type_table[cltype32] == idtype33;
3130 }
3131 }
3132 if (!var31) {
3133 fprintf(stderr, "Runtime error: %s", "Assert failed");
3134 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9068);
3135 show_backtrace(1);
3136 }
3137 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction191>*/;
3138 var_listnode12 = var34;
3139 var35 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
3140 var36 = NULL;
3141 var37 = NULL;
3142 var38 = NULL;
3143 ((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>*/;
3144 var_pannotationsnode8 = var35;
3145 var_pexterncodeblocknode14 = var_nodearraylist10;
3146 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
3147 cltype40 = type_nullable_parser_nodes__AExternCodeBlock.color;
3148 idtype41 = type_nullable_parser_nodes__AExternCodeBlock.id;
3149 if(var_pexterncodeblocknode14 == NULL) {
3150 var39 = 1;
3151 } else {
3152 if(cltype40 >= var_pexterncodeblocknode14->type->table_size) {
3153 var39 = 0;
3154 } else {
3155 var39 = var_pexterncodeblocknode14->type->type_table[cltype40] == idtype41;
3156 }
3157 }
3158 if (!var39) {
3159 fprintf(stderr, "Runtime error: %s", "Assert failed");
3160 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9077);
3161 show_backtrace(1);
3162 }
3163 var_listnode15 = var_nodearraylist11;
3164 /* <var_listnode15:nullable Object> isa Array[Object] */
3165 cltype43 = type_array__Arraykernel__Object.color;
3166 idtype44 = type_array__Arraykernel__Object.id;
3167 if(var_listnode15 == NULL) {
3168 var42 = 0;
3169 } else {
3170 if(cltype43 >= var_listnode15->type->table_size) {
3171 var42 = 0;
3172 } else {
3173 var42 = var_listnode15->type->type_table[cltype43] == idtype44;
3174 }
3175 }
3176 if (!var42) {
3177 fprintf(stderr, "Runtime error: %s", "Assert failed");
3178 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9079);
3179 show_backtrace(1);
3180 }
3181 var45 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction191>*/;
3182 var_listnode16 = var45;
3183 var_tkwendnode18 = var_nodearraylist13;
3184 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
3185 cltype47 = type_nullable_parser_nodes__TKwend.color;
3186 idtype48 = type_nullable_parser_nodes__TKwend.id;
3187 if(var_tkwendnode18 == NULL) {
3188 var46 = 1;
3189 } else {
3190 if(cltype47 >= var_tkwendnode18->type->table_size) {
3191 var46 = 0;
3192 } else {
3193 var46 = var_tkwendnode18->type->type_table[cltype47] == idtype48;
3194 }
3195 }
3196 if (!var46) {
3197 fprintf(stderr, "Runtime error: %s", "Assert failed");
3198 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9082);
3199 show_backtrace(1);
3200 }
3201 var49 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3202 ((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, var_pexterncodeblocknode14, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var49:AStdClassdef>*/;
3203 var_pclassdefnode1 = var49;
3204 var_node_list = var_pclassdefnode1;
3205 var50 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction191> */
3206 var51 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var50) /* go_to on <var_p:Parser>*/;
3207 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var51, var_node_list) /* push on <var_p:Parser>*/;
3208 RET_LABEL:;
3209 }
3210 /* method parser#ReduceAction191#action for (self: Object, Parser) */
3211 void VIRTUAL_parser__ReduceAction191__action(val* self, val* p0) {
3212 parser__ReduceAction191__action(self, p0);
3213 RET_LABEL:;
3214 }
3215 /* method parser#ReduceAction193#action for (self: ReduceAction193, Parser) */
3216 void parser__ReduceAction193__action(val* self, val* p0) {
3217 val* var_p /* var p: Parser */;
3218 val* var /* : null */;
3219 val* var_node_list /* var node_list: nullable Object */;
3220 val* var1 /* : nullable Object */;
3221 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
3222 val* var2 /* : nullable Object */;
3223 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
3224 val* var3 /* : nullable Object */;
3225 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3226 val* var4 /* : nullable Object */;
3227 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3228 val* var5 /* : nullable Object */;
3229 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3230 val* var6 /* : nullable Object */;
3231 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3232 val* var7 /* : nullable Object */;
3233 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3234 val* var8 /* : nullable Object */;
3235 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3236 val* var9 /* : nullable Object */;
3237 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3238 val* var10 /* : nullable Object */;
3239 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3240 val* var11 /* : nullable Object */;
3241 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3242 val* var12 /* : Array[Object] */;
3243 val* var_listnode8 /* var listnode8: Array[Object] */;
3244 val* var13 /* : Array[Object] */;
3245 val* var_listnode17 /* var listnode17: Array[Object] */;
3246 val* var14 /* : Array[Object] */;
3247 val* var_listnode18 /* var listnode18: Array[Object] */;
3248 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3249 short int var15 /* : Bool */;
3250 int cltype;
3251 int idtype;
3252 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3253 short int var16 /* : Bool */;
3254 int cltype17;
3255 int idtype18;
3256 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3257 short int var19 /* : Bool */;
3258 int cltype20;
3259 int idtype21;
3260 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3261 short int var22 /* : Bool */;
3262 int cltype23;
3263 int idtype24;
3264 val* var_listnode7 /* var listnode7: nullable Object */;
3265 short int var25 /* : Bool */;
3266 int cltype26;
3267 int idtype27;
3268 val* var28 /* : Array[Object] */;
3269 val* var29 /* : Array[Object] */;
3270 val* var_listnode13 /* var listnode13: Array[Object] */;
3271 val* var_listnode12 /* var listnode12: nullable Object */;
3272 short int var30 /* : Bool */;
3273 int cltype31;
3274 int idtype32;
3275 val* var33 /* : Array[Object] */;
3276 val* var34 /* : AAnnotations */;
3277 val* var35 /* : null */;
3278 val* var36 /* : null */;
3279 val* var37 /* : null */;
3280 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
3281 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
3282 short int var38 /* : Bool */;
3283 int cltype39;
3284 int idtype40;
3285 val* var_listnode16 /* var listnode16: nullable Object */;
3286 short int var41 /* : Bool */;
3287 int cltype42;
3288 int idtype43;
3289 val* var44 /* : Array[Object] */;
3290 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
3291 short int var45 /* : Bool */;
3292 int cltype46;
3293 int idtype47;
3294 val* var48 /* : AStdClassdef */;
3295 val* var49 /* : null */;
3296 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3297 long var50 /* : Int */;
3298 long var51 /* : Int */;
3299 var_p = p0;
3300 var = NULL;
3301 var_node_list = var;
3302 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3303 var_nodearraylist11 = var1;
3304 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3305 var_nodearraylist10 = var2;
3306 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3307 var_nodearraylist9 = var3;
3308 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3309 var_nodearraylist8 = var4;
3310 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3311 var_nodearraylist7 = var5;
3312 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3313 var_nodearraylist6 = var6;
3314 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3315 var_nodearraylist5 = var7;
3316 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3317 var_nodearraylist4 = var8;
3318 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3319 var_nodearraylist3 = var9;
3320 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3321 var_nodearraylist2 = var10;
3322 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3323 var_nodearraylist1 = var11;
3324 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
3325 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
3326 var_listnode8 = var12;
3327 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
3328 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
3329 var_listnode17 = var13;
3330 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
3331 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
3332 var_listnode18 = var14;
3333 var_pdocnode2 = var_nodearraylist1;
3334 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3335 cltype = type_nullable_parser_nodes__ADoc.color;
3336 idtype = type_nullable_parser_nodes__ADoc.id;
3337 if(var_pdocnode2 == NULL) {
3338 var15 = 1;
3339 } else {
3340 if(cltype >= var_pdocnode2->type->table_size) {
3341 var15 = 0;
3342 } else {
3343 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
3344 }
3345 }
3346 if (!var15) {
3347 fprintf(stderr, "Runtime error: %s", "Assert failed");
3348 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9120);
3349 show_backtrace(1);
3350 }
3351 var_pvisibilitynode4 = var_nodearraylist2;
3352 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3353 cltype17 = type_nullable_parser_nodes__AVisibility.color;
3354 idtype18 = type_nullable_parser_nodes__AVisibility.id;
3355 if(var_pvisibilitynode4 == NULL) {
3356 var16 = 1;
3357 } else {
3358 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
3359 var16 = 0;
3360 } else {
3361 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
3362 }
3363 }
3364 if (!var16) {
3365 fprintf(stderr, "Runtime error: %s", "Assert failed");
3366 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9122);
3367 show_backtrace(1);
3368 }
3369 var_pclasskindnode5 = var_nodearraylist3;
3370 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3371 cltype20 = type_nullable_parser_nodes__AClasskind.color;
3372 idtype21 = type_nullable_parser_nodes__AClasskind.id;
3373 if(var_pclasskindnode5 == NULL) {
3374 var19 = 1;
3375 } else {
3376 if(cltype20 >= var_pclasskindnode5->type->table_size) {
3377 var19 = 0;
3378 } else {
3379 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
3380 }
3381 }
3382 if (!var19) {
3383 fprintf(stderr, "Runtime error: %s", "Assert failed");
3384 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9124);
3385 show_backtrace(1);
3386 }
3387 var_tclassidnode6 = var_nodearraylist5;
3388 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3389 cltype23 = type_nullable_parser_nodes__TClassid.color;
3390 idtype24 = type_nullable_parser_nodes__TClassid.id;
3391 if(var_tclassidnode6 == NULL) {
3392 var22 = 1;
3393 } else {
3394 if(cltype23 >= var_tclassidnode6->type->table_size) {
3395 var22 = 0;
3396 } else {
3397 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
3398 }
3399 }
3400 if (!var22) {
3401 fprintf(stderr, "Runtime error: %s", "Assert failed");
3402 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9126);
3403 show_backtrace(1);
3404 }
3405 var_listnode7 = var_nodearraylist6;
3406 /* <var_listnode7:nullable Object> isa Array[Object] */
3407 cltype26 = type_array__Arraykernel__Object.color;
3408 idtype27 = type_array__Arraykernel__Object.id;
3409 if(var_listnode7 == NULL) {
3410 var25 = 0;
3411 } else {
3412 if(cltype26 >= var_listnode7->type->table_size) {
3413 var25 = 0;
3414 } else {
3415 var25 = var_listnode7->type->type_table[cltype26] == idtype27;
3416 }
3417 }
3418 if (!var25) {
3419 fprintf(stderr, "Runtime error: %s", "Assert failed");
3420 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9128);
3421 show_backtrace(1);
3422 }
3423 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction193>*/;
3424 var_listnode8 = var28;
3425 var29 = NEW_array__Array(&type_array__Arraykernel__Object);
3426 ((void (*)(val*))(var29->class->vft[COLOR_array__Array__init]))(var29) /* init on <var29:Array[Object]>*/;
3427 var_listnode13 = var29;
3428 var_listnode12 = var_nodearraylist7;
3429 /* <var_listnode12:nullable Object> isa Array[Object] */
3430 cltype31 = type_array__Arraykernel__Object.color;
3431 idtype32 = type_array__Arraykernel__Object.id;
3432 if(var_listnode12 == NULL) {
3433 var30 = 0;
3434 } else {
3435 if(cltype31 >= var_listnode12->type->table_size) {
3436 var30 = 0;
3437 } else {
3438 var30 = var_listnode12->type->type_table[cltype31] == idtype32;
3439 }
3440 }
3441 if (!var30) {
3442 fprintf(stderr, "Runtime error: %s", "Assert failed");
3443 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9132);
3444 show_backtrace(1);
3445 }
3446 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction193>*/;
3447 var_listnode13 = var33;
3448 var34 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
3449 var35 = NULL;
3450 var36 = NULL;
3451 var37 = NULL;
3452 ((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>*/;
3453 var_pannotationsnode9 = var34;
3454 var_pexterncodeblocknode15 = var_nodearraylist8;
3455 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
3456 cltype39 = type_nullable_parser_nodes__AExternCodeBlock.color;
3457 idtype40 = type_nullable_parser_nodes__AExternCodeBlock.id;
3458 if(var_pexterncodeblocknode15 == NULL) {
3459 var38 = 1;
3460 } else {
3461 if(cltype39 >= var_pexterncodeblocknode15->type->table_size) {
3462 var38 = 0;
3463 } else {
3464 var38 = var_pexterncodeblocknode15->type->type_table[cltype39] == idtype40;
3465 }
3466 }
3467 if (!var38) {
3468 fprintf(stderr, "Runtime error: %s", "Assert failed");
3469 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9141);
3470 show_backtrace(1);
3471 }
3472 var_listnode16 = var_nodearraylist9;
3473 /* <var_listnode16:nullable Object> isa Array[Object] */
3474 cltype42 = type_array__Arraykernel__Object.color;
3475 idtype43 = type_array__Arraykernel__Object.id;
3476 if(var_listnode16 == NULL) {
3477 var41 = 0;
3478 } else {
3479 if(cltype42 >= var_listnode16->type->table_size) {
3480 var41 = 0;
3481 } else {
3482 var41 = var_listnode16->type->type_table[cltype42] == idtype43;
3483 }
3484 }
3485 if (!var41) {
3486 fprintf(stderr, "Runtime error: %s", "Assert failed");
3487 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9143);
3488 show_backtrace(1);
3489 }
3490 var44 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction193>*/;
3491 var_listnode17 = var44;
3492 var_tkwendnode19 = var_nodearraylist11;
3493 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
3494 cltype46 = type_nullable_parser_nodes__TKwend.color;
3495 idtype47 = type_nullable_parser_nodes__TKwend.id;
3496 if(var_tkwendnode19 == NULL) {
3497 var45 = 1;
3498 } else {
3499 if(cltype46 >= var_tkwendnode19->type->table_size) {
3500 var45 = 0;
3501 } else {
3502 var45 = var_tkwendnode19->type->type_table[cltype46] == idtype47;
3503 }
3504 }
3505 if (!var45) {
3506 fprintf(stderr, "Runtime error: %s", "Assert failed");
3507 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9146);
3508 show_backtrace(1);
3509 }
3510 var48 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3511 var49 = NULL;
3512 ((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_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode17, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var48:AStdClassdef>*/;
3513 var_pclassdefnode1 = var48;
3514 var_node_list = var_pclassdefnode1;
3515 var50 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction193> */
3516 var51 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var50) /* go_to on <var_p:Parser>*/;
3517 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var51, var_node_list) /* push on <var_p:Parser>*/;
3518 RET_LABEL:;
3519 }
3520 /* method parser#ReduceAction193#action for (self: Object, Parser) */
3521 void VIRTUAL_parser__ReduceAction193__action(val* self, val* p0) {
3522 parser__ReduceAction193__action(self, p0);
3523 RET_LABEL:;
3524 }
3525 /* method parser#ReduceAction194#action for (self: ReduceAction194, Parser) */
3526 void parser__ReduceAction194__action(val* self, val* p0) {
3527 val* var_p /* var p: Parser */;
3528 val* var /* : null */;
3529 val* var_node_list /* var node_list: nullable Object */;
3530 val* var1 /* : nullable Object */;
3531 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
3532 val* var2 /* : nullable Object */;
3533 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
3534 val* var3 /* : nullable Object */;
3535 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
3536 val* var4 /* : nullable Object */;
3537 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3538 val* var5 /* : nullable Object */;
3539 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3540 val* var6 /* : nullable Object */;
3541 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3542 val* var7 /* : nullable Object */;
3543 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3544 val* var8 /* : nullable Object */;
3545 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3546 val* var9 /* : nullable Object */;
3547 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3548 val* var10 /* : nullable Object */;
3549 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3550 val* var11 /* : nullable Object */;
3551 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3552 val* var12 /* : nullable Object */;
3553 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3554 val* var13 /* : Array[Object] */;
3555 val* var_listnode8 /* var listnode8: Array[Object] */;
3556 val* var14 /* : Array[Object] */;
3557 val* var_listnode17 /* var listnode17: Array[Object] */;
3558 val* var15 /* : Array[Object] */;
3559 val* var_listnode18 /* var listnode18: Array[Object] */;
3560 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3561 short int var16 /* : Bool */;
3562 int cltype;
3563 int idtype;
3564 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
3565 short int var17 /* : Bool */;
3566 int cltype18;
3567 int idtype19;
3568 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3569 short int var20 /* : Bool */;
3570 int cltype21;
3571 int idtype22;
3572 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3573 short int var23 /* : Bool */;
3574 int cltype24;
3575 int idtype25;
3576 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3577 short int var26 /* : Bool */;
3578 int cltype27;
3579 int idtype28;
3580 val* var_listnode7 /* var listnode7: nullable Object */;
3581 short int var29 /* : Bool */;
3582 int cltype30;
3583 int idtype31;
3584 val* var32 /* : Array[Object] */;
3585 val* var33 /* : Array[Object] */;
3586 val* var_listnode13 /* var listnode13: Array[Object] */;
3587 val* var_listnode12 /* var listnode12: nullable Object */;
3588 short int var34 /* : Bool */;
3589 int cltype35;
3590 int idtype36;
3591 val* var37 /* : Array[Object] */;
3592 val* var38 /* : AAnnotations */;
3593 val* var39 /* : null */;
3594 val* var40 /* : null */;
3595 val* var41 /* : null */;
3596 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
3597 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
3598 short int var42 /* : Bool */;
3599 int cltype43;
3600 int idtype44;
3601 val* var_listnode16 /* var listnode16: nullable Object */;
3602 short int var45 /* : Bool */;
3603 int cltype46;
3604 int idtype47;
3605 val* var48 /* : Array[Object] */;
3606 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
3607 short int var49 /* : Bool */;
3608 int cltype50;
3609 int idtype51;
3610 val* var52 /* : AStdClassdef */;
3611 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3612 long var53 /* : Int */;
3613 long var54 /* : Int */;
3614 var_p = p0;
3615 var = NULL;
3616 var_node_list = var;
3617 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3618 var_nodearraylist12 = var1;
3619 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3620 var_nodearraylist11 = var2;
3621 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3622 var_nodearraylist10 = var3;
3623 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3624 var_nodearraylist9 = var4;
3625 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3626 var_nodearraylist8 = var5;
3627 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3628 var_nodearraylist7 = var6;
3629 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3630 var_nodearraylist6 = var7;
3631 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3632 var_nodearraylist5 = var8;
3633 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3634 var_nodearraylist4 = var9;
3635 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3636 var_nodearraylist3 = var10;
3637 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3638 var_nodearraylist2 = var11;
3639 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3640 var_nodearraylist1 = var12;
3641 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
3642 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
3643 var_listnode8 = var13;
3644 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
3645 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
3646 var_listnode17 = var14;
3647 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
3648 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
3649 var_listnode18 = var15;
3650 var_pdocnode2 = var_nodearraylist1;
3651 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3652 cltype = type_nullable_parser_nodes__ADoc.color;
3653 idtype = type_nullable_parser_nodes__ADoc.id;
3654 if(var_pdocnode2 == NULL) {
3655 var16 = 1;
3656 } else {
3657 if(cltype >= var_pdocnode2->type->table_size) {
3658 var16 = 0;
3659 } else {
3660 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
3661 }
3662 }
3663 if (!var16) {
3664 fprintf(stderr, "Runtime error: %s", "Assert failed");
3665 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9185);
3666 show_backtrace(1);
3667 }
3668 var_tkwredefnode3 = var_nodearraylist2;
3669 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3670 cltype18 = type_nullable_parser_nodes__TKwredef.color;
3671 idtype19 = type_nullable_parser_nodes__TKwredef.id;
3672 if(var_tkwredefnode3 == NULL) {
3673 var17 = 1;
3674 } else {
3675 if(cltype18 >= var_tkwredefnode3->type->table_size) {
3676 var17 = 0;
3677 } else {
3678 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
3679 }
3680 }
3681 if (!var17) {
3682 fprintf(stderr, "Runtime error: %s", "Assert failed");
3683 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9187);
3684 show_backtrace(1);
3685 }
3686 var_pvisibilitynode4 = var_nodearraylist3;
3687 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3688 cltype21 = type_nullable_parser_nodes__AVisibility.color;
3689 idtype22 = type_nullable_parser_nodes__AVisibility.id;
3690 if(var_pvisibilitynode4 == NULL) {
3691 var20 = 1;
3692 } else {
3693 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
3694 var20 = 0;
3695 } else {
3696 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
3697 }
3698 }
3699 if (!var20) {
3700 fprintf(stderr, "Runtime error: %s", "Assert failed");
3701 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9189);
3702 show_backtrace(1);
3703 }
3704 var_pclasskindnode5 = var_nodearraylist4;
3705 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3706 cltype24 = type_nullable_parser_nodes__AClasskind.color;
3707 idtype25 = type_nullable_parser_nodes__AClasskind.id;
3708 if(var_pclasskindnode5 == NULL) {
3709 var23 = 1;
3710 } else {
3711 if(cltype24 >= var_pclasskindnode5->type->table_size) {
3712 var23 = 0;
3713 } else {
3714 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
3715 }
3716 }
3717 if (!var23) {
3718 fprintf(stderr, "Runtime error: %s", "Assert failed");
3719 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9191);
3720 show_backtrace(1);
3721 }
3722 var_tclassidnode6 = var_nodearraylist6;
3723 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3724 cltype27 = type_nullable_parser_nodes__TClassid.color;
3725 idtype28 = type_nullable_parser_nodes__TClassid.id;
3726 if(var_tclassidnode6 == NULL) {
3727 var26 = 1;
3728 } else {
3729 if(cltype27 >= var_tclassidnode6->type->table_size) {
3730 var26 = 0;
3731 } else {
3732 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
3733 }
3734 }
3735 if (!var26) {
3736 fprintf(stderr, "Runtime error: %s", "Assert failed");
3737 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9193);
3738 show_backtrace(1);
3739 }
3740 var_listnode7 = var_nodearraylist7;
3741 /* <var_listnode7:nullable Object> isa Array[Object] */
3742 cltype30 = type_array__Arraykernel__Object.color;
3743 idtype31 = type_array__Arraykernel__Object.id;
3744 if(var_listnode7 == NULL) {
3745 var29 = 0;
3746 } else {
3747 if(cltype30 >= var_listnode7->type->table_size) {
3748 var29 = 0;
3749 } else {
3750 var29 = var_listnode7->type->type_table[cltype30] == idtype31;
3751 }
3752 }
3753 if (!var29) {
3754 fprintf(stderr, "Runtime error: %s", "Assert failed");
3755 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9195);
3756 show_backtrace(1);
3757 }
3758 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction194>*/;
3759 var_listnode8 = var32;
3760 var33 = NEW_array__Array(&type_array__Arraykernel__Object);
3761 ((void (*)(val*))(var33->class->vft[COLOR_array__Array__init]))(var33) /* init on <var33:Array[Object]>*/;
3762 var_listnode13 = var33;
3763 var_listnode12 = var_nodearraylist8;
3764 /* <var_listnode12:nullable Object> isa Array[Object] */
3765 cltype35 = type_array__Arraykernel__Object.color;
3766 idtype36 = type_array__Arraykernel__Object.id;
3767 if(var_listnode12 == NULL) {
3768 var34 = 0;
3769 } else {
3770 if(cltype35 >= var_listnode12->type->table_size) {
3771 var34 = 0;
3772 } else {
3773 var34 = var_listnode12->type->type_table[cltype35] == idtype36;
3774 }
3775 }
3776 if (!var34) {
3777 fprintf(stderr, "Runtime error: %s", "Assert failed");
3778 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9199);
3779 show_backtrace(1);
3780 }
3781 var37 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction194>*/;
3782 var_listnode13 = var37;
3783 var38 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
3784 var39 = NULL;
3785 var40 = NULL;
3786 var41 = NULL;
3787 ((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>*/;
3788 var_pannotationsnode9 = var38;
3789 var_pexterncodeblocknode15 = var_nodearraylist9;
3790 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
3791 cltype43 = type_nullable_parser_nodes__AExternCodeBlock.color;
3792 idtype44 = type_nullable_parser_nodes__AExternCodeBlock.id;
3793 if(var_pexterncodeblocknode15 == NULL) {
3794 var42 = 1;
3795 } else {
3796 if(cltype43 >= var_pexterncodeblocknode15->type->table_size) {
3797 var42 = 0;
3798 } else {
3799 var42 = var_pexterncodeblocknode15->type->type_table[cltype43] == idtype44;
3800 }
3801 }
3802 if (!var42) {
3803 fprintf(stderr, "Runtime error: %s", "Assert failed");
3804 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9208);
3805 show_backtrace(1);
3806 }
3807 var_listnode16 = var_nodearraylist10;
3808 /* <var_listnode16:nullable Object> isa Array[Object] */
3809 cltype46 = type_array__Arraykernel__Object.color;
3810 idtype47 = type_array__Arraykernel__Object.id;
3811 if(var_listnode16 == NULL) {
3812 var45 = 0;
3813 } else {
3814 if(cltype46 >= var_listnode16->type->table_size) {
3815 var45 = 0;
3816 } else {
3817 var45 = var_listnode16->type->type_table[cltype46] == idtype47;
3818 }
3819 }
3820 if (!var45) {
3821 fprintf(stderr, "Runtime error: %s", "Assert failed");
3822 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9210);
3823 show_backtrace(1);
3824 }
3825 var48 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction194>*/;
3826 var_listnode17 = var48;
3827 var_tkwendnode19 = var_nodearraylist12;
3828 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
3829 cltype50 = type_nullable_parser_nodes__TKwend.color;
3830 idtype51 = type_nullable_parser_nodes__TKwend.id;
3831 if(var_tkwendnode19 == NULL) {
3832 var49 = 1;
3833 } else {
3834 if(cltype50 >= var_tkwendnode19->type->table_size) {
3835 var49 = 0;
3836 } else {
3837 var49 = var_tkwendnode19->type->type_table[cltype50] == idtype51;
3838 }
3839 }
3840 if (!var49) {
3841 fprintf(stderr, "Runtime error: %s", "Assert failed");
3842 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9213);
3843 show_backtrace(1);
3844 }
3845 var52 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3846 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var52->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var52, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode17, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var52:AStdClassdef>*/;
3847 var_pclassdefnode1 = var52;
3848 var_node_list = var_pclassdefnode1;
3849 var53 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction194> */
3850 var54 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var53) /* go_to on <var_p:Parser>*/;
3851 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var54, var_node_list) /* push on <var_p:Parser>*/;
3852 RET_LABEL:;
3853 }
3854 /* method parser#ReduceAction194#action for (self: Object, Parser) */
3855 void VIRTUAL_parser__ReduceAction194__action(val* self, val* p0) {
3856 parser__ReduceAction194__action(self, p0);
3857 RET_LABEL:;
3858 }
3859 /* method parser#ReduceAction195#action for (self: ReduceAction195, Parser) */
3860 void parser__ReduceAction195__action(val* self, val* p0) {
3861 val* var_p /* var p: Parser */;
3862 val* var /* : null */;
3863 val* var_node_list /* var node_list: nullable Object */;
3864 val* var1 /* : nullable Object */;
3865 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
3866 val* var2 /* : nullable Object */;
3867 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
3868 val* var3 /* : nullable Object */;
3869 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
3870 val* var4 /* : nullable Object */;
3871 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3872 val* var5 /* : nullable Object */;
3873 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3874 val* var6 /* : nullable Object */;
3875 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3876 val* var7 /* : nullable Object */;
3877 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3878 val* var8 /* : nullable Object */;
3879 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3880 val* var9 /* : nullable Object */;
3881 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3882 val* var10 /* : nullable Object */;
3883 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3884 val* var11 /* : nullable Object */;
3885 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3886 val* var12 /* : nullable Object */;
3887 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3888 val* var13 /* : Array[Object] */;
3889 val* var_listnode8 /* var listnode8: Array[Object] */;
3890 val* var14 /* : Array[Object] */;
3891 val* var_listnode17 /* var listnode17: Array[Object] */;
3892 val* var15 /* : Array[Object] */;
3893 val* var_listnode18 /* var listnode18: Array[Object] */;
3894 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3895 short int var16 /* : Bool */;
3896 int cltype;
3897 int idtype;
3898 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3899 short int var17 /* : Bool */;
3900 int cltype18;
3901 int idtype19;
3902 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3903 short int var20 /* : Bool */;
3904 int cltype21;
3905 int idtype22;
3906 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3907 short int var23 /* : Bool */;
3908 int cltype24;
3909 int idtype25;
3910 val* var_listnode7 /* var listnode7: nullable Object */;
3911 short int var26 /* : Bool */;
3912 int cltype27;
3913 int idtype28;
3914 val* var29 /* : Array[Object] */;
3915 val* var30 /* : Array[Object] */;
3916 val* var_listnode13 /* var listnode13: Array[Object] */;
3917 val* var_listnode12 /* var listnode12: nullable Object */;
3918 short int var31 /* : Bool */;
3919 int cltype32;
3920 int idtype33;
3921 val* var34 /* : Array[Object] */;
3922 val* var35 /* : AAnnotations */;
3923 val* var36 /* : null */;
3924 val* var37 /* : null */;
3925 val* var38 /* : null */;
3926 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
3927 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
3928 short int var39 /* : Bool */;
3929 int cltype40;
3930 int idtype41;
3931 val* var_listnode16 /* var listnode16: nullable Object */;
3932 short int var42 /* : Bool */;
3933 int cltype43;
3934 int idtype44;
3935 val* var45 /* : Array[Object] */;
3936 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
3937 short int var46 /* : Bool */;
3938 int cltype47;
3939 int idtype48;
3940 val* var49 /* : AStdClassdef */;
3941 val* var50 /* : null */;
3942 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3943 long var51 /* : Int */;
3944 long var52 /* : Int */;
3945 var_p = p0;
3946 var = NULL;
3947 var_node_list = var;
3948 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3949 var_nodearraylist12 = var1;
3950 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3951 var_nodearraylist11 = var2;
3952 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3953 var_nodearraylist10 = var3;
3954 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3955 var_nodearraylist9 = var4;
3956 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3957 var_nodearraylist8 = var5;
3958 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3959 var_nodearraylist7 = var6;
3960 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3961 var_nodearraylist6 = var7;
3962 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3963 var_nodearraylist5 = var8;
3964 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3965 var_nodearraylist4 = var9;
3966 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3967 var_nodearraylist3 = var10;
3968 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3969 var_nodearraylist2 = var11;
3970 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3971 var_nodearraylist1 = var12;
3972 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
3973 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
3974 var_listnode8 = var13;
3975 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
3976 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
3977 var_listnode17 = var14;
3978 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
3979 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
3980 var_listnode18 = var15;
3981 var_pdocnode2 = var_nodearraylist1;
3982 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3983 cltype = type_nullable_parser_nodes__ADoc.color;
3984 idtype = type_nullable_parser_nodes__ADoc.id;
3985 if(var_pdocnode2 == NULL) {
3986 var16 = 1;
3987 } else {
3988 if(cltype >= var_pdocnode2->type->table_size) {
3989 var16 = 0;
3990 } else {
3991 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
3992 }
3993 }
3994 if (!var16) {
3995 fprintf(stderr, "Runtime error: %s", "Assert failed");
3996 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9252);
3997 show_backtrace(1);
3998 }
3999 var_pvisibilitynode4 = var_nodearraylist2;
4000 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4001 cltype18 = type_nullable_parser_nodes__AVisibility.color;
4002 idtype19 = type_nullable_parser_nodes__AVisibility.id;
4003 if(var_pvisibilitynode4 == NULL) {
4004 var17 = 1;
4005 } else {
4006 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
4007 var17 = 0;
4008 } else {
4009 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
4010 }
4011 }
4012 if (!var17) {
4013 fprintf(stderr, "Runtime error: %s", "Assert failed");
4014 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9254);
4015 show_backtrace(1);
4016 }
4017 var_pclasskindnode5 = var_nodearraylist3;
4018 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4019 cltype21 = type_nullable_parser_nodes__AClasskind.color;
4020 idtype22 = type_nullable_parser_nodes__AClasskind.id;
4021 if(var_pclasskindnode5 == NULL) {
4022 var20 = 1;
4023 } else {
4024 if(cltype21 >= var_pclasskindnode5->type->table_size) {
4025 var20 = 0;
4026 } else {
4027 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
4028 }
4029 }
4030 if (!var20) {
4031 fprintf(stderr, "Runtime error: %s", "Assert failed");
4032 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9256);
4033 show_backtrace(1);
4034 }
4035 var_tclassidnode6 = var_nodearraylist6;
4036 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4037 cltype24 = type_nullable_parser_nodes__TClassid.color;
4038 idtype25 = type_nullable_parser_nodes__TClassid.id;
4039 if(var_tclassidnode6 == NULL) {
4040 var23 = 1;
4041 } else {
4042 if(cltype24 >= var_tclassidnode6->type->table_size) {
4043 var23 = 0;
4044 } else {
4045 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
4046 }
4047 }
4048 if (!var23) {
4049 fprintf(stderr, "Runtime error: %s", "Assert failed");
4050 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9258);
4051 show_backtrace(1);
4052 }
4053 var_listnode7 = var_nodearraylist7;
4054 /* <var_listnode7:nullable Object> isa Array[Object] */
4055 cltype27 = type_array__Arraykernel__Object.color;
4056 idtype28 = type_array__Arraykernel__Object.id;
4057 if(var_listnode7 == NULL) {
4058 var26 = 0;
4059 } else {
4060 if(cltype27 >= var_listnode7->type->table_size) {
4061 var26 = 0;
4062 } else {
4063 var26 = var_listnode7->type->type_table[cltype27] == idtype28;
4064 }
4065 }
4066 if (!var26) {
4067 fprintf(stderr, "Runtime error: %s", "Assert failed");
4068 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9260);
4069 show_backtrace(1);
4070 }
4071 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction195>*/;
4072 var_listnode8 = var29;
4073 var30 = NEW_array__Array(&type_array__Arraykernel__Object);
4074 ((void (*)(val*))(var30->class->vft[COLOR_array__Array__init]))(var30) /* init on <var30:Array[Object]>*/;
4075 var_listnode13 = var30;
4076 var_listnode12 = var_nodearraylist8;
4077 /* <var_listnode12:nullable Object> isa Array[Object] */
4078 cltype32 = type_array__Arraykernel__Object.color;
4079 idtype33 = type_array__Arraykernel__Object.id;
4080 if(var_listnode12 == NULL) {
4081 var31 = 0;
4082 } else {
4083 if(cltype32 >= var_listnode12->type->table_size) {
4084 var31 = 0;
4085 } else {
4086 var31 = var_listnode12->type->type_table[cltype32] == idtype33;
4087 }
4088 }
4089 if (!var31) {
4090 fprintf(stderr, "Runtime error: %s", "Assert failed");
4091 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9264);
4092 show_backtrace(1);
4093 }
4094 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction195>*/;
4095 var_listnode13 = var34;
4096 var35 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
4097 var36 = NULL;
4098 var37 = NULL;
4099 var38 = NULL;
4100 ((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>*/;
4101 var_pannotationsnode9 = var35;
4102 var_pexterncodeblocknode15 = var_nodearraylist9;
4103 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
4104 cltype40 = type_nullable_parser_nodes__AExternCodeBlock.color;
4105 idtype41 = type_nullable_parser_nodes__AExternCodeBlock.id;
4106 if(var_pexterncodeblocknode15 == NULL) {
4107 var39 = 1;
4108 } else {
4109 if(cltype40 >= var_pexterncodeblocknode15->type->table_size) {
4110 var39 = 0;
4111 } else {
4112 var39 = var_pexterncodeblocknode15->type->type_table[cltype40] == idtype41;
4113 }
4114 }
4115 if (!var39) {
4116 fprintf(stderr, "Runtime error: %s", "Assert failed");
4117 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9273);
4118 show_backtrace(1);
4119 }
4120 var_listnode16 = var_nodearraylist10;
4121 /* <var_listnode16:nullable Object> isa Array[Object] */
4122 cltype43 = type_array__Arraykernel__Object.color;
4123 idtype44 = type_array__Arraykernel__Object.id;
4124 if(var_listnode16 == NULL) {
4125 var42 = 0;
4126 } else {
4127 if(cltype43 >= var_listnode16->type->table_size) {
4128 var42 = 0;
4129 } else {
4130 var42 = var_listnode16->type->type_table[cltype43] == idtype44;
4131 }
4132 }
4133 if (!var42) {
4134 fprintf(stderr, "Runtime error: %s", "Assert failed");
4135 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9275);
4136 show_backtrace(1);
4137 }
4138 var45 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction195>*/;
4139 var_listnode17 = var45;
4140 var_tkwendnode19 = var_nodearraylist12;
4141 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
4142 cltype47 = type_nullable_parser_nodes__TKwend.color;
4143 idtype48 = type_nullable_parser_nodes__TKwend.id;
4144 if(var_tkwendnode19 == NULL) {
4145 var46 = 1;
4146 } else {
4147 if(cltype47 >= var_tkwendnode19->type->table_size) {
4148 var46 = 0;
4149 } else {
4150 var46 = var_tkwendnode19->type->type_table[cltype47] == idtype48;
4151 }
4152 }
4153 if (!var46) {
4154 fprintf(stderr, "Runtime error: %s", "Assert failed");
4155 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9278);
4156 show_backtrace(1);
4157 }
4158 var49 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4159 var50 = NULL;
4160 ((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, var_pexterncodeblocknode15, var_listnode17, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var49:AStdClassdef>*/;
4161 var_pclassdefnode1 = var49;
4162 var_node_list = var_pclassdefnode1;
4163 var51 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction195> */
4164 var52 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var51) /* go_to on <var_p:Parser>*/;
4165 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var52, var_node_list) /* push on <var_p:Parser>*/;
4166 RET_LABEL:;
4167 }
4168 /* method parser#ReduceAction195#action for (self: Object, Parser) */
4169 void VIRTUAL_parser__ReduceAction195__action(val* self, val* p0) {
4170 parser__ReduceAction195__action(self, p0);
4171 RET_LABEL:;
4172 }
4173 /* method parser#ReduceAction196#action for (self: ReduceAction196, Parser) */
4174 void parser__ReduceAction196__action(val* self, val* p0) {
4175 val* var_p /* var p: Parser */;
4176 val* var /* : null */;
4177 val* var_node_list /* var node_list: nullable Object */;
4178 val* var1 /* : nullable Object */;
4179 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
4180 val* var2 /* : nullable Object */;
4181 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
4182 val* var3 /* : nullable Object */;
4183 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
4184 val* var4 /* : nullable Object */;
4185 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4186 val* var5 /* : nullable Object */;
4187 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4188 val* var6 /* : nullable Object */;
4189 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4190 val* var7 /* : nullable Object */;
4191 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4192 val* var8 /* : nullable Object */;
4193 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4194 val* var9 /* : nullable Object */;
4195 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4196 val* var10 /* : nullable Object */;
4197 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4198 val* var11 /* : nullable Object */;
4199 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4200 val* var12 /* : nullable Object */;
4201 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4202 val* var13 /* : nullable Object */;
4203 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4204 val* var14 /* : Array[Object] */;
4205 val* var_listnode8 /* var listnode8: Array[Object] */;
4206 val* var15 /* : Array[Object] */;
4207 val* var_listnode17 /* var listnode17: Array[Object] */;
4208 val* var16 /* : Array[Object] */;
4209 val* var_listnode18 /* var listnode18: Array[Object] */;
4210 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4211 short int var17 /* : Bool */;
4212 int cltype;
4213 int idtype;
4214 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4215 short int var18 /* : Bool */;
4216 int cltype19;
4217 int idtype20;
4218 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4219 short int var21 /* : Bool */;
4220 int cltype22;
4221 int idtype23;
4222 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4223 short int var24 /* : Bool */;
4224 int cltype25;
4225 int idtype26;
4226 val* var_listnode7 /* var listnode7: nullable Object */;
4227 short int var27 /* : Bool */;
4228 int cltype28;
4229 int idtype29;
4230 val* var30 /* : Array[Object] */;
4231 val* var31 /* : Array[Object] */;
4232 val* var_listnode13 /* var listnode13: Array[Object] */;
4233 val* var_listnode12 /* var listnode12: nullable Object */;
4234 short int var32 /* : Bool */;
4235 int cltype33;
4236 int idtype34;
4237 val* var35 /* : Array[Object] */;
4238 val* var36 /* : AAnnotations */;
4239 val* var37 /* : null */;
4240 val* var38 /* : null */;
4241 val* var39 /* : null */;
4242 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
4243 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
4244 short int var40 /* : Bool */;
4245 int cltype41;
4246 int idtype42;
4247 val* var_listnode16 /* var listnode16: nullable Object */;
4248 short int var43 /* : Bool */;
4249 int cltype44;
4250 int idtype45;
4251 val* var46 /* : Array[Object] */;
4252 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
4253 short int var47 /* : Bool */;
4254 int cltype48;
4255 int idtype49;
4256 val* var50 /* : AStdClassdef */;
4257 val* var51 /* : null */;
4258 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4259 long var52 /* : Int */;
4260 long var53 /* : Int */;
4261 var_p = p0;
4262 var = NULL;
4263 var_node_list = var;
4264 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4265 var_nodearraylist13 = var1;
4266 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4267 var_nodearraylist12 = var2;
4268 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4269 var_nodearraylist11 = var3;
4270 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4271 var_nodearraylist10 = var4;
4272 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4273 var_nodearraylist9 = var5;
4274 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4275 var_nodearraylist8 = var6;
4276 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4277 var_nodearraylist7 = var7;
4278 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4279 var_nodearraylist6 = var8;
4280 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4281 var_nodearraylist5 = var9;
4282 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4283 var_nodearraylist4 = var10;
4284 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4285 var_nodearraylist3 = var11;
4286 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4287 var_nodearraylist2 = var12;
4288 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4289 var_nodearraylist1 = var13;
4290 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
4291 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
4292 var_listnode8 = var14;
4293 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
4294 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
4295 var_listnode17 = var15;
4296 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
4297 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
4298 var_listnode18 = var16;
4299 var_pdocnode2 = var_nodearraylist1;
4300 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4301 cltype = type_nullable_parser_nodes__ADoc.color;
4302 idtype = type_nullable_parser_nodes__ADoc.id;
4303 if(var_pdocnode2 == NULL) {
4304 var17 = 1;
4305 } else {
4306 if(cltype >= var_pdocnode2->type->table_size) {
4307 var17 = 0;
4308 } else {
4309 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
4310 }
4311 }
4312 if (!var17) {
4313 fprintf(stderr, "Runtime error: %s", "Assert failed");
4314 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9318);
4315 show_backtrace(1);
4316 }
4317 var_pvisibilitynode4 = var_nodearraylist2;
4318 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4319 cltype19 = type_nullable_parser_nodes__AVisibility.color;
4320 idtype20 = type_nullable_parser_nodes__AVisibility.id;
4321 if(var_pvisibilitynode4 == NULL) {
4322 var18 = 1;
4323 } else {
4324 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
4325 var18 = 0;
4326 } else {
4327 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
4328 }
4329 }
4330 if (!var18) {
4331 fprintf(stderr, "Runtime error: %s", "Assert failed");
4332 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9320);
4333 show_backtrace(1);
4334 }
4335 var_pclasskindnode5 = var_nodearraylist3;
4336 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4337 cltype22 = type_nullable_parser_nodes__AClasskind.color;
4338 idtype23 = type_nullable_parser_nodes__AClasskind.id;
4339 if(var_pclasskindnode5 == NULL) {
4340 var21 = 1;
4341 } else {
4342 if(cltype22 >= var_pclasskindnode5->type->table_size) {
4343 var21 = 0;
4344 } else {
4345 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
4346 }
4347 }
4348 if (!var21) {
4349 fprintf(stderr, "Runtime error: %s", "Assert failed");
4350 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9322);
4351 show_backtrace(1);
4352 }
4353 var_tclassidnode6 = var_nodearraylist7;
4354 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4355 cltype25 = type_nullable_parser_nodes__TClassid.color;
4356 idtype26 = type_nullable_parser_nodes__TClassid.id;
4357 if(var_tclassidnode6 == NULL) {
4358 var24 = 1;
4359 } else {
4360 if(cltype25 >= var_tclassidnode6->type->table_size) {
4361 var24 = 0;
4362 } else {
4363 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
4364 }
4365 }
4366 if (!var24) {
4367 fprintf(stderr, "Runtime error: %s", "Assert failed");
4368 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9324);
4369 show_backtrace(1);
4370 }
4371 var_listnode7 = var_nodearraylist8;
4372 /* <var_listnode7:nullable Object> isa Array[Object] */
4373 cltype28 = type_array__Arraykernel__Object.color;
4374 idtype29 = type_array__Arraykernel__Object.id;
4375 if(var_listnode7 == NULL) {
4376 var27 = 0;
4377 } else {
4378 if(cltype28 >= var_listnode7->type->table_size) {
4379 var27 = 0;
4380 } else {
4381 var27 = var_listnode7->type->type_table[cltype28] == idtype29;
4382 }
4383 }
4384 if (!var27) {
4385 fprintf(stderr, "Runtime error: %s", "Assert failed");
4386 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9326);
4387 show_backtrace(1);
4388 }
4389 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction196>*/;
4390 var_listnode8 = var30;
4391 var31 = NEW_array__Array(&type_array__Arraykernel__Object);
4392 ((void (*)(val*))(var31->class->vft[COLOR_array__Array__init]))(var31) /* init on <var31:Array[Object]>*/;
4393 var_listnode13 = var31;
4394 var_listnode12 = var_nodearraylist9;
4395 /* <var_listnode12:nullable Object> isa Array[Object] */
4396 cltype33 = type_array__Arraykernel__Object.color;
4397 idtype34 = type_array__Arraykernel__Object.id;
4398 if(var_listnode12 == NULL) {
4399 var32 = 0;
4400 } else {
4401 if(cltype33 >= var_listnode12->type->table_size) {
4402 var32 = 0;
4403 } else {
4404 var32 = var_listnode12->type->type_table[cltype33] == idtype34;
4405 }
4406 }
4407 if (!var32) {
4408 fprintf(stderr, "Runtime error: %s", "Assert failed");
4409 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9330);
4410 show_backtrace(1);
4411 }
4412 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction196>*/;
4413 var_listnode13 = var35;
4414 var36 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
4415 var37 = NULL;
4416 var38 = NULL;
4417 var39 = NULL;
4418 ((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>*/;
4419 var_pannotationsnode9 = var36;
4420 var_pexterncodeblocknode15 = var_nodearraylist10;
4421 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
4422 cltype41 = type_nullable_parser_nodes__AExternCodeBlock.color;
4423 idtype42 = type_nullable_parser_nodes__AExternCodeBlock.id;
4424 if(var_pexterncodeblocknode15 == NULL) {
4425 var40 = 1;
4426 } else {
4427 if(cltype41 >= var_pexterncodeblocknode15->type->table_size) {
4428 var40 = 0;
4429 } else {
4430 var40 = var_pexterncodeblocknode15->type->type_table[cltype41] == idtype42;
4431 }
4432 }
4433 if (!var40) {
4434 fprintf(stderr, "Runtime error: %s", "Assert failed");
4435 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9339);
4436 show_backtrace(1);
4437 }
4438 var_listnode16 = var_nodearraylist11;
4439 /* <var_listnode16:nullable Object> isa Array[Object] */
4440 cltype44 = type_array__Arraykernel__Object.color;
4441 idtype45 = type_array__Arraykernel__Object.id;
4442 if(var_listnode16 == NULL) {
4443 var43 = 0;
4444 } else {
4445 if(cltype44 >= var_listnode16->type->table_size) {
4446 var43 = 0;
4447 } else {
4448 var43 = var_listnode16->type->type_table[cltype44] == idtype45;
4449 }
4450 }
4451 if (!var43) {
4452 fprintf(stderr, "Runtime error: %s", "Assert failed");
4453 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9341);
4454 show_backtrace(1);
4455 }
4456 var46 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction196>*/;
4457 var_listnode17 = var46;
4458 var_tkwendnode19 = var_nodearraylist13;
4459 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
4460 cltype48 = type_nullable_parser_nodes__TKwend.color;
4461 idtype49 = type_nullable_parser_nodes__TKwend.id;
4462 if(var_tkwendnode19 == NULL) {
4463 var47 = 1;
4464 } else {
4465 if(cltype48 >= var_tkwendnode19->type->table_size) {
4466 var47 = 0;
4467 } else {
4468 var47 = var_tkwendnode19->type->type_table[cltype48] == idtype49;
4469 }
4470 }
4471 if (!var47) {
4472 fprintf(stderr, "Runtime error: %s", "Assert failed");
4473 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9344);
4474 show_backtrace(1);
4475 }
4476 var50 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4477 var51 = NULL;
4478 ((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, var_pexterncodeblocknode15, var_listnode17, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var50:AStdClassdef>*/;
4479 var_pclassdefnode1 = var50;
4480 var_node_list = var_pclassdefnode1;
4481 var52 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction196> */
4482 var53 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var52) /* go_to on <var_p:Parser>*/;
4483 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var53, var_node_list) /* push on <var_p:Parser>*/;
4484 RET_LABEL:;
4485 }
4486 /* method parser#ReduceAction196#action for (self: Object, Parser) */
4487 void VIRTUAL_parser__ReduceAction196__action(val* self, val* p0) {
4488 parser__ReduceAction196__action(self, p0);
4489 RET_LABEL:;
4490 }
4491 /* method parser#ReduceAction198#action for (self: ReduceAction198, Parser) */
4492 void parser__ReduceAction198__action(val* self, val* p0) {
4493 val* var_p /* var p: Parser */;
4494 val* var /* : null */;
4495 val* var_node_list /* var node_list: nullable Object */;
4496 val* var1 /* : nullable Object */;
4497 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
4498 val* var2 /* : nullable Object */;
4499 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
4500 val* var3 /* : nullable Object */;
4501 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
4502 val* var4 /* : nullable Object */;
4503 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4504 val* var5 /* : nullable Object */;
4505 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4506 val* var6 /* : nullable Object */;
4507 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4508 val* var7 /* : nullable Object */;
4509 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4510 val* var8 /* : nullable Object */;
4511 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4512 val* var9 /* : nullable Object */;
4513 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4514 val* var10 /* : nullable Object */;
4515 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4516 val* var11 /* : nullable Object */;
4517 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4518 val* var12 /* : nullable Object */;
4519 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4520 val* var13 /* : nullable Object */;
4521 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4522 val* var14 /* : Array[Object] */;
4523 val* var_listnode8 /* var listnode8: Array[Object] */;
4524 val* var15 /* : Array[Object] */;
4525 val* var_listnode17 /* var listnode17: Array[Object] */;
4526 val* var16 /* : Array[Object] */;
4527 val* var_listnode18 /* var listnode18: Array[Object] */;
4528 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4529 short int var17 /* : Bool */;
4530 int cltype;
4531 int idtype;
4532 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
4533 short int var18 /* : Bool */;
4534 int cltype19;
4535 int idtype20;
4536 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4537 short int var21 /* : Bool */;
4538 int cltype22;
4539 int idtype23;
4540 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4541 short int var24 /* : Bool */;
4542 int cltype25;
4543 int idtype26;
4544 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4545 short int var27 /* : Bool */;
4546 int cltype28;
4547 int idtype29;
4548 val* var_listnode7 /* var listnode7: nullable Object */;
4549 short int var30 /* : Bool */;
4550 int cltype31;
4551 int idtype32;
4552 val* var33 /* : Array[Object] */;
4553 val* var34 /* : Array[Object] */;
4554 val* var_listnode13 /* var listnode13: Array[Object] */;
4555 val* var_listnode12 /* var listnode12: nullable Object */;
4556 short int var35 /* : Bool */;
4557 int cltype36;
4558 int idtype37;
4559 val* var38 /* : Array[Object] */;
4560 val* var39 /* : AAnnotations */;
4561 val* var40 /* : null */;
4562 val* var41 /* : null */;
4563 val* var42 /* : null */;
4564 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
4565 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
4566 short int var43 /* : Bool */;
4567 int cltype44;
4568 int idtype45;
4569 val* var_listnode16 /* var listnode16: nullable Object */;
4570 short int var46 /* : Bool */;
4571 int cltype47;
4572 int idtype48;
4573 val* var49 /* : Array[Object] */;
4574 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
4575 short int var50 /* : Bool */;
4576 int cltype51;
4577 int idtype52;
4578 val* var53 /* : AStdClassdef */;
4579 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4580 long var54 /* : Int */;
4581 long var55 /* : Int */;
4582 var_p = p0;
4583 var = NULL;
4584 var_node_list = var;
4585 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4586 var_nodearraylist13 = var1;
4587 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4588 var_nodearraylist12 = var2;
4589 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4590 var_nodearraylist11 = var3;
4591 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4592 var_nodearraylist10 = var4;
4593 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4594 var_nodearraylist9 = var5;
4595 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4596 var_nodearraylist8 = var6;
4597 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4598 var_nodearraylist7 = var7;
4599 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4600 var_nodearraylist6 = var8;
4601 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4602 var_nodearraylist5 = var9;
4603 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4604 var_nodearraylist4 = var10;
4605 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4606 var_nodearraylist3 = var11;
4607 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4608 var_nodearraylist2 = var12;
4609 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4610 var_nodearraylist1 = var13;
4611 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
4612 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
4613 var_listnode8 = var14;
4614 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
4615 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
4616 var_listnode17 = var15;
4617 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
4618 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
4619 var_listnode18 = var16;
4620 var_pdocnode2 = var_nodearraylist1;
4621 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4622 cltype = type_nullable_parser_nodes__ADoc.color;
4623 idtype = type_nullable_parser_nodes__ADoc.id;
4624 if(var_pdocnode2 == NULL) {
4625 var17 = 1;
4626 } else {
4627 if(cltype >= var_pdocnode2->type->table_size) {
4628 var17 = 0;
4629 } else {
4630 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
4631 }
4632 }
4633 if (!var17) {
4634 fprintf(stderr, "Runtime error: %s", "Assert failed");
4635 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9384);
4636 show_backtrace(1);
4637 }
4638 var_tkwredefnode3 = var_nodearraylist2;
4639 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4640 cltype19 = type_nullable_parser_nodes__TKwredef.color;
4641 idtype20 = type_nullable_parser_nodes__TKwredef.id;
4642 if(var_tkwredefnode3 == NULL) {
4643 var18 = 1;
4644 } else {
4645 if(cltype19 >= var_tkwredefnode3->type->table_size) {
4646 var18 = 0;
4647 } else {
4648 var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20;
4649 }
4650 }
4651 if (!var18) {
4652 fprintf(stderr, "Runtime error: %s", "Assert failed");
4653 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9386);
4654 show_backtrace(1);
4655 }
4656 var_pvisibilitynode4 = var_nodearraylist3;
4657 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4658 cltype22 = type_nullable_parser_nodes__AVisibility.color;
4659 idtype23 = type_nullable_parser_nodes__AVisibility.id;
4660 if(var_pvisibilitynode4 == NULL) {
4661 var21 = 1;
4662 } else {
4663 if(cltype22 >= var_pvisibilitynode4->type->table_size) {
4664 var21 = 0;
4665 } else {
4666 var21 = var_pvisibilitynode4->type->type_table[cltype22] == idtype23;
4667 }
4668 }
4669 if (!var21) {
4670 fprintf(stderr, "Runtime error: %s", "Assert failed");
4671 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9388);
4672 show_backtrace(1);
4673 }
4674 var_pclasskindnode5 = var_nodearraylist4;
4675 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4676 cltype25 = type_nullable_parser_nodes__AClasskind.color;
4677 idtype26 = type_nullable_parser_nodes__AClasskind.id;
4678 if(var_pclasskindnode5 == NULL) {
4679 var24 = 1;
4680 } else {
4681 if(cltype25 >= var_pclasskindnode5->type->table_size) {
4682 var24 = 0;
4683 } else {
4684 var24 = var_pclasskindnode5->type->type_table[cltype25] == idtype26;
4685 }
4686 }
4687 if (!var24) {
4688 fprintf(stderr, "Runtime error: %s", "Assert failed");
4689 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9390);
4690 show_backtrace(1);
4691 }
4692 var_tclassidnode6 = var_nodearraylist7;
4693 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4694 cltype28 = type_nullable_parser_nodes__TClassid.color;
4695 idtype29 = type_nullable_parser_nodes__TClassid.id;
4696 if(var_tclassidnode6 == NULL) {
4697 var27 = 1;
4698 } else {
4699 if(cltype28 >= var_tclassidnode6->type->table_size) {
4700 var27 = 0;
4701 } else {
4702 var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29;
4703 }
4704 }
4705 if (!var27) {
4706 fprintf(stderr, "Runtime error: %s", "Assert failed");
4707 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9392);
4708 show_backtrace(1);
4709 }
4710 var_listnode7 = var_nodearraylist8;
4711 /* <var_listnode7:nullable Object> isa Array[Object] */
4712 cltype31 = type_array__Arraykernel__Object.color;
4713 idtype32 = type_array__Arraykernel__Object.id;
4714 if(var_listnode7 == NULL) {
4715 var30 = 0;
4716 } else {
4717 if(cltype31 >= var_listnode7->type->table_size) {
4718 var30 = 0;
4719 } else {
4720 var30 = var_listnode7->type->type_table[cltype31] == idtype32;
4721 }
4722 }
4723 if (!var30) {
4724 fprintf(stderr, "Runtime error: %s", "Assert failed");
4725 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9394);
4726 show_backtrace(1);
4727 }
4728 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction198>*/;
4729 var_listnode8 = var33;
4730 var34 = NEW_array__Array(&type_array__Arraykernel__Object);
4731 ((void (*)(val*))(var34->class->vft[COLOR_array__Array__init]))(var34) /* init on <var34:Array[Object]>*/;
4732 var_listnode13 = var34;
4733 var_listnode12 = var_nodearraylist9;
4734 /* <var_listnode12:nullable Object> isa Array[Object] */
4735 cltype36 = type_array__Arraykernel__Object.color;
4736 idtype37 = type_array__Arraykernel__Object.id;
4737 if(var_listnode12 == NULL) {
4738 var35 = 0;
4739 } else {
4740 if(cltype36 >= var_listnode12->type->table_size) {
4741 var35 = 0;
4742 } else {
4743 var35 = var_listnode12->type->type_table[cltype36] == idtype37;
4744 }
4745 }
4746 if (!var35) {
4747 fprintf(stderr, "Runtime error: %s", "Assert failed");
4748 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9398);
4749 show_backtrace(1);
4750 }
4751 var38 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction198>*/;
4752 var_listnode13 = var38;
4753 var39 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
4754 var40 = NULL;
4755 var41 = NULL;
4756 var42 = NULL;
4757 ((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>*/;
4758 var_pannotationsnode9 = var39;
4759 var_pexterncodeblocknode15 = var_nodearraylist10;
4760 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
4761 cltype44 = type_nullable_parser_nodes__AExternCodeBlock.color;
4762 idtype45 = type_nullable_parser_nodes__AExternCodeBlock.id;
4763 if(var_pexterncodeblocknode15 == NULL) {
4764 var43 = 1;
4765 } else {
4766 if(cltype44 >= var_pexterncodeblocknode15->type->table_size) {
4767 var43 = 0;
4768 } else {
4769 var43 = var_pexterncodeblocknode15->type->type_table[cltype44] == idtype45;
4770 }
4771 }
4772 if (!var43) {
4773 fprintf(stderr, "Runtime error: %s", "Assert failed");
4774 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9407);
4775 show_backtrace(1);
4776 }
4777 var_listnode16 = var_nodearraylist11;
4778 /* <var_listnode16:nullable Object> isa Array[Object] */
4779 cltype47 = type_array__Arraykernel__Object.color;
4780 idtype48 = type_array__Arraykernel__Object.id;
4781 if(var_listnode16 == NULL) {
4782 var46 = 0;
4783 } else {
4784 if(cltype47 >= var_listnode16->type->table_size) {
4785 var46 = 0;
4786 } else {
4787 var46 = var_listnode16->type->type_table[cltype47] == idtype48;
4788 }
4789 }
4790 if (!var46) {
4791 fprintf(stderr, "Runtime error: %s", "Assert failed");
4792 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9409);
4793 show_backtrace(1);
4794 }
4795 var49 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction198>*/;
4796 var_listnode17 = var49;
4797 var_tkwendnode19 = var_nodearraylist13;
4798 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
4799 cltype51 = type_nullable_parser_nodes__TKwend.color;
4800 idtype52 = type_nullable_parser_nodes__TKwend.id;
4801 if(var_tkwendnode19 == NULL) {
4802 var50 = 1;
4803 } else {
4804 if(cltype51 >= var_tkwendnode19->type->table_size) {
4805 var50 = 0;
4806 } else {
4807 var50 = var_tkwendnode19->type->type_table[cltype51] == idtype52;
4808 }
4809 }
4810 if (!var50) {
4811 fprintf(stderr, "Runtime error: %s", "Assert failed");
4812 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9412);
4813 show_backtrace(1);
4814 }
4815 var53 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4816 ((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, var_pexterncodeblocknode15, var_listnode17, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var53:AStdClassdef>*/;
4817 var_pclassdefnode1 = var53;
4818 var_node_list = var_pclassdefnode1;
4819 var54 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction198> */
4820 var55 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var54) /* go_to on <var_p:Parser>*/;
4821 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var55, var_node_list) /* push on <var_p:Parser>*/;
4822 RET_LABEL:;
4823 }
4824 /* method parser#ReduceAction198#action for (self: Object, Parser) */
4825 void VIRTUAL_parser__ReduceAction198__action(val* self, val* p0) {
4826 parser__ReduceAction198__action(self, p0);
4827 RET_LABEL:;
4828 }
4829 /* method parser#ReduceAction199#action for (self: ReduceAction199, Parser) */
4830 void parser__ReduceAction199__action(val* self, val* p0) {
4831 val* var_p /* var p: Parser */;
4832 val* var /* : null */;
4833 val* var_node_list /* var node_list: nullable Object */;
4834 val* var1 /* : nullable Object */;
4835 val* var_nodearraylist14 /* var nodearraylist14: nullable Object */;
4836 val* var2 /* : nullable Object */;
4837 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
4838 val* var3 /* : nullable Object */;
4839 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
4840 val* var4 /* : nullable Object */;
4841 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
4842 val* var5 /* : nullable Object */;
4843 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4844 val* var6 /* : nullable Object */;
4845 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4846 val* var7 /* : nullable Object */;
4847 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4848 val* var8 /* : nullable Object */;
4849 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4850 val* var9 /* : nullable Object */;
4851 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4852 val* var10 /* : nullable Object */;
4853 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4854 val* var11 /* : nullable Object */;
4855 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4856 val* var12 /* : nullable Object */;
4857 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4858 val* var13 /* : nullable Object */;
4859 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4860 val* var14 /* : nullable Object */;
4861 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4862 val* var15 /* : Array[Object] */;
4863 val* var_listnode8 /* var listnode8: Array[Object] */;
4864 val* var16 /* : Array[Object] */;
4865 val* var_listnode17 /* var listnode17: Array[Object] */;
4866 val* var17 /* : Array[Object] */;
4867 val* var_listnode18 /* var listnode18: Array[Object] */;
4868 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4869 short int var18 /* : Bool */;
4870 int cltype;
4871 int idtype;
4872 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
4873 short int var19 /* : Bool */;
4874 int cltype20;
4875 int idtype21;
4876 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4877 short int var22 /* : Bool */;
4878 int cltype23;
4879 int idtype24;
4880 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4881 short int var25 /* : Bool */;
4882 int cltype26;
4883 int idtype27;
4884 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4885 short int var28 /* : Bool */;
4886 int cltype29;
4887 int idtype30;
4888 val* var_listnode7 /* var listnode7: nullable Object */;
4889 short int var31 /* : Bool */;
4890 int cltype32;
4891 int idtype33;
4892 val* var34 /* : Array[Object] */;
4893 val* var35 /* : Array[Object] */;
4894 val* var_listnode13 /* var listnode13: Array[Object] */;
4895 val* var_listnode12 /* var listnode12: nullable Object */;
4896 short int var36 /* : Bool */;
4897 int cltype37;
4898 int idtype38;
4899 val* var39 /* : Array[Object] */;
4900 val* var40 /* : AAnnotations */;
4901 val* var41 /* : null */;
4902 val* var42 /* : null */;
4903 val* var43 /* : null */;
4904 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
4905 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
4906 short int var44 /* : Bool */;
4907 int cltype45;
4908 int idtype46;
4909 val* var_listnode16 /* var listnode16: nullable Object */;
4910 short int var47 /* : Bool */;
4911 int cltype48;
4912 int idtype49;
4913 val* var50 /* : Array[Object] */;
4914 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
4915 short int var51 /* : Bool */;
4916 int cltype52;
4917 int idtype53;
4918 val* var54 /* : AStdClassdef */;
4919 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4920 long var55 /* : Int */;
4921 long var56 /* : Int */;
4922 var_p = p0;
4923 var = NULL;
4924 var_node_list = var;
4925 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4926 var_nodearraylist14 = var1;
4927 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4928 var_nodearraylist13 = var2;
4929 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4930 var_nodearraylist12 = var3;
4931 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4932 var_nodearraylist11 = var4;
4933 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4934 var_nodearraylist10 = var5;
4935 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4936 var_nodearraylist9 = var6;
4937 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4938 var_nodearraylist8 = var7;
4939 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4940 var_nodearraylist7 = var8;
4941 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4942 var_nodearraylist6 = var9;
4943 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4944 var_nodearraylist5 = var10;
4945 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4946 var_nodearraylist4 = var11;
4947 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4948 var_nodearraylist3 = var12;
4949 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4950 var_nodearraylist2 = var13;
4951 var14 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4952 var_nodearraylist1 = var14;
4953 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
4954 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
4955 var_listnode8 = var15;
4956 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
4957 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
4958 var_listnode17 = var16;
4959 var17 = NEW_array__Array(&type_array__Arraykernel__Object);
4960 ((void (*)(val*))(var17->class->vft[COLOR_array__Array__init]))(var17) /* init on <var17:Array[Object]>*/;
4961 var_listnode18 = var17;
4962 var_pdocnode2 = var_nodearraylist1;
4963 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4964 cltype = type_nullable_parser_nodes__ADoc.color;
4965 idtype = type_nullable_parser_nodes__ADoc.id;
4966 if(var_pdocnode2 == NULL) {
4967 var18 = 1;
4968 } else {
4969 if(cltype >= var_pdocnode2->type->table_size) {
4970 var18 = 0;
4971 } else {
4972 var18 = var_pdocnode2->type->type_table[cltype] == idtype;
4973 }
4974 }
4975 if (!var18) {
4976 fprintf(stderr, "Runtime error: %s", "Assert failed");
4977 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9453);
4978 show_backtrace(1);
4979 }
4980 var_tkwredefnode3 = var_nodearraylist2;
4981 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4982 cltype20 = type_nullable_parser_nodes__TKwredef.color;
4983 idtype21 = type_nullable_parser_nodes__TKwredef.id;
4984 if(var_tkwredefnode3 == NULL) {
4985 var19 = 1;
4986 } else {
4987 if(cltype20 >= var_tkwredefnode3->type->table_size) {
4988 var19 = 0;
4989 } else {
4990 var19 = var_tkwredefnode3->type->type_table[cltype20] == idtype21;
4991 }
4992 }
4993 if (!var19) {
4994 fprintf(stderr, "Runtime error: %s", "Assert failed");
4995 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9455);
4996 show_backtrace(1);
4997 }
4998 var_pvisibilitynode4 = var_nodearraylist3;
4999 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5000 cltype23 = type_nullable_parser_nodes__AVisibility.color;
5001 idtype24 = type_nullable_parser_nodes__AVisibility.id;
5002 if(var_pvisibilitynode4 == NULL) {
5003 var22 = 1;
5004 } else {
5005 if(cltype23 >= var_pvisibilitynode4->type->table_size) {
5006 var22 = 0;
5007 } else {
5008 var22 = var_pvisibilitynode4->type->type_table[cltype23] == idtype24;
5009 }
5010 }
5011 if (!var22) {
5012 fprintf(stderr, "Runtime error: %s", "Assert failed");
5013 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9457);
5014 show_backtrace(1);
5015 }
5016 var_pclasskindnode5 = var_nodearraylist4;
5017 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5018 cltype26 = type_nullable_parser_nodes__AClasskind.color;
5019 idtype27 = type_nullable_parser_nodes__AClasskind.id;
5020 if(var_pclasskindnode5 == NULL) {
5021 var25 = 1;
5022 } else {
5023 if(cltype26 >= var_pclasskindnode5->type->table_size) {
5024 var25 = 0;
5025 } else {
5026 var25 = var_pclasskindnode5->type->type_table[cltype26] == idtype27;
5027 }
5028 }
5029 if (!var25) {
5030 fprintf(stderr, "Runtime error: %s", "Assert failed");
5031 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9459);
5032 show_backtrace(1);
5033 }
5034 var_tclassidnode6 = var_nodearraylist8;
5035 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5036 cltype29 = type_nullable_parser_nodes__TClassid.color;
5037 idtype30 = type_nullable_parser_nodes__TClassid.id;
5038 if(var_tclassidnode6 == NULL) {
5039 var28 = 1;
5040 } else {
5041 if(cltype29 >= var_tclassidnode6->type->table_size) {
5042 var28 = 0;
5043 } else {
5044 var28 = var_tclassidnode6->type->type_table[cltype29] == idtype30;
5045 }
5046 }
5047 if (!var28) {
5048 fprintf(stderr, "Runtime error: %s", "Assert failed");
5049 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9461);
5050 show_backtrace(1);
5051 }
5052 var_listnode7 = var_nodearraylist9;
5053 /* <var_listnode7:nullable Object> isa Array[Object] */
5054 cltype32 = type_array__Arraykernel__Object.color;
5055 idtype33 = type_array__Arraykernel__Object.id;
5056 if(var_listnode7 == NULL) {
5057 var31 = 0;
5058 } else {
5059 if(cltype32 >= var_listnode7->type->table_size) {
5060 var31 = 0;
5061 } else {
5062 var31 = var_listnode7->type->type_table[cltype32] == idtype33;
5063 }
5064 }
5065 if (!var31) {
5066 fprintf(stderr, "Runtime error: %s", "Assert failed");
5067 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9463);
5068 show_backtrace(1);
5069 }
5070 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction199>*/;
5071 var_listnode8 = var34;
5072 var35 = NEW_array__Array(&type_array__Arraykernel__Object);
5073 ((void (*)(val*))(var35->class->vft[COLOR_array__Array__init]))(var35) /* init on <var35:Array[Object]>*/;
5074 var_listnode13 = var35;
5075 var_listnode12 = var_nodearraylist10;
5076 /* <var_listnode12:nullable Object> isa Array[Object] */
5077 cltype37 = type_array__Arraykernel__Object.color;
5078 idtype38 = type_array__Arraykernel__Object.id;
5079 if(var_listnode12 == NULL) {
5080 var36 = 0;
5081 } else {
5082 if(cltype37 >= var_listnode12->type->table_size) {
5083 var36 = 0;
5084 } else {
5085 var36 = var_listnode12->type->type_table[cltype37] == idtype38;
5086 }
5087 }
5088 if (!var36) {
5089 fprintf(stderr, "Runtime error: %s", "Assert failed");
5090 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9467);
5091 show_backtrace(1);
5092 }
5093 var39 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction199>*/;
5094 var_listnode13 = var39;
5095 var40 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
5096 var41 = NULL;
5097 var42 = NULL;
5098 var43 = NULL;
5099 ((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>*/;
5100 var_pannotationsnode9 = var40;
5101 var_pexterncodeblocknode15 = var_nodearraylist11;
5102 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
5103 cltype45 = type_nullable_parser_nodes__AExternCodeBlock.color;
5104 idtype46 = type_nullable_parser_nodes__AExternCodeBlock.id;
5105 if(var_pexterncodeblocknode15 == NULL) {
5106 var44 = 1;
5107 } else {
5108 if(cltype45 >= var_pexterncodeblocknode15->type->table_size) {
5109 var44 = 0;
5110 } else {
5111 var44 = var_pexterncodeblocknode15->type->type_table[cltype45] == idtype46;
5112 }
5113 }
5114 if (!var44) {
5115 fprintf(stderr, "Runtime error: %s", "Assert failed");
5116 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9476);
5117 show_backtrace(1);
5118 }
5119 var_listnode16 = var_nodearraylist12;
5120 /* <var_listnode16:nullable Object> isa Array[Object] */
5121 cltype48 = type_array__Arraykernel__Object.color;
5122 idtype49 = type_array__Arraykernel__Object.id;
5123 if(var_listnode16 == NULL) {
5124 var47 = 0;
5125 } else {
5126 if(cltype48 >= var_listnode16->type->table_size) {
5127 var47 = 0;
5128 } else {
5129 var47 = var_listnode16->type->type_table[cltype48] == idtype49;
5130 }
5131 }
5132 if (!var47) {
5133 fprintf(stderr, "Runtime error: %s", "Assert failed");
5134 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9478);
5135 show_backtrace(1);
5136 }
5137 var50 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction199>*/;
5138 var_listnode17 = var50;
5139 var_tkwendnode19 = var_nodearraylist14;
5140 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
5141 cltype52 = type_nullable_parser_nodes__TKwend.color;
5142 idtype53 = type_nullable_parser_nodes__TKwend.id;
5143 if(var_tkwendnode19 == NULL) {
5144 var51 = 1;
5145 } else {
5146 if(cltype52 >= var_tkwendnode19->type->table_size) {
5147 var51 = 0;
5148 } else {
5149 var51 = var_tkwendnode19->type->type_table[cltype52] == idtype53;
5150 }
5151 }
5152 if (!var51) {
5153 fprintf(stderr, "Runtime error: %s", "Assert failed");
5154 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9481);
5155 show_backtrace(1);
5156 }
5157 var54 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5158 ((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, var_pexterncodeblocknode15, var_listnode17, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var54:AStdClassdef>*/;
5159 var_pclassdefnode1 = var54;
5160 var_node_list = var_pclassdefnode1;
5161 var55 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction199> */
5162 var56 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var55) /* go_to on <var_p:Parser>*/;
5163 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var56, var_node_list) /* push on <var_p:Parser>*/;
5164 RET_LABEL:;
5165 }
5166 /* method parser#ReduceAction199#action for (self: Object, Parser) */
5167 void VIRTUAL_parser__ReduceAction199__action(val* self, val* p0) {
5168 parser__ReduceAction199__action(self, p0);
5169 RET_LABEL:;
5170 }
5171 /* method parser#ReduceAction201#action for (self: ReduceAction201, Parser) */
5172 void parser__ReduceAction201__action(val* self, val* p0) {
5173 val* var_p /* var p: Parser */;
5174 val* var /* : null */;
5175 val* var_node_list /* var node_list: nullable Object */;
5176 val* var1 /* : nullable Object */;
5177 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5178 val* var2 /* : nullable Object */;
5179 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5180 val* var3 /* : nullable Object */;
5181 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5182 val* var4 /* : nullable Object */;
5183 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5184 val* var5 /* : nullable Object */;
5185 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5186 val* var6 /* : nullable Object */;
5187 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5188 val* var7 /* : nullable Object */;
5189 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5190 val* var8 /* : nullable Object */;
5191 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5192 val* var9 /* : Array[Object] */;
5193 val* var_listnode7 /* var listnode7: Array[Object] */;
5194 val* var10 /* : Array[Object] */;
5195 val* var_listnode10 /* var listnode10: Array[Object] */;
5196 val* var11 /* : Array[Object] */;
5197 val* var_listnode12 /* var listnode12: Array[Object] */;
5198 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5199 short int var12 /* : Bool */;
5200 int cltype;
5201 int idtype;
5202 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5203 short int var13 /* : Bool */;
5204 int cltype14;
5205 int idtype15;
5206 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5207 short int var16 /* : Bool */;
5208 int cltype17;
5209 int idtype18;
5210 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5211 short int var19 /* : Bool */;
5212 int cltype20;
5213 int idtype21;
5214 val* var_listnode11 /* var listnode11: nullable Object */;
5215 short int var22 /* : Bool */;
5216 int cltype23;
5217 int idtype24;
5218 val* var25 /* : Array[Object] */;
5219 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
5220 short int var26 /* : Bool */;
5221 int cltype27;
5222 int idtype28;
5223 val* var29 /* : AStdClassdef */;
5224 val* var30 /* : null */;
5225 val* var31 /* : null */;
5226 val* var32 /* : null */;
5227 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5228 long var33 /* : Int */;
5229 long var34 /* : Int */;
5230 var_p = p0;
5231 var = NULL;
5232 var_node_list = var;
5233 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5234 var_nodearraylist8 = var1;
5235 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5236 var_nodearraylist7 = var2;
5237 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5238 var_nodearraylist6 = var3;
5239 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5240 var_nodearraylist5 = var4;
5241 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5242 var_nodearraylist4 = var5;
5243 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5244 var_nodearraylist3 = var6;
5245 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5246 var_nodearraylist2 = var7;
5247 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5248 var_nodearraylist1 = var8;
5249 var9 = NEW_array__Array(&type_array__Arraykernel__Object);
5250 ((void (*)(val*))(var9->class->vft[COLOR_array__Array__init]))(var9) /* init on <var9:Array[Object]>*/;
5251 var_listnode7 = var9;
5252 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
5253 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
5254 var_listnode10 = var10;
5255 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
5256 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
5257 var_listnode12 = var11;
5258 var_pdocnode2 = var_nodearraylist1;
5259 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5260 cltype = type_nullable_parser_nodes__ADoc.color;
5261 idtype = type_nullable_parser_nodes__ADoc.id;
5262 if(var_pdocnode2 == NULL) {
5263 var12 = 1;
5264 } else {
5265 if(cltype >= var_pdocnode2->type->table_size) {
5266 var12 = 0;
5267 } else {
5268 var12 = var_pdocnode2->type->type_table[cltype] == idtype;
5269 }
5270 }
5271 if (!var12) {
5272 fprintf(stderr, "Runtime error: %s", "Assert failed");
5273 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9516);
5274 show_backtrace(1);
5275 }
5276 var_pvisibilitynode4 = var_nodearraylist2;
5277 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5278 cltype14 = type_nullable_parser_nodes__AVisibility.color;
5279 idtype15 = type_nullable_parser_nodes__AVisibility.id;
5280 if(var_pvisibilitynode4 == NULL) {
5281 var13 = 1;
5282 } else {
5283 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
5284 var13 = 0;
5285 } else {
5286 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
5287 }
5288 }
5289 if (!var13) {
5290 fprintf(stderr, "Runtime error: %s", "Assert failed");
5291 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9518);
5292 show_backtrace(1);
5293 }
5294 var_pclasskindnode5 = var_nodearraylist3;
5295 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5296 cltype17 = type_nullable_parser_nodes__AClasskind.color;
5297 idtype18 = type_nullable_parser_nodes__AClasskind.id;
5298 if(var_pclasskindnode5 == NULL) {
5299 var16 = 1;
5300 } else {
5301 if(cltype17 >= var_pclasskindnode5->type->table_size) {
5302 var16 = 0;
5303 } else {
5304 var16 = var_pclasskindnode5->type->type_table[cltype17] == idtype18;
5305 }
5306 }
5307 if (!var16) {
5308 fprintf(stderr, "Runtime error: %s", "Assert failed");
5309 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9520);
5310 show_backtrace(1);
5311 }
5312 var_tclassidnode6 = var_nodearraylist5;
5313 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5314 cltype20 = type_nullable_parser_nodes__TClassid.color;
5315 idtype21 = type_nullable_parser_nodes__TClassid.id;
5316 if(var_tclassidnode6 == NULL) {
5317 var19 = 1;
5318 } else {
5319 if(cltype20 >= var_tclassidnode6->type->table_size) {
5320 var19 = 0;
5321 } else {
5322 var19 = var_tclassidnode6->type->type_table[cltype20] == idtype21;
5323 }
5324 }
5325 if (!var19) {
5326 fprintf(stderr, "Runtime error: %s", "Assert failed");
5327 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9522);
5328 show_backtrace(1);
5329 }
5330 var_listnode11 = var_nodearraylist6;
5331 /* <var_listnode11:nullable Object> isa Array[Object] */
5332 cltype23 = type_array__Arraykernel__Object.color;
5333 idtype24 = type_array__Arraykernel__Object.id;
5334 if(var_listnode11 == NULL) {
5335 var22 = 0;
5336 } else {
5337 if(cltype23 >= var_listnode11->type->table_size) {
5338 var22 = 0;
5339 } else {
5340 var22 = var_listnode11->type->type_table[cltype23] == idtype24;
5341 }
5342 }
5343 if (!var22) {
5344 fprintf(stderr, "Runtime error: %s", "Assert failed");
5345 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9524);
5346 show_backtrace(1);
5347 }
5348 var25 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction201>*/;
5349 var_listnode12 = var25;
5350 var_tkwendnode13 = var_nodearraylist8;
5351 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
5352 cltype27 = type_nullable_parser_nodes__TKwend.color;
5353 idtype28 = type_nullable_parser_nodes__TKwend.id;
5354 if(var_tkwendnode13 == NULL) {
5355 var26 = 1;
5356 } else {
5357 if(cltype27 >= var_tkwendnode13->type->table_size) {
5358 var26 = 0;
5359 } else {
5360 var26 = var_tkwendnode13->type->type_table[cltype27] == idtype28;
5361 }
5362 }
5363 if (!var26) {
5364 fprintf(stderr, "Runtime error: %s", "Assert failed");
5365 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9527);
5366 show_backtrace(1);
5367 }
5368 var29 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5369 var30 = NULL;
5370 var31 = NULL;
5371 var32 = NULL;
5372 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var29, var_pdocnode2, var30, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var31, var32, var_listnode10, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var29:AStdClassdef>*/;
5373 var_pclassdefnode1 = var29;
5374 var_node_list = var_pclassdefnode1;
5375 var33 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction201> */
5376 var34 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var33) /* go_to on <var_p:Parser>*/;
5377 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var34, var_node_list) /* push on <var_p:Parser>*/;
5378 RET_LABEL:;
5379 }
5380 /* method parser#ReduceAction201#action for (self: Object, Parser) */
5381 void VIRTUAL_parser__ReduceAction201__action(val* self, val* p0) {
5382 parser__ReduceAction201__action(self, p0);
5383 RET_LABEL:;
5384 }
5385 /* method parser#ReduceAction202#action for (self: ReduceAction202, Parser) */
5386 void parser__ReduceAction202__action(val* self, val* p0) {
5387 val* var_p /* var p: Parser */;
5388 val* var /* : null */;
5389 val* var_node_list /* var node_list: nullable Object */;
5390 val* var1 /* : nullable Object */;
5391 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5392 val* var2 /* : nullable Object */;
5393 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5394 val* var3 /* : nullable Object */;
5395 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5396 val* var4 /* : nullable Object */;
5397 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5398 val* var5 /* : nullable Object */;
5399 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5400 val* var6 /* : nullable Object */;
5401 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5402 val* var7 /* : nullable Object */;
5403 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5404 val* var8 /* : nullable Object */;
5405 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5406 val* var9 /* : nullable Object */;
5407 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5408 val* var10 /* : Array[Object] */;
5409 val* var_listnode7 /* var listnode7: Array[Object] */;
5410 val* var11 /* : Array[Object] */;
5411 val* var_listnode10 /* var listnode10: Array[Object] */;
5412 val* var12 /* : Array[Object] */;
5413 val* var_listnode12 /* var listnode12: Array[Object] */;
5414 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5415 short int var13 /* : Bool */;
5416 int cltype;
5417 int idtype;
5418 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
5419 short int var14 /* : Bool */;
5420 int cltype15;
5421 int idtype16;
5422 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5423 short int var17 /* : Bool */;
5424 int cltype18;
5425 int idtype19;
5426 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5427 short int var20 /* : Bool */;
5428 int cltype21;
5429 int idtype22;
5430 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5431 short int var23 /* : Bool */;
5432 int cltype24;
5433 int idtype25;
5434 val* var_listnode11 /* var listnode11: nullable Object */;
5435 short int var26 /* : Bool */;
5436 int cltype27;
5437 int idtype28;
5438 val* var29 /* : Array[Object] */;
5439 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
5440 short int var30 /* : Bool */;
5441 int cltype31;
5442 int idtype32;
5443 val* var33 /* : AStdClassdef */;
5444 val* var34 /* : null */;
5445 val* var35 /* : null */;
5446 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5447 long var36 /* : Int */;
5448 long var37 /* : Int */;
5449 var_p = p0;
5450 var = NULL;
5451 var_node_list = var;
5452 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5453 var_nodearraylist9 = var1;
5454 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5455 var_nodearraylist8 = var2;
5456 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5457 var_nodearraylist7 = var3;
5458 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5459 var_nodearraylist6 = var4;
5460 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5461 var_nodearraylist5 = var5;
5462 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5463 var_nodearraylist4 = var6;
5464 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5465 var_nodearraylist3 = var7;
5466 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5467 var_nodearraylist2 = var8;
5468 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5469 var_nodearraylist1 = var9;
5470 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
5471 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
5472 var_listnode7 = var10;
5473 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
5474 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
5475 var_listnode10 = var11;
5476 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
5477 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
5478 var_listnode12 = var12;
5479 var_pdocnode2 = var_nodearraylist1;
5480 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5481 cltype = type_nullable_parser_nodes__ADoc.color;
5482 idtype = type_nullable_parser_nodes__ADoc.id;
5483 if(var_pdocnode2 == NULL) {
5484 var13 = 1;
5485 } else {
5486 if(cltype >= var_pdocnode2->type->table_size) {
5487 var13 = 0;
5488 } else {
5489 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
5490 }
5491 }
5492 if (!var13) {
5493 fprintf(stderr, "Runtime error: %s", "Assert failed");
5494 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9563);
5495 show_backtrace(1);
5496 }
5497 var_tkwredefnode3 = var_nodearraylist2;
5498 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
5499 cltype15 = type_nullable_parser_nodes__TKwredef.color;
5500 idtype16 = type_nullable_parser_nodes__TKwredef.id;
5501 if(var_tkwredefnode3 == NULL) {
5502 var14 = 1;
5503 } else {
5504 if(cltype15 >= var_tkwredefnode3->type->table_size) {
5505 var14 = 0;
5506 } else {
5507 var14 = var_tkwredefnode3->type->type_table[cltype15] == idtype16;
5508 }
5509 }
5510 if (!var14) {
5511 fprintf(stderr, "Runtime error: %s", "Assert failed");
5512 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9565);
5513 show_backtrace(1);
5514 }
5515 var_pvisibilitynode4 = var_nodearraylist3;
5516 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5517 cltype18 = type_nullable_parser_nodes__AVisibility.color;
5518 idtype19 = type_nullable_parser_nodes__AVisibility.id;
5519 if(var_pvisibilitynode4 == NULL) {
5520 var17 = 1;
5521 } else {
5522 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
5523 var17 = 0;
5524 } else {
5525 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
5526 }
5527 }
5528 if (!var17) {
5529 fprintf(stderr, "Runtime error: %s", "Assert failed");
5530 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9567);
5531 show_backtrace(1);
5532 }
5533 var_pclasskindnode5 = var_nodearraylist4;
5534 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5535 cltype21 = type_nullable_parser_nodes__AClasskind.color;
5536 idtype22 = type_nullable_parser_nodes__AClasskind.id;
5537 if(var_pclasskindnode5 == NULL) {
5538 var20 = 1;
5539 } else {
5540 if(cltype21 >= var_pclasskindnode5->type->table_size) {
5541 var20 = 0;
5542 } else {
5543 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
5544 }
5545 }
5546 if (!var20) {
5547 fprintf(stderr, "Runtime error: %s", "Assert failed");
5548 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9569);
5549 show_backtrace(1);
5550 }
5551 var_tclassidnode6 = var_nodearraylist6;
5552 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5553 cltype24 = type_nullable_parser_nodes__TClassid.color;
5554 idtype25 = type_nullable_parser_nodes__TClassid.id;
5555 if(var_tclassidnode6 == NULL) {
5556 var23 = 1;
5557 } else {
5558 if(cltype24 >= var_tclassidnode6->type->table_size) {
5559 var23 = 0;
5560 } else {
5561 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
5562 }
5563 }
5564 if (!var23) {
5565 fprintf(stderr, "Runtime error: %s", "Assert failed");
5566 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9571);
5567 show_backtrace(1);
5568 }
5569 var_listnode11 = var_nodearraylist7;
5570 /* <var_listnode11:nullable Object> isa Array[Object] */
5571 cltype27 = type_array__Arraykernel__Object.color;
5572 idtype28 = type_array__Arraykernel__Object.id;
5573 if(var_listnode11 == NULL) {
5574 var26 = 0;
5575 } else {
5576 if(cltype27 >= var_listnode11->type->table_size) {
5577 var26 = 0;
5578 } else {
5579 var26 = var_listnode11->type->type_table[cltype27] == idtype28;
5580 }
5581 }
5582 if (!var26) {
5583 fprintf(stderr, "Runtime error: %s", "Assert failed");
5584 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9573);
5585 show_backtrace(1);
5586 }
5587 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction202>*/;
5588 var_listnode12 = var29;
5589 var_tkwendnode13 = var_nodearraylist9;
5590 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
5591 cltype31 = type_nullable_parser_nodes__TKwend.color;
5592 idtype32 = type_nullable_parser_nodes__TKwend.id;
5593 if(var_tkwendnode13 == NULL) {
5594 var30 = 1;
5595 } else {
5596 if(cltype31 >= var_tkwendnode13->type->table_size) {
5597 var30 = 0;
5598 } else {
5599 var30 = var_tkwendnode13->type->type_table[cltype31] == idtype32;
5600 }
5601 }
5602 if (!var30) {
5603 fprintf(stderr, "Runtime error: %s", "Assert failed");
5604 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9576);
5605 show_backtrace(1);
5606 }
5607 var33 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5608 var34 = NULL;
5609 var35 = NULL;
5610 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var34, var35, var_listnode10, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var33:AStdClassdef>*/;
5611 var_pclassdefnode1 = var33;
5612 var_node_list = var_pclassdefnode1;
5613 var36 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction202> */
5614 var37 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var36) /* go_to on <var_p:Parser>*/;
5615 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var37, var_node_list) /* push on <var_p:Parser>*/;
5616 RET_LABEL:;
5617 }
5618 /* method parser#ReduceAction202#action for (self: Object, Parser) */
5619 void VIRTUAL_parser__ReduceAction202__action(val* self, val* p0) {
5620 parser__ReduceAction202__action(self, p0);
5621 RET_LABEL:;
5622 }
5623 /* method parser#ReduceAction203#action for (self: ReduceAction203, Parser) */
5624 void parser__ReduceAction203__action(val* self, val* p0) {
5625 val* var_p /* var p: Parser */;
5626 val* var /* : null */;
5627 val* var_node_list /* var node_list: nullable Object */;
5628 val* var1 /* : nullable Object */;
5629 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5630 val* var2 /* : nullable Object */;
5631 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5632 val* var3 /* : nullable Object */;
5633 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5634 val* var4 /* : nullable Object */;
5635 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5636 val* var5 /* : nullable Object */;
5637 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5638 val* var6 /* : nullable Object */;
5639 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5640 val* var7 /* : nullable Object */;
5641 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5642 val* var8 /* : nullable Object */;
5643 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5644 val* var9 /* : nullable Object */;
5645 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5646 val* var10 /* : Array[Object] */;
5647 val* var_listnode7 /* var listnode7: Array[Object] */;
5648 val* var11 /* : Array[Object] */;
5649 val* var_listnode10 /* var listnode10: Array[Object] */;
5650 val* var12 /* : Array[Object] */;
5651 val* var_listnode12 /* var listnode12: Array[Object] */;
5652 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5653 short int var13 /* : Bool */;
5654 int cltype;
5655 int idtype;
5656 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5657 short int var14 /* : Bool */;
5658 int cltype15;
5659 int idtype16;
5660 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5661 short int var17 /* : Bool */;
5662 int cltype18;
5663 int idtype19;
5664 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5665 short int var20 /* : Bool */;
5666 int cltype21;
5667 int idtype22;
5668 val* var_listnode11 /* var listnode11: nullable Object */;
5669 short int var23 /* : Bool */;
5670 int cltype24;
5671 int idtype25;
5672 val* var26 /* : Array[Object] */;
5673 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
5674 short int var27 /* : Bool */;
5675 int cltype28;
5676 int idtype29;
5677 val* var30 /* : AStdClassdef */;
5678 val* var31 /* : null */;
5679 val* var32 /* : null */;
5680 val* var33 /* : null */;
5681 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5682 long var34 /* : Int */;
5683 long var35 /* : Int */;
5684 var_p = p0;
5685 var = NULL;
5686 var_node_list = var;
5687 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5688 var_nodearraylist9 = var1;
5689 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5690 var_nodearraylist8 = var2;
5691 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5692 var_nodearraylist7 = var3;
5693 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5694 var_nodearraylist6 = var4;
5695 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5696 var_nodearraylist5 = var5;
5697 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5698 var_nodearraylist4 = var6;
5699 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5700 var_nodearraylist3 = var7;
5701 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5702 var_nodearraylist2 = var8;
5703 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5704 var_nodearraylist1 = var9;
5705 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
5706 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
5707 var_listnode7 = var10;
5708 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
5709 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
5710 var_listnode10 = var11;
5711 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
5712 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
5713 var_listnode12 = var12;
5714 var_pdocnode2 = var_nodearraylist1;
5715 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5716 cltype = type_nullable_parser_nodes__ADoc.color;
5717 idtype = type_nullable_parser_nodes__ADoc.id;
5718 if(var_pdocnode2 == NULL) {
5719 var13 = 1;
5720 } else {
5721 if(cltype >= var_pdocnode2->type->table_size) {
5722 var13 = 0;
5723 } else {
5724 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
5725 }
5726 }
5727 if (!var13) {
5728 fprintf(stderr, "Runtime error: %s", "Assert failed");
5729 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9612);
5730 show_backtrace(1);
5731 }
5732 var_pvisibilitynode4 = var_nodearraylist2;
5733 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5734 cltype15 = type_nullable_parser_nodes__AVisibility.color;
5735 idtype16 = type_nullable_parser_nodes__AVisibility.id;
5736 if(var_pvisibilitynode4 == NULL) {
5737 var14 = 1;
5738 } else {
5739 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
5740 var14 = 0;
5741 } else {
5742 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
5743 }
5744 }
5745 if (!var14) {
5746 fprintf(stderr, "Runtime error: %s", "Assert failed");
5747 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9614);
5748 show_backtrace(1);
5749 }
5750 var_pclasskindnode5 = var_nodearraylist3;
5751 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5752 cltype18 = type_nullable_parser_nodes__AClasskind.color;
5753 idtype19 = type_nullable_parser_nodes__AClasskind.id;
5754 if(var_pclasskindnode5 == NULL) {
5755 var17 = 1;
5756 } else {
5757 if(cltype18 >= var_pclasskindnode5->type->table_size) {
5758 var17 = 0;
5759 } else {
5760 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
5761 }
5762 }
5763 if (!var17) {
5764 fprintf(stderr, "Runtime error: %s", "Assert failed");
5765 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9616);
5766 show_backtrace(1);
5767 }
5768 var_tclassidnode6 = var_nodearraylist6;
5769 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5770 cltype21 = type_nullable_parser_nodes__TClassid.color;
5771 idtype22 = type_nullable_parser_nodes__TClassid.id;
5772 if(var_tclassidnode6 == NULL) {
5773 var20 = 1;
5774 } else {
5775 if(cltype21 >= var_tclassidnode6->type->table_size) {
5776 var20 = 0;
5777 } else {
5778 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
5779 }
5780 }
5781 if (!var20) {
5782 fprintf(stderr, "Runtime error: %s", "Assert failed");
5783 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9618);
5784 show_backtrace(1);
5785 }
5786 var_listnode11 = var_nodearraylist7;
5787 /* <var_listnode11:nullable Object> isa Array[Object] */
5788 cltype24 = type_array__Arraykernel__Object.color;
5789 idtype25 = type_array__Arraykernel__Object.id;
5790 if(var_listnode11 == NULL) {
5791 var23 = 0;
5792 } else {
5793 if(cltype24 >= var_listnode11->type->table_size) {
5794 var23 = 0;
5795 } else {
5796 var23 = var_listnode11->type->type_table[cltype24] == idtype25;
5797 }
5798 }
5799 if (!var23) {
5800 fprintf(stderr, "Runtime error: %s", "Assert failed");
5801 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9620);
5802 show_backtrace(1);
5803 }
5804 var26 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction203>*/;
5805 var_listnode12 = var26;
5806 var_tkwendnode13 = var_nodearraylist9;
5807 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
5808 cltype28 = type_nullable_parser_nodes__TKwend.color;
5809 idtype29 = type_nullable_parser_nodes__TKwend.id;
5810 if(var_tkwendnode13 == NULL) {
5811 var27 = 1;
5812 } else {
5813 if(cltype28 >= var_tkwendnode13->type->table_size) {
5814 var27 = 0;
5815 } else {
5816 var27 = var_tkwendnode13->type->type_table[cltype28] == idtype29;
5817 }
5818 }
5819 if (!var27) {
5820 fprintf(stderr, "Runtime error: %s", "Assert failed");
5821 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9623);
5822 show_backtrace(1);
5823 }
5824 var30 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5825 var31 = NULL;
5826 var32 = NULL;
5827 var33 = NULL;
5828 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var30->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var30, var_pdocnode2, var31, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var32, var33, var_listnode10, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var30:AStdClassdef>*/;
5829 var_pclassdefnode1 = var30;
5830 var_node_list = var_pclassdefnode1;
5831 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction203> */
5832 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
5833 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
5834 RET_LABEL:;
5835 }
5836 /* method parser#ReduceAction203#action for (self: Object, Parser) */
5837 void VIRTUAL_parser__ReduceAction203__action(val* self, val* p0) {
5838 parser__ReduceAction203__action(self, p0);
5839 RET_LABEL:;
5840 }
5841 /* method parser#ReduceAction204#action for (self: ReduceAction204, Parser) */
5842 void parser__ReduceAction204__action(val* self, val* p0) {
5843 val* var_p /* var p: Parser */;
5844 val* var /* : null */;
5845 val* var_node_list /* var node_list: nullable Object */;
5846 val* var1 /* : nullable Object */;
5847 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5848 val* var2 /* : nullable Object */;
5849 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5850 val* var3 /* : nullable Object */;
5851 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5852 val* var4 /* : nullable Object */;
5853 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5854 val* var5 /* : nullable Object */;
5855 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5856 val* var6 /* : nullable Object */;
5857 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5858 val* var7 /* : nullable Object */;
5859 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5860 val* var8 /* : nullable Object */;
5861 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5862 val* var9 /* : nullable Object */;
5863 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5864 val* var10 /* : nullable Object */;
5865 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5866 val* var11 /* : Array[Object] */;
5867 val* var_listnode7 /* var listnode7: Array[Object] */;
5868 val* var12 /* : Array[Object] */;
5869 val* var_listnode10 /* var listnode10: Array[Object] */;
5870 val* var13 /* : Array[Object] */;
5871 val* var_listnode12 /* var listnode12: Array[Object] */;
5872 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5873 short int var14 /* : Bool */;
5874 int cltype;
5875 int idtype;
5876 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5877 short int var15 /* : Bool */;
5878 int cltype16;
5879 int idtype17;
5880 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5881 short int var18 /* : Bool */;
5882 int cltype19;
5883 int idtype20;
5884 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5885 short int var21 /* : Bool */;
5886 int cltype22;
5887 int idtype23;
5888 val* var_listnode11 /* var listnode11: nullable Object */;
5889 short int var24 /* : Bool */;
5890 int cltype25;
5891 int idtype26;
5892 val* var27 /* : Array[Object] */;
5893 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
5894 short int var28 /* : Bool */;
5895 int cltype29;
5896 int idtype30;
5897 val* var31 /* : AStdClassdef */;
5898 val* var32 /* : null */;
5899 val* var33 /* : null */;
5900 val* var34 /* : null */;
5901 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5902 long var35 /* : Int */;
5903 long var36 /* : Int */;
5904 var_p = p0;
5905 var = NULL;
5906 var_node_list = var;
5907 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5908 var_nodearraylist10 = var1;
5909 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5910 var_nodearraylist9 = var2;
5911 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5912 var_nodearraylist8 = var3;
5913 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5914 var_nodearraylist7 = var4;
5915 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5916 var_nodearraylist6 = var5;
5917 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5918 var_nodearraylist5 = var6;
5919 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5920 var_nodearraylist4 = var7;
5921 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5922 var_nodearraylist3 = var8;
5923 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5924 var_nodearraylist2 = var9;
5925 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5926 var_nodearraylist1 = var10;
5927 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
5928 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
5929 var_listnode7 = var11;
5930 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
5931 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
5932 var_listnode10 = var12;
5933 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
5934 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
5935 var_listnode12 = var13;
5936 var_pdocnode2 = var_nodearraylist1;
5937 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5938 cltype = type_nullable_parser_nodes__ADoc.color;
5939 idtype = type_nullable_parser_nodes__ADoc.id;
5940 if(var_pdocnode2 == NULL) {
5941 var14 = 1;
5942 } else {
5943 if(cltype >= var_pdocnode2->type->table_size) {
5944 var14 = 0;
5945 } else {
5946 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
5947 }
5948 }
5949 if (!var14) {
5950 fprintf(stderr, "Runtime error: %s", "Assert failed");
5951 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9660);
5952 show_backtrace(1);
5953 }
5954 var_pvisibilitynode4 = var_nodearraylist2;
5955 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5956 cltype16 = type_nullable_parser_nodes__AVisibility.color;
5957 idtype17 = type_nullable_parser_nodes__AVisibility.id;
5958 if(var_pvisibilitynode4 == NULL) {
5959 var15 = 1;
5960 } else {
5961 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
5962 var15 = 0;
5963 } else {
5964 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
5965 }
5966 }
5967 if (!var15) {
5968 fprintf(stderr, "Runtime error: %s", "Assert failed");
5969 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9662);
5970 show_backtrace(1);
5971 }
5972 var_pclasskindnode5 = var_nodearraylist3;
5973 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5974 cltype19 = type_nullable_parser_nodes__AClasskind.color;
5975 idtype20 = type_nullable_parser_nodes__AClasskind.id;
5976 if(var_pclasskindnode5 == NULL) {
5977 var18 = 1;
5978 } else {
5979 if(cltype19 >= var_pclasskindnode5->type->table_size) {
5980 var18 = 0;
5981 } else {
5982 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
5983 }
5984 }
5985 if (!var18) {
5986 fprintf(stderr, "Runtime error: %s", "Assert failed");
5987 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9664);
5988 show_backtrace(1);
5989 }
5990 var_tclassidnode6 = var_nodearraylist7;
5991 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5992 cltype22 = type_nullable_parser_nodes__TClassid.color;
5993 idtype23 = type_nullable_parser_nodes__TClassid.id;
5994 if(var_tclassidnode6 == NULL) {
5995 var21 = 1;
5996 } else {
5997 if(cltype22 >= var_tclassidnode6->type->table_size) {
5998 var21 = 0;
5999 } else {
6000 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
6001 }
6002 }
6003 if (!var21) {
6004 fprintf(stderr, "Runtime error: %s", "Assert failed");
6005 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9666);
6006 show_backtrace(1);
6007 }
6008 var_listnode11 = var_nodearraylist8;
6009 /* <var_listnode11:nullable Object> isa Array[Object] */
6010 cltype25 = type_array__Arraykernel__Object.color;
6011 idtype26 = type_array__Arraykernel__Object.id;
6012 if(var_listnode11 == NULL) {
6013 var24 = 0;
6014 } else {
6015 if(cltype25 >= var_listnode11->type->table_size) {
6016 var24 = 0;
6017 } else {
6018 var24 = var_listnode11->type->type_table[cltype25] == idtype26;
6019 }
6020 }
6021 if (!var24) {
6022 fprintf(stderr, "Runtime error: %s", "Assert failed");
6023 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9668);
6024 show_backtrace(1);
6025 }
6026 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction204>*/;
6027 var_listnode12 = var27;
6028 var_tkwendnode13 = var_nodearraylist10;
6029 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
6030 cltype29 = type_nullable_parser_nodes__TKwend.color;
6031 idtype30 = type_nullable_parser_nodes__TKwend.id;
6032 if(var_tkwendnode13 == NULL) {
6033 var28 = 1;
6034 } else {
6035 if(cltype29 >= var_tkwendnode13->type->table_size) {
6036 var28 = 0;
6037 } else {
6038 var28 = var_tkwendnode13->type->type_table[cltype29] == idtype30;
6039 }
6040 }
6041 if (!var28) {
6042 fprintf(stderr, "Runtime error: %s", "Assert failed");
6043 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9671);
6044 show_backtrace(1);
6045 }
6046 var31 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6047 var32 = NULL;
6048 var33 = NULL;
6049 var34 = NULL;
6050 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var31->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var31, var_pdocnode2, var32, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var33, var34, var_listnode10, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var31:AStdClassdef>*/;
6051 var_pclassdefnode1 = var31;
6052 var_node_list = var_pclassdefnode1;
6053 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction204> */
6054 var36 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var35) /* go_to on <var_p:Parser>*/;
6055 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var36, var_node_list) /* push on <var_p:Parser>*/;
6056 RET_LABEL:;
6057 }
6058 /* method parser#ReduceAction204#action for (self: Object, Parser) */
6059 void VIRTUAL_parser__ReduceAction204__action(val* self, val* p0) {
6060 parser__ReduceAction204__action(self, p0);
6061 RET_LABEL:;
6062 }
6063 /* method parser#ReduceAction206#action for (self: ReduceAction206, Parser) */
6064 void parser__ReduceAction206__action(val* self, val* p0) {
6065 val* var_p /* var p: Parser */;
6066 val* var /* : null */;
6067 val* var_node_list /* var node_list: nullable Object */;
6068 val* var1 /* : nullable Object */;
6069 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6070 val* var2 /* : nullable Object */;
6071 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6072 val* var3 /* : nullable Object */;
6073 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6074 val* var4 /* : nullable Object */;
6075 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6076 val* var5 /* : nullable Object */;
6077 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6078 val* var6 /* : nullable Object */;
6079 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6080 val* var7 /* : nullable Object */;
6081 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6082 val* var8 /* : nullable Object */;
6083 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6084 val* var9 /* : nullable Object */;
6085 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6086 val* var10 /* : nullable Object */;
6087 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6088 val* var11 /* : Array[Object] */;
6089 val* var_listnode7 /* var listnode7: Array[Object] */;
6090 val* var12 /* : Array[Object] */;
6091 val* var_listnode10 /* var listnode10: Array[Object] */;
6092 val* var13 /* : Array[Object] */;
6093 val* var_listnode12 /* var listnode12: Array[Object] */;
6094 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6095 short int var14 /* : Bool */;
6096 int cltype;
6097 int idtype;
6098 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
6099 short int var15 /* : Bool */;
6100 int cltype16;
6101 int idtype17;
6102 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6103 short int var18 /* : Bool */;
6104 int cltype19;
6105 int idtype20;
6106 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6107 short int var21 /* : Bool */;
6108 int cltype22;
6109 int idtype23;
6110 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6111 short int var24 /* : Bool */;
6112 int cltype25;
6113 int idtype26;
6114 val* var_listnode11 /* var listnode11: nullable Object */;
6115 short int var27 /* : Bool */;
6116 int cltype28;
6117 int idtype29;
6118 val* var30 /* : Array[Object] */;
6119 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
6120 short int var31 /* : Bool */;
6121 int cltype32;
6122 int idtype33;
6123 val* var34 /* : AStdClassdef */;
6124 val* var35 /* : null */;
6125 val* var36 /* : null */;
6126 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6127 long var37 /* : Int */;
6128 long var38 /* : Int */;
6129 var_p = p0;
6130 var = NULL;
6131 var_node_list = var;
6132 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6133 var_nodearraylist10 = var1;
6134 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6135 var_nodearraylist9 = var2;
6136 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6137 var_nodearraylist8 = var3;
6138 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6139 var_nodearraylist7 = var4;
6140 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6141 var_nodearraylist6 = var5;
6142 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6143 var_nodearraylist5 = var6;
6144 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6145 var_nodearraylist4 = var7;
6146 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6147 var_nodearraylist3 = var8;
6148 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6149 var_nodearraylist2 = var9;
6150 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6151 var_nodearraylist1 = var10;
6152 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
6153 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
6154 var_listnode7 = var11;
6155 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
6156 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
6157 var_listnode10 = var12;
6158 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
6159 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
6160 var_listnode12 = var13;
6161 var_pdocnode2 = var_nodearraylist1;
6162 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6163 cltype = type_nullable_parser_nodes__ADoc.color;
6164 idtype = type_nullable_parser_nodes__ADoc.id;
6165 if(var_pdocnode2 == NULL) {
6166 var14 = 1;
6167 } else {
6168 if(cltype >= var_pdocnode2->type->table_size) {
6169 var14 = 0;
6170 } else {
6171 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
6172 }
6173 }
6174 if (!var14) {
6175 fprintf(stderr, "Runtime error: %s", "Assert failed");
6176 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9708);
6177 show_backtrace(1);
6178 }
6179 var_tkwredefnode3 = var_nodearraylist2;
6180 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6181 cltype16 = type_nullable_parser_nodes__TKwredef.color;
6182 idtype17 = type_nullable_parser_nodes__TKwredef.id;
6183 if(var_tkwredefnode3 == NULL) {
6184 var15 = 1;
6185 } else {
6186 if(cltype16 >= var_tkwredefnode3->type->table_size) {
6187 var15 = 0;
6188 } else {
6189 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
6190 }
6191 }
6192 if (!var15) {
6193 fprintf(stderr, "Runtime error: %s", "Assert failed");
6194 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9710);
6195 show_backtrace(1);
6196 }
6197 var_pvisibilitynode4 = var_nodearraylist3;
6198 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6199 cltype19 = type_nullable_parser_nodes__AVisibility.color;
6200 idtype20 = type_nullable_parser_nodes__AVisibility.id;
6201 if(var_pvisibilitynode4 == NULL) {
6202 var18 = 1;
6203 } else {
6204 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
6205 var18 = 0;
6206 } else {
6207 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
6208 }
6209 }
6210 if (!var18) {
6211 fprintf(stderr, "Runtime error: %s", "Assert failed");
6212 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9712);
6213 show_backtrace(1);
6214 }
6215 var_pclasskindnode5 = var_nodearraylist4;
6216 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6217 cltype22 = type_nullable_parser_nodes__AClasskind.color;
6218 idtype23 = type_nullable_parser_nodes__AClasskind.id;
6219 if(var_pclasskindnode5 == NULL) {
6220 var21 = 1;
6221 } else {
6222 if(cltype22 >= var_pclasskindnode5->type->table_size) {
6223 var21 = 0;
6224 } else {
6225 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
6226 }
6227 }
6228 if (!var21) {
6229 fprintf(stderr, "Runtime error: %s", "Assert failed");
6230 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9714);
6231 show_backtrace(1);
6232 }
6233 var_tclassidnode6 = var_nodearraylist7;
6234 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6235 cltype25 = type_nullable_parser_nodes__TClassid.color;
6236 idtype26 = type_nullable_parser_nodes__TClassid.id;
6237 if(var_tclassidnode6 == NULL) {
6238 var24 = 1;
6239 } else {
6240 if(cltype25 >= var_tclassidnode6->type->table_size) {
6241 var24 = 0;
6242 } else {
6243 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
6244 }
6245 }
6246 if (!var24) {
6247 fprintf(stderr, "Runtime error: %s", "Assert failed");
6248 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9716);
6249 show_backtrace(1);
6250 }
6251 var_listnode11 = var_nodearraylist8;
6252 /* <var_listnode11:nullable Object> isa Array[Object] */
6253 cltype28 = type_array__Arraykernel__Object.color;
6254 idtype29 = type_array__Arraykernel__Object.id;
6255 if(var_listnode11 == NULL) {
6256 var27 = 0;
6257 } else {
6258 if(cltype28 >= var_listnode11->type->table_size) {
6259 var27 = 0;
6260 } else {
6261 var27 = var_listnode11->type->type_table[cltype28] == idtype29;
6262 }
6263 }
6264 if (!var27) {
6265 fprintf(stderr, "Runtime error: %s", "Assert failed");
6266 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9718);
6267 show_backtrace(1);
6268 }
6269 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction206>*/;
6270 var_listnode12 = var30;
6271 var_tkwendnode13 = var_nodearraylist10;
6272 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
6273 cltype32 = type_nullable_parser_nodes__TKwend.color;
6274 idtype33 = type_nullable_parser_nodes__TKwend.id;
6275 if(var_tkwendnode13 == NULL) {
6276 var31 = 1;
6277 } else {
6278 if(cltype32 >= var_tkwendnode13->type->table_size) {
6279 var31 = 0;
6280 } else {
6281 var31 = var_tkwendnode13->type->type_table[cltype32] == idtype33;
6282 }
6283 }
6284 if (!var31) {
6285 fprintf(stderr, "Runtime error: %s", "Assert failed");
6286 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9721);
6287 show_backtrace(1);
6288 }
6289 var34 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6290 var35 = NULL;
6291 var36 = NULL;
6292 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var34->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var34, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var35, var36, var_listnode10, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var34:AStdClassdef>*/;
6293 var_pclassdefnode1 = var34;
6294 var_node_list = var_pclassdefnode1;
6295 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction206> */
6296 var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on <var_p:Parser>*/;
6297 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on <var_p:Parser>*/;
6298 RET_LABEL:;
6299 }
6300 /* method parser#ReduceAction206#action for (self: Object, Parser) */
6301 void VIRTUAL_parser__ReduceAction206__action(val* self, val* p0) {
6302 parser__ReduceAction206__action(self, p0);
6303 RET_LABEL:;
6304 }
6305 /* method parser#ReduceAction207#action for (self: ReduceAction207, Parser) */
6306 void parser__ReduceAction207__action(val* self, val* p0) {
6307 val* var_p /* var p: Parser */;
6308 val* var /* : null */;
6309 val* var_node_list /* var node_list: nullable Object */;
6310 val* var1 /* : nullable Object */;
6311 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
6312 val* var2 /* : nullable Object */;
6313 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6314 val* var3 /* : nullable Object */;
6315 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6316 val* var4 /* : nullable Object */;
6317 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6318 val* var5 /* : nullable Object */;
6319 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6320 val* var6 /* : nullable Object */;
6321 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6322 val* var7 /* : nullable Object */;
6323 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6324 val* var8 /* : nullable Object */;
6325 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6326 val* var9 /* : nullable Object */;
6327 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6328 val* var10 /* : nullable Object */;
6329 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6330 val* var11 /* : nullable Object */;
6331 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6332 val* var12 /* : Array[Object] */;
6333 val* var_listnode7 /* var listnode7: Array[Object] */;
6334 val* var13 /* : Array[Object] */;
6335 val* var_listnode10 /* var listnode10: Array[Object] */;
6336 val* var14 /* : Array[Object] */;
6337 val* var_listnode12 /* var listnode12: Array[Object] */;
6338 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6339 short int var15 /* : Bool */;
6340 int cltype;
6341 int idtype;
6342 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
6343 short int var16 /* : Bool */;
6344 int cltype17;
6345 int idtype18;
6346 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6347 short int var19 /* : Bool */;
6348 int cltype20;
6349 int idtype21;
6350 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6351 short int var22 /* : Bool */;
6352 int cltype23;
6353 int idtype24;
6354 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6355 short int var25 /* : Bool */;
6356 int cltype26;
6357 int idtype27;
6358 val* var_listnode11 /* var listnode11: nullable Object */;
6359 short int var28 /* : Bool */;
6360 int cltype29;
6361 int idtype30;
6362 val* var31 /* : Array[Object] */;
6363 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
6364 short int var32 /* : Bool */;
6365 int cltype33;
6366 int idtype34;
6367 val* var35 /* : AStdClassdef */;
6368 val* var36 /* : null */;
6369 val* var37 /* : null */;
6370 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6371 long var38 /* : Int */;
6372 long var39 /* : Int */;
6373 var_p = p0;
6374 var = NULL;
6375 var_node_list = var;
6376 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6377 var_nodearraylist11 = var1;
6378 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6379 var_nodearraylist10 = var2;
6380 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6381 var_nodearraylist9 = var3;
6382 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6383 var_nodearraylist8 = var4;
6384 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6385 var_nodearraylist7 = var5;
6386 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6387 var_nodearraylist6 = var6;
6388 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6389 var_nodearraylist5 = var7;
6390 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6391 var_nodearraylist4 = var8;
6392 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6393 var_nodearraylist3 = var9;
6394 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6395 var_nodearraylist2 = var10;
6396 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6397 var_nodearraylist1 = var11;
6398 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
6399 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
6400 var_listnode7 = var12;
6401 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
6402 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
6403 var_listnode10 = var13;
6404 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
6405 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
6406 var_listnode12 = var14;
6407 var_pdocnode2 = var_nodearraylist1;
6408 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6409 cltype = type_nullable_parser_nodes__ADoc.color;
6410 idtype = type_nullable_parser_nodes__ADoc.id;
6411 if(var_pdocnode2 == NULL) {
6412 var15 = 1;
6413 } else {
6414 if(cltype >= var_pdocnode2->type->table_size) {
6415 var15 = 0;
6416 } else {
6417 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
6418 }
6419 }
6420 if (!var15) {
6421 fprintf(stderr, "Runtime error: %s", "Assert failed");
6422 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9759);
6423 show_backtrace(1);
6424 }
6425 var_tkwredefnode3 = var_nodearraylist2;
6426 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6427 cltype17 = type_nullable_parser_nodes__TKwredef.color;
6428 idtype18 = type_nullable_parser_nodes__TKwredef.id;
6429 if(var_tkwredefnode3 == NULL) {
6430 var16 = 1;
6431 } else {
6432 if(cltype17 >= var_tkwredefnode3->type->table_size) {
6433 var16 = 0;
6434 } else {
6435 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
6436 }
6437 }
6438 if (!var16) {
6439 fprintf(stderr, "Runtime error: %s", "Assert failed");
6440 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9761);
6441 show_backtrace(1);
6442 }
6443 var_pvisibilitynode4 = var_nodearraylist3;
6444 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6445 cltype20 = type_nullable_parser_nodes__AVisibility.color;
6446 idtype21 = type_nullable_parser_nodes__AVisibility.id;
6447 if(var_pvisibilitynode4 == NULL) {
6448 var19 = 1;
6449 } else {
6450 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
6451 var19 = 0;
6452 } else {
6453 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
6454 }
6455 }
6456 if (!var19) {
6457 fprintf(stderr, "Runtime error: %s", "Assert failed");
6458 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9763);
6459 show_backtrace(1);
6460 }
6461 var_pclasskindnode5 = var_nodearraylist4;
6462 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6463 cltype23 = type_nullable_parser_nodes__AClasskind.color;
6464 idtype24 = type_nullable_parser_nodes__AClasskind.id;
6465 if(var_pclasskindnode5 == NULL) {
6466 var22 = 1;
6467 } else {
6468 if(cltype23 >= var_pclasskindnode5->type->table_size) {
6469 var22 = 0;
6470 } else {
6471 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
6472 }
6473 }
6474 if (!var22) {
6475 fprintf(stderr, "Runtime error: %s", "Assert failed");
6476 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9765);
6477 show_backtrace(1);
6478 }
6479 var_tclassidnode6 = var_nodearraylist8;
6480 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6481 cltype26 = type_nullable_parser_nodes__TClassid.color;
6482 idtype27 = type_nullable_parser_nodes__TClassid.id;
6483 if(var_tclassidnode6 == NULL) {
6484 var25 = 1;
6485 } else {
6486 if(cltype26 >= var_tclassidnode6->type->table_size) {
6487 var25 = 0;
6488 } else {
6489 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
6490 }
6491 }
6492 if (!var25) {
6493 fprintf(stderr, "Runtime error: %s", "Assert failed");
6494 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9767);
6495 show_backtrace(1);
6496 }
6497 var_listnode11 = var_nodearraylist9;
6498 /* <var_listnode11:nullable Object> isa Array[Object] */
6499 cltype29 = type_array__Arraykernel__Object.color;
6500 idtype30 = type_array__Arraykernel__Object.id;
6501 if(var_listnode11 == NULL) {
6502 var28 = 0;
6503 } else {
6504 if(cltype29 >= var_listnode11->type->table_size) {
6505 var28 = 0;
6506 } else {
6507 var28 = var_listnode11->type->type_table[cltype29] == idtype30;
6508 }
6509 }
6510 if (!var28) {
6511 fprintf(stderr, "Runtime error: %s", "Assert failed");
6512 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9769);
6513 show_backtrace(1);
6514 }
6515 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction207>*/;
6516 var_listnode12 = var31;
6517 var_tkwendnode13 = var_nodearraylist11;
6518 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
6519 cltype33 = type_nullable_parser_nodes__TKwend.color;
6520 idtype34 = type_nullable_parser_nodes__TKwend.id;
6521 if(var_tkwendnode13 == NULL) {
6522 var32 = 1;
6523 } else {
6524 if(cltype33 >= var_tkwendnode13->type->table_size) {
6525 var32 = 0;
6526 } else {
6527 var32 = var_tkwendnode13->type->type_table[cltype33] == idtype34;
6528 }
6529 }
6530 if (!var32) {
6531 fprintf(stderr, "Runtime error: %s", "Assert failed");
6532 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9772);
6533 show_backtrace(1);
6534 }
6535 var35 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6536 var36 = NULL;
6537 var37 = NULL;
6538 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var35->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var35, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var36, var37, var_listnode10, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var35:AStdClassdef>*/;
6539 var_pclassdefnode1 = var35;
6540 var_node_list = var_pclassdefnode1;
6541 var38 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction207> */
6542 var39 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var38) /* go_to on <var_p:Parser>*/;
6543 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var39, var_node_list) /* push on <var_p:Parser>*/;
6544 RET_LABEL:;
6545 }
6546 /* method parser#ReduceAction207#action for (self: Object, Parser) */
6547 void VIRTUAL_parser__ReduceAction207__action(val* self, val* p0) {
6548 parser__ReduceAction207__action(self, p0);
6549 RET_LABEL:;
6550 }
6551 /* method parser#ReduceAction209#action for (self: ReduceAction209, Parser) */
6552 void parser__ReduceAction209__action(val* self, val* p0) {
6553 val* var_p /* var p: Parser */;
6554 val* var /* : null */;
6555 val* var_node_list /* var node_list: nullable Object */;
6556 val* var1 /* : nullable Object */;
6557 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6558 val* var2 /* : nullable Object */;
6559 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6560 val* var3 /* : nullable Object */;
6561 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6562 val* var4 /* : nullable Object */;
6563 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6564 val* var5 /* : nullable Object */;
6565 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6566 val* var6 /* : nullable Object */;
6567 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6568 val* var7 /* : nullable Object */;
6569 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6570 val* var8 /* : nullable Object */;
6571 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6572 val* var9 /* : nullable Object */;
6573 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6574 val* var10 /* : Array[Object] */;
6575 val* var_listnode8 /* var listnode8: Array[Object] */;
6576 val* var11 /* : Array[Object] */;
6577 val* var_listnode11 /* var listnode11: Array[Object] */;
6578 val* var12 /* : Array[Object] */;
6579 val* var_listnode13 /* var listnode13: Array[Object] */;
6580 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6581 short int var13 /* : Bool */;
6582 int cltype;
6583 int idtype;
6584 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6585 short int var14 /* : Bool */;
6586 int cltype15;
6587 int idtype16;
6588 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6589 short int var17 /* : Bool */;
6590 int cltype18;
6591 int idtype19;
6592 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6593 short int var20 /* : Bool */;
6594 int cltype21;
6595 int idtype22;
6596 val* var_listnode7 /* var listnode7: nullable Object */;
6597 short int var23 /* : Bool */;
6598 int cltype24;
6599 int idtype25;
6600 val* var26 /* : Array[Object] */;
6601 val* var_listnode12 /* var listnode12: nullable Object */;
6602 short int var27 /* : Bool */;
6603 int cltype28;
6604 int idtype29;
6605 val* var30 /* : Array[Object] */;
6606 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
6607 short int var31 /* : Bool */;
6608 int cltype32;
6609 int idtype33;
6610 val* var34 /* : AStdClassdef */;
6611 val* var35 /* : null */;
6612 val* var36 /* : null */;
6613 val* var37 /* : null */;
6614 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6615 long var38 /* : Int */;
6616 long var39 /* : Int */;
6617 var_p = p0;
6618 var = NULL;
6619 var_node_list = var;
6620 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6621 var_nodearraylist9 = var1;
6622 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6623 var_nodearraylist8 = var2;
6624 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6625 var_nodearraylist7 = var3;
6626 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6627 var_nodearraylist6 = var4;
6628 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6629 var_nodearraylist5 = var5;
6630 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6631 var_nodearraylist4 = var6;
6632 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6633 var_nodearraylist3 = var7;
6634 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6635 var_nodearraylist2 = var8;
6636 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6637 var_nodearraylist1 = var9;
6638 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
6639 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
6640 var_listnode8 = var10;
6641 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
6642 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
6643 var_listnode11 = var11;
6644 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
6645 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
6646 var_listnode13 = var12;
6647 var_pdocnode2 = var_nodearraylist1;
6648 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6649 cltype = type_nullable_parser_nodes__ADoc.color;
6650 idtype = type_nullable_parser_nodes__ADoc.id;
6651 if(var_pdocnode2 == NULL) {
6652 var13 = 1;
6653 } else {
6654 if(cltype >= var_pdocnode2->type->table_size) {
6655 var13 = 0;
6656 } else {
6657 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
6658 }
6659 }
6660 if (!var13) {
6661 fprintf(stderr, "Runtime error: %s", "Assert failed");
6662 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9808);
6663 show_backtrace(1);
6664 }
6665 var_pvisibilitynode4 = var_nodearraylist2;
6666 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6667 cltype15 = type_nullable_parser_nodes__AVisibility.color;
6668 idtype16 = type_nullable_parser_nodes__AVisibility.id;
6669 if(var_pvisibilitynode4 == NULL) {
6670 var14 = 1;
6671 } else {
6672 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
6673 var14 = 0;
6674 } else {
6675 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
6676 }
6677 }
6678 if (!var14) {
6679 fprintf(stderr, "Runtime error: %s", "Assert failed");
6680 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9810);
6681 show_backtrace(1);
6682 }
6683 var_pclasskindnode5 = var_nodearraylist3;
6684 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6685 cltype18 = type_nullable_parser_nodes__AClasskind.color;
6686 idtype19 = type_nullable_parser_nodes__AClasskind.id;
6687 if(var_pclasskindnode5 == NULL) {
6688 var17 = 1;
6689 } else {
6690 if(cltype18 >= var_pclasskindnode5->type->table_size) {
6691 var17 = 0;
6692 } else {
6693 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
6694 }
6695 }
6696 if (!var17) {
6697 fprintf(stderr, "Runtime error: %s", "Assert failed");
6698 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9812);
6699 show_backtrace(1);
6700 }
6701 var_tclassidnode6 = var_nodearraylist5;
6702 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6703 cltype21 = type_nullable_parser_nodes__TClassid.color;
6704 idtype22 = type_nullable_parser_nodes__TClassid.id;
6705 if(var_tclassidnode6 == NULL) {
6706 var20 = 1;
6707 } else {
6708 if(cltype21 >= var_tclassidnode6->type->table_size) {
6709 var20 = 0;
6710 } else {
6711 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
6712 }
6713 }
6714 if (!var20) {
6715 fprintf(stderr, "Runtime error: %s", "Assert failed");
6716 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9814);
6717 show_backtrace(1);
6718 }
6719 var_listnode7 = var_nodearraylist6;
6720 /* <var_listnode7:nullable Object> isa Array[Object] */
6721 cltype24 = type_array__Arraykernel__Object.color;
6722 idtype25 = type_array__Arraykernel__Object.id;
6723 if(var_listnode7 == NULL) {
6724 var23 = 0;
6725 } else {
6726 if(cltype24 >= var_listnode7->type->table_size) {
6727 var23 = 0;
6728 } else {
6729 var23 = var_listnode7->type->type_table[cltype24] == idtype25;
6730 }
6731 }
6732 if (!var23) {
6733 fprintf(stderr, "Runtime error: %s", "Assert failed");
6734 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9816);
6735 show_backtrace(1);
6736 }
6737 var26 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction209>*/;
6738 var_listnode8 = var26;
6739 var_listnode12 = var_nodearraylist7;
6740 /* <var_listnode12:nullable Object> isa Array[Object] */
6741 cltype28 = type_array__Arraykernel__Object.color;
6742 idtype29 = type_array__Arraykernel__Object.id;
6743 if(var_listnode12 == NULL) {
6744 var27 = 0;
6745 } else {
6746 if(cltype28 >= var_listnode12->type->table_size) {
6747 var27 = 0;
6748 } else {
6749 var27 = var_listnode12->type->type_table[cltype28] == idtype29;
6750 }
6751 }
6752 if (!var27) {
6753 fprintf(stderr, "Runtime error: %s", "Assert failed");
6754 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9819);
6755 show_backtrace(1);
6756 }
6757 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction209>*/;
6758 var_listnode13 = var30;
6759 var_tkwendnode14 = var_nodearraylist9;
6760 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
6761 cltype32 = type_nullable_parser_nodes__TKwend.color;
6762 idtype33 = type_nullable_parser_nodes__TKwend.id;
6763 if(var_tkwendnode14 == NULL) {
6764 var31 = 1;
6765 } else {
6766 if(cltype32 >= var_tkwendnode14->type->table_size) {
6767 var31 = 0;
6768 } else {
6769 var31 = var_tkwendnode14->type->type_table[cltype32] == idtype33;
6770 }
6771 }
6772 if (!var31) {
6773 fprintf(stderr, "Runtime error: %s", "Assert failed");
6774 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9822);
6775 show_backtrace(1);
6776 }
6777 var34 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6778 var35 = NULL;
6779 var36 = NULL;
6780 var37 = NULL;
6781 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var34->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var34, var_pdocnode2, var35, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var36, var37, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var34:AStdClassdef>*/;
6782 var_pclassdefnode1 = var34;
6783 var_node_list = var_pclassdefnode1;
6784 var38 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction209> */
6785 var39 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var38) /* go_to on <var_p:Parser>*/;
6786 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var39, var_node_list) /* push on <var_p:Parser>*/;
6787 RET_LABEL:;
6788 }
6789 /* method parser#ReduceAction209#action for (self: Object, Parser) */
6790 void VIRTUAL_parser__ReduceAction209__action(val* self, val* p0) {
6791 parser__ReduceAction209__action(self, p0);
6792 RET_LABEL:;
6793 }
6794 /* method parser#ReduceAction210#action for (self: ReduceAction210, Parser) */
6795 void parser__ReduceAction210__action(val* self, val* p0) {
6796 val* var_p /* var p: Parser */;
6797 val* var /* : null */;
6798 val* var_node_list /* var node_list: nullable Object */;
6799 val* var1 /* : nullable Object */;
6800 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6801 val* var2 /* : nullable Object */;
6802 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6803 val* var3 /* : nullable Object */;
6804 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6805 val* var4 /* : nullable Object */;
6806 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6807 val* var5 /* : nullable Object */;
6808 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6809 val* var6 /* : nullable Object */;
6810 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6811 val* var7 /* : nullable Object */;
6812 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6813 val* var8 /* : nullable Object */;
6814 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6815 val* var9 /* : nullable Object */;
6816 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6817 val* var10 /* : nullable Object */;
6818 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6819 val* var11 /* : Array[Object] */;
6820 val* var_listnode8 /* var listnode8: Array[Object] */;
6821 val* var12 /* : Array[Object] */;
6822 val* var_listnode11 /* var listnode11: Array[Object] */;
6823 val* var13 /* : Array[Object] */;
6824 val* var_listnode13 /* var listnode13: Array[Object] */;
6825 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6826 short int var14 /* : Bool */;
6827 int cltype;
6828 int idtype;
6829 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
6830 short int var15 /* : Bool */;
6831 int cltype16;
6832 int idtype17;
6833 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6834 short int var18 /* : Bool */;
6835 int cltype19;
6836 int idtype20;
6837 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6838 short int var21 /* : Bool */;
6839 int cltype22;
6840 int idtype23;
6841 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6842 short int var24 /* : Bool */;
6843 int cltype25;
6844 int idtype26;
6845 val* var_listnode7 /* var listnode7: nullable Object */;
6846 short int var27 /* : Bool */;
6847 int cltype28;
6848 int idtype29;
6849 val* var30 /* : Array[Object] */;
6850 val* var_listnode12 /* var listnode12: nullable Object */;
6851 short int var31 /* : Bool */;
6852 int cltype32;
6853 int idtype33;
6854 val* var34 /* : Array[Object] */;
6855 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
6856 short int var35 /* : Bool */;
6857 int cltype36;
6858 int idtype37;
6859 val* var38 /* : AStdClassdef */;
6860 val* var39 /* : null */;
6861 val* var40 /* : null */;
6862 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6863 long var41 /* : Int */;
6864 long var42 /* : Int */;
6865 var_p = p0;
6866 var = NULL;
6867 var_node_list = var;
6868 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6869 var_nodearraylist10 = var1;
6870 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6871 var_nodearraylist9 = var2;
6872 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6873 var_nodearraylist8 = var3;
6874 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6875 var_nodearraylist7 = var4;
6876 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6877 var_nodearraylist6 = var5;
6878 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6879 var_nodearraylist5 = var6;
6880 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6881 var_nodearraylist4 = var7;
6882 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6883 var_nodearraylist3 = var8;
6884 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6885 var_nodearraylist2 = var9;
6886 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6887 var_nodearraylist1 = var10;
6888 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
6889 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
6890 var_listnode8 = var11;
6891 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
6892 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
6893 var_listnode11 = var12;
6894 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
6895 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
6896 var_listnode13 = var13;
6897 var_pdocnode2 = var_nodearraylist1;
6898 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6899 cltype = type_nullable_parser_nodes__ADoc.color;
6900 idtype = type_nullable_parser_nodes__ADoc.id;
6901 if(var_pdocnode2 == NULL) {
6902 var14 = 1;
6903 } else {
6904 if(cltype >= var_pdocnode2->type->table_size) {
6905 var14 = 0;
6906 } else {
6907 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
6908 }
6909 }
6910 if (!var14) {
6911 fprintf(stderr, "Runtime error: %s", "Assert failed");
6912 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9859);
6913 show_backtrace(1);
6914 }
6915 var_tkwredefnode3 = var_nodearraylist2;
6916 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6917 cltype16 = type_nullable_parser_nodes__TKwredef.color;
6918 idtype17 = type_nullable_parser_nodes__TKwredef.id;
6919 if(var_tkwredefnode3 == NULL) {
6920 var15 = 1;
6921 } else {
6922 if(cltype16 >= var_tkwredefnode3->type->table_size) {
6923 var15 = 0;
6924 } else {
6925 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
6926 }
6927 }
6928 if (!var15) {
6929 fprintf(stderr, "Runtime error: %s", "Assert failed");
6930 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9861);
6931 show_backtrace(1);
6932 }
6933 var_pvisibilitynode4 = var_nodearraylist3;
6934 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6935 cltype19 = type_nullable_parser_nodes__AVisibility.color;
6936 idtype20 = type_nullable_parser_nodes__AVisibility.id;
6937 if(var_pvisibilitynode4 == NULL) {
6938 var18 = 1;
6939 } else {
6940 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
6941 var18 = 0;
6942 } else {
6943 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
6944 }
6945 }
6946 if (!var18) {
6947 fprintf(stderr, "Runtime error: %s", "Assert failed");
6948 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9863);
6949 show_backtrace(1);
6950 }
6951 var_pclasskindnode5 = var_nodearraylist4;
6952 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6953 cltype22 = type_nullable_parser_nodes__AClasskind.color;
6954 idtype23 = type_nullable_parser_nodes__AClasskind.id;
6955 if(var_pclasskindnode5 == NULL) {
6956 var21 = 1;
6957 } else {
6958 if(cltype22 >= var_pclasskindnode5->type->table_size) {
6959 var21 = 0;
6960 } else {
6961 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
6962 }
6963 }
6964 if (!var21) {
6965 fprintf(stderr, "Runtime error: %s", "Assert failed");
6966 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9865);
6967 show_backtrace(1);
6968 }
6969 var_tclassidnode6 = var_nodearraylist6;
6970 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6971 cltype25 = type_nullable_parser_nodes__TClassid.color;
6972 idtype26 = type_nullable_parser_nodes__TClassid.id;
6973 if(var_tclassidnode6 == NULL) {
6974 var24 = 1;
6975 } else {
6976 if(cltype25 >= var_tclassidnode6->type->table_size) {
6977 var24 = 0;
6978 } else {
6979 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
6980 }
6981 }
6982 if (!var24) {
6983 fprintf(stderr, "Runtime error: %s", "Assert failed");
6984 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9867);
6985 show_backtrace(1);
6986 }
6987 var_listnode7 = var_nodearraylist7;
6988 /* <var_listnode7:nullable Object> isa Array[Object] */
6989 cltype28 = type_array__Arraykernel__Object.color;
6990 idtype29 = type_array__Arraykernel__Object.id;
6991 if(var_listnode7 == NULL) {
6992 var27 = 0;
6993 } else {
6994 if(cltype28 >= var_listnode7->type->table_size) {
6995 var27 = 0;
6996 } else {
6997 var27 = var_listnode7->type->type_table[cltype28] == idtype29;
6998 }
6999 }
7000 if (!var27) {
7001 fprintf(stderr, "Runtime error: %s", "Assert failed");
7002 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9869);
7003 show_backtrace(1);
7004 }
7005 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction210>*/;
7006 var_listnode8 = var30;
7007 var_listnode12 = var_nodearraylist8;
7008 /* <var_listnode12:nullable Object> isa Array[Object] */
7009 cltype32 = type_array__Arraykernel__Object.color;
7010 idtype33 = type_array__Arraykernel__Object.id;
7011 if(var_listnode12 == NULL) {
7012 var31 = 0;
7013 } else {
7014 if(cltype32 >= var_listnode12->type->table_size) {
7015 var31 = 0;
7016 } else {
7017 var31 = var_listnode12->type->type_table[cltype32] == idtype33;
7018 }
7019 }
7020 if (!var31) {
7021 fprintf(stderr, "Runtime error: %s", "Assert failed");
7022 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9872);
7023 show_backtrace(1);
7024 }
7025 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction210>*/;
7026 var_listnode13 = var34;
7027 var_tkwendnode14 = var_nodearraylist10;
7028 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
7029 cltype36 = type_nullable_parser_nodes__TKwend.color;
7030 idtype37 = type_nullable_parser_nodes__TKwend.id;
7031 if(var_tkwendnode14 == NULL) {
7032 var35 = 1;
7033 } else {
7034 if(cltype36 >= var_tkwendnode14->type->table_size) {
7035 var35 = 0;
7036 } else {
7037 var35 = var_tkwendnode14->type->type_table[cltype36] == idtype37;
7038 }
7039 }
7040 if (!var35) {
7041 fprintf(stderr, "Runtime error: %s", "Assert failed");
7042 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9875);
7043 show_backtrace(1);
7044 }
7045 var38 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7046 var39 = NULL;
7047 var40 = NULL;
7048 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var38->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var38, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var39, var40, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var38:AStdClassdef>*/;
7049 var_pclassdefnode1 = var38;
7050 var_node_list = var_pclassdefnode1;
7051 var41 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction210> */
7052 var42 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var41) /* go_to on <var_p:Parser>*/;
7053 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var42, var_node_list) /* push on <var_p:Parser>*/;
7054 RET_LABEL:;
7055 }
7056 /* method parser#ReduceAction210#action for (self: Object, Parser) */
7057 void VIRTUAL_parser__ReduceAction210__action(val* self, val* p0) {
7058 parser__ReduceAction210__action(self, p0);
7059 RET_LABEL:;
7060 }
7061 /* method parser#ReduceAction211#action for (self: ReduceAction211, Parser) */
7062 void parser__ReduceAction211__action(val* self, val* p0) {
7063 val* var_p /* var p: Parser */;
7064 val* var /* : null */;
7065 val* var_node_list /* var node_list: nullable Object */;
7066 val* var1 /* : nullable Object */;
7067 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7068 val* var2 /* : nullable Object */;
7069 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7070 val* var3 /* : nullable Object */;
7071 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7072 val* var4 /* : nullable Object */;
7073 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7074 val* var5 /* : nullable Object */;
7075 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7076 val* var6 /* : nullable Object */;
7077 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7078 val* var7 /* : nullable Object */;
7079 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7080 val* var8 /* : nullable Object */;
7081 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7082 val* var9 /* : nullable Object */;
7083 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7084 val* var10 /* : nullable Object */;
7085 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7086 val* var11 /* : Array[Object] */;
7087 val* var_listnode8 /* var listnode8: Array[Object] */;
7088 val* var12 /* : Array[Object] */;
7089 val* var_listnode11 /* var listnode11: Array[Object] */;
7090 val* var13 /* : Array[Object] */;
7091 val* var_listnode13 /* var listnode13: Array[Object] */;
7092 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7093 short int var14 /* : Bool */;
7094 int cltype;
7095 int idtype;
7096 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7097 short int var15 /* : Bool */;
7098 int cltype16;
7099 int idtype17;
7100 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7101 short int var18 /* : Bool */;
7102 int cltype19;
7103 int idtype20;
7104 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7105 short int var21 /* : Bool */;
7106 int cltype22;
7107 int idtype23;
7108 val* var_listnode7 /* var listnode7: nullable Object */;
7109 short int var24 /* : Bool */;
7110 int cltype25;
7111 int idtype26;
7112 val* var27 /* : Array[Object] */;
7113 val* var_listnode12 /* var listnode12: nullable Object */;
7114 short int var28 /* : Bool */;
7115 int cltype29;
7116 int idtype30;
7117 val* var31 /* : Array[Object] */;
7118 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
7119 short int var32 /* : Bool */;
7120 int cltype33;
7121 int idtype34;
7122 val* var35 /* : AStdClassdef */;
7123 val* var36 /* : null */;
7124 val* var37 /* : null */;
7125 val* var38 /* : null */;
7126 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7127 long var39 /* : Int */;
7128 long var40 /* : Int */;
7129 var_p = p0;
7130 var = NULL;
7131 var_node_list = var;
7132 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7133 var_nodearraylist10 = var1;
7134 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7135 var_nodearraylist9 = var2;
7136 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7137 var_nodearraylist8 = var3;
7138 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7139 var_nodearraylist7 = var4;
7140 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7141 var_nodearraylist6 = var5;
7142 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7143 var_nodearraylist5 = var6;
7144 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7145 var_nodearraylist4 = var7;
7146 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7147 var_nodearraylist3 = var8;
7148 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7149 var_nodearraylist2 = var9;
7150 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7151 var_nodearraylist1 = var10;
7152 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
7153 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
7154 var_listnode8 = var11;
7155 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
7156 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
7157 var_listnode11 = var12;
7158 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
7159 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
7160 var_listnode13 = var13;
7161 var_pdocnode2 = var_nodearraylist1;
7162 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7163 cltype = type_nullable_parser_nodes__ADoc.color;
7164 idtype = type_nullable_parser_nodes__ADoc.id;
7165 if(var_pdocnode2 == NULL) {
7166 var14 = 1;
7167 } else {
7168 if(cltype >= var_pdocnode2->type->table_size) {
7169 var14 = 0;
7170 } else {
7171 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
7172 }
7173 }
7174 if (!var14) {
7175 fprintf(stderr, "Runtime error: %s", "Assert failed");
7176 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9912);
7177 show_backtrace(1);
7178 }
7179 var_pvisibilitynode4 = var_nodearraylist2;
7180 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7181 cltype16 = type_nullable_parser_nodes__AVisibility.color;
7182 idtype17 = type_nullable_parser_nodes__AVisibility.id;
7183 if(var_pvisibilitynode4 == NULL) {
7184 var15 = 1;
7185 } else {
7186 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
7187 var15 = 0;
7188 } else {
7189 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
7190 }
7191 }
7192 if (!var15) {
7193 fprintf(stderr, "Runtime error: %s", "Assert failed");
7194 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9914);
7195 show_backtrace(1);
7196 }
7197 var_pclasskindnode5 = var_nodearraylist3;
7198 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7199 cltype19 = type_nullable_parser_nodes__AClasskind.color;
7200 idtype20 = type_nullable_parser_nodes__AClasskind.id;
7201 if(var_pclasskindnode5 == NULL) {
7202 var18 = 1;
7203 } else {
7204 if(cltype19 >= var_pclasskindnode5->type->table_size) {
7205 var18 = 0;
7206 } else {
7207 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
7208 }
7209 }
7210 if (!var18) {
7211 fprintf(stderr, "Runtime error: %s", "Assert failed");
7212 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9916);
7213 show_backtrace(1);
7214 }
7215 var_tclassidnode6 = var_nodearraylist6;
7216 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7217 cltype22 = type_nullable_parser_nodes__TClassid.color;
7218 idtype23 = type_nullable_parser_nodes__TClassid.id;
7219 if(var_tclassidnode6 == NULL) {
7220 var21 = 1;
7221 } else {
7222 if(cltype22 >= var_tclassidnode6->type->table_size) {
7223 var21 = 0;
7224 } else {
7225 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
7226 }
7227 }
7228 if (!var21) {
7229 fprintf(stderr, "Runtime error: %s", "Assert failed");
7230 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9918);
7231 show_backtrace(1);
7232 }
7233 var_listnode7 = var_nodearraylist7;
7234 /* <var_listnode7:nullable Object> isa Array[Object] */
7235 cltype25 = type_array__Arraykernel__Object.color;
7236 idtype26 = type_array__Arraykernel__Object.id;
7237 if(var_listnode7 == NULL) {
7238 var24 = 0;
7239 } else {
7240 if(cltype25 >= var_listnode7->type->table_size) {
7241 var24 = 0;
7242 } else {
7243 var24 = var_listnode7->type->type_table[cltype25] == idtype26;
7244 }
7245 }
7246 if (!var24) {
7247 fprintf(stderr, "Runtime error: %s", "Assert failed");
7248 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9920);
7249 show_backtrace(1);
7250 }
7251 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction211>*/;
7252 var_listnode8 = var27;
7253 var_listnode12 = var_nodearraylist8;
7254 /* <var_listnode12:nullable Object> isa Array[Object] */
7255 cltype29 = type_array__Arraykernel__Object.color;
7256 idtype30 = type_array__Arraykernel__Object.id;
7257 if(var_listnode12 == NULL) {
7258 var28 = 0;
7259 } else {
7260 if(cltype29 >= var_listnode12->type->table_size) {
7261 var28 = 0;
7262 } else {
7263 var28 = var_listnode12->type->type_table[cltype29] == idtype30;
7264 }
7265 }
7266 if (!var28) {
7267 fprintf(stderr, "Runtime error: %s", "Assert failed");
7268 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9923);
7269 show_backtrace(1);
7270 }
7271 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction211>*/;
7272 var_listnode13 = var31;
7273 var_tkwendnode14 = var_nodearraylist10;
7274 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
7275 cltype33 = type_nullable_parser_nodes__TKwend.color;
7276 idtype34 = type_nullable_parser_nodes__TKwend.id;
7277 if(var_tkwendnode14 == NULL) {
7278 var32 = 1;
7279 } else {
7280 if(cltype33 >= var_tkwendnode14->type->table_size) {
7281 var32 = 0;
7282 } else {
7283 var32 = var_tkwendnode14->type->type_table[cltype33] == idtype34;
7284 }
7285 }
7286 if (!var32) {
7287 fprintf(stderr, "Runtime error: %s", "Assert failed");
7288 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9926);
7289 show_backtrace(1);
7290 }
7291 var35 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7292 var36 = NULL;
7293 var37 = NULL;
7294 var38 = NULL;
7295 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var35->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var35, var_pdocnode2, var36, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var37, var38, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var35:AStdClassdef>*/;
7296 var_pclassdefnode1 = var35;
7297 var_node_list = var_pclassdefnode1;
7298 var39 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction211> */
7299 var40 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var39) /* go_to on <var_p:Parser>*/;
7300 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var40, var_node_list) /* push on <var_p:Parser>*/;
7301 RET_LABEL:;
7302 }
7303 /* method parser#ReduceAction211#action for (self: Object, Parser) */
7304 void VIRTUAL_parser__ReduceAction211__action(val* self, val* p0) {
7305 parser__ReduceAction211__action(self, p0);
7306 RET_LABEL:;
7307 }
7308 /* method parser#ReduceAction212#action for (self: ReduceAction212, Parser) */
7309 void parser__ReduceAction212__action(val* self, val* p0) {
7310 val* var_p /* var p: Parser */;
7311 val* var /* : null */;
7312 val* var_node_list /* var node_list: nullable Object */;
7313 val* var1 /* : nullable Object */;
7314 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
7315 val* var2 /* : nullable Object */;
7316 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7317 val* var3 /* : nullable Object */;
7318 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7319 val* var4 /* : nullable Object */;
7320 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7321 val* var5 /* : nullable Object */;
7322 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7323 val* var6 /* : nullable Object */;
7324 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7325 val* var7 /* : nullable Object */;
7326 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7327 val* var8 /* : nullable Object */;
7328 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7329 val* var9 /* : nullable Object */;
7330 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7331 val* var10 /* : nullable Object */;
7332 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7333 val* var11 /* : nullable Object */;
7334 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7335 val* var12 /* : Array[Object] */;
7336 val* var_listnode8 /* var listnode8: Array[Object] */;
7337 val* var13 /* : Array[Object] */;
7338 val* var_listnode11 /* var listnode11: Array[Object] */;
7339 val* var14 /* : Array[Object] */;
7340 val* var_listnode13 /* var listnode13: Array[Object] */;
7341 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7342 short int var15 /* : Bool */;
7343 int cltype;
7344 int idtype;
7345 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7346 short int var16 /* : Bool */;
7347 int cltype17;
7348 int idtype18;
7349 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7350 short int var19 /* : Bool */;
7351 int cltype20;
7352 int idtype21;
7353 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7354 short int var22 /* : Bool */;
7355 int cltype23;
7356 int idtype24;
7357 val* var_listnode7 /* var listnode7: nullable Object */;
7358 short int var25 /* : Bool */;
7359 int cltype26;
7360 int idtype27;
7361 val* var28 /* : Array[Object] */;
7362 val* var_listnode12 /* var listnode12: nullable Object */;
7363 short int var29 /* : Bool */;
7364 int cltype30;
7365 int idtype31;
7366 val* var32 /* : Array[Object] */;
7367 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
7368 short int var33 /* : Bool */;
7369 int cltype34;
7370 int idtype35;
7371 val* var36 /* : AStdClassdef */;
7372 val* var37 /* : null */;
7373 val* var38 /* : null */;
7374 val* var39 /* : null */;
7375 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7376 long var40 /* : Int */;
7377 long var41 /* : Int */;
7378 var_p = p0;
7379 var = NULL;
7380 var_node_list = var;
7381 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7382 var_nodearraylist11 = var1;
7383 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7384 var_nodearraylist10 = var2;
7385 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7386 var_nodearraylist9 = var3;
7387 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7388 var_nodearraylist8 = var4;
7389 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7390 var_nodearraylist7 = var5;
7391 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7392 var_nodearraylist6 = var6;
7393 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7394 var_nodearraylist5 = var7;
7395 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7396 var_nodearraylist4 = var8;
7397 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7398 var_nodearraylist3 = var9;
7399 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7400 var_nodearraylist2 = var10;
7401 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7402 var_nodearraylist1 = var11;
7403 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
7404 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
7405 var_listnode8 = var12;
7406 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
7407 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
7408 var_listnode11 = var13;
7409 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
7410 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
7411 var_listnode13 = var14;
7412 var_pdocnode2 = var_nodearraylist1;
7413 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7414 cltype = type_nullable_parser_nodes__ADoc.color;
7415 idtype = type_nullable_parser_nodes__ADoc.id;
7416 if(var_pdocnode2 == NULL) {
7417 var15 = 1;
7418 } else {
7419 if(cltype >= var_pdocnode2->type->table_size) {
7420 var15 = 0;
7421 } else {
7422 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
7423 }
7424 }
7425 if (!var15) {
7426 fprintf(stderr, "Runtime error: %s", "Assert failed");
7427 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9964);
7428 show_backtrace(1);
7429 }
7430 var_pvisibilitynode4 = var_nodearraylist2;
7431 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7432 cltype17 = type_nullable_parser_nodes__AVisibility.color;
7433 idtype18 = type_nullable_parser_nodes__AVisibility.id;
7434 if(var_pvisibilitynode4 == NULL) {
7435 var16 = 1;
7436 } else {
7437 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
7438 var16 = 0;
7439 } else {
7440 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
7441 }
7442 }
7443 if (!var16) {
7444 fprintf(stderr, "Runtime error: %s", "Assert failed");
7445 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9966);
7446 show_backtrace(1);
7447 }
7448 var_pclasskindnode5 = var_nodearraylist3;
7449 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7450 cltype20 = type_nullable_parser_nodes__AClasskind.color;
7451 idtype21 = type_nullable_parser_nodes__AClasskind.id;
7452 if(var_pclasskindnode5 == NULL) {
7453 var19 = 1;
7454 } else {
7455 if(cltype20 >= var_pclasskindnode5->type->table_size) {
7456 var19 = 0;
7457 } else {
7458 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
7459 }
7460 }
7461 if (!var19) {
7462 fprintf(stderr, "Runtime error: %s", "Assert failed");
7463 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9968);
7464 show_backtrace(1);
7465 }
7466 var_tclassidnode6 = var_nodearraylist7;
7467 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7468 cltype23 = type_nullable_parser_nodes__TClassid.color;
7469 idtype24 = type_nullable_parser_nodes__TClassid.id;
7470 if(var_tclassidnode6 == NULL) {
7471 var22 = 1;
7472 } else {
7473 if(cltype23 >= var_tclassidnode6->type->table_size) {
7474 var22 = 0;
7475 } else {
7476 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
7477 }
7478 }
7479 if (!var22) {
7480 fprintf(stderr, "Runtime error: %s", "Assert failed");
7481 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9970);
7482 show_backtrace(1);
7483 }
7484 var_listnode7 = var_nodearraylist8;
7485 /* <var_listnode7:nullable Object> isa Array[Object] */
7486 cltype26 = type_array__Arraykernel__Object.color;
7487 idtype27 = type_array__Arraykernel__Object.id;
7488 if(var_listnode7 == NULL) {
7489 var25 = 0;
7490 } else {
7491 if(cltype26 >= var_listnode7->type->table_size) {
7492 var25 = 0;
7493 } else {
7494 var25 = var_listnode7->type->type_table[cltype26] == idtype27;
7495 }
7496 }
7497 if (!var25) {
7498 fprintf(stderr, "Runtime error: %s", "Assert failed");
7499 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9972);
7500 show_backtrace(1);
7501 }
7502 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction212>*/;
7503 var_listnode8 = var28;
7504 var_listnode12 = var_nodearraylist9;
7505 /* <var_listnode12:nullable Object> isa Array[Object] */
7506 cltype30 = type_array__Arraykernel__Object.color;
7507 idtype31 = type_array__Arraykernel__Object.id;
7508 if(var_listnode12 == NULL) {
7509 var29 = 0;
7510 } else {
7511 if(cltype30 >= var_listnode12->type->table_size) {
7512 var29 = 0;
7513 } else {
7514 var29 = var_listnode12->type->type_table[cltype30] == idtype31;
7515 }
7516 }
7517 if (!var29) {
7518 fprintf(stderr, "Runtime error: %s", "Assert failed");
7519 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9975);
7520 show_backtrace(1);
7521 }
7522 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction212>*/;
7523 var_listnode13 = var32;
7524 var_tkwendnode14 = var_nodearraylist11;
7525 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
7526 cltype34 = type_nullable_parser_nodes__TKwend.color;
7527 idtype35 = type_nullable_parser_nodes__TKwend.id;
7528 if(var_tkwendnode14 == NULL) {
7529 var33 = 1;
7530 } else {
7531 if(cltype34 >= var_tkwendnode14->type->table_size) {
7532 var33 = 0;
7533 } else {
7534 var33 = var_tkwendnode14->type->type_table[cltype34] == idtype35;
7535 }
7536 }
7537 if (!var33) {
7538 fprintf(stderr, "Runtime error: %s", "Assert failed");
7539 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 9978);
7540 show_backtrace(1);
7541 }
7542 var36 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7543 var37 = NULL;
7544 var38 = NULL;
7545 var39 = NULL;
7546 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var36->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var36, var_pdocnode2, var37, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var38, var39, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var36:AStdClassdef>*/;
7547 var_pclassdefnode1 = var36;
7548 var_node_list = var_pclassdefnode1;
7549 var40 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction212> */
7550 var41 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var40) /* go_to on <var_p:Parser>*/;
7551 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var41, var_node_list) /* push on <var_p:Parser>*/;
7552 RET_LABEL:;
7553 }
7554 /* method parser#ReduceAction212#action for (self: Object, Parser) */
7555 void VIRTUAL_parser__ReduceAction212__action(val* self, val* p0) {
7556 parser__ReduceAction212__action(self, p0);
7557 RET_LABEL:;
7558 }
7559 /* method parser#ReduceAction214#action for (self: ReduceAction214, Parser) */
7560 void parser__ReduceAction214__action(val* self, val* p0) {
7561 val* var_p /* var p: Parser */;
7562 val* var /* : null */;
7563 val* var_node_list /* var node_list: nullable Object */;
7564 val* var1 /* : nullable Object */;
7565 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
7566 val* var2 /* : nullable Object */;
7567 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7568 val* var3 /* : nullable Object */;
7569 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7570 val* var4 /* : nullable Object */;
7571 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7572 val* var5 /* : nullable Object */;
7573 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7574 val* var6 /* : nullable Object */;
7575 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7576 val* var7 /* : nullable Object */;
7577 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7578 val* var8 /* : nullable Object */;
7579 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7580 val* var9 /* : nullable Object */;
7581 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7582 val* var10 /* : nullable Object */;
7583 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7584 val* var11 /* : nullable Object */;
7585 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7586 val* var12 /* : Array[Object] */;
7587 val* var_listnode8 /* var listnode8: Array[Object] */;
7588 val* var13 /* : Array[Object] */;
7589 val* var_listnode11 /* var listnode11: Array[Object] */;
7590 val* var14 /* : Array[Object] */;
7591 val* var_listnode13 /* var listnode13: Array[Object] */;
7592 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7593 short int var15 /* : Bool */;
7594 int cltype;
7595 int idtype;
7596 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
7597 short int var16 /* : Bool */;
7598 int cltype17;
7599 int idtype18;
7600 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7601 short int var19 /* : Bool */;
7602 int cltype20;
7603 int idtype21;
7604 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7605 short int var22 /* : Bool */;
7606 int cltype23;
7607 int idtype24;
7608 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7609 short int var25 /* : Bool */;
7610 int cltype26;
7611 int idtype27;
7612 val* var_listnode7 /* var listnode7: nullable Object */;
7613 short int var28 /* : Bool */;
7614 int cltype29;
7615 int idtype30;
7616 val* var31 /* : Array[Object] */;
7617 val* var_listnode12 /* var listnode12: nullable Object */;
7618 short int var32 /* : Bool */;
7619 int cltype33;
7620 int idtype34;
7621 val* var35 /* : Array[Object] */;
7622 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
7623 short int var36 /* : Bool */;
7624 int cltype37;
7625 int idtype38;
7626 val* var39 /* : AStdClassdef */;
7627 val* var40 /* : null */;
7628 val* var41 /* : null */;
7629 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7630 long var42 /* : Int */;
7631 long var43 /* : Int */;
7632 var_p = p0;
7633 var = NULL;
7634 var_node_list = var;
7635 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7636 var_nodearraylist11 = var1;
7637 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7638 var_nodearraylist10 = var2;
7639 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7640 var_nodearraylist9 = var3;
7641 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7642 var_nodearraylist8 = var4;
7643 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7644 var_nodearraylist7 = var5;
7645 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7646 var_nodearraylist6 = var6;
7647 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7648 var_nodearraylist5 = var7;
7649 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7650 var_nodearraylist4 = var8;
7651 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7652 var_nodearraylist3 = var9;
7653 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7654 var_nodearraylist2 = var10;
7655 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7656 var_nodearraylist1 = var11;
7657 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
7658 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
7659 var_listnode8 = var12;
7660 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
7661 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
7662 var_listnode11 = var13;
7663 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
7664 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
7665 var_listnode13 = var14;
7666 var_pdocnode2 = var_nodearraylist1;
7667 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7668 cltype = type_nullable_parser_nodes__ADoc.color;
7669 idtype = type_nullable_parser_nodes__ADoc.id;
7670 if(var_pdocnode2 == NULL) {
7671 var15 = 1;
7672 } else {
7673 if(cltype >= var_pdocnode2->type->table_size) {
7674 var15 = 0;
7675 } else {
7676 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
7677 }
7678 }
7679 if (!var15) {
7680 fprintf(stderr, "Runtime error: %s", "Assert failed");
7681 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10016);
7682 show_backtrace(1);
7683 }
7684 var_tkwredefnode3 = var_nodearraylist2;
7685 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7686 cltype17 = type_nullable_parser_nodes__TKwredef.color;
7687 idtype18 = type_nullable_parser_nodes__TKwredef.id;
7688 if(var_tkwredefnode3 == NULL) {
7689 var16 = 1;
7690 } else {
7691 if(cltype17 >= var_tkwredefnode3->type->table_size) {
7692 var16 = 0;
7693 } else {
7694 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
7695 }
7696 }
7697 if (!var16) {
7698 fprintf(stderr, "Runtime error: %s", "Assert failed");
7699 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10018);
7700 show_backtrace(1);
7701 }
7702 var_pvisibilitynode4 = var_nodearraylist3;
7703 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7704 cltype20 = type_nullable_parser_nodes__AVisibility.color;
7705 idtype21 = type_nullable_parser_nodes__AVisibility.id;
7706 if(var_pvisibilitynode4 == NULL) {
7707 var19 = 1;
7708 } else {
7709 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
7710 var19 = 0;
7711 } else {
7712 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
7713 }
7714 }
7715 if (!var19) {
7716 fprintf(stderr, "Runtime error: %s", "Assert failed");
7717 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10020);
7718 show_backtrace(1);
7719 }
7720 var_pclasskindnode5 = var_nodearraylist4;
7721 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7722 cltype23 = type_nullable_parser_nodes__AClasskind.color;
7723 idtype24 = type_nullable_parser_nodes__AClasskind.id;
7724 if(var_pclasskindnode5 == NULL) {
7725 var22 = 1;
7726 } else {
7727 if(cltype23 >= var_pclasskindnode5->type->table_size) {
7728 var22 = 0;
7729 } else {
7730 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
7731 }
7732 }
7733 if (!var22) {
7734 fprintf(stderr, "Runtime error: %s", "Assert failed");
7735 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10022);
7736 show_backtrace(1);
7737 }
7738 var_tclassidnode6 = var_nodearraylist7;
7739 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7740 cltype26 = type_nullable_parser_nodes__TClassid.color;
7741 idtype27 = type_nullable_parser_nodes__TClassid.id;
7742 if(var_tclassidnode6 == NULL) {
7743 var25 = 1;
7744 } else {
7745 if(cltype26 >= var_tclassidnode6->type->table_size) {
7746 var25 = 0;
7747 } else {
7748 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
7749 }
7750 }
7751 if (!var25) {
7752 fprintf(stderr, "Runtime error: %s", "Assert failed");
7753 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10024);
7754 show_backtrace(1);
7755 }
7756 var_listnode7 = var_nodearraylist8;
7757 /* <var_listnode7:nullable Object> isa Array[Object] */
7758 cltype29 = type_array__Arraykernel__Object.color;
7759 idtype30 = type_array__Arraykernel__Object.id;
7760 if(var_listnode7 == NULL) {
7761 var28 = 0;
7762 } else {
7763 if(cltype29 >= var_listnode7->type->table_size) {
7764 var28 = 0;
7765 } else {
7766 var28 = var_listnode7->type->type_table[cltype29] == idtype30;
7767 }
7768 }
7769 if (!var28) {
7770 fprintf(stderr, "Runtime error: %s", "Assert failed");
7771 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10026);
7772 show_backtrace(1);
7773 }
7774 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction214>*/;
7775 var_listnode8 = var31;
7776 var_listnode12 = var_nodearraylist9;
7777 /* <var_listnode12:nullable Object> isa Array[Object] */
7778 cltype33 = type_array__Arraykernel__Object.color;
7779 idtype34 = type_array__Arraykernel__Object.id;
7780 if(var_listnode12 == NULL) {
7781 var32 = 0;
7782 } else {
7783 if(cltype33 >= var_listnode12->type->table_size) {
7784 var32 = 0;
7785 } else {
7786 var32 = var_listnode12->type->type_table[cltype33] == idtype34;
7787 }
7788 }
7789 if (!var32) {
7790 fprintf(stderr, "Runtime error: %s", "Assert failed");
7791 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10029);
7792 show_backtrace(1);
7793 }
7794 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction214>*/;
7795 var_listnode13 = var35;
7796 var_tkwendnode14 = var_nodearraylist11;
7797 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
7798 cltype37 = type_nullable_parser_nodes__TKwend.color;
7799 idtype38 = type_nullable_parser_nodes__TKwend.id;
7800 if(var_tkwendnode14 == NULL) {
7801 var36 = 1;
7802 } else {
7803 if(cltype37 >= var_tkwendnode14->type->table_size) {
7804 var36 = 0;
7805 } else {
7806 var36 = var_tkwendnode14->type->type_table[cltype37] == idtype38;
7807 }
7808 }
7809 if (!var36) {
7810 fprintf(stderr, "Runtime error: %s", "Assert failed");
7811 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10032);
7812 show_backtrace(1);
7813 }
7814 var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7815 var40 = NULL;
7816 var41 = NULL;
7817 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var39->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var39, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var40, var41, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var39:AStdClassdef>*/;
7818 var_pclassdefnode1 = var39;
7819 var_node_list = var_pclassdefnode1;
7820 var42 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction214> */
7821 var43 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var42) /* go_to on <var_p:Parser>*/;
7822 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var43, var_node_list) /* push on <var_p:Parser>*/;
7823 RET_LABEL:;
7824 }
7825 /* method parser#ReduceAction214#action for (self: Object, Parser) */
7826 void VIRTUAL_parser__ReduceAction214__action(val* self, val* p0) {
7827 parser__ReduceAction214__action(self, p0);
7828 RET_LABEL:;
7829 }
7830 /* method parser#ReduceAction215#action for (self: ReduceAction215, Parser) */
7831 void parser__ReduceAction215__action(val* self, val* p0) {
7832 val* var_p /* var p: Parser */;
7833 val* var /* : null */;
7834 val* var_node_list /* var node_list: nullable Object */;
7835 val* var1 /* : nullable Object */;
7836 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
7837 val* var2 /* : nullable Object */;
7838 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
7839 val* var3 /* : nullable Object */;
7840 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7841 val* var4 /* : nullable Object */;
7842 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7843 val* var5 /* : nullable Object */;
7844 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7845 val* var6 /* : nullable Object */;
7846 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7847 val* var7 /* : nullable Object */;
7848 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7849 val* var8 /* : nullable Object */;
7850 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7851 val* var9 /* : nullable Object */;
7852 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7853 val* var10 /* : nullable Object */;
7854 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7855 val* var11 /* : nullable Object */;
7856 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7857 val* var12 /* : nullable Object */;
7858 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7859 val* var13 /* : Array[Object] */;
7860 val* var_listnode8 /* var listnode8: Array[Object] */;
7861 val* var14 /* : Array[Object] */;
7862 val* var_listnode11 /* var listnode11: Array[Object] */;
7863 val* var15 /* : Array[Object] */;
7864 val* var_listnode13 /* var listnode13: Array[Object] */;
7865 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7866 short int var16 /* : Bool */;
7867 int cltype;
7868 int idtype;
7869 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
7870 short int var17 /* : Bool */;
7871 int cltype18;
7872 int idtype19;
7873 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7874 short int var20 /* : Bool */;
7875 int cltype21;
7876 int idtype22;
7877 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7878 short int var23 /* : Bool */;
7879 int cltype24;
7880 int idtype25;
7881 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7882 short int var26 /* : Bool */;
7883 int cltype27;
7884 int idtype28;
7885 val* var_listnode7 /* var listnode7: nullable Object */;
7886 short int var29 /* : Bool */;
7887 int cltype30;
7888 int idtype31;
7889 val* var32 /* : Array[Object] */;
7890 val* var_listnode12 /* var listnode12: nullable Object */;
7891 short int var33 /* : Bool */;
7892 int cltype34;
7893 int idtype35;
7894 val* var36 /* : Array[Object] */;
7895 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
7896 short int var37 /* : Bool */;
7897 int cltype38;
7898 int idtype39;
7899 val* var40 /* : AStdClassdef */;
7900 val* var41 /* : null */;
7901 val* var42 /* : null */;
7902 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7903 long var43 /* : Int */;
7904 long var44 /* : Int */;
7905 var_p = p0;
7906 var = NULL;
7907 var_node_list = var;
7908 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7909 var_nodearraylist12 = var1;
7910 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7911 var_nodearraylist11 = var2;
7912 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7913 var_nodearraylist10 = var3;
7914 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7915 var_nodearraylist9 = var4;
7916 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7917 var_nodearraylist8 = var5;
7918 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7919 var_nodearraylist7 = var6;
7920 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7921 var_nodearraylist6 = var7;
7922 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7923 var_nodearraylist5 = var8;
7924 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7925 var_nodearraylist4 = var9;
7926 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7927 var_nodearraylist3 = var10;
7928 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7929 var_nodearraylist2 = var11;
7930 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7931 var_nodearraylist1 = var12;
7932 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
7933 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
7934 var_listnode8 = var13;
7935 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
7936 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
7937 var_listnode11 = var14;
7938 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
7939 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
7940 var_listnode13 = var15;
7941 var_pdocnode2 = var_nodearraylist1;
7942 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7943 cltype = type_nullable_parser_nodes__ADoc.color;
7944 idtype = type_nullable_parser_nodes__ADoc.id;
7945 if(var_pdocnode2 == NULL) {
7946 var16 = 1;
7947 } else {
7948 if(cltype >= var_pdocnode2->type->table_size) {
7949 var16 = 0;
7950 } else {
7951 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
7952 }
7953 }
7954 if (!var16) {
7955 fprintf(stderr, "Runtime error: %s", "Assert failed");
7956 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10071);
7957 show_backtrace(1);
7958 }
7959 var_tkwredefnode3 = var_nodearraylist2;
7960 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7961 cltype18 = type_nullable_parser_nodes__TKwredef.color;
7962 idtype19 = type_nullable_parser_nodes__TKwredef.id;
7963 if(var_tkwredefnode3 == NULL) {
7964 var17 = 1;
7965 } else {
7966 if(cltype18 >= var_tkwredefnode3->type->table_size) {
7967 var17 = 0;
7968 } else {
7969 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
7970 }
7971 }
7972 if (!var17) {
7973 fprintf(stderr, "Runtime error: %s", "Assert failed");
7974 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10073);
7975 show_backtrace(1);
7976 }
7977 var_pvisibilitynode4 = var_nodearraylist3;
7978 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7979 cltype21 = type_nullable_parser_nodes__AVisibility.color;
7980 idtype22 = type_nullable_parser_nodes__AVisibility.id;
7981 if(var_pvisibilitynode4 == NULL) {
7982 var20 = 1;
7983 } else {
7984 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
7985 var20 = 0;
7986 } else {
7987 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
7988 }
7989 }
7990 if (!var20) {
7991 fprintf(stderr, "Runtime error: %s", "Assert failed");
7992 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10075);
7993 show_backtrace(1);
7994 }
7995 var_pclasskindnode5 = var_nodearraylist4;
7996 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7997 cltype24 = type_nullable_parser_nodes__AClasskind.color;
7998 idtype25 = type_nullable_parser_nodes__AClasskind.id;
7999 if(var_pclasskindnode5 == NULL) {
8000 var23 = 1;
8001 } else {
8002 if(cltype24 >= var_pclasskindnode5->type->table_size) {
8003 var23 = 0;
8004 } else {
8005 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
8006 }
8007 }
8008 if (!var23) {
8009 fprintf(stderr, "Runtime error: %s", "Assert failed");
8010 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10077);
8011 show_backtrace(1);
8012 }
8013 var_tclassidnode6 = var_nodearraylist8;
8014 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8015 cltype27 = type_nullable_parser_nodes__TClassid.color;
8016 idtype28 = type_nullable_parser_nodes__TClassid.id;
8017 if(var_tclassidnode6 == NULL) {
8018 var26 = 1;
8019 } else {
8020 if(cltype27 >= var_tclassidnode6->type->table_size) {
8021 var26 = 0;
8022 } else {
8023 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
8024 }
8025 }
8026 if (!var26) {
8027 fprintf(stderr, "Runtime error: %s", "Assert failed");
8028 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10079);
8029 show_backtrace(1);
8030 }
8031 var_listnode7 = var_nodearraylist9;
8032 /* <var_listnode7:nullable Object> isa Array[Object] */
8033 cltype30 = type_array__Arraykernel__Object.color;
8034 idtype31 = type_array__Arraykernel__Object.id;
8035 if(var_listnode7 == NULL) {
8036 var29 = 0;
8037 } else {
8038 if(cltype30 >= var_listnode7->type->table_size) {
8039 var29 = 0;
8040 } else {
8041 var29 = var_listnode7->type->type_table[cltype30] == idtype31;
8042 }
8043 }
8044 if (!var29) {
8045 fprintf(stderr, "Runtime error: %s", "Assert failed");
8046 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10081);
8047 show_backtrace(1);
8048 }
8049 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction215>*/;
8050 var_listnode8 = var32;
8051 var_listnode12 = var_nodearraylist10;
8052 /* <var_listnode12:nullable Object> isa Array[Object] */
8053 cltype34 = type_array__Arraykernel__Object.color;
8054 idtype35 = type_array__Arraykernel__Object.id;
8055 if(var_listnode12 == NULL) {
8056 var33 = 0;
8057 } else {
8058 if(cltype34 >= var_listnode12->type->table_size) {
8059 var33 = 0;
8060 } else {
8061 var33 = var_listnode12->type->type_table[cltype34] == idtype35;
8062 }
8063 }
8064 if (!var33) {
8065 fprintf(stderr, "Runtime error: %s", "Assert failed");
8066 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10084);
8067 show_backtrace(1);
8068 }
8069 var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction215>*/;
8070 var_listnode13 = var36;
8071 var_tkwendnode14 = var_nodearraylist12;
8072 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
8073 cltype38 = type_nullable_parser_nodes__TKwend.color;
8074 idtype39 = type_nullable_parser_nodes__TKwend.id;
8075 if(var_tkwendnode14 == NULL) {
8076 var37 = 1;
8077 } else {
8078 if(cltype38 >= var_tkwendnode14->type->table_size) {
8079 var37 = 0;
8080 } else {
8081 var37 = var_tkwendnode14->type->type_table[cltype38] == idtype39;
8082 }
8083 }
8084 if (!var37) {
8085 fprintf(stderr, "Runtime error: %s", "Assert failed");
8086 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10087);
8087 show_backtrace(1);
8088 }
8089 var40 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8090 var41 = NULL;
8091 var42 = NULL;
8092 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var40->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var40, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var41, var42, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var40:AStdClassdef>*/;
8093 var_pclassdefnode1 = var40;
8094 var_node_list = var_pclassdefnode1;
8095 var43 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction215> */
8096 var44 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var43) /* go_to on <var_p:Parser>*/;
8097 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var44, var_node_list) /* push on <var_p:Parser>*/;
8098 RET_LABEL:;
8099 }
8100 /* method parser#ReduceAction215#action for (self: Object, Parser) */
8101 void VIRTUAL_parser__ReduceAction215__action(val* self, val* p0) {
8102 parser__ReduceAction215__action(self, p0);
8103 RET_LABEL:;
8104 }
8105 /* method parser#ReduceAction217#action for (self: ReduceAction217, Parser) */
8106 void parser__ReduceAction217__action(val* self, val* p0) {
8107 val* var_p /* var p: Parser */;
8108 val* var /* : null */;
8109 val* var_node_list /* var node_list: nullable Object */;
8110 val* var1 /* : nullable Object */;
8111 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8112 val* var2 /* : nullable Object */;
8113 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8114 val* var3 /* : nullable Object */;
8115 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8116 val* var4 /* : nullable Object */;
8117 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8118 val* var5 /* : nullable Object */;
8119 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8120 val* var6 /* : nullable Object */;
8121 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8122 val* var7 /* : nullable Object */;
8123 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8124 val* var8 /* : nullable Object */;
8125 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8126 val* var9 /* : nullable Object */;
8127 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8128 val* var10 /* : Array[Object] */;
8129 val* var_listnode7 /* var listnode7: Array[Object] */;
8130 val* var11 /* : Array[Object] */;
8131 val* var_listnode15 /* var listnode15: Array[Object] */;
8132 val* var12 /* : Array[Object] */;
8133 val* var_listnode17 /* var listnode17: Array[Object] */;
8134 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8135 short int var13 /* : Bool */;
8136 int cltype;
8137 int idtype;
8138 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8139 short int var14 /* : Bool */;
8140 int cltype15;
8141 int idtype16;
8142 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8143 short int var17 /* : Bool */;
8144 int cltype18;
8145 int idtype19;
8146 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8147 short int var20 /* : Bool */;
8148 int cltype21;
8149 int idtype22;
8150 val* var23 /* : Array[Object] */;
8151 val* var_listnode12 /* var listnode12: Array[Object] */;
8152 val* var_listnode11 /* var listnode11: nullable Object */;
8153 short int var24 /* : Bool */;
8154 int cltype25;
8155 int idtype26;
8156 val* var27 /* : Array[Object] */;
8157 val* var28 /* : AAnnotations */;
8158 val* var29 /* : null */;
8159 val* var30 /* : null */;
8160 val* var31 /* : null */;
8161 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
8162 val* var_listnode16 /* var listnode16: nullable Object */;
8163 short int var32 /* : Bool */;
8164 int cltype33;
8165 int idtype34;
8166 val* var35 /* : Array[Object] */;
8167 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
8168 short int var36 /* : Bool */;
8169 int cltype37;
8170 int idtype38;
8171 val* var39 /* : AStdClassdef */;
8172 val* var40 /* : null */;
8173 val* var41 /* : null */;
8174 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8175 long var42 /* : Int */;
8176 long var43 /* : Int */;
8177 var_p = p0;
8178 var = NULL;
8179 var_node_list = var;
8180 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8181 var_nodearraylist9 = var1;
8182 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8183 var_nodearraylist8 = var2;
8184 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8185 var_nodearraylist7 = var3;
8186 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8187 var_nodearraylist6 = var4;
8188 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8189 var_nodearraylist5 = var5;
8190 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8191 var_nodearraylist4 = var6;
8192 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8193 var_nodearraylist3 = var7;
8194 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8195 var_nodearraylist2 = var8;
8196 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8197 var_nodearraylist1 = var9;
8198 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
8199 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
8200 var_listnode7 = var10;
8201 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
8202 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
8203 var_listnode15 = var11;
8204 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
8205 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
8206 var_listnode17 = var12;
8207 var_pdocnode2 = var_nodearraylist1;
8208 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8209 cltype = type_nullable_parser_nodes__ADoc.color;
8210 idtype = type_nullable_parser_nodes__ADoc.id;
8211 if(var_pdocnode2 == NULL) {
8212 var13 = 1;
8213 } else {
8214 if(cltype >= var_pdocnode2->type->table_size) {
8215 var13 = 0;
8216 } else {
8217 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
8218 }
8219 }
8220 if (!var13) {
8221 fprintf(stderr, "Runtime error: %s", "Assert failed");
8222 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10123);
8223 show_backtrace(1);
8224 }
8225 var_pvisibilitynode4 = var_nodearraylist2;
8226 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8227 cltype15 = type_nullable_parser_nodes__AVisibility.color;
8228 idtype16 = type_nullable_parser_nodes__AVisibility.id;
8229 if(var_pvisibilitynode4 == NULL) {
8230 var14 = 1;
8231 } else {
8232 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
8233 var14 = 0;
8234 } else {
8235 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
8236 }
8237 }
8238 if (!var14) {
8239 fprintf(stderr, "Runtime error: %s", "Assert failed");
8240 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10125);
8241 show_backtrace(1);
8242 }
8243 var_pclasskindnode5 = var_nodearraylist3;
8244 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8245 cltype18 = type_nullable_parser_nodes__AClasskind.color;
8246 idtype19 = type_nullable_parser_nodes__AClasskind.id;
8247 if(var_pclasskindnode5 == NULL) {
8248 var17 = 1;
8249 } else {
8250 if(cltype18 >= var_pclasskindnode5->type->table_size) {
8251 var17 = 0;
8252 } else {
8253 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
8254 }
8255 }
8256 if (!var17) {
8257 fprintf(stderr, "Runtime error: %s", "Assert failed");
8258 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10127);
8259 show_backtrace(1);
8260 }
8261 var_tclassidnode6 = var_nodearraylist5;
8262 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8263 cltype21 = type_nullable_parser_nodes__TClassid.color;
8264 idtype22 = type_nullable_parser_nodes__TClassid.id;
8265 if(var_tclassidnode6 == NULL) {
8266 var20 = 1;
8267 } else {
8268 if(cltype21 >= var_tclassidnode6->type->table_size) {
8269 var20 = 0;
8270 } else {
8271 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
8272 }
8273 }
8274 if (!var20) {
8275 fprintf(stderr, "Runtime error: %s", "Assert failed");
8276 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10129);
8277 show_backtrace(1);
8278 }
8279 var23 = NEW_array__Array(&type_array__Arraykernel__Object);
8280 ((void (*)(val*))(var23->class->vft[COLOR_array__Array__init]))(var23) /* init on <var23:Array[Object]>*/;
8281 var_listnode12 = var23;
8282 var_listnode11 = var_nodearraylist6;
8283 /* <var_listnode11:nullable Object> isa Array[Object] */
8284 cltype25 = type_array__Arraykernel__Object.color;
8285 idtype26 = type_array__Arraykernel__Object.id;
8286 if(var_listnode11 == NULL) {
8287 var24 = 0;
8288 } else {
8289 if(cltype25 >= var_listnode11->type->table_size) {
8290 var24 = 0;
8291 } else {
8292 var24 = var_listnode11->type->type_table[cltype25] == idtype26;
8293 }
8294 }
8295 if (!var24) {
8296 fprintf(stderr, "Runtime error: %s", "Assert failed");
8297 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10132);
8298 show_backtrace(1);
8299 }
8300 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction217>*/;
8301 var_listnode12 = var27;
8302 var28 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
8303 var29 = NULL;
8304 var30 = NULL;
8305 var31 = NULL;
8306 ((void (*)(val*, val*, val*, val*, val*))(var28->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var28, var29, var30, var_listnode12, var31) /* init_aannotations on <var28:AAnnotations>*/;
8307 var_pannotationsnode8 = var28;
8308 var_listnode16 = var_nodearraylist7;
8309 /* <var_listnode16:nullable Object> isa Array[Object] */
8310 cltype33 = type_array__Arraykernel__Object.color;
8311 idtype34 = type_array__Arraykernel__Object.id;
8312 if(var_listnode16 == NULL) {
8313 var32 = 0;
8314 } else {
8315 if(cltype33 >= var_listnode16->type->table_size) {
8316 var32 = 0;
8317 } else {
8318 var32 = var_listnode16->type->type_table[cltype33] == idtype34;
8319 }
8320 }
8321 if (!var32) {
8322 fprintf(stderr, "Runtime error: %s", "Assert failed");
8323 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10141);
8324 show_backtrace(1);
8325 }
8326 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction217>*/;
8327 var_listnode17 = var35;
8328 var_tkwendnode18 = var_nodearraylist9;
8329 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
8330 cltype37 = type_nullable_parser_nodes__TKwend.color;
8331 idtype38 = type_nullable_parser_nodes__TKwend.id;
8332 if(var_tkwendnode18 == NULL) {
8333 var36 = 1;
8334 } else {
8335 if(cltype37 >= var_tkwendnode18->type->table_size) {
8336 var36 = 0;
8337 } else {
8338 var36 = var_tkwendnode18->type->type_table[cltype37] == idtype38;
8339 }
8340 }
8341 if (!var36) {
8342 fprintf(stderr, "Runtime error: %s", "Assert failed");
8343 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10144);
8344 show_backtrace(1);
8345 }
8346 var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8347 var40 = NULL;
8348 var41 = NULL;
8349 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var39->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var39, var_pdocnode2, var40, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var41, var_listnode15, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var39:AStdClassdef>*/;
8350 var_pclassdefnode1 = var39;
8351 var_node_list = var_pclassdefnode1;
8352 var42 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction217> */
8353 var43 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var42) /* go_to on <var_p:Parser>*/;
8354 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var43, var_node_list) /* push on <var_p:Parser>*/;
8355 RET_LABEL:;
8356 }
8357 /* method parser#ReduceAction217#action for (self: Object, Parser) */
8358 void VIRTUAL_parser__ReduceAction217__action(val* self, val* p0) {
8359 parser__ReduceAction217__action(self, p0);
8360 RET_LABEL:;
8361 }
8362 /* method parser#ReduceAction218#action for (self: ReduceAction218, Parser) */
8363 void parser__ReduceAction218__action(val* self, val* p0) {
8364 val* var_p /* var p: Parser */;
8365 val* var /* : null */;
8366 val* var_node_list /* var node_list: nullable Object */;
8367 val* var1 /* : nullable Object */;
8368 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8369 val* var2 /* : nullable Object */;
8370 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8371 val* var3 /* : nullable Object */;
8372 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8373 val* var4 /* : nullable Object */;
8374 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8375 val* var5 /* : nullable Object */;
8376 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8377 val* var6 /* : nullable Object */;
8378 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8379 val* var7 /* : nullable Object */;
8380 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8381 val* var8 /* : nullable Object */;
8382 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8383 val* var9 /* : nullable Object */;
8384 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8385 val* var10 /* : nullable Object */;
8386 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8387 val* var11 /* : Array[Object] */;
8388 val* var_listnode7 /* var listnode7: Array[Object] */;
8389 val* var12 /* : Array[Object] */;
8390 val* var_listnode15 /* var listnode15: Array[Object] */;
8391 val* var13 /* : Array[Object] */;
8392 val* var_listnode17 /* var listnode17: Array[Object] */;
8393 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8394 short int var14 /* : Bool */;
8395 int cltype;
8396 int idtype;
8397 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
8398 short int var15 /* : Bool */;
8399 int cltype16;
8400 int idtype17;
8401 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8402 short int var18 /* : Bool */;
8403 int cltype19;
8404 int idtype20;
8405 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8406 short int var21 /* : Bool */;
8407 int cltype22;
8408 int idtype23;
8409 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8410 short int var24 /* : Bool */;
8411 int cltype25;
8412 int idtype26;
8413 val* var27 /* : Array[Object] */;
8414 val* var_listnode12 /* var listnode12: Array[Object] */;
8415 val* var_listnode11 /* var listnode11: nullable Object */;
8416 short int var28 /* : Bool */;
8417 int cltype29;
8418 int idtype30;
8419 val* var31 /* : Array[Object] */;
8420 val* var32 /* : AAnnotations */;
8421 val* var33 /* : null */;
8422 val* var34 /* : null */;
8423 val* var35 /* : null */;
8424 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
8425 val* var_listnode16 /* var listnode16: nullable Object */;
8426 short int var36 /* : Bool */;
8427 int cltype37;
8428 int idtype38;
8429 val* var39 /* : Array[Object] */;
8430 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
8431 short int var40 /* : Bool */;
8432 int cltype41;
8433 int idtype42;
8434 val* var43 /* : AStdClassdef */;
8435 val* var44 /* : null */;
8436 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8437 long var45 /* : Int */;
8438 long var46 /* : Int */;
8439 var_p = p0;
8440 var = NULL;
8441 var_node_list = var;
8442 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8443 var_nodearraylist10 = var1;
8444 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8445 var_nodearraylist9 = var2;
8446 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8447 var_nodearraylist8 = var3;
8448 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8449 var_nodearraylist7 = var4;
8450 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8451 var_nodearraylist6 = var5;
8452 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8453 var_nodearraylist5 = var6;
8454 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8455 var_nodearraylist4 = var7;
8456 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8457 var_nodearraylist3 = var8;
8458 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8459 var_nodearraylist2 = var9;
8460 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8461 var_nodearraylist1 = var10;
8462 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
8463 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
8464 var_listnode7 = var11;
8465 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
8466 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
8467 var_listnode15 = var12;
8468 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
8469 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
8470 var_listnode17 = var13;
8471 var_pdocnode2 = var_nodearraylist1;
8472 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8473 cltype = type_nullable_parser_nodes__ADoc.color;
8474 idtype = type_nullable_parser_nodes__ADoc.id;
8475 if(var_pdocnode2 == NULL) {
8476 var14 = 1;
8477 } else {
8478 if(cltype >= var_pdocnode2->type->table_size) {
8479 var14 = 0;
8480 } else {
8481 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
8482 }
8483 }
8484 if (!var14) {
8485 fprintf(stderr, "Runtime error: %s", "Assert failed");
8486 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10181);
8487 show_backtrace(1);
8488 }
8489 var_tkwredefnode3 = var_nodearraylist2;
8490 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8491 cltype16 = type_nullable_parser_nodes__TKwredef.color;
8492 idtype17 = type_nullable_parser_nodes__TKwredef.id;
8493 if(var_tkwredefnode3 == NULL) {
8494 var15 = 1;
8495 } else {
8496 if(cltype16 >= var_tkwredefnode3->type->table_size) {
8497 var15 = 0;
8498 } else {
8499 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
8500 }
8501 }
8502 if (!var15) {
8503 fprintf(stderr, "Runtime error: %s", "Assert failed");
8504 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10183);
8505 show_backtrace(1);
8506 }
8507 var_pvisibilitynode4 = var_nodearraylist3;
8508 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8509 cltype19 = type_nullable_parser_nodes__AVisibility.color;
8510 idtype20 = type_nullable_parser_nodes__AVisibility.id;
8511 if(var_pvisibilitynode4 == NULL) {
8512 var18 = 1;
8513 } else {
8514 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
8515 var18 = 0;
8516 } else {
8517 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
8518 }
8519 }
8520 if (!var18) {
8521 fprintf(stderr, "Runtime error: %s", "Assert failed");
8522 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10185);
8523 show_backtrace(1);
8524 }
8525 var_pclasskindnode5 = var_nodearraylist4;
8526 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8527 cltype22 = type_nullable_parser_nodes__AClasskind.color;
8528 idtype23 = type_nullable_parser_nodes__AClasskind.id;
8529 if(var_pclasskindnode5 == NULL) {
8530 var21 = 1;
8531 } else {
8532 if(cltype22 >= var_pclasskindnode5->type->table_size) {
8533 var21 = 0;
8534 } else {
8535 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
8536 }
8537 }
8538 if (!var21) {
8539 fprintf(stderr, "Runtime error: %s", "Assert failed");
8540 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10187);
8541 show_backtrace(1);
8542 }
8543 var_tclassidnode6 = var_nodearraylist6;
8544 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8545 cltype25 = type_nullable_parser_nodes__TClassid.color;
8546 idtype26 = type_nullable_parser_nodes__TClassid.id;
8547 if(var_tclassidnode6 == NULL) {
8548 var24 = 1;
8549 } else {
8550 if(cltype25 >= var_tclassidnode6->type->table_size) {
8551 var24 = 0;
8552 } else {
8553 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
8554 }
8555 }
8556 if (!var24) {
8557 fprintf(stderr, "Runtime error: %s", "Assert failed");
8558 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10189);
8559 show_backtrace(1);
8560 }
8561 var27 = NEW_array__Array(&type_array__Arraykernel__Object);
8562 ((void (*)(val*))(var27->class->vft[COLOR_array__Array__init]))(var27) /* init on <var27:Array[Object]>*/;
8563 var_listnode12 = var27;
8564 var_listnode11 = var_nodearraylist7;
8565 /* <var_listnode11:nullable Object> isa Array[Object] */
8566 cltype29 = type_array__Arraykernel__Object.color;
8567 idtype30 = type_array__Arraykernel__Object.id;
8568 if(var_listnode11 == NULL) {
8569 var28 = 0;
8570 } else {
8571 if(cltype29 >= var_listnode11->type->table_size) {
8572 var28 = 0;
8573 } else {
8574 var28 = var_listnode11->type->type_table[cltype29] == idtype30;
8575 }
8576 }
8577 if (!var28) {
8578 fprintf(stderr, "Runtime error: %s", "Assert failed");
8579 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10192);
8580 show_backtrace(1);
8581 }
8582 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction218>*/;
8583 var_listnode12 = var31;
8584 var32 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
8585 var33 = NULL;
8586 var34 = NULL;
8587 var35 = NULL;
8588 ((void (*)(val*, val*, val*, val*, val*))(var32->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var32, var33, var34, var_listnode12, var35) /* init_aannotations on <var32:AAnnotations>*/;
8589 var_pannotationsnode8 = var32;
8590 var_listnode16 = var_nodearraylist8;
8591 /* <var_listnode16:nullable Object> isa Array[Object] */
8592 cltype37 = type_array__Arraykernel__Object.color;
8593 idtype38 = type_array__Arraykernel__Object.id;
8594 if(var_listnode16 == NULL) {
8595 var36 = 0;
8596 } else {
8597 if(cltype37 >= var_listnode16->type->table_size) {
8598 var36 = 0;
8599 } else {
8600 var36 = var_listnode16->type->type_table[cltype37] == idtype38;
8601 }
8602 }
8603 if (!var36) {
8604 fprintf(stderr, "Runtime error: %s", "Assert failed");
8605 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10201);
8606 show_backtrace(1);
8607 }
8608 var39 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction218>*/;
8609 var_listnode17 = var39;
8610 var_tkwendnode18 = var_nodearraylist10;
8611 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
8612 cltype41 = type_nullable_parser_nodes__TKwend.color;
8613 idtype42 = type_nullable_parser_nodes__TKwend.id;
8614 if(var_tkwendnode18 == NULL) {
8615 var40 = 1;
8616 } else {
8617 if(cltype41 >= var_tkwendnode18->type->table_size) {
8618 var40 = 0;
8619 } else {
8620 var40 = var_tkwendnode18->type->type_table[cltype41] == idtype42;
8621 }
8622 }
8623 if (!var40) {
8624 fprintf(stderr, "Runtime error: %s", "Assert failed");
8625 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10204);
8626 show_backtrace(1);
8627 }
8628 var43 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8629 var44 = NULL;
8630 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var43->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var43, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var44, var_listnode15, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var43:AStdClassdef>*/;
8631 var_pclassdefnode1 = var43;
8632 var_node_list = var_pclassdefnode1;
8633 var45 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction218> */
8634 var46 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var45) /* go_to on <var_p:Parser>*/;
8635 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var46, var_node_list) /* push on <var_p:Parser>*/;
8636 RET_LABEL:;
8637 }
8638 /* method parser#ReduceAction218#action for (self: Object, Parser) */
8639 void VIRTUAL_parser__ReduceAction218__action(val* self, val* p0) {
8640 parser__ReduceAction218__action(self, p0);
8641 RET_LABEL:;
8642 }
8643 /* method parser#ReduceAction219#action for (self: ReduceAction219, Parser) */
8644 void parser__ReduceAction219__action(val* self, val* p0) {
8645 val* var_p /* var p: Parser */;
8646 val* var /* : null */;
8647 val* var_node_list /* var node_list: nullable Object */;
8648 val* var1 /* : nullable Object */;
8649 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8650 val* var2 /* : nullable Object */;
8651 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8652 val* var3 /* : nullable Object */;
8653 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8654 val* var4 /* : nullable Object */;
8655 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8656 val* var5 /* : nullable Object */;
8657 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8658 val* var6 /* : nullable Object */;
8659 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8660 val* var7 /* : nullable Object */;
8661 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8662 val* var8 /* : nullable Object */;
8663 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8664 val* var9 /* : nullable Object */;
8665 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8666 val* var10 /* : nullable Object */;
8667 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8668 val* var11 /* : Array[Object] */;
8669 val* var_listnode7 /* var listnode7: Array[Object] */;
8670 val* var12 /* : Array[Object] */;
8671 val* var_listnode15 /* var listnode15: Array[Object] */;
8672 val* var13 /* : Array[Object] */;
8673 val* var_listnode17 /* var listnode17: Array[Object] */;
8674 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8675 short int var14 /* : Bool */;
8676 int cltype;
8677 int idtype;
8678 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8679 short int var15 /* : Bool */;
8680 int cltype16;
8681 int idtype17;
8682 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8683 short int var18 /* : Bool */;
8684 int cltype19;
8685 int idtype20;
8686 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8687 short int var21 /* : Bool */;
8688 int cltype22;
8689 int idtype23;
8690 val* var24 /* : Array[Object] */;
8691 val* var_listnode12 /* var listnode12: Array[Object] */;
8692 val* var_listnode11 /* var listnode11: nullable Object */;
8693 short int var25 /* : Bool */;
8694 int cltype26;
8695 int idtype27;
8696 val* var28 /* : Array[Object] */;
8697 val* var29 /* : AAnnotations */;
8698 val* var30 /* : null */;
8699 val* var31 /* : null */;
8700 val* var32 /* : null */;
8701 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
8702 val* var_listnode16 /* var listnode16: nullable Object */;
8703 short int var33 /* : Bool */;
8704 int cltype34;
8705 int idtype35;
8706 val* var36 /* : Array[Object] */;
8707 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
8708 short int var37 /* : Bool */;
8709 int cltype38;
8710 int idtype39;
8711 val* var40 /* : AStdClassdef */;
8712 val* var41 /* : null */;
8713 val* var42 /* : null */;
8714 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8715 long var43 /* : Int */;
8716 long var44 /* : Int */;
8717 var_p = p0;
8718 var = NULL;
8719 var_node_list = var;
8720 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8721 var_nodearraylist10 = var1;
8722 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8723 var_nodearraylist9 = var2;
8724 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8725 var_nodearraylist8 = var3;
8726 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8727 var_nodearraylist7 = var4;
8728 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8729 var_nodearraylist6 = var5;
8730 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8731 var_nodearraylist5 = var6;
8732 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8733 var_nodearraylist4 = var7;
8734 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8735 var_nodearraylist3 = var8;
8736 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8737 var_nodearraylist2 = var9;
8738 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8739 var_nodearraylist1 = var10;
8740 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
8741 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
8742 var_listnode7 = var11;
8743 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
8744 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
8745 var_listnode15 = var12;
8746 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
8747 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
8748 var_listnode17 = var13;
8749 var_pdocnode2 = var_nodearraylist1;
8750 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8751 cltype = type_nullable_parser_nodes__ADoc.color;
8752 idtype = type_nullable_parser_nodes__ADoc.id;
8753 if(var_pdocnode2 == NULL) {
8754 var14 = 1;
8755 } else {
8756 if(cltype >= var_pdocnode2->type->table_size) {
8757 var14 = 0;
8758 } else {
8759 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
8760 }
8761 }
8762 if (!var14) {
8763 fprintf(stderr, "Runtime error: %s", "Assert failed");
8764 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10241);
8765 show_backtrace(1);
8766 }
8767 var_pvisibilitynode4 = var_nodearraylist2;
8768 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8769 cltype16 = type_nullable_parser_nodes__AVisibility.color;
8770 idtype17 = type_nullable_parser_nodes__AVisibility.id;
8771 if(var_pvisibilitynode4 == NULL) {
8772 var15 = 1;
8773 } else {
8774 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
8775 var15 = 0;
8776 } else {
8777 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
8778 }
8779 }
8780 if (!var15) {
8781 fprintf(stderr, "Runtime error: %s", "Assert failed");
8782 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10243);
8783 show_backtrace(1);
8784 }
8785 var_pclasskindnode5 = var_nodearraylist3;
8786 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8787 cltype19 = type_nullable_parser_nodes__AClasskind.color;
8788 idtype20 = type_nullable_parser_nodes__AClasskind.id;
8789 if(var_pclasskindnode5 == NULL) {
8790 var18 = 1;
8791 } else {
8792 if(cltype19 >= var_pclasskindnode5->type->table_size) {
8793 var18 = 0;
8794 } else {
8795 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
8796 }
8797 }
8798 if (!var18) {
8799 fprintf(stderr, "Runtime error: %s", "Assert failed");
8800 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10245);
8801 show_backtrace(1);
8802 }
8803 var_tclassidnode6 = var_nodearraylist6;
8804 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8805 cltype22 = type_nullable_parser_nodes__TClassid.color;
8806 idtype23 = type_nullable_parser_nodes__TClassid.id;
8807 if(var_tclassidnode6 == NULL) {
8808 var21 = 1;
8809 } else {
8810 if(cltype22 >= var_tclassidnode6->type->table_size) {
8811 var21 = 0;
8812 } else {
8813 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
8814 }
8815 }
8816 if (!var21) {
8817 fprintf(stderr, "Runtime error: %s", "Assert failed");
8818 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10247);
8819 show_backtrace(1);
8820 }
8821 var24 = NEW_array__Array(&type_array__Arraykernel__Object);
8822 ((void (*)(val*))(var24->class->vft[COLOR_array__Array__init]))(var24) /* init on <var24:Array[Object]>*/;
8823 var_listnode12 = var24;
8824 var_listnode11 = var_nodearraylist7;
8825 /* <var_listnode11:nullable Object> isa Array[Object] */
8826 cltype26 = type_array__Arraykernel__Object.color;
8827 idtype27 = type_array__Arraykernel__Object.id;
8828 if(var_listnode11 == NULL) {
8829 var25 = 0;
8830 } else {
8831 if(cltype26 >= var_listnode11->type->table_size) {
8832 var25 = 0;
8833 } else {
8834 var25 = var_listnode11->type->type_table[cltype26] == idtype27;
8835 }
8836 }
8837 if (!var25) {
8838 fprintf(stderr, "Runtime error: %s", "Assert failed");
8839 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10250);
8840 show_backtrace(1);
8841 }
8842 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction219>*/;
8843 var_listnode12 = var28;
8844 var29 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
8845 var30 = NULL;
8846 var31 = NULL;
8847 var32 = NULL;
8848 ((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>*/;
8849 var_pannotationsnode8 = var29;
8850 var_listnode16 = var_nodearraylist8;
8851 /* <var_listnode16:nullable Object> isa Array[Object] */
8852 cltype34 = type_array__Arraykernel__Object.color;
8853 idtype35 = type_array__Arraykernel__Object.id;
8854 if(var_listnode16 == NULL) {
8855 var33 = 0;
8856 } else {
8857 if(cltype34 >= var_listnode16->type->table_size) {
8858 var33 = 0;
8859 } else {
8860 var33 = var_listnode16->type->type_table[cltype34] == idtype35;
8861 }
8862 }
8863 if (!var33) {
8864 fprintf(stderr, "Runtime error: %s", "Assert failed");
8865 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10259);
8866 show_backtrace(1);
8867 }
8868 var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction219>*/;
8869 var_listnode17 = var36;
8870 var_tkwendnode18 = var_nodearraylist10;
8871 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
8872 cltype38 = type_nullable_parser_nodes__TKwend.color;
8873 idtype39 = type_nullable_parser_nodes__TKwend.id;
8874 if(var_tkwendnode18 == NULL) {
8875 var37 = 1;
8876 } else {
8877 if(cltype38 >= var_tkwendnode18->type->table_size) {
8878 var37 = 0;
8879 } else {
8880 var37 = var_tkwendnode18->type->type_table[cltype38] == idtype39;
8881 }
8882 }
8883 if (!var37) {
8884 fprintf(stderr, "Runtime error: %s", "Assert failed");
8885 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10262);
8886 show_backtrace(1);
8887 }
8888 var40 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8889 var41 = NULL;
8890 var42 = NULL;
8891 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var40->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var40, var_pdocnode2, var41, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var42, var_listnode15, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var40:AStdClassdef>*/;
8892 var_pclassdefnode1 = var40;
8893 var_node_list = var_pclassdefnode1;
8894 var43 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction219> */
8895 var44 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var43) /* go_to on <var_p:Parser>*/;
8896 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var44, var_node_list) /* push on <var_p:Parser>*/;
8897 RET_LABEL:;
8898 }
8899 /* method parser#ReduceAction219#action for (self: Object, Parser) */
8900 void VIRTUAL_parser__ReduceAction219__action(val* self, val* p0) {
8901 parser__ReduceAction219__action(self, p0);
8902 RET_LABEL:;
8903 }
8904 /* method parser#ReduceAction220#action for (self: ReduceAction220, Parser) */
8905 void parser__ReduceAction220__action(val* self, val* p0) {
8906 val* var_p /* var p: Parser */;
8907 val* var /* : null */;
8908 val* var_node_list /* var node_list: nullable Object */;
8909 val* var1 /* : nullable Object */;
8910 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
8911 val* var2 /* : nullable Object */;
8912 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8913 val* var3 /* : nullable Object */;
8914 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8915 val* var4 /* : nullable Object */;
8916 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8917 val* var5 /* : nullable Object */;
8918 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8919 val* var6 /* : nullable Object */;
8920 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8921 val* var7 /* : nullable Object */;
8922 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8923 val* var8 /* : nullable Object */;
8924 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8925 val* var9 /* : nullable Object */;
8926 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8927 val* var10 /* : nullable Object */;
8928 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8929 val* var11 /* : nullable Object */;
8930 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8931 val* var12 /* : Array[Object] */;
8932 val* var_listnode7 /* var listnode7: Array[Object] */;
8933 val* var13 /* : Array[Object] */;
8934 val* var_listnode15 /* var listnode15: Array[Object] */;
8935 val* var14 /* : Array[Object] */;
8936 val* var_listnode17 /* var listnode17: Array[Object] */;
8937 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8938 short int var15 /* : Bool */;
8939 int cltype;
8940 int idtype;
8941 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8942 short int var16 /* : Bool */;
8943 int cltype17;
8944 int idtype18;
8945 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8946 short int var19 /* : Bool */;
8947 int cltype20;
8948 int idtype21;
8949 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8950 short int var22 /* : Bool */;
8951 int cltype23;
8952 int idtype24;
8953 val* var25 /* : Array[Object] */;
8954 val* var_listnode12 /* var listnode12: Array[Object] */;
8955 val* var_listnode11 /* var listnode11: nullable Object */;
8956 short int var26 /* : Bool */;
8957 int cltype27;
8958 int idtype28;
8959 val* var29 /* : Array[Object] */;
8960 val* var30 /* : AAnnotations */;
8961 val* var31 /* : null */;
8962 val* var32 /* : null */;
8963 val* var33 /* : null */;
8964 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
8965 val* var_listnode16 /* var listnode16: nullable Object */;
8966 short int var34 /* : Bool */;
8967 int cltype35;
8968 int idtype36;
8969 val* var37 /* : Array[Object] */;
8970 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
8971 short int var38 /* : Bool */;
8972 int cltype39;
8973 int idtype40;
8974 val* var41 /* : AStdClassdef */;
8975 val* var42 /* : null */;
8976 val* var43 /* : null */;
8977 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8978 long var44 /* : Int */;
8979 long var45 /* : Int */;
8980 var_p = p0;
8981 var = NULL;
8982 var_node_list = var;
8983 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8984 var_nodearraylist11 = var1;
8985 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8986 var_nodearraylist10 = var2;
8987 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8988 var_nodearraylist9 = var3;
8989 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8990 var_nodearraylist8 = var4;
8991 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8992 var_nodearraylist7 = var5;
8993 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8994 var_nodearraylist6 = var6;
8995 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8996 var_nodearraylist5 = var7;
8997 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8998 var_nodearraylist4 = var8;
8999 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9000 var_nodearraylist3 = var9;
9001 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9002 var_nodearraylist2 = var10;
9003 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9004 var_nodearraylist1 = var11;
9005 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
9006 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
9007 var_listnode7 = var12;
9008 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
9009 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
9010 var_listnode15 = var13;
9011 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
9012 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
9013 var_listnode17 = var14;
9014 var_pdocnode2 = var_nodearraylist1;
9015 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9016 cltype = type_nullable_parser_nodes__ADoc.color;
9017 idtype = type_nullable_parser_nodes__ADoc.id;
9018 if(var_pdocnode2 == NULL) {
9019 var15 = 1;
9020 } else {
9021 if(cltype >= var_pdocnode2->type->table_size) {
9022 var15 = 0;
9023 } else {
9024 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
9025 }
9026 }
9027 if (!var15) {
9028 fprintf(stderr, "Runtime error: %s", "Assert failed");
9029 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10300);
9030 show_backtrace(1);
9031 }
9032 var_pvisibilitynode4 = var_nodearraylist2;
9033 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9034 cltype17 = type_nullable_parser_nodes__AVisibility.color;
9035 idtype18 = type_nullable_parser_nodes__AVisibility.id;
9036 if(var_pvisibilitynode4 == NULL) {
9037 var16 = 1;
9038 } else {
9039 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
9040 var16 = 0;
9041 } else {
9042 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
9043 }
9044 }
9045 if (!var16) {
9046 fprintf(stderr, "Runtime error: %s", "Assert failed");
9047 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10302);
9048 show_backtrace(1);
9049 }
9050 var_pclasskindnode5 = var_nodearraylist3;
9051 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
9052 cltype20 = type_nullable_parser_nodes__AClasskind.color;
9053 idtype21 = type_nullable_parser_nodes__AClasskind.id;
9054 if(var_pclasskindnode5 == NULL) {
9055 var19 = 1;
9056 } else {
9057 if(cltype20 >= var_pclasskindnode5->type->table_size) {
9058 var19 = 0;
9059 } else {
9060 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
9061 }
9062 }
9063 if (!var19) {
9064 fprintf(stderr, "Runtime error: %s", "Assert failed");
9065 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10304);
9066 show_backtrace(1);
9067 }
9068 var_tclassidnode6 = var_nodearraylist7;
9069 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9070 cltype23 = type_nullable_parser_nodes__TClassid.color;
9071 idtype24 = type_nullable_parser_nodes__TClassid.id;
9072 if(var_tclassidnode6 == NULL) {
9073 var22 = 1;
9074 } else {
9075 if(cltype23 >= var_tclassidnode6->type->table_size) {
9076 var22 = 0;
9077 } else {
9078 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
9079 }
9080 }
9081 if (!var22) {
9082 fprintf(stderr, "Runtime error: %s", "Assert failed");
9083 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10306);
9084 show_backtrace(1);
9085 }
9086 var25 = NEW_array__Array(&type_array__Arraykernel__Object);
9087 ((void (*)(val*))(var25->class->vft[COLOR_array__Array__init]))(var25) /* init on <var25:Array[Object]>*/;
9088 var_listnode12 = var25;
9089 var_listnode11 = var_nodearraylist8;
9090 /* <var_listnode11:nullable Object> isa Array[Object] */
9091 cltype27 = type_array__Arraykernel__Object.color;
9092 idtype28 = type_array__Arraykernel__Object.id;
9093 if(var_listnode11 == NULL) {
9094 var26 = 0;
9095 } else {
9096 if(cltype27 >= var_listnode11->type->table_size) {
9097 var26 = 0;
9098 } else {
9099 var26 = var_listnode11->type->type_table[cltype27] == idtype28;
9100 }
9101 }
9102 if (!var26) {
9103 fprintf(stderr, "Runtime error: %s", "Assert failed");
9104 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10309);
9105 show_backtrace(1);
9106 }
9107 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction220>*/;
9108 var_listnode12 = var29;
9109 var30 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
9110 var31 = NULL;
9111 var32 = NULL;
9112 var33 = NULL;
9113 ((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>*/;
9114 var_pannotationsnode8 = var30;
9115 var_listnode16 = var_nodearraylist9;
9116 /* <var_listnode16:nullable Object> isa Array[Object] */
9117 cltype35 = type_array__Arraykernel__Object.color;
9118 idtype36 = type_array__Arraykernel__Object.id;
9119 if(var_listnode16 == NULL) {
9120 var34 = 0;
9121 } else {
9122 if(cltype35 >= var_listnode16->type->table_size) {
9123 var34 = 0;
9124 } else {
9125 var34 = var_listnode16->type->type_table[cltype35] == idtype36;
9126 }
9127 }
9128 if (!var34) {
9129 fprintf(stderr, "Runtime error: %s", "Assert failed");
9130 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10318);
9131 show_backtrace(1);
9132 }
9133 var37 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction220>*/;
9134 var_listnode17 = var37;
9135 var_tkwendnode18 = var_nodearraylist11;
9136 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
9137 cltype39 = type_nullable_parser_nodes__TKwend.color;
9138 idtype40 = type_nullable_parser_nodes__TKwend.id;
9139 if(var_tkwendnode18 == NULL) {
9140 var38 = 1;
9141 } else {
9142 if(cltype39 >= var_tkwendnode18->type->table_size) {
9143 var38 = 0;
9144 } else {
9145 var38 = var_tkwendnode18->type->type_table[cltype39] == idtype40;
9146 }
9147 }
9148 if (!var38) {
9149 fprintf(stderr, "Runtime error: %s", "Assert failed");
9150 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10321);
9151 show_backtrace(1);
9152 }
9153 var41 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9154 var42 = NULL;
9155 var43 = NULL;
9156 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var41->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var41, var_pdocnode2, var42, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var43, var_listnode15, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var41:AStdClassdef>*/;
9157 var_pclassdefnode1 = var41;
9158 var_node_list = var_pclassdefnode1;
9159 var44 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction220> */
9160 var45 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var44) /* go_to on <var_p:Parser>*/;
9161 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var45, var_node_list) /* push on <var_p:Parser>*/;
9162 RET_LABEL:;
9163 }
9164 /* method parser#ReduceAction220#action for (self: Object, Parser) */
9165 void VIRTUAL_parser__ReduceAction220__action(val* self, val* p0) {
9166 parser__ReduceAction220__action(self, p0);
9167 RET_LABEL:;
9168 }
9169 /* method parser#ReduceAction222#action for (self: ReduceAction222, Parser) */
9170 void parser__ReduceAction222__action(val* self, val* p0) {
9171 val* var_p /* var p: Parser */;
9172 val* var /* : null */;
9173 val* var_node_list /* var node_list: nullable Object */;
9174 val* var1 /* : nullable Object */;
9175 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
9176 val* var2 /* : nullable Object */;
9177 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
9178 val* var3 /* : nullable Object */;
9179 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9180 val* var4 /* : nullable Object */;
9181 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9182 val* var5 /* : nullable Object */;
9183 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9184 val* var6 /* : nullable Object */;
9185 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9186 val* var7 /* : nullable Object */;
9187 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9188 val* var8 /* : nullable Object */;
9189 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9190 val* var9 /* : nullable Object */;
9191 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9192 val* var10 /* : nullable Object */;
9193 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9194 val* var11 /* : nullable Object */;
9195 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9196 val* var12 /* : Array[Object] */;
9197 val* var_listnode7 /* var listnode7: Array[Object] */;
9198 val* var13 /* : Array[Object] */;
9199 val* var_listnode15 /* var listnode15: Array[Object] */;
9200 val* var14 /* : Array[Object] */;
9201 val* var_listnode17 /* var listnode17: Array[Object] */;
9202 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9203 short int var15 /* : Bool */;
9204 int cltype;
9205 int idtype;
9206 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
9207 short int var16 /* : Bool */;
9208 int cltype17;
9209 int idtype18;
9210 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9211 short int var19 /* : Bool */;
9212 int cltype20;
9213 int idtype21;
9214 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
9215 short int var22 /* : Bool */;
9216 int cltype23;
9217 int idtype24;
9218 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9219 short int var25 /* : Bool */;
9220 int cltype26;
9221 int idtype27;
9222 val* var28 /* : Array[Object] */;
9223 val* var_listnode12 /* var listnode12: Array[Object] */;
9224 val* var_listnode11 /* var listnode11: nullable Object */;
9225 short int var29 /* : Bool */;
9226 int cltype30;
9227 int idtype31;
9228 val* var32 /* : Array[Object] */;
9229 val* var33 /* : AAnnotations */;
9230 val* var34 /* : null */;
9231 val* var35 /* : null */;
9232 val* var36 /* : null */;
9233 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
9234 val* var_listnode16 /* var listnode16: nullable Object */;
9235 short int var37 /* : Bool */;
9236 int cltype38;
9237 int idtype39;
9238 val* var40 /* : Array[Object] */;
9239 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
9240 short int var41 /* : Bool */;
9241 int cltype42;
9242 int idtype43;
9243 val* var44 /* : AStdClassdef */;
9244 val* var45 /* : null */;
9245 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
9246 long var46 /* : Int */;
9247 long var47 /* : Int */;
9248 var_p = p0;
9249 var = NULL;
9250 var_node_list = var;
9251 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9252 var_nodearraylist11 = var1;
9253 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9254 var_nodearraylist10 = var2;
9255 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9256 var_nodearraylist9 = var3;
9257 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9258 var_nodearraylist8 = var4;
9259 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9260 var_nodearraylist7 = var5;
9261 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9262 var_nodearraylist6 = var6;
9263 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9264 var_nodearraylist5 = var7;
9265 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9266 var_nodearraylist4 = var8;
9267 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9268 var_nodearraylist3 = var9;
9269 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9270 var_nodearraylist2 = var10;
9271 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9272 var_nodearraylist1 = var11;
9273 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
9274 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
9275 var_listnode7 = var12;
9276 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
9277 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
9278 var_listnode15 = var13;
9279 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
9280 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
9281 var_listnode17 = var14;
9282 var_pdocnode2 = var_nodearraylist1;
9283 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9284 cltype = type_nullable_parser_nodes__ADoc.color;
9285 idtype = type_nullable_parser_nodes__ADoc.id;
9286 if(var_pdocnode2 == NULL) {
9287 var15 = 1;
9288 } else {
9289 if(cltype >= var_pdocnode2->type->table_size) {
9290 var15 = 0;
9291 } else {
9292 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
9293 }
9294 }
9295 if (!var15) {
9296 fprintf(stderr, "Runtime error: %s", "Assert failed");
9297 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10359);
9298 show_backtrace(1);
9299 }
9300 var_tkwredefnode3 = var_nodearraylist2;
9301 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
9302 cltype17 = type_nullable_parser_nodes__TKwredef.color;
9303 idtype18 = type_nullable_parser_nodes__TKwredef.id;
9304 if(var_tkwredefnode3 == NULL) {
9305 var16 = 1;
9306 } else {
9307 if(cltype17 >= var_tkwredefnode3->type->table_size) {
9308 var16 = 0;
9309 } else {
9310 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
9311 }
9312 }
9313 if (!var16) {
9314 fprintf(stderr, "Runtime error: %s", "Assert failed");
9315 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10361);
9316 show_backtrace(1);
9317 }
9318 var_pvisibilitynode4 = var_nodearraylist3;
9319 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9320 cltype20 = type_nullable_parser_nodes__AVisibility.color;
9321 idtype21 = type_nullable_parser_nodes__AVisibility.id;
9322 if(var_pvisibilitynode4 == NULL) {
9323 var19 = 1;
9324 } else {
9325 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
9326 var19 = 0;
9327 } else {
9328 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
9329 }
9330 }
9331 if (!var19) {
9332 fprintf(stderr, "Runtime error: %s", "Assert failed");
9333 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10363);
9334 show_backtrace(1);
9335 }
9336 var_pclasskindnode5 = var_nodearraylist4;
9337 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
9338 cltype23 = type_nullable_parser_nodes__AClasskind.color;
9339 idtype24 = type_nullable_parser_nodes__AClasskind.id;
9340 if(var_pclasskindnode5 == NULL) {
9341 var22 = 1;
9342 } else {
9343 if(cltype23 >= var_pclasskindnode5->type->table_size) {
9344 var22 = 0;
9345 } else {
9346 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
9347 }
9348 }
9349 if (!var22) {
9350 fprintf(stderr, "Runtime error: %s", "Assert failed");
9351 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10365);
9352 show_backtrace(1);
9353 }
9354 var_tclassidnode6 = var_nodearraylist7;
9355 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9356 cltype26 = type_nullable_parser_nodes__TClassid.color;
9357 idtype27 = type_nullable_parser_nodes__TClassid.id;
9358 if(var_tclassidnode6 == NULL) {
9359 var25 = 1;
9360 } else {
9361 if(cltype26 >= var_tclassidnode6->type->table_size) {
9362 var25 = 0;
9363 } else {
9364 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
9365 }
9366 }
9367 if (!var25) {
9368 fprintf(stderr, "Runtime error: %s", "Assert failed");
9369 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10367);
9370 show_backtrace(1);
9371 }
9372 var28 = NEW_array__Array(&type_array__Arraykernel__Object);
9373 ((void (*)(val*))(var28->class->vft[COLOR_array__Array__init]))(var28) /* init on <var28:Array[Object]>*/;
9374 var_listnode12 = var28;
9375 var_listnode11 = var_nodearraylist8;
9376 /* <var_listnode11:nullable Object> isa Array[Object] */
9377 cltype30 = type_array__Arraykernel__Object.color;
9378 idtype31 = type_array__Arraykernel__Object.id;
9379 if(var_listnode11 == NULL) {
9380 var29 = 0;
9381 } else {
9382 if(cltype30 >= var_listnode11->type->table_size) {
9383 var29 = 0;
9384 } else {
9385 var29 = var_listnode11->type->type_table[cltype30] == idtype31;
9386 }
9387 }
9388 if (!var29) {
9389 fprintf(stderr, "Runtime error: %s", "Assert failed");
9390 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10370);
9391 show_backtrace(1);
9392 }
9393 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction222>*/;
9394 var_listnode12 = var32;
9395 var33 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
9396 var34 = NULL;
9397 var35 = NULL;
9398 var36 = NULL;
9399 ((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>*/;
9400 var_pannotationsnode8 = var33;
9401 var_listnode16 = var_nodearraylist9;
9402 /* <var_listnode16:nullable Object> isa Array[Object] */
9403 cltype38 = type_array__Arraykernel__Object.color;
9404 idtype39 = type_array__Arraykernel__Object.id;
9405 if(var_listnode16 == NULL) {
9406 var37 = 0;
9407 } else {
9408 if(cltype38 >= var_listnode16->type->table_size) {
9409 var37 = 0;
9410 } else {
9411 var37 = var_listnode16->type->type_table[cltype38] == idtype39;
9412 }
9413 }
9414 if (!var37) {
9415 fprintf(stderr, "Runtime error: %s", "Assert failed");
9416 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10379);
9417 show_backtrace(1);
9418 }
9419 var40 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction222>*/;
9420 var_listnode17 = var40;
9421 var_tkwendnode18 = var_nodearraylist11;
9422 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
9423 cltype42 = type_nullable_parser_nodes__TKwend.color;
9424 idtype43 = type_nullable_parser_nodes__TKwend.id;
9425 if(var_tkwendnode18 == NULL) {
9426 var41 = 1;
9427 } else {
9428 if(cltype42 >= var_tkwendnode18->type->table_size) {
9429 var41 = 0;
9430 } else {
9431 var41 = var_tkwendnode18->type->type_table[cltype42] == idtype43;
9432 }
9433 }
9434 if (!var41) {
9435 fprintf(stderr, "Runtime error: %s", "Assert failed");
9436 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10382);
9437 show_backtrace(1);
9438 }
9439 var44 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9440 var45 = NULL;
9441 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var44->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var44, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var45, var_listnode15, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var44:AStdClassdef>*/;
9442 var_pclassdefnode1 = var44;
9443 var_node_list = var_pclassdefnode1;
9444 var46 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction222> */
9445 var47 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var46) /* go_to on <var_p:Parser>*/;
9446 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var47, var_node_list) /* push on <var_p:Parser>*/;
9447 RET_LABEL:;
9448 }
9449 /* method parser#ReduceAction222#action for (self: Object, Parser) */
9450 void VIRTUAL_parser__ReduceAction222__action(val* self, val* p0) {
9451 parser__ReduceAction222__action(self, p0);
9452 RET_LABEL:;
9453 }
9454 /* method parser#ReduceAction223#action for (self: ReduceAction223, Parser) */
9455 void parser__ReduceAction223__action(val* self, val* p0) {
9456 val* var_p /* var p: Parser */;
9457 val* var /* : null */;
9458 val* var_node_list /* var node_list: nullable Object */;
9459 val* var1 /* : nullable Object */;
9460 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
9461 val* var2 /* : nullable Object */;
9462 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
9463 val* var3 /* : nullable Object */;
9464 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
9465 val* var4 /* : nullable Object */;
9466 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9467 val* var5 /* : nullable Object */;
9468 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9469 val* var6 /* : nullable Object */;
9470 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9471 val* var7 /* : nullable Object */;
9472 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9473 val* var8 /* : nullable Object */;
9474 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9475 val* var9 /* : nullable Object */;
9476 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9477 val* var10 /* : nullable Object */;
9478 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9479 val* var11 /* : nullable Object */;
9480 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9481 val* var12 /* : nullable Object */;
9482 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9483 val* var13 /* : Array[Object] */;
9484 val* var_listnode7 /* var listnode7: Array[Object] */;
9485 val* var14 /* : Array[Object] */;
9486 val* var_listnode15 /* var listnode15: Array[Object] */;
9487 val* var15 /* : Array[Object] */;
9488 val* var_listnode17 /* var listnode17: Array[Object] */;
9489 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9490 short int var16 /* : Bool */;
9491 int cltype;
9492 int idtype;
9493 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
9494 short int var17 /* : Bool */;
9495 int cltype18;
9496 int idtype19;
9497 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9498 short int var20 /* : Bool */;
9499 int cltype21;
9500 int idtype22;
9501 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
9502 short int var23 /* : Bool */;
9503 int cltype24;
9504 int idtype25;
9505 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9506 short int var26 /* : Bool */;
9507 int cltype27;
9508 int idtype28;
9509 val* var29 /* : Array[Object] */;
9510 val* var_listnode12 /* var listnode12: Array[Object] */;
9511 val* var_listnode11 /* var listnode11: nullable Object */;
9512 short int var30 /* : Bool */;
9513 int cltype31;
9514 int idtype32;
9515 val* var33 /* : Array[Object] */;
9516 val* var34 /* : AAnnotations */;
9517 val* var35 /* : null */;
9518 val* var36 /* : null */;
9519 val* var37 /* : null */;
9520 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
9521 val* var_listnode16 /* var listnode16: nullable Object */;
9522 short int var38 /* : Bool */;
9523 int cltype39;
9524 int idtype40;
9525 val* var41 /* : Array[Object] */;
9526 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
9527 short int var42 /* : Bool */;
9528 int cltype43;
9529 int idtype44;
9530 val* var45 /* : AStdClassdef */;
9531 val* var46 /* : null */;
9532 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
9533 long var47 /* : Int */;
9534 long var48 /* : Int */;
9535 var_p = p0;
9536 var = NULL;
9537 var_node_list = var;
9538 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9539 var_nodearraylist12 = var1;
9540 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9541 var_nodearraylist11 = var2;
9542 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9543 var_nodearraylist10 = var3;
9544 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9545 var_nodearraylist9 = var4;
9546 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9547 var_nodearraylist8 = var5;
9548 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9549 var_nodearraylist7 = var6;
9550 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9551 var_nodearraylist6 = var7;
9552 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9553 var_nodearraylist5 = var8;
9554 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9555 var_nodearraylist4 = var9;
9556 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9557 var_nodearraylist3 = var10;
9558 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9559 var_nodearraylist2 = var11;
9560 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9561 var_nodearraylist1 = var12;
9562 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
9563 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
9564 var_listnode7 = var13;
9565 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
9566 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
9567 var_listnode15 = var14;
9568 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
9569 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
9570 var_listnode17 = var15;
9571 var_pdocnode2 = var_nodearraylist1;
9572 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9573 cltype = type_nullable_parser_nodes__ADoc.color;
9574 idtype = type_nullable_parser_nodes__ADoc.id;
9575 if(var_pdocnode2 == NULL) {
9576 var16 = 1;
9577 } else {
9578 if(cltype >= var_pdocnode2->type->table_size) {
9579 var16 = 0;
9580 } else {
9581 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
9582 }
9583 }
9584 if (!var16) {
9585 fprintf(stderr, "Runtime error: %s", "Assert failed");
9586 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10421);
9587 show_backtrace(1);
9588 }
9589 var_tkwredefnode3 = var_nodearraylist2;
9590 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
9591 cltype18 = type_nullable_parser_nodes__TKwredef.color;
9592 idtype19 = type_nullable_parser_nodes__TKwredef.id;
9593 if(var_tkwredefnode3 == NULL) {
9594 var17 = 1;
9595 } else {
9596 if(cltype18 >= var_tkwredefnode3->type->table_size) {
9597 var17 = 0;
9598 } else {
9599 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
9600 }
9601 }
9602 if (!var17) {
9603 fprintf(stderr, "Runtime error: %s", "Assert failed");
9604 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10423);
9605 show_backtrace(1);
9606 }
9607 var_pvisibilitynode4 = var_nodearraylist3;
9608 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9609 cltype21 = type_nullable_parser_nodes__AVisibility.color;
9610 idtype22 = type_nullable_parser_nodes__AVisibility.id;
9611 if(var_pvisibilitynode4 == NULL) {
9612 var20 = 1;
9613 } else {
9614 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
9615 var20 = 0;
9616 } else {
9617 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
9618 }
9619 }
9620 if (!var20) {
9621 fprintf(stderr, "Runtime error: %s", "Assert failed");
9622 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10425);
9623 show_backtrace(1);
9624 }
9625 var_pclasskindnode5 = var_nodearraylist4;
9626 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
9627 cltype24 = type_nullable_parser_nodes__AClasskind.color;
9628 idtype25 = type_nullable_parser_nodes__AClasskind.id;
9629 if(var_pclasskindnode5 == NULL) {
9630 var23 = 1;
9631 } else {
9632 if(cltype24 >= var_pclasskindnode5->type->table_size) {
9633 var23 = 0;
9634 } else {
9635 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
9636 }
9637 }
9638 if (!var23) {
9639 fprintf(stderr, "Runtime error: %s", "Assert failed");
9640 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10427);
9641 show_backtrace(1);
9642 }
9643 var_tclassidnode6 = var_nodearraylist8;
9644 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9645 cltype27 = type_nullable_parser_nodes__TClassid.color;
9646 idtype28 = type_nullable_parser_nodes__TClassid.id;
9647 if(var_tclassidnode6 == NULL) {
9648 var26 = 1;
9649 } else {
9650 if(cltype27 >= var_tclassidnode6->type->table_size) {
9651 var26 = 0;
9652 } else {
9653 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
9654 }
9655 }
9656 if (!var26) {
9657 fprintf(stderr, "Runtime error: %s", "Assert failed");
9658 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10429);
9659 show_backtrace(1);
9660 }
9661 var29 = NEW_array__Array(&type_array__Arraykernel__Object);
9662 ((void (*)(val*))(var29->class->vft[COLOR_array__Array__init]))(var29) /* init on <var29:Array[Object]>*/;
9663 var_listnode12 = var29;
9664 var_listnode11 = var_nodearraylist9;
9665 /* <var_listnode11:nullable Object> isa Array[Object] */
9666 cltype31 = type_array__Arraykernel__Object.color;
9667 idtype32 = type_array__Arraykernel__Object.id;
9668 if(var_listnode11 == NULL) {
9669 var30 = 0;
9670 } else {
9671 if(cltype31 >= var_listnode11->type->table_size) {
9672 var30 = 0;
9673 } else {
9674 var30 = var_listnode11->type->type_table[cltype31] == idtype32;
9675 }
9676 }
9677 if (!var30) {
9678 fprintf(stderr, "Runtime error: %s", "Assert failed");
9679 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10432);
9680 show_backtrace(1);
9681 }
9682 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction223>*/;
9683 var_listnode12 = var33;
9684 var34 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
9685 var35 = NULL;
9686 var36 = NULL;
9687 var37 = NULL;
9688 ((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>*/;
9689 var_pannotationsnode8 = var34;
9690 var_listnode16 = var_nodearraylist10;
9691 /* <var_listnode16:nullable Object> isa Array[Object] */
9692 cltype39 = type_array__Arraykernel__Object.color;
9693 idtype40 = type_array__Arraykernel__Object.id;
9694 if(var_listnode16 == NULL) {
9695 var38 = 0;
9696 } else {
9697 if(cltype39 >= var_listnode16->type->table_size) {
9698 var38 = 0;
9699 } else {
9700 var38 = var_listnode16->type->type_table[cltype39] == idtype40;
9701 }
9702 }
9703 if (!var38) {
9704 fprintf(stderr, "Runtime error: %s", "Assert failed");
9705 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10441);
9706 show_backtrace(1);
9707 }
9708 var41 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction223>*/;
9709 var_listnode17 = var41;
9710 var_tkwendnode18 = var_nodearraylist12;
9711 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
9712 cltype43 = type_nullable_parser_nodes__TKwend.color;
9713 idtype44 = type_nullable_parser_nodes__TKwend.id;
9714 if(var_tkwendnode18 == NULL) {
9715 var42 = 1;
9716 } else {
9717 if(cltype43 >= var_tkwendnode18->type->table_size) {
9718 var42 = 0;
9719 } else {
9720 var42 = var_tkwendnode18->type->type_table[cltype43] == idtype44;
9721 }
9722 }
9723 if (!var42) {
9724 fprintf(stderr, "Runtime error: %s", "Assert failed");
9725 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10444);
9726 show_backtrace(1);
9727 }
9728 var45 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9729 var46 = NULL;
9730 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var45->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var45, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var46, var_listnode15, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var45:AStdClassdef>*/;
9731 var_pclassdefnode1 = var45;
9732 var_node_list = var_pclassdefnode1;
9733 var47 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction223> */
9734 var48 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var47) /* go_to on <var_p:Parser>*/;
9735 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var48, var_node_list) /* push on <var_p:Parser>*/;
9736 RET_LABEL:;
9737 }
9738 /* method parser#ReduceAction223#action for (self: Object, Parser) */
9739 void VIRTUAL_parser__ReduceAction223__action(val* self, val* p0) {
9740 parser__ReduceAction223__action(self, p0);
9741 RET_LABEL:;
9742 }