pep8analysis: intro a variant main program for a web interface
[nit.git] / c_src / parser.sep.7.c
1 #include "parser.sep.0.h"
2 /* method parser#ReduceAction225#action for (self: ReduceAction225, Parser) */
3 void parser__ReduceAction225__action(val* self, val* p0) {
4 val* var_p /* var p: Parser */;
5 val* var /* : null */;
6 val* var_node_list /* var node_list: nullable Object */;
7 val* var1 /* : nullable Object */;
8 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
9 val* var2 /* : nullable Object */;
10 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
11 val* var3 /* : nullable Object */;
12 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
13 val* var4 /* : nullable Object */;
14 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
15 val* var5 /* : nullable Object */;
16 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
17 val* var6 /* : nullable Object */;
18 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
19 val* var7 /* : nullable Object */;
20 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
21 val* var8 /* : nullable Object */;
22 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
23 val* var9 /* : nullable Object */;
24 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
25 val* var10 /* : nullable Object */;
26 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
27 val* var11 /* : Array[Object] */;
28 val* var_listnode8 /* var listnode8: Array[Object] */;
29 val* var12 /* : Array[Object] */;
30 val* var_listnode16 /* var listnode16: Array[Object] */;
31 val* var13 /* : Array[Object] */;
32 val* var_listnode18 /* var listnode18: Array[Object] */;
33 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
34 short int var14 /* : Bool */;
35 int cltype;
36 int idtype;
37 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
38 short int var15 /* : Bool */;
39 int cltype16;
40 int idtype17;
41 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
42 short int var18 /* : Bool */;
43 int cltype19;
44 int idtype20;
45 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
46 short int var21 /* : Bool */;
47 int cltype22;
48 int idtype23;
49 val* var_listnode7 /* var listnode7: nullable Object */;
50 short int var24 /* : Bool */;
51 int cltype25;
52 int idtype26;
53 val* var27 /* : Array[Object] */;
54 val* var28 /* : Array[Object] */;
55 val* var_listnode13 /* var listnode13: Array[Object] */;
56 val* var_listnode12 /* var listnode12: nullable Object */;
57 short int var29 /* : Bool */;
58 int cltype30;
59 int idtype31;
60 val* var32 /* : Array[Object] */;
61 val* var33 /* : AAnnotations */;
62 val* var34 /* : null */;
63 val* var35 /* : null */;
64 val* var36 /* : null */;
65 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
66 val* var_listnode17 /* var listnode17: nullable Object */;
67 short int var37 /* : Bool */;
68 int cltype38;
69 int idtype39;
70 val* var40 /* : Array[Object] */;
71 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
72 short int var41 /* : Bool */;
73 int cltype42;
74 int idtype43;
75 val* var44 /* : AStdClassdef */;
76 val* var45 /* : null */;
77 val* var46 /* : null */;
78 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
79 long var47 /* : Int */;
80 long var48 /* : Int */;
81 var_p = p0;
82 var = NULL;
83 var_node_list = var;
84 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
85 var_nodearraylist10 = var1;
86 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
87 var_nodearraylist9 = var2;
88 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
89 var_nodearraylist8 = var3;
90 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
91 var_nodearraylist7 = var4;
92 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
93 var_nodearraylist6 = var5;
94 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
95 var_nodearraylist5 = var6;
96 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
97 var_nodearraylist4 = var7;
98 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
99 var_nodearraylist3 = var8;
100 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
101 var_nodearraylist2 = var9;
102 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
103 var_nodearraylist1 = var10;
104 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
105 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
106 var_listnode8 = var11;
107 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
108 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
109 var_listnode16 = var12;
110 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
111 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
112 var_listnode18 = var13;
113 var_pdocnode2 = var_nodearraylist1;
114 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
115 cltype = type_nullable_parser_nodes__ADoc.color;
116 idtype = type_nullable_parser_nodes__ADoc.id;
117 if(var_pdocnode2 == NULL) {
118 var14 = 1;
119 } else {
120 if(cltype >= var_pdocnode2->type->table_size) {
121 var14 = 0;
122 } else {
123 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
124 }
125 }
126 if (!var14) {
127 fprintf(stderr, "Runtime error: %s", "Assert failed");
128 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10481);
129 show_backtrace(1);
130 }
131 var_pvisibilitynode4 = var_nodearraylist2;
132 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
133 cltype16 = type_nullable_parser_nodes__AVisibility.color;
134 idtype17 = type_nullable_parser_nodes__AVisibility.id;
135 if(var_pvisibilitynode4 == NULL) {
136 var15 = 1;
137 } else {
138 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
139 var15 = 0;
140 } else {
141 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
142 }
143 }
144 if (!var15) {
145 fprintf(stderr, "Runtime error: %s", "Assert failed");
146 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10483);
147 show_backtrace(1);
148 }
149 var_pclasskindnode5 = var_nodearraylist3;
150 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
151 cltype19 = type_nullable_parser_nodes__AClasskind.color;
152 idtype20 = type_nullable_parser_nodes__AClasskind.id;
153 if(var_pclasskindnode5 == NULL) {
154 var18 = 1;
155 } else {
156 if(cltype19 >= var_pclasskindnode5->type->table_size) {
157 var18 = 0;
158 } else {
159 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
160 }
161 }
162 if (!var18) {
163 fprintf(stderr, "Runtime error: %s", "Assert failed");
164 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10485);
165 show_backtrace(1);
166 }
167 var_tclassidnode6 = var_nodearraylist5;
168 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
169 cltype22 = type_nullable_parser_nodes__TClassid.color;
170 idtype23 = type_nullable_parser_nodes__TClassid.id;
171 if(var_tclassidnode6 == NULL) {
172 var21 = 1;
173 } else {
174 if(cltype22 >= var_tclassidnode6->type->table_size) {
175 var21 = 0;
176 } else {
177 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
178 }
179 }
180 if (!var21) {
181 fprintf(stderr, "Runtime error: %s", "Assert failed");
182 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10487);
183 show_backtrace(1);
184 }
185 var_listnode7 = var_nodearraylist6;
186 /* <var_listnode7:nullable Object> isa Array[Object] */
187 cltype25 = type_array__Arraykernel__Object.color;
188 idtype26 = type_array__Arraykernel__Object.id;
189 if(var_listnode7 == NULL) {
190 var24 = 0;
191 } else {
192 if(cltype25 >= var_listnode7->type->table_size) {
193 var24 = 0;
194 } else {
195 var24 = var_listnode7->type->type_table[cltype25] == idtype26;
196 }
197 }
198 if (!var24) {
199 fprintf(stderr, "Runtime error: %s", "Assert failed");
200 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10489);
201 show_backtrace(1);
202 }
203 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction225>*/;
204 var_listnode8 = var27;
205 var28 = NEW_array__Array(&type_array__Arraykernel__Object);
206 ((void (*)(val*))(var28->class->vft[COLOR_array__Array__init]))(var28) /* init on <var28:Array[Object]>*/;
207 var_listnode13 = var28;
208 var_listnode12 = var_nodearraylist7;
209 /* <var_listnode12:nullable Object> isa Array[Object] */
210 cltype30 = type_array__Arraykernel__Object.color;
211 idtype31 = type_array__Arraykernel__Object.id;
212 if(var_listnode12 == NULL) {
213 var29 = 0;
214 } else {
215 if(cltype30 >= var_listnode12->type->table_size) {
216 var29 = 0;
217 } else {
218 var29 = var_listnode12->type->type_table[cltype30] == idtype31;
219 }
220 }
221 if (!var29) {
222 fprintf(stderr, "Runtime error: %s", "Assert failed");
223 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10493);
224 show_backtrace(1);
225 }
226 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction225>*/;
227 var_listnode13 = var32;
228 var33 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
229 var34 = NULL;
230 var35 = NULL;
231 var36 = NULL;
232 ((void (*)(val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var33, var34, var35, var_listnode13, var36) /* init_aannotations on <var33:AAnnotations>*/;
233 var_pannotationsnode9 = var33;
234 var_listnode17 = var_nodearraylist8;
235 /* <var_listnode17:nullable Object> isa Array[Object] */
236 cltype38 = type_array__Arraykernel__Object.color;
237 idtype39 = type_array__Arraykernel__Object.id;
238 if(var_listnode17 == NULL) {
239 var37 = 0;
240 } else {
241 if(cltype38 >= var_listnode17->type->table_size) {
242 var37 = 0;
243 } else {
244 var37 = var_listnode17->type->type_table[cltype38] == idtype39;
245 }
246 }
247 if (!var37) {
248 fprintf(stderr, "Runtime error: %s", "Assert failed");
249 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10502);
250 show_backtrace(1);
251 }
252 var40 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction225>*/;
253 var_listnode18 = var40;
254 var_tkwendnode19 = var_nodearraylist10;
255 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
256 cltype42 = type_nullable_parser_nodes__TKwend.color;
257 idtype43 = type_nullable_parser_nodes__TKwend.id;
258 if(var_tkwendnode19 == NULL) {
259 var41 = 1;
260 } else {
261 if(cltype42 >= var_tkwendnode19->type->table_size) {
262 var41 = 0;
263 } else {
264 var41 = var_tkwendnode19->type->type_table[cltype42] == idtype43;
265 }
266 }
267 if (!var41) {
268 fprintf(stderr, "Runtime error: %s", "Assert failed");
269 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10505);
270 show_backtrace(1);
271 }
272 var44 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
273 var45 = NULL;
274 var46 = NULL;
275 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var44->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var44, var_pdocnode2, var45, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var46, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var44:AStdClassdef>*/;
276 var_pclassdefnode1 = var44;
277 var_node_list = var_pclassdefnode1;
278 var47 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction225> */
279 var48 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var47) /* go_to on <var_p:Parser>*/;
280 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var48, var_node_list) /* push on <var_p:Parser>*/;
281 RET_LABEL:;
282 }
283 /* method parser#ReduceAction225#action for (self: Object, Parser) */
284 void VIRTUAL_parser__ReduceAction225__action(val* self, val* p0) {
285 parser__ReduceAction225__action(self, p0);
286 RET_LABEL:;
287 }
288 /* method parser#ReduceAction226#action for (self: ReduceAction226, Parser) */
289 void parser__ReduceAction226__action(val* self, val* p0) {
290 val* var_p /* var p: Parser */;
291 val* var /* : null */;
292 val* var_node_list /* var node_list: nullable Object */;
293 val* var1 /* : nullable Object */;
294 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
295 val* var2 /* : nullable Object */;
296 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
297 val* var3 /* : nullable Object */;
298 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
299 val* var4 /* : nullable Object */;
300 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
301 val* var5 /* : nullable Object */;
302 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
303 val* var6 /* : nullable Object */;
304 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
305 val* var7 /* : nullable Object */;
306 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
307 val* var8 /* : nullable Object */;
308 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
309 val* var9 /* : nullable Object */;
310 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
311 val* var10 /* : nullable Object */;
312 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
313 val* var11 /* : nullable Object */;
314 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
315 val* var12 /* : Array[Object] */;
316 val* var_listnode8 /* var listnode8: Array[Object] */;
317 val* var13 /* : Array[Object] */;
318 val* var_listnode16 /* var listnode16: Array[Object] */;
319 val* var14 /* : Array[Object] */;
320 val* var_listnode18 /* var listnode18: Array[Object] */;
321 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
322 short int var15 /* : Bool */;
323 int cltype;
324 int idtype;
325 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
326 short int var16 /* : Bool */;
327 int cltype17;
328 int idtype18;
329 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
330 short int var19 /* : Bool */;
331 int cltype20;
332 int idtype21;
333 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
334 short int var22 /* : Bool */;
335 int cltype23;
336 int idtype24;
337 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
338 short int var25 /* : Bool */;
339 int cltype26;
340 int idtype27;
341 val* var_listnode7 /* var listnode7: nullable Object */;
342 short int var28 /* : Bool */;
343 int cltype29;
344 int idtype30;
345 val* var31 /* : Array[Object] */;
346 val* var32 /* : Array[Object] */;
347 val* var_listnode13 /* var listnode13: Array[Object] */;
348 val* var_listnode12 /* var listnode12: nullable Object */;
349 short int var33 /* : Bool */;
350 int cltype34;
351 int idtype35;
352 val* var36 /* : Array[Object] */;
353 val* var37 /* : AAnnotations */;
354 val* var38 /* : null */;
355 val* var39 /* : null */;
356 val* var40 /* : null */;
357 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
358 val* var_listnode17 /* var listnode17: nullable Object */;
359 short int var41 /* : Bool */;
360 int cltype42;
361 int idtype43;
362 val* var44 /* : Array[Object] */;
363 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
364 short int var45 /* : Bool */;
365 int cltype46;
366 int idtype47;
367 val* var48 /* : AStdClassdef */;
368 val* var49 /* : null */;
369 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
370 long var50 /* : Int */;
371 long var51 /* : Int */;
372 var_p = p0;
373 var = NULL;
374 var_node_list = var;
375 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
376 var_nodearraylist11 = var1;
377 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
378 var_nodearraylist10 = var2;
379 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
380 var_nodearraylist9 = var3;
381 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
382 var_nodearraylist8 = var4;
383 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
384 var_nodearraylist7 = var5;
385 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
386 var_nodearraylist6 = var6;
387 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
388 var_nodearraylist5 = var7;
389 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
390 var_nodearraylist4 = var8;
391 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
392 var_nodearraylist3 = var9;
393 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
394 var_nodearraylist2 = var10;
395 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
396 var_nodearraylist1 = var11;
397 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
398 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
399 var_listnode8 = var12;
400 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
401 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
402 var_listnode16 = var13;
403 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
404 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
405 var_listnode18 = var14;
406 var_pdocnode2 = var_nodearraylist1;
407 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
408 cltype = type_nullable_parser_nodes__ADoc.color;
409 idtype = type_nullable_parser_nodes__ADoc.id;
410 if(var_pdocnode2 == NULL) {
411 var15 = 1;
412 } else {
413 if(cltype >= var_pdocnode2->type->table_size) {
414 var15 = 0;
415 } else {
416 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
417 }
418 }
419 if (!var15) {
420 fprintf(stderr, "Runtime error: %s", "Assert failed");
421 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10543);
422 show_backtrace(1);
423 }
424 var_tkwredefnode3 = var_nodearraylist2;
425 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
426 cltype17 = type_nullable_parser_nodes__TKwredef.color;
427 idtype18 = type_nullable_parser_nodes__TKwredef.id;
428 if(var_tkwredefnode3 == NULL) {
429 var16 = 1;
430 } else {
431 if(cltype17 >= var_tkwredefnode3->type->table_size) {
432 var16 = 0;
433 } else {
434 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
435 }
436 }
437 if (!var16) {
438 fprintf(stderr, "Runtime error: %s", "Assert failed");
439 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10545);
440 show_backtrace(1);
441 }
442 var_pvisibilitynode4 = var_nodearraylist3;
443 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
444 cltype20 = type_nullable_parser_nodes__AVisibility.color;
445 idtype21 = type_nullable_parser_nodes__AVisibility.id;
446 if(var_pvisibilitynode4 == NULL) {
447 var19 = 1;
448 } else {
449 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
450 var19 = 0;
451 } else {
452 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
453 }
454 }
455 if (!var19) {
456 fprintf(stderr, "Runtime error: %s", "Assert failed");
457 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10547);
458 show_backtrace(1);
459 }
460 var_pclasskindnode5 = var_nodearraylist4;
461 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
462 cltype23 = type_nullable_parser_nodes__AClasskind.color;
463 idtype24 = type_nullable_parser_nodes__AClasskind.id;
464 if(var_pclasskindnode5 == NULL) {
465 var22 = 1;
466 } else {
467 if(cltype23 >= var_pclasskindnode5->type->table_size) {
468 var22 = 0;
469 } else {
470 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
471 }
472 }
473 if (!var22) {
474 fprintf(stderr, "Runtime error: %s", "Assert failed");
475 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10549);
476 show_backtrace(1);
477 }
478 var_tclassidnode6 = var_nodearraylist6;
479 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
480 cltype26 = type_nullable_parser_nodes__TClassid.color;
481 idtype27 = type_nullable_parser_nodes__TClassid.id;
482 if(var_tclassidnode6 == NULL) {
483 var25 = 1;
484 } else {
485 if(cltype26 >= var_tclassidnode6->type->table_size) {
486 var25 = 0;
487 } else {
488 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
489 }
490 }
491 if (!var25) {
492 fprintf(stderr, "Runtime error: %s", "Assert failed");
493 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10551);
494 show_backtrace(1);
495 }
496 var_listnode7 = var_nodearraylist7;
497 /* <var_listnode7:nullable Object> isa Array[Object] */
498 cltype29 = type_array__Arraykernel__Object.color;
499 idtype30 = type_array__Arraykernel__Object.id;
500 if(var_listnode7 == NULL) {
501 var28 = 0;
502 } else {
503 if(cltype29 >= var_listnode7->type->table_size) {
504 var28 = 0;
505 } else {
506 var28 = var_listnode7->type->type_table[cltype29] == idtype30;
507 }
508 }
509 if (!var28) {
510 fprintf(stderr, "Runtime error: %s", "Assert failed");
511 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10553);
512 show_backtrace(1);
513 }
514 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction226>*/;
515 var_listnode8 = var31;
516 var32 = NEW_array__Array(&type_array__Arraykernel__Object);
517 ((void (*)(val*))(var32->class->vft[COLOR_array__Array__init]))(var32) /* init on <var32:Array[Object]>*/;
518 var_listnode13 = var32;
519 var_listnode12 = var_nodearraylist8;
520 /* <var_listnode12:nullable Object> isa Array[Object] */
521 cltype34 = type_array__Arraykernel__Object.color;
522 idtype35 = type_array__Arraykernel__Object.id;
523 if(var_listnode12 == NULL) {
524 var33 = 0;
525 } else {
526 if(cltype34 >= var_listnode12->type->table_size) {
527 var33 = 0;
528 } else {
529 var33 = var_listnode12->type->type_table[cltype34] == idtype35;
530 }
531 }
532 if (!var33) {
533 fprintf(stderr, "Runtime error: %s", "Assert failed");
534 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10557);
535 show_backtrace(1);
536 }
537 var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction226>*/;
538 var_listnode13 = var36;
539 var37 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
540 var38 = NULL;
541 var39 = NULL;
542 var40 = NULL;
543 ((void (*)(val*, val*, val*, val*, val*))(var37->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var37, var38, var39, var_listnode13, var40) /* init_aannotations on <var37:AAnnotations>*/;
544 var_pannotationsnode9 = var37;
545 var_listnode17 = var_nodearraylist9;
546 /* <var_listnode17:nullable Object> isa Array[Object] */
547 cltype42 = type_array__Arraykernel__Object.color;
548 idtype43 = type_array__Arraykernel__Object.id;
549 if(var_listnode17 == NULL) {
550 var41 = 0;
551 } else {
552 if(cltype42 >= var_listnode17->type->table_size) {
553 var41 = 0;
554 } else {
555 var41 = var_listnode17->type->type_table[cltype42] == idtype43;
556 }
557 }
558 if (!var41) {
559 fprintf(stderr, "Runtime error: %s", "Assert failed");
560 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10566);
561 show_backtrace(1);
562 }
563 var44 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction226>*/;
564 var_listnode18 = var44;
565 var_tkwendnode19 = var_nodearraylist11;
566 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
567 cltype46 = type_nullable_parser_nodes__TKwend.color;
568 idtype47 = type_nullable_parser_nodes__TKwend.id;
569 if(var_tkwendnode19 == NULL) {
570 var45 = 1;
571 } else {
572 if(cltype46 >= var_tkwendnode19->type->table_size) {
573 var45 = 0;
574 } else {
575 var45 = var_tkwendnode19->type->type_table[cltype46] == idtype47;
576 }
577 }
578 if (!var45) {
579 fprintf(stderr, "Runtime error: %s", "Assert failed");
580 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10569);
581 show_backtrace(1);
582 }
583 var48 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
584 var49 = NULL;
585 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var48->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var48, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var49, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var48:AStdClassdef>*/;
586 var_pclassdefnode1 = var48;
587 var_node_list = var_pclassdefnode1;
588 var50 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction226> */
589 var51 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var50) /* go_to on <var_p:Parser>*/;
590 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var51, var_node_list) /* push on <var_p:Parser>*/;
591 RET_LABEL:;
592 }
593 /* method parser#ReduceAction226#action for (self: Object, Parser) */
594 void VIRTUAL_parser__ReduceAction226__action(val* self, val* p0) {
595 parser__ReduceAction226__action(self, p0);
596 RET_LABEL:;
597 }
598 /* method parser#ReduceAction227#action for (self: ReduceAction227, Parser) */
599 void parser__ReduceAction227__action(val* self, val* p0) {
600 val* var_p /* var p: Parser */;
601 val* var /* : null */;
602 val* var_node_list /* var node_list: nullable Object */;
603 val* var1 /* : nullable Object */;
604 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
605 val* var2 /* : nullable Object */;
606 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
607 val* var3 /* : nullable Object */;
608 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
609 val* var4 /* : nullable Object */;
610 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
611 val* var5 /* : nullable Object */;
612 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
613 val* var6 /* : nullable Object */;
614 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
615 val* var7 /* : nullable Object */;
616 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
617 val* var8 /* : nullable Object */;
618 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
619 val* var9 /* : nullable Object */;
620 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
621 val* var10 /* : nullable Object */;
622 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
623 val* var11 /* : nullable Object */;
624 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
625 val* var12 /* : Array[Object] */;
626 val* var_listnode8 /* var listnode8: Array[Object] */;
627 val* var13 /* : Array[Object] */;
628 val* var_listnode16 /* var listnode16: Array[Object] */;
629 val* var14 /* : Array[Object] */;
630 val* var_listnode18 /* var listnode18: Array[Object] */;
631 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
632 short int var15 /* : Bool */;
633 int cltype;
634 int idtype;
635 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
636 short int var16 /* : Bool */;
637 int cltype17;
638 int idtype18;
639 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
640 short int var19 /* : Bool */;
641 int cltype20;
642 int idtype21;
643 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
644 short int var22 /* : Bool */;
645 int cltype23;
646 int idtype24;
647 val* var_listnode7 /* var listnode7: nullable Object */;
648 short int var25 /* : Bool */;
649 int cltype26;
650 int idtype27;
651 val* var28 /* : Array[Object] */;
652 val* var29 /* : Array[Object] */;
653 val* var_listnode13 /* var listnode13: Array[Object] */;
654 val* var_listnode12 /* var listnode12: nullable Object */;
655 short int var30 /* : Bool */;
656 int cltype31;
657 int idtype32;
658 val* var33 /* : Array[Object] */;
659 val* var34 /* : AAnnotations */;
660 val* var35 /* : null */;
661 val* var36 /* : null */;
662 val* var37 /* : null */;
663 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
664 val* var_listnode17 /* var listnode17: nullable Object */;
665 short int var38 /* : Bool */;
666 int cltype39;
667 int idtype40;
668 val* var41 /* : Array[Object] */;
669 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
670 short int var42 /* : Bool */;
671 int cltype43;
672 int idtype44;
673 val* var45 /* : AStdClassdef */;
674 val* var46 /* : null */;
675 val* var47 /* : null */;
676 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
677 long var48 /* : Int */;
678 long var49 /* : Int */;
679 var_p = p0;
680 var = NULL;
681 var_node_list = var;
682 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
683 var_nodearraylist11 = var1;
684 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
685 var_nodearraylist10 = var2;
686 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
687 var_nodearraylist9 = var3;
688 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
689 var_nodearraylist8 = var4;
690 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
691 var_nodearraylist7 = var5;
692 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
693 var_nodearraylist6 = var6;
694 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
695 var_nodearraylist5 = var7;
696 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
697 var_nodearraylist4 = var8;
698 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
699 var_nodearraylist3 = var9;
700 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
701 var_nodearraylist2 = var10;
702 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
703 var_nodearraylist1 = var11;
704 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
705 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
706 var_listnode8 = var12;
707 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
708 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
709 var_listnode16 = var13;
710 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
711 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
712 var_listnode18 = var14;
713 var_pdocnode2 = var_nodearraylist1;
714 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
715 cltype = type_nullable_parser_nodes__ADoc.color;
716 idtype = type_nullable_parser_nodes__ADoc.id;
717 if(var_pdocnode2 == NULL) {
718 var15 = 1;
719 } else {
720 if(cltype >= var_pdocnode2->type->table_size) {
721 var15 = 0;
722 } else {
723 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
724 }
725 }
726 if (!var15) {
727 fprintf(stderr, "Runtime error: %s", "Assert failed");
728 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10607);
729 show_backtrace(1);
730 }
731 var_pvisibilitynode4 = var_nodearraylist2;
732 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
733 cltype17 = type_nullable_parser_nodes__AVisibility.color;
734 idtype18 = type_nullable_parser_nodes__AVisibility.id;
735 if(var_pvisibilitynode4 == NULL) {
736 var16 = 1;
737 } else {
738 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
739 var16 = 0;
740 } else {
741 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
742 }
743 }
744 if (!var16) {
745 fprintf(stderr, "Runtime error: %s", "Assert failed");
746 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10609);
747 show_backtrace(1);
748 }
749 var_pclasskindnode5 = var_nodearraylist3;
750 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
751 cltype20 = type_nullable_parser_nodes__AClasskind.color;
752 idtype21 = type_nullable_parser_nodes__AClasskind.id;
753 if(var_pclasskindnode5 == NULL) {
754 var19 = 1;
755 } else {
756 if(cltype20 >= var_pclasskindnode5->type->table_size) {
757 var19 = 0;
758 } else {
759 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
760 }
761 }
762 if (!var19) {
763 fprintf(stderr, "Runtime error: %s", "Assert failed");
764 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10611);
765 show_backtrace(1);
766 }
767 var_tclassidnode6 = var_nodearraylist6;
768 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
769 cltype23 = type_nullable_parser_nodes__TClassid.color;
770 idtype24 = type_nullable_parser_nodes__TClassid.id;
771 if(var_tclassidnode6 == NULL) {
772 var22 = 1;
773 } else {
774 if(cltype23 >= var_tclassidnode6->type->table_size) {
775 var22 = 0;
776 } else {
777 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
778 }
779 }
780 if (!var22) {
781 fprintf(stderr, "Runtime error: %s", "Assert failed");
782 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10613);
783 show_backtrace(1);
784 }
785 var_listnode7 = var_nodearraylist7;
786 /* <var_listnode7:nullable Object> isa Array[Object] */
787 cltype26 = type_array__Arraykernel__Object.color;
788 idtype27 = type_array__Arraykernel__Object.id;
789 if(var_listnode7 == NULL) {
790 var25 = 0;
791 } else {
792 if(cltype26 >= var_listnode7->type->table_size) {
793 var25 = 0;
794 } else {
795 var25 = var_listnode7->type->type_table[cltype26] == idtype27;
796 }
797 }
798 if (!var25) {
799 fprintf(stderr, "Runtime error: %s", "Assert failed");
800 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10615);
801 show_backtrace(1);
802 }
803 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction227>*/;
804 var_listnode8 = var28;
805 var29 = NEW_array__Array(&type_array__Arraykernel__Object);
806 ((void (*)(val*))(var29->class->vft[COLOR_array__Array__init]))(var29) /* init on <var29:Array[Object]>*/;
807 var_listnode13 = var29;
808 var_listnode12 = var_nodearraylist8;
809 /* <var_listnode12:nullable Object> isa Array[Object] */
810 cltype31 = type_array__Arraykernel__Object.color;
811 idtype32 = type_array__Arraykernel__Object.id;
812 if(var_listnode12 == NULL) {
813 var30 = 0;
814 } else {
815 if(cltype31 >= var_listnode12->type->table_size) {
816 var30 = 0;
817 } else {
818 var30 = var_listnode12->type->type_table[cltype31] == idtype32;
819 }
820 }
821 if (!var30) {
822 fprintf(stderr, "Runtime error: %s", "Assert failed");
823 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10619);
824 show_backtrace(1);
825 }
826 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction227>*/;
827 var_listnode13 = var33;
828 var34 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
829 var35 = NULL;
830 var36 = NULL;
831 var37 = NULL;
832 ((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>*/;
833 var_pannotationsnode9 = var34;
834 var_listnode17 = var_nodearraylist9;
835 /* <var_listnode17:nullable Object> isa Array[Object] */
836 cltype39 = type_array__Arraykernel__Object.color;
837 idtype40 = type_array__Arraykernel__Object.id;
838 if(var_listnode17 == NULL) {
839 var38 = 0;
840 } else {
841 if(cltype39 >= var_listnode17->type->table_size) {
842 var38 = 0;
843 } else {
844 var38 = var_listnode17->type->type_table[cltype39] == idtype40;
845 }
846 }
847 if (!var38) {
848 fprintf(stderr, "Runtime error: %s", "Assert failed");
849 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10628);
850 show_backtrace(1);
851 }
852 var41 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction227>*/;
853 var_listnode18 = var41;
854 var_tkwendnode19 = var_nodearraylist11;
855 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
856 cltype43 = type_nullable_parser_nodes__TKwend.color;
857 idtype44 = type_nullable_parser_nodes__TKwend.id;
858 if(var_tkwendnode19 == NULL) {
859 var42 = 1;
860 } else {
861 if(cltype43 >= var_tkwendnode19->type->table_size) {
862 var42 = 0;
863 } else {
864 var42 = var_tkwendnode19->type->type_table[cltype43] == idtype44;
865 }
866 }
867 if (!var42) {
868 fprintf(stderr, "Runtime error: %s", "Assert failed");
869 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10631);
870 show_backtrace(1);
871 }
872 var45 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
873 var46 = NULL;
874 var47 = NULL;
875 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var45->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var45, var_pdocnode2, var46, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var47, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var45:AStdClassdef>*/;
876 var_pclassdefnode1 = var45;
877 var_node_list = var_pclassdefnode1;
878 var48 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction227> */
879 var49 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var48) /* go_to on <var_p:Parser>*/;
880 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var49, var_node_list) /* push on <var_p:Parser>*/;
881 RET_LABEL:;
882 }
883 /* method parser#ReduceAction227#action for (self: Object, Parser) */
884 void VIRTUAL_parser__ReduceAction227__action(val* self, val* p0) {
885 parser__ReduceAction227__action(self, p0);
886 RET_LABEL:;
887 }
888 /* method parser#ReduceAction228#action for (self: ReduceAction228, Parser) */
889 void parser__ReduceAction228__action(val* self, val* p0) {
890 val* var_p /* var p: Parser */;
891 val* var /* : null */;
892 val* var_node_list /* var node_list: nullable Object */;
893 val* var1 /* : nullable Object */;
894 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
895 val* var2 /* : nullable Object */;
896 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
897 val* var3 /* : nullable Object */;
898 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
899 val* var4 /* : nullable Object */;
900 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
901 val* var5 /* : nullable Object */;
902 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
903 val* var6 /* : nullable Object */;
904 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
905 val* var7 /* : nullable Object */;
906 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
907 val* var8 /* : nullable Object */;
908 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
909 val* var9 /* : nullable Object */;
910 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
911 val* var10 /* : nullable Object */;
912 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
913 val* var11 /* : nullable Object */;
914 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
915 val* var12 /* : nullable Object */;
916 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
917 val* var13 /* : Array[Object] */;
918 val* var_listnode8 /* var listnode8: Array[Object] */;
919 val* var14 /* : Array[Object] */;
920 val* var_listnode16 /* var listnode16: Array[Object] */;
921 val* var15 /* : Array[Object] */;
922 val* var_listnode18 /* var listnode18: Array[Object] */;
923 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
924 short int var16 /* : Bool */;
925 int cltype;
926 int idtype;
927 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
928 short int var17 /* : Bool */;
929 int cltype18;
930 int idtype19;
931 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
932 short int var20 /* : Bool */;
933 int cltype21;
934 int idtype22;
935 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
936 short int var23 /* : Bool */;
937 int cltype24;
938 int idtype25;
939 val* var_listnode7 /* var listnode7: nullable Object */;
940 short int var26 /* : Bool */;
941 int cltype27;
942 int idtype28;
943 val* var29 /* : Array[Object] */;
944 val* var30 /* : Array[Object] */;
945 val* var_listnode13 /* var listnode13: Array[Object] */;
946 val* var_listnode12 /* var listnode12: nullable Object */;
947 short int var31 /* : Bool */;
948 int cltype32;
949 int idtype33;
950 val* var34 /* : Array[Object] */;
951 val* var35 /* : AAnnotations */;
952 val* var36 /* : null */;
953 val* var37 /* : null */;
954 val* var38 /* : null */;
955 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
956 val* var_listnode17 /* var listnode17: nullable Object */;
957 short int var39 /* : Bool */;
958 int cltype40;
959 int idtype41;
960 val* var42 /* : Array[Object] */;
961 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
962 short int var43 /* : Bool */;
963 int cltype44;
964 int idtype45;
965 val* var46 /* : AStdClassdef */;
966 val* var47 /* : null */;
967 val* var48 /* : null */;
968 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
969 long var49 /* : Int */;
970 long var50 /* : Int */;
971 var_p = p0;
972 var = NULL;
973 var_node_list = var;
974 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
975 var_nodearraylist12 = var1;
976 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
977 var_nodearraylist11 = var2;
978 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
979 var_nodearraylist10 = var3;
980 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
981 var_nodearraylist9 = var4;
982 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
983 var_nodearraylist8 = var5;
984 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
985 var_nodearraylist7 = var6;
986 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
987 var_nodearraylist6 = var7;
988 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
989 var_nodearraylist5 = var8;
990 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
991 var_nodearraylist4 = var9;
992 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
993 var_nodearraylist3 = var10;
994 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
995 var_nodearraylist2 = var11;
996 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
997 var_nodearraylist1 = var12;
998 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
999 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
1000 var_listnode8 = var13;
1001 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
1002 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
1003 var_listnode16 = var14;
1004 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
1005 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
1006 var_listnode18 = var15;
1007 var_pdocnode2 = var_nodearraylist1;
1008 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1009 cltype = type_nullable_parser_nodes__ADoc.color;
1010 idtype = type_nullable_parser_nodes__ADoc.id;
1011 if(var_pdocnode2 == NULL) {
1012 var16 = 1;
1013 } else {
1014 if(cltype >= var_pdocnode2->type->table_size) {
1015 var16 = 0;
1016 } else {
1017 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
1018 }
1019 }
1020 if (!var16) {
1021 fprintf(stderr, "Runtime error: %s", "Assert failed");
1022 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10670);
1023 show_backtrace(1);
1024 }
1025 var_pvisibilitynode4 = var_nodearraylist2;
1026 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1027 cltype18 = type_nullable_parser_nodes__AVisibility.color;
1028 idtype19 = type_nullable_parser_nodes__AVisibility.id;
1029 if(var_pvisibilitynode4 == NULL) {
1030 var17 = 1;
1031 } else {
1032 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
1033 var17 = 0;
1034 } else {
1035 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
1036 }
1037 }
1038 if (!var17) {
1039 fprintf(stderr, "Runtime error: %s", "Assert failed");
1040 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10672);
1041 show_backtrace(1);
1042 }
1043 var_pclasskindnode5 = var_nodearraylist3;
1044 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1045 cltype21 = type_nullable_parser_nodes__AClasskind.color;
1046 idtype22 = type_nullable_parser_nodes__AClasskind.id;
1047 if(var_pclasskindnode5 == NULL) {
1048 var20 = 1;
1049 } else {
1050 if(cltype21 >= var_pclasskindnode5->type->table_size) {
1051 var20 = 0;
1052 } else {
1053 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
1054 }
1055 }
1056 if (!var20) {
1057 fprintf(stderr, "Runtime error: %s", "Assert failed");
1058 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10674);
1059 show_backtrace(1);
1060 }
1061 var_tclassidnode6 = var_nodearraylist7;
1062 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1063 cltype24 = type_nullable_parser_nodes__TClassid.color;
1064 idtype25 = type_nullable_parser_nodes__TClassid.id;
1065 if(var_tclassidnode6 == NULL) {
1066 var23 = 1;
1067 } else {
1068 if(cltype24 >= var_tclassidnode6->type->table_size) {
1069 var23 = 0;
1070 } else {
1071 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
1072 }
1073 }
1074 if (!var23) {
1075 fprintf(stderr, "Runtime error: %s", "Assert failed");
1076 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10676);
1077 show_backtrace(1);
1078 }
1079 var_listnode7 = var_nodearraylist8;
1080 /* <var_listnode7:nullable Object> isa Array[Object] */
1081 cltype27 = type_array__Arraykernel__Object.color;
1082 idtype28 = type_array__Arraykernel__Object.id;
1083 if(var_listnode7 == NULL) {
1084 var26 = 0;
1085 } else {
1086 if(cltype27 >= var_listnode7->type->table_size) {
1087 var26 = 0;
1088 } else {
1089 var26 = var_listnode7->type->type_table[cltype27] == idtype28;
1090 }
1091 }
1092 if (!var26) {
1093 fprintf(stderr, "Runtime error: %s", "Assert failed");
1094 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10678);
1095 show_backtrace(1);
1096 }
1097 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction228>*/;
1098 var_listnode8 = var29;
1099 var30 = NEW_array__Array(&type_array__Arraykernel__Object);
1100 ((void (*)(val*))(var30->class->vft[COLOR_array__Array__init]))(var30) /* init on <var30:Array[Object]>*/;
1101 var_listnode13 = var30;
1102 var_listnode12 = var_nodearraylist9;
1103 /* <var_listnode12:nullable Object> isa Array[Object] */
1104 cltype32 = type_array__Arraykernel__Object.color;
1105 idtype33 = type_array__Arraykernel__Object.id;
1106 if(var_listnode12 == NULL) {
1107 var31 = 0;
1108 } else {
1109 if(cltype32 >= var_listnode12->type->table_size) {
1110 var31 = 0;
1111 } else {
1112 var31 = var_listnode12->type->type_table[cltype32] == idtype33;
1113 }
1114 }
1115 if (!var31) {
1116 fprintf(stderr, "Runtime error: %s", "Assert failed");
1117 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10682);
1118 show_backtrace(1);
1119 }
1120 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction228>*/;
1121 var_listnode13 = var34;
1122 var35 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
1123 var36 = NULL;
1124 var37 = NULL;
1125 var38 = NULL;
1126 ((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>*/;
1127 var_pannotationsnode9 = var35;
1128 var_listnode17 = var_nodearraylist10;
1129 /* <var_listnode17:nullable Object> isa Array[Object] */
1130 cltype40 = type_array__Arraykernel__Object.color;
1131 idtype41 = type_array__Arraykernel__Object.id;
1132 if(var_listnode17 == NULL) {
1133 var39 = 0;
1134 } else {
1135 if(cltype40 >= var_listnode17->type->table_size) {
1136 var39 = 0;
1137 } else {
1138 var39 = var_listnode17->type->type_table[cltype40] == idtype41;
1139 }
1140 }
1141 if (!var39) {
1142 fprintf(stderr, "Runtime error: %s", "Assert failed");
1143 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10691);
1144 show_backtrace(1);
1145 }
1146 var42 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction228>*/;
1147 var_listnode18 = var42;
1148 var_tkwendnode19 = var_nodearraylist12;
1149 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
1150 cltype44 = type_nullable_parser_nodes__TKwend.color;
1151 idtype45 = type_nullable_parser_nodes__TKwend.id;
1152 if(var_tkwendnode19 == NULL) {
1153 var43 = 1;
1154 } else {
1155 if(cltype44 >= var_tkwendnode19->type->table_size) {
1156 var43 = 0;
1157 } else {
1158 var43 = var_tkwendnode19->type->type_table[cltype44] == idtype45;
1159 }
1160 }
1161 if (!var43) {
1162 fprintf(stderr, "Runtime error: %s", "Assert failed");
1163 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10694);
1164 show_backtrace(1);
1165 }
1166 var46 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1167 var47 = NULL;
1168 var48 = NULL;
1169 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var46->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var46, var_pdocnode2, var47, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var48, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var46:AStdClassdef>*/;
1170 var_pclassdefnode1 = var46;
1171 var_node_list = var_pclassdefnode1;
1172 var49 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction228> */
1173 var50 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var49) /* go_to on <var_p:Parser>*/;
1174 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var50, var_node_list) /* push on <var_p:Parser>*/;
1175 RET_LABEL:;
1176 }
1177 /* method parser#ReduceAction228#action for (self: Object, Parser) */
1178 void VIRTUAL_parser__ReduceAction228__action(val* self, val* p0) {
1179 parser__ReduceAction228__action(self, p0);
1180 RET_LABEL:;
1181 }
1182 /* method parser#ReduceAction230#action for (self: ReduceAction230, Parser) */
1183 void parser__ReduceAction230__action(val* self, val* p0) {
1184 val* var_p /* var p: Parser */;
1185 val* var /* : null */;
1186 val* var_node_list /* var node_list: nullable Object */;
1187 val* var1 /* : nullable Object */;
1188 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
1189 val* var2 /* : nullable Object */;
1190 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
1191 val* var3 /* : nullable Object */;
1192 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1193 val* var4 /* : nullable Object */;
1194 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1195 val* var5 /* : nullable Object */;
1196 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1197 val* var6 /* : nullable Object */;
1198 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1199 val* var7 /* : nullable Object */;
1200 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1201 val* var8 /* : nullable Object */;
1202 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1203 val* var9 /* : nullable Object */;
1204 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1205 val* var10 /* : nullable Object */;
1206 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1207 val* var11 /* : nullable Object */;
1208 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1209 val* var12 /* : nullable Object */;
1210 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1211 val* var13 /* : Array[Object] */;
1212 val* var_listnode8 /* var listnode8: Array[Object] */;
1213 val* var14 /* : Array[Object] */;
1214 val* var_listnode16 /* var listnode16: Array[Object] */;
1215 val* var15 /* : Array[Object] */;
1216 val* var_listnode18 /* var listnode18: Array[Object] */;
1217 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1218 short int var16 /* : Bool */;
1219 int cltype;
1220 int idtype;
1221 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
1222 short int var17 /* : Bool */;
1223 int cltype18;
1224 int idtype19;
1225 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1226 short int var20 /* : Bool */;
1227 int cltype21;
1228 int idtype22;
1229 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1230 short int var23 /* : Bool */;
1231 int cltype24;
1232 int idtype25;
1233 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1234 short int var26 /* : Bool */;
1235 int cltype27;
1236 int idtype28;
1237 val* var_listnode7 /* var listnode7: nullable Object */;
1238 short int var29 /* : Bool */;
1239 int cltype30;
1240 int idtype31;
1241 val* var32 /* : Array[Object] */;
1242 val* var33 /* : Array[Object] */;
1243 val* var_listnode13 /* var listnode13: Array[Object] */;
1244 val* var_listnode12 /* var listnode12: nullable Object */;
1245 short int var34 /* : Bool */;
1246 int cltype35;
1247 int idtype36;
1248 val* var37 /* : Array[Object] */;
1249 val* var38 /* : AAnnotations */;
1250 val* var39 /* : null */;
1251 val* var40 /* : null */;
1252 val* var41 /* : null */;
1253 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
1254 val* var_listnode17 /* var listnode17: nullable Object */;
1255 short int var42 /* : Bool */;
1256 int cltype43;
1257 int idtype44;
1258 val* var45 /* : Array[Object] */;
1259 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
1260 short int var46 /* : Bool */;
1261 int cltype47;
1262 int idtype48;
1263 val* var49 /* : AStdClassdef */;
1264 val* var50 /* : null */;
1265 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1266 long var51 /* : Int */;
1267 long var52 /* : Int */;
1268 var_p = p0;
1269 var = NULL;
1270 var_node_list = var;
1271 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1272 var_nodearraylist12 = var1;
1273 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1274 var_nodearraylist11 = var2;
1275 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1276 var_nodearraylist10 = var3;
1277 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1278 var_nodearraylist9 = var4;
1279 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1280 var_nodearraylist8 = var5;
1281 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1282 var_nodearraylist7 = var6;
1283 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1284 var_nodearraylist6 = var7;
1285 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1286 var_nodearraylist5 = var8;
1287 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1288 var_nodearraylist4 = var9;
1289 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1290 var_nodearraylist3 = var10;
1291 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1292 var_nodearraylist2 = var11;
1293 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1294 var_nodearraylist1 = var12;
1295 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
1296 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
1297 var_listnode8 = var13;
1298 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
1299 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
1300 var_listnode16 = var14;
1301 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
1302 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
1303 var_listnode18 = var15;
1304 var_pdocnode2 = var_nodearraylist1;
1305 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1306 cltype = type_nullable_parser_nodes__ADoc.color;
1307 idtype = type_nullable_parser_nodes__ADoc.id;
1308 if(var_pdocnode2 == NULL) {
1309 var16 = 1;
1310 } else {
1311 if(cltype >= var_pdocnode2->type->table_size) {
1312 var16 = 0;
1313 } else {
1314 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
1315 }
1316 }
1317 if (!var16) {
1318 fprintf(stderr, "Runtime error: %s", "Assert failed");
1319 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10733);
1320 show_backtrace(1);
1321 }
1322 var_tkwredefnode3 = var_nodearraylist2;
1323 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1324 cltype18 = type_nullable_parser_nodes__TKwredef.color;
1325 idtype19 = type_nullable_parser_nodes__TKwredef.id;
1326 if(var_tkwredefnode3 == NULL) {
1327 var17 = 1;
1328 } else {
1329 if(cltype18 >= var_tkwredefnode3->type->table_size) {
1330 var17 = 0;
1331 } else {
1332 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
1333 }
1334 }
1335 if (!var17) {
1336 fprintf(stderr, "Runtime error: %s", "Assert failed");
1337 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10735);
1338 show_backtrace(1);
1339 }
1340 var_pvisibilitynode4 = var_nodearraylist3;
1341 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1342 cltype21 = type_nullable_parser_nodes__AVisibility.color;
1343 idtype22 = type_nullable_parser_nodes__AVisibility.id;
1344 if(var_pvisibilitynode4 == NULL) {
1345 var20 = 1;
1346 } else {
1347 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
1348 var20 = 0;
1349 } else {
1350 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
1351 }
1352 }
1353 if (!var20) {
1354 fprintf(stderr, "Runtime error: %s", "Assert failed");
1355 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10737);
1356 show_backtrace(1);
1357 }
1358 var_pclasskindnode5 = var_nodearraylist4;
1359 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1360 cltype24 = type_nullable_parser_nodes__AClasskind.color;
1361 idtype25 = type_nullable_parser_nodes__AClasskind.id;
1362 if(var_pclasskindnode5 == NULL) {
1363 var23 = 1;
1364 } else {
1365 if(cltype24 >= var_pclasskindnode5->type->table_size) {
1366 var23 = 0;
1367 } else {
1368 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
1369 }
1370 }
1371 if (!var23) {
1372 fprintf(stderr, "Runtime error: %s", "Assert failed");
1373 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10739);
1374 show_backtrace(1);
1375 }
1376 var_tclassidnode6 = var_nodearraylist7;
1377 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1378 cltype27 = type_nullable_parser_nodes__TClassid.color;
1379 idtype28 = type_nullable_parser_nodes__TClassid.id;
1380 if(var_tclassidnode6 == NULL) {
1381 var26 = 1;
1382 } else {
1383 if(cltype27 >= var_tclassidnode6->type->table_size) {
1384 var26 = 0;
1385 } else {
1386 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
1387 }
1388 }
1389 if (!var26) {
1390 fprintf(stderr, "Runtime error: %s", "Assert failed");
1391 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10741);
1392 show_backtrace(1);
1393 }
1394 var_listnode7 = var_nodearraylist8;
1395 /* <var_listnode7:nullable Object> isa Array[Object] */
1396 cltype30 = type_array__Arraykernel__Object.color;
1397 idtype31 = type_array__Arraykernel__Object.id;
1398 if(var_listnode7 == NULL) {
1399 var29 = 0;
1400 } else {
1401 if(cltype30 >= var_listnode7->type->table_size) {
1402 var29 = 0;
1403 } else {
1404 var29 = var_listnode7->type->type_table[cltype30] == idtype31;
1405 }
1406 }
1407 if (!var29) {
1408 fprintf(stderr, "Runtime error: %s", "Assert failed");
1409 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10743);
1410 show_backtrace(1);
1411 }
1412 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction230>*/;
1413 var_listnode8 = var32;
1414 var33 = NEW_array__Array(&type_array__Arraykernel__Object);
1415 ((void (*)(val*))(var33->class->vft[COLOR_array__Array__init]))(var33) /* init on <var33:Array[Object]>*/;
1416 var_listnode13 = var33;
1417 var_listnode12 = var_nodearraylist9;
1418 /* <var_listnode12:nullable Object> isa Array[Object] */
1419 cltype35 = type_array__Arraykernel__Object.color;
1420 idtype36 = type_array__Arraykernel__Object.id;
1421 if(var_listnode12 == NULL) {
1422 var34 = 0;
1423 } else {
1424 if(cltype35 >= var_listnode12->type->table_size) {
1425 var34 = 0;
1426 } else {
1427 var34 = var_listnode12->type->type_table[cltype35] == idtype36;
1428 }
1429 }
1430 if (!var34) {
1431 fprintf(stderr, "Runtime error: %s", "Assert failed");
1432 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10747);
1433 show_backtrace(1);
1434 }
1435 var37 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction230>*/;
1436 var_listnode13 = var37;
1437 var38 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
1438 var39 = NULL;
1439 var40 = NULL;
1440 var41 = NULL;
1441 ((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>*/;
1442 var_pannotationsnode9 = var38;
1443 var_listnode17 = var_nodearraylist10;
1444 /* <var_listnode17:nullable Object> isa Array[Object] */
1445 cltype43 = type_array__Arraykernel__Object.color;
1446 idtype44 = type_array__Arraykernel__Object.id;
1447 if(var_listnode17 == NULL) {
1448 var42 = 0;
1449 } else {
1450 if(cltype43 >= var_listnode17->type->table_size) {
1451 var42 = 0;
1452 } else {
1453 var42 = var_listnode17->type->type_table[cltype43] == idtype44;
1454 }
1455 }
1456 if (!var42) {
1457 fprintf(stderr, "Runtime error: %s", "Assert failed");
1458 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10756);
1459 show_backtrace(1);
1460 }
1461 var45 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction230>*/;
1462 var_listnode18 = var45;
1463 var_tkwendnode19 = var_nodearraylist12;
1464 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
1465 cltype47 = type_nullable_parser_nodes__TKwend.color;
1466 idtype48 = type_nullable_parser_nodes__TKwend.id;
1467 if(var_tkwendnode19 == NULL) {
1468 var46 = 1;
1469 } else {
1470 if(cltype47 >= var_tkwendnode19->type->table_size) {
1471 var46 = 0;
1472 } else {
1473 var46 = var_tkwendnode19->type->type_table[cltype47] == idtype48;
1474 }
1475 }
1476 if (!var46) {
1477 fprintf(stderr, "Runtime error: %s", "Assert failed");
1478 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10759);
1479 show_backtrace(1);
1480 }
1481 var49 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1482 var50 = NULL;
1483 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var49->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var49, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var50, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var49:AStdClassdef>*/;
1484 var_pclassdefnode1 = var49;
1485 var_node_list = var_pclassdefnode1;
1486 var51 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction230> */
1487 var52 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var51) /* go_to on <var_p:Parser>*/;
1488 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var52, var_node_list) /* push on <var_p:Parser>*/;
1489 RET_LABEL:;
1490 }
1491 /* method parser#ReduceAction230#action for (self: Object, Parser) */
1492 void VIRTUAL_parser__ReduceAction230__action(val* self, val* p0) {
1493 parser__ReduceAction230__action(self, p0);
1494 RET_LABEL:;
1495 }
1496 /* method parser#ReduceAction231#action for (self: ReduceAction231, Parser) */
1497 void parser__ReduceAction231__action(val* self, val* p0) {
1498 val* var_p /* var p: Parser */;
1499 val* var /* : null */;
1500 val* var_node_list /* var node_list: nullable Object */;
1501 val* var1 /* : nullable Object */;
1502 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
1503 val* var2 /* : nullable Object */;
1504 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
1505 val* var3 /* : nullable Object */;
1506 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
1507 val* var4 /* : nullable Object */;
1508 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1509 val* var5 /* : nullable Object */;
1510 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1511 val* var6 /* : nullable Object */;
1512 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1513 val* var7 /* : nullable Object */;
1514 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1515 val* var8 /* : nullable Object */;
1516 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1517 val* var9 /* : nullable Object */;
1518 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1519 val* var10 /* : nullable Object */;
1520 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1521 val* var11 /* : nullable Object */;
1522 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1523 val* var12 /* : nullable Object */;
1524 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1525 val* var13 /* : nullable Object */;
1526 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1527 val* var14 /* : Array[Object] */;
1528 val* var_listnode8 /* var listnode8: Array[Object] */;
1529 val* var15 /* : Array[Object] */;
1530 val* var_listnode16 /* var listnode16: Array[Object] */;
1531 val* var16 /* : Array[Object] */;
1532 val* var_listnode18 /* var listnode18: Array[Object] */;
1533 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1534 short int var17 /* : Bool */;
1535 int cltype;
1536 int idtype;
1537 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
1538 short int var18 /* : Bool */;
1539 int cltype19;
1540 int idtype20;
1541 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1542 short int var21 /* : Bool */;
1543 int cltype22;
1544 int idtype23;
1545 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1546 short int var24 /* : Bool */;
1547 int cltype25;
1548 int idtype26;
1549 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1550 short int var27 /* : Bool */;
1551 int cltype28;
1552 int idtype29;
1553 val* var_listnode7 /* var listnode7: nullable Object */;
1554 short int var30 /* : Bool */;
1555 int cltype31;
1556 int idtype32;
1557 val* var33 /* : Array[Object] */;
1558 val* var34 /* : Array[Object] */;
1559 val* var_listnode13 /* var listnode13: Array[Object] */;
1560 val* var_listnode12 /* var listnode12: nullable Object */;
1561 short int var35 /* : Bool */;
1562 int cltype36;
1563 int idtype37;
1564 val* var38 /* : Array[Object] */;
1565 val* var39 /* : AAnnotations */;
1566 val* var40 /* : null */;
1567 val* var41 /* : null */;
1568 val* var42 /* : null */;
1569 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
1570 val* var_listnode17 /* var listnode17: nullable Object */;
1571 short int var43 /* : Bool */;
1572 int cltype44;
1573 int idtype45;
1574 val* var46 /* : Array[Object] */;
1575 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
1576 short int var47 /* : Bool */;
1577 int cltype48;
1578 int idtype49;
1579 val* var50 /* : AStdClassdef */;
1580 val* var51 /* : null */;
1581 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1582 long var52 /* : Int */;
1583 long var53 /* : Int */;
1584 var_p = p0;
1585 var = NULL;
1586 var_node_list = var;
1587 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1588 var_nodearraylist13 = var1;
1589 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1590 var_nodearraylist12 = var2;
1591 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1592 var_nodearraylist11 = var3;
1593 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1594 var_nodearraylist10 = var4;
1595 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1596 var_nodearraylist9 = var5;
1597 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1598 var_nodearraylist8 = var6;
1599 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1600 var_nodearraylist7 = var7;
1601 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1602 var_nodearraylist6 = var8;
1603 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1604 var_nodearraylist5 = var9;
1605 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1606 var_nodearraylist4 = var10;
1607 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1608 var_nodearraylist3 = var11;
1609 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1610 var_nodearraylist2 = var12;
1611 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1612 var_nodearraylist1 = var13;
1613 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
1614 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
1615 var_listnode8 = var14;
1616 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
1617 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
1618 var_listnode16 = var15;
1619 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
1620 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
1621 var_listnode18 = var16;
1622 var_pdocnode2 = var_nodearraylist1;
1623 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1624 cltype = type_nullable_parser_nodes__ADoc.color;
1625 idtype = type_nullable_parser_nodes__ADoc.id;
1626 if(var_pdocnode2 == NULL) {
1627 var17 = 1;
1628 } else {
1629 if(cltype >= var_pdocnode2->type->table_size) {
1630 var17 = 0;
1631 } else {
1632 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
1633 }
1634 }
1635 if (!var17) {
1636 fprintf(stderr, "Runtime error: %s", "Assert failed");
1637 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10799);
1638 show_backtrace(1);
1639 }
1640 var_tkwredefnode3 = var_nodearraylist2;
1641 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1642 cltype19 = type_nullable_parser_nodes__TKwredef.color;
1643 idtype20 = type_nullable_parser_nodes__TKwredef.id;
1644 if(var_tkwredefnode3 == NULL) {
1645 var18 = 1;
1646 } else {
1647 if(cltype19 >= var_tkwredefnode3->type->table_size) {
1648 var18 = 0;
1649 } else {
1650 var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20;
1651 }
1652 }
1653 if (!var18) {
1654 fprintf(stderr, "Runtime error: %s", "Assert failed");
1655 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10801);
1656 show_backtrace(1);
1657 }
1658 var_pvisibilitynode4 = var_nodearraylist3;
1659 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1660 cltype22 = type_nullable_parser_nodes__AVisibility.color;
1661 idtype23 = type_nullable_parser_nodes__AVisibility.id;
1662 if(var_pvisibilitynode4 == NULL) {
1663 var21 = 1;
1664 } else {
1665 if(cltype22 >= var_pvisibilitynode4->type->table_size) {
1666 var21 = 0;
1667 } else {
1668 var21 = var_pvisibilitynode4->type->type_table[cltype22] == idtype23;
1669 }
1670 }
1671 if (!var21) {
1672 fprintf(stderr, "Runtime error: %s", "Assert failed");
1673 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10803);
1674 show_backtrace(1);
1675 }
1676 var_pclasskindnode5 = var_nodearraylist4;
1677 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1678 cltype25 = type_nullable_parser_nodes__AClasskind.color;
1679 idtype26 = type_nullable_parser_nodes__AClasskind.id;
1680 if(var_pclasskindnode5 == NULL) {
1681 var24 = 1;
1682 } else {
1683 if(cltype25 >= var_pclasskindnode5->type->table_size) {
1684 var24 = 0;
1685 } else {
1686 var24 = var_pclasskindnode5->type->type_table[cltype25] == idtype26;
1687 }
1688 }
1689 if (!var24) {
1690 fprintf(stderr, "Runtime error: %s", "Assert failed");
1691 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10805);
1692 show_backtrace(1);
1693 }
1694 var_tclassidnode6 = var_nodearraylist8;
1695 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1696 cltype28 = type_nullable_parser_nodes__TClassid.color;
1697 idtype29 = type_nullable_parser_nodes__TClassid.id;
1698 if(var_tclassidnode6 == NULL) {
1699 var27 = 1;
1700 } else {
1701 if(cltype28 >= var_tclassidnode6->type->table_size) {
1702 var27 = 0;
1703 } else {
1704 var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29;
1705 }
1706 }
1707 if (!var27) {
1708 fprintf(stderr, "Runtime error: %s", "Assert failed");
1709 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10807);
1710 show_backtrace(1);
1711 }
1712 var_listnode7 = var_nodearraylist9;
1713 /* <var_listnode7:nullable Object> isa Array[Object] */
1714 cltype31 = type_array__Arraykernel__Object.color;
1715 idtype32 = type_array__Arraykernel__Object.id;
1716 if(var_listnode7 == NULL) {
1717 var30 = 0;
1718 } else {
1719 if(cltype31 >= var_listnode7->type->table_size) {
1720 var30 = 0;
1721 } else {
1722 var30 = var_listnode7->type->type_table[cltype31] == idtype32;
1723 }
1724 }
1725 if (!var30) {
1726 fprintf(stderr, "Runtime error: %s", "Assert failed");
1727 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10809);
1728 show_backtrace(1);
1729 }
1730 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction231>*/;
1731 var_listnode8 = var33;
1732 var34 = NEW_array__Array(&type_array__Arraykernel__Object);
1733 ((void (*)(val*))(var34->class->vft[COLOR_array__Array__init]))(var34) /* init on <var34:Array[Object]>*/;
1734 var_listnode13 = var34;
1735 var_listnode12 = var_nodearraylist10;
1736 /* <var_listnode12:nullable Object> isa Array[Object] */
1737 cltype36 = type_array__Arraykernel__Object.color;
1738 idtype37 = type_array__Arraykernel__Object.id;
1739 if(var_listnode12 == NULL) {
1740 var35 = 0;
1741 } else {
1742 if(cltype36 >= var_listnode12->type->table_size) {
1743 var35 = 0;
1744 } else {
1745 var35 = var_listnode12->type->type_table[cltype36] == idtype37;
1746 }
1747 }
1748 if (!var35) {
1749 fprintf(stderr, "Runtime error: %s", "Assert failed");
1750 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10813);
1751 show_backtrace(1);
1752 }
1753 var38 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction231>*/;
1754 var_listnode13 = var38;
1755 var39 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
1756 var40 = NULL;
1757 var41 = NULL;
1758 var42 = NULL;
1759 ((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>*/;
1760 var_pannotationsnode9 = var39;
1761 var_listnode17 = var_nodearraylist11;
1762 /* <var_listnode17:nullable Object> isa Array[Object] */
1763 cltype44 = type_array__Arraykernel__Object.color;
1764 idtype45 = type_array__Arraykernel__Object.id;
1765 if(var_listnode17 == NULL) {
1766 var43 = 0;
1767 } else {
1768 if(cltype44 >= var_listnode17->type->table_size) {
1769 var43 = 0;
1770 } else {
1771 var43 = var_listnode17->type->type_table[cltype44] == idtype45;
1772 }
1773 }
1774 if (!var43) {
1775 fprintf(stderr, "Runtime error: %s", "Assert failed");
1776 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10822);
1777 show_backtrace(1);
1778 }
1779 var46 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction231>*/;
1780 var_listnode18 = var46;
1781 var_tkwendnode19 = var_nodearraylist13;
1782 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
1783 cltype48 = type_nullable_parser_nodes__TKwend.color;
1784 idtype49 = type_nullable_parser_nodes__TKwend.id;
1785 if(var_tkwendnode19 == NULL) {
1786 var47 = 1;
1787 } else {
1788 if(cltype48 >= var_tkwendnode19->type->table_size) {
1789 var47 = 0;
1790 } else {
1791 var47 = var_tkwendnode19->type->type_table[cltype48] == idtype49;
1792 }
1793 }
1794 if (!var47) {
1795 fprintf(stderr, "Runtime error: %s", "Assert failed");
1796 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10825);
1797 show_backtrace(1);
1798 }
1799 var50 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1800 var51 = NULL;
1801 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var50->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var50, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var51, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var50:AStdClassdef>*/;
1802 var_pclassdefnode1 = var50;
1803 var_node_list = var_pclassdefnode1;
1804 var52 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction231> */
1805 var53 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var52) /* go_to on <var_p:Parser>*/;
1806 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var53, var_node_list) /* push on <var_p:Parser>*/;
1807 RET_LABEL:;
1808 }
1809 /* method parser#ReduceAction231#action for (self: Object, Parser) */
1810 void VIRTUAL_parser__ReduceAction231__action(val* self, val* p0) {
1811 parser__ReduceAction231__action(self, p0);
1812 RET_LABEL:;
1813 }
1814 /* method parser#ReduceAction233#action for (self: ReduceAction233, Parser) */
1815 void parser__ReduceAction233__action(val* self, val* p0) {
1816 val* var_p /* var p: Parser */;
1817 val* var /* : null */;
1818 val* var_node_list /* var node_list: nullable Object */;
1819 val* var1 /* : nullable Object */;
1820 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1821 val* var2 /* : nullable Object */;
1822 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1823 val* var3 /* : nullable Object */;
1824 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1825 val* var4 /* : nullable Object */;
1826 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1827 val* var5 /* : nullable Object */;
1828 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1829 val* var6 /* : nullable Object */;
1830 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1831 val* var7 /* : nullable Object */;
1832 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1833 val* var8 /* : nullable Object */;
1834 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1835 val* var9 /* : nullable Object */;
1836 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1837 val* var10 /* : Array[Object] */;
1838 val* var_listnode7 /* var listnode7: Array[Object] */;
1839 val* var11 /* : Array[Object] */;
1840 val* var_listnode10 /* var listnode10: Array[Object] */;
1841 val* var12 /* : Array[Object] */;
1842 val* var_listnode12 /* var listnode12: Array[Object] */;
1843 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1844 short int var13 /* : Bool */;
1845 int cltype;
1846 int idtype;
1847 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1848 short int var14 /* : Bool */;
1849 int cltype15;
1850 int idtype16;
1851 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1852 short int var17 /* : Bool */;
1853 int cltype18;
1854 int idtype19;
1855 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1856 short int var20 /* : Bool */;
1857 int cltype21;
1858 int idtype22;
1859 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
1860 short int var23 /* : Bool */;
1861 int cltype24;
1862 int idtype25;
1863 val* var_listnode11 /* var listnode11: nullable Object */;
1864 short int var26 /* : Bool */;
1865 int cltype27;
1866 int idtype28;
1867 val* var29 /* : Array[Object] */;
1868 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
1869 short int var30 /* : Bool */;
1870 int cltype31;
1871 int idtype32;
1872 val* var33 /* : AStdClassdef */;
1873 val* var34 /* : null */;
1874 val* var35 /* : null */;
1875 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1876 long var36 /* : Int */;
1877 long var37 /* : Int */;
1878 var_p = p0;
1879 var = NULL;
1880 var_node_list = var;
1881 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1882 var_nodearraylist9 = var1;
1883 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1884 var_nodearraylist8 = var2;
1885 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1886 var_nodearraylist7 = var3;
1887 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1888 var_nodearraylist6 = var4;
1889 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1890 var_nodearraylist5 = var5;
1891 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1892 var_nodearraylist4 = var6;
1893 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1894 var_nodearraylist3 = var7;
1895 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1896 var_nodearraylist2 = var8;
1897 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1898 var_nodearraylist1 = var9;
1899 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
1900 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
1901 var_listnode7 = var10;
1902 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
1903 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
1904 var_listnode10 = var11;
1905 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
1906 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
1907 var_listnode12 = var12;
1908 var_pdocnode2 = var_nodearraylist1;
1909 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1910 cltype = type_nullable_parser_nodes__ADoc.color;
1911 idtype = type_nullable_parser_nodes__ADoc.id;
1912 if(var_pdocnode2 == NULL) {
1913 var13 = 1;
1914 } else {
1915 if(cltype >= var_pdocnode2->type->table_size) {
1916 var13 = 0;
1917 } else {
1918 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
1919 }
1920 }
1921 if (!var13) {
1922 fprintf(stderr, "Runtime error: %s", "Assert failed");
1923 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10861);
1924 show_backtrace(1);
1925 }
1926 var_pvisibilitynode4 = var_nodearraylist2;
1927 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1928 cltype15 = type_nullable_parser_nodes__AVisibility.color;
1929 idtype16 = type_nullable_parser_nodes__AVisibility.id;
1930 if(var_pvisibilitynode4 == NULL) {
1931 var14 = 1;
1932 } else {
1933 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
1934 var14 = 0;
1935 } else {
1936 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
1937 }
1938 }
1939 if (!var14) {
1940 fprintf(stderr, "Runtime error: %s", "Assert failed");
1941 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10863);
1942 show_backtrace(1);
1943 }
1944 var_pclasskindnode5 = var_nodearraylist3;
1945 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1946 cltype18 = type_nullable_parser_nodes__AClasskind.color;
1947 idtype19 = type_nullable_parser_nodes__AClasskind.id;
1948 if(var_pclasskindnode5 == NULL) {
1949 var17 = 1;
1950 } else {
1951 if(cltype18 >= var_pclasskindnode5->type->table_size) {
1952 var17 = 0;
1953 } else {
1954 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
1955 }
1956 }
1957 if (!var17) {
1958 fprintf(stderr, "Runtime error: %s", "Assert failed");
1959 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10865);
1960 show_backtrace(1);
1961 }
1962 var_tclassidnode6 = var_nodearraylist5;
1963 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1964 cltype21 = type_nullable_parser_nodes__TClassid.color;
1965 idtype22 = type_nullable_parser_nodes__TClassid.id;
1966 if(var_tclassidnode6 == NULL) {
1967 var20 = 1;
1968 } else {
1969 if(cltype21 >= var_tclassidnode6->type->table_size) {
1970 var20 = 0;
1971 } else {
1972 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
1973 }
1974 }
1975 if (!var20) {
1976 fprintf(stderr, "Runtime error: %s", "Assert failed");
1977 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10867);
1978 show_backtrace(1);
1979 }
1980 var_pexterncodeblocknode9 = var_nodearraylist6;
1981 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
1982 cltype24 = type_nullable_parser_nodes__AExternCodeBlock.color;
1983 idtype25 = type_nullable_parser_nodes__AExternCodeBlock.id;
1984 if(var_pexterncodeblocknode9 == NULL) {
1985 var23 = 1;
1986 } else {
1987 if(cltype24 >= var_pexterncodeblocknode9->type->table_size) {
1988 var23 = 0;
1989 } else {
1990 var23 = var_pexterncodeblocknode9->type->type_table[cltype24] == idtype25;
1991 }
1992 }
1993 if (!var23) {
1994 fprintf(stderr, "Runtime error: %s", "Assert failed");
1995 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10869);
1996 show_backtrace(1);
1997 }
1998 var_listnode11 = var_nodearraylist7;
1999 /* <var_listnode11:nullable Object> isa Array[Object] */
2000 cltype27 = type_array__Arraykernel__Object.color;
2001 idtype28 = type_array__Arraykernel__Object.id;
2002 if(var_listnode11 == NULL) {
2003 var26 = 0;
2004 } else {
2005 if(cltype27 >= var_listnode11->type->table_size) {
2006 var26 = 0;
2007 } else {
2008 var26 = var_listnode11->type->type_table[cltype27] == idtype28;
2009 }
2010 }
2011 if (!var26) {
2012 fprintf(stderr, "Runtime error: %s", "Assert failed");
2013 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10871);
2014 show_backtrace(1);
2015 }
2016 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction233>*/;
2017 var_listnode12 = var29;
2018 var_tkwendnode13 = var_nodearraylist9;
2019 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
2020 cltype31 = type_nullable_parser_nodes__TKwend.color;
2021 idtype32 = type_nullable_parser_nodes__TKwend.id;
2022 if(var_tkwendnode13 == NULL) {
2023 var30 = 1;
2024 } else {
2025 if(cltype31 >= var_tkwendnode13->type->table_size) {
2026 var30 = 0;
2027 } else {
2028 var30 = var_tkwendnode13->type->type_table[cltype31] == idtype32;
2029 }
2030 }
2031 if (!var30) {
2032 fprintf(stderr, "Runtime error: %s", "Assert failed");
2033 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10874);
2034 show_backtrace(1);
2035 }
2036 var33 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2037 var34 = NULL;
2038 var35 = NULL;
2039 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var33, var_pdocnode2, var34, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var35, var_pexterncodeblocknode9, var_listnode10, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var33:AStdClassdef>*/;
2040 var_pclassdefnode1 = var33;
2041 var_node_list = var_pclassdefnode1;
2042 var36 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction233> */
2043 var37 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var36) /* go_to on <var_p:Parser>*/;
2044 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var37, var_node_list) /* push on <var_p:Parser>*/;
2045 RET_LABEL:;
2046 }
2047 /* method parser#ReduceAction233#action for (self: Object, Parser) */
2048 void VIRTUAL_parser__ReduceAction233__action(val* self, val* p0) {
2049 parser__ReduceAction233__action(self, p0);
2050 RET_LABEL:;
2051 }
2052 /* method parser#ReduceAction234#action for (self: ReduceAction234, Parser) */
2053 void parser__ReduceAction234__action(val* self, val* p0) {
2054 val* var_p /* var p: Parser */;
2055 val* var /* : null */;
2056 val* var_node_list /* var node_list: nullable Object */;
2057 val* var1 /* : nullable Object */;
2058 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2059 val* var2 /* : nullable Object */;
2060 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2061 val* var3 /* : nullable Object */;
2062 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2063 val* var4 /* : nullable Object */;
2064 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2065 val* var5 /* : nullable Object */;
2066 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2067 val* var6 /* : nullable Object */;
2068 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2069 val* var7 /* : nullable Object */;
2070 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2071 val* var8 /* : nullable Object */;
2072 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2073 val* var9 /* : nullable Object */;
2074 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2075 val* var10 /* : nullable Object */;
2076 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2077 val* var11 /* : Array[Object] */;
2078 val* var_listnode7 /* var listnode7: Array[Object] */;
2079 val* var12 /* : Array[Object] */;
2080 val* var_listnode10 /* var listnode10: Array[Object] */;
2081 val* var13 /* : Array[Object] */;
2082 val* var_listnode12 /* var listnode12: Array[Object] */;
2083 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2084 short int var14 /* : Bool */;
2085 int cltype;
2086 int idtype;
2087 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
2088 short int var15 /* : Bool */;
2089 int cltype16;
2090 int idtype17;
2091 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2092 short int var18 /* : Bool */;
2093 int cltype19;
2094 int idtype20;
2095 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2096 short int var21 /* : Bool */;
2097 int cltype22;
2098 int idtype23;
2099 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2100 short int var24 /* : Bool */;
2101 int cltype25;
2102 int idtype26;
2103 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
2104 short int var27 /* : Bool */;
2105 int cltype28;
2106 int idtype29;
2107 val* var_listnode11 /* var listnode11: nullable Object */;
2108 short int var30 /* : Bool */;
2109 int cltype31;
2110 int idtype32;
2111 val* var33 /* : Array[Object] */;
2112 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
2113 short int var34 /* : Bool */;
2114 int cltype35;
2115 int idtype36;
2116 val* var37 /* : AStdClassdef */;
2117 val* var38 /* : null */;
2118 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2119 long var39 /* : Int */;
2120 long var40 /* : Int */;
2121 var_p = p0;
2122 var = NULL;
2123 var_node_list = var;
2124 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2125 var_nodearraylist10 = var1;
2126 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2127 var_nodearraylist9 = var2;
2128 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2129 var_nodearraylist8 = var3;
2130 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2131 var_nodearraylist7 = var4;
2132 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2133 var_nodearraylist6 = var5;
2134 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2135 var_nodearraylist5 = var6;
2136 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2137 var_nodearraylist4 = var7;
2138 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2139 var_nodearraylist3 = var8;
2140 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2141 var_nodearraylist2 = var9;
2142 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2143 var_nodearraylist1 = var10;
2144 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
2145 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
2146 var_listnode7 = var11;
2147 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
2148 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
2149 var_listnode10 = var12;
2150 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
2151 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
2152 var_listnode12 = var13;
2153 var_pdocnode2 = var_nodearraylist1;
2154 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2155 cltype = type_nullable_parser_nodes__ADoc.color;
2156 idtype = type_nullable_parser_nodes__ADoc.id;
2157 if(var_pdocnode2 == NULL) {
2158 var14 = 1;
2159 } else {
2160 if(cltype >= var_pdocnode2->type->table_size) {
2161 var14 = 0;
2162 } else {
2163 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
2164 }
2165 }
2166 if (!var14) {
2167 fprintf(stderr, "Runtime error: %s", "Assert failed");
2168 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10911);
2169 show_backtrace(1);
2170 }
2171 var_tkwredefnode3 = var_nodearraylist2;
2172 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2173 cltype16 = type_nullable_parser_nodes__TKwredef.color;
2174 idtype17 = type_nullable_parser_nodes__TKwredef.id;
2175 if(var_tkwredefnode3 == NULL) {
2176 var15 = 1;
2177 } else {
2178 if(cltype16 >= var_tkwredefnode3->type->table_size) {
2179 var15 = 0;
2180 } else {
2181 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
2182 }
2183 }
2184 if (!var15) {
2185 fprintf(stderr, "Runtime error: %s", "Assert failed");
2186 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10913);
2187 show_backtrace(1);
2188 }
2189 var_pvisibilitynode4 = var_nodearraylist3;
2190 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2191 cltype19 = type_nullable_parser_nodes__AVisibility.color;
2192 idtype20 = type_nullable_parser_nodes__AVisibility.id;
2193 if(var_pvisibilitynode4 == NULL) {
2194 var18 = 1;
2195 } else {
2196 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
2197 var18 = 0;
2198 } else {
2199 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
2200 }
2201 }
2202 if (!var18) {
2203 fprintf(stderr, "Runtime error: %s", "Assert failed");
2204 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10915);
2205 show_backtrace(1);
2206 }
2207 var_pclasskindnode5 = var_nodearraylist4;
2208 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2209 cltype22 = type_nullable_parser_nodes__AClasskind.color;
2210 idtype23 = type_nullable_parser_nodes__AClasskind.id;
2211 if(var_pclasskindnode5 == NULL) {
2212 var21 = 1;
2213 } else {
2214 if(cltype22 >= var_pclasskindnode5->type->table_size) {
2215 var21 = 0;
2216 } else {
2217 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
2218 }
2219 }
2220 if (!var21) {
2221 fprintf(stderr, "Runtime error: %s", "Assert failed");
2222 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10917);
2223 show_backtrace(1);
2224 }
2225 var_tclassidnode6 = var_nodearraylist6;
2226 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2227 cltype25 = type_nullable_parser_nodes__TClassid.color;
2228 idtype26 = type_nullable_parser_nodes__TClassid.id;
2229 if(var_tclassidnode6 == NULL) {
2230 var24 = 1;
2231 } else {
2232 if(cltype25 >= var_tclassidnode6->type->table_size) {
2233 var24 = 0;
2234 } else {
2235 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
2236 }
2237 }
2238 if (!var24) {
2239 fprintf(stderr, "Runtime error: %s", "Assert failed");
2240 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10919);
2241 show_backtrace(1);
2242 }
2243 var_pexterncodeblocknode9 = var_nodearraylist7;
2244 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
2245 cltype28 = type_nullable_parser_nodes__AExternCodeBlock.color;
2246 idtype29 = type_nullable_parser_nodes__AExternCodeBlock.id;
2247 if(var_pexterncodeblocknode9 == NULL) {
2248 var27 = 1;
2249 } else {
2250 if(cltype28 >= var_pexterncodeblocknode9->type->table_size) {
2251 var27 = 0;
2252 } else {
2253 var27 = var_pexterncodeblocknode9->type->type_table[cltype28] == idtype29;
2254 }
2255 }
2256 if (!var27) {
2257 fprintf(stderr, "Runtime error: %s", "Assert failed");
2258 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10921);
2259 show_backtrace(1);
2260 }
2261 var_listnode11 = var_nodearraylist8;
2262 /* <var_listnode11:nullable Object> isa Array[Object] */
2263 cltype31 = type_array__Arraykernel__Object.color;
2264 idtype32 = type_array__Arraykernel__Object.id;
2265 if(var_listnode11 == NULL) {
2266 var30 = 0;
2267 } else {
2268 if(cltype31 >= var_listnode11->type->table_size) {
2269 var30 = 0;
2270 } else {
2271 var30 = var_listnode11->type->type_table[cltype31] == idtype32;
2272 }
2273 }
2274 if (!var30) {
2275 fprintf(stderr, "Runtime error: %s", "Assert failed");
2276 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10923);
2277 show_backtrace(1);
2278 }
2279 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction234>*/;
2280 var_listnode12 = var33;
2281 var_tkwendnode13 = var_nodearraylist10;
2282 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
2283 cltype35 = type_nullable_parser_nodes__TKwend.color;
2284 idtype36 = type_nullable_parser_nodes__TKwend.id;
2285 if(var_tkwendnode13 == NULL) {
2286 var34 = 1;
2287 } else {
2288 if(cltype35 >= var_tkwendnode13->type->table_size) {
2289 var34 = 0;
2290 } else {
2291 var34 = var_tkwendnode13->type->type_table[cltype35] == idtype36;
2292 }
2293 }
2294 if (!var34) {
2295 fprintf(stderr, "Runtime error: %s", "Assert failed");
2296 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10926);
2297 show_backtrace(1);
2298 }
2299 var37 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2300 var38 = NULL;
2301 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var37->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var37, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var38, var_pexterncodeblocknode9, var_listnode10, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var37:AStdClassdef>*/;
2302 var_pclassdefnode1 = var37;
2303 var_node_list = var_pclassdefnode1;
2304 var39 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction234> */
2305 var40 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var39) /* go_to on <var_p:Parser>*/;
2306 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var40, var_node_list) /* push on <var_p:Parser>*/;
2307 RET_LABEL:;
2308 }
2309 /* method parser#ReduceAction234#action for (self: Object, Parser) */
2310 void VIRTUAL_parser__ReduceAction234__action(val* self, val* p0) {
2311 parser__ReduceAction234__action(self, p0);
2312 RET_LABEL:;
2313 }
2314 /* method parser#ReduceAction235#action for (self: ReduceAction235, Parser) */
2315 void parser__ReduceAction235__action(val* self, val* p0) {
2316 val* var_p /* var p: Parser */;
2317 val* var /* : null */;
2318 val* var_node_list /* var node_list: nullable Object */;
2319 val* var1 /* : nullable Object */;
2320 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2321 val* var2 /* : nullable Object */;
2322 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2323 val* var3 /* : nullable Object */;
2324 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2325 val* var4 /* : nullable Object */;
2326 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2327 val* var5 /* : nullable Object */;
2328 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2329 val* var6 /* : nullable Object */;
2330 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2331 val* var7 /* : nullable Object */;
2332 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2333 val* var8 /* : nullable Object */;
2334 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2335 val* var9 /* : nullable Object */;
2336 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2337 val* var10 /* : nullable Object */;
2338 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2339 val* var11 /* : Array[Object] */;
2340 val* var_listnode7 /* var listnode7: Array[Object] */;
2341 val* var12 /* : Array[Object] */;
2342 val* var_listnode10 /* var listnode10: Array[Object] */;
2343 val* var13 /* : Array[Object] */;
2344 val* var_listnode12 /* var listnode12: Array[Object] */;
2345 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2346 short int var14 /* : Bool */;
2347 int cltype;
2348 int idtype;
2349 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2350 short int var15 /* : Bool */;
2351 int cltype16;
2352 int idtype17;
2353 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2354 short int var18 /* : Bool */;
2355 int cltype19;
2356 int idtype20;
2357 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2358 short int var21 /* : Bool */;
2359 int cltype22;
2360 int idtype23;
2361 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
2362 short int var24 /* : Bool */;
2363 int cltype25;
2364 int idtype26;
2365 val* var_listnode11 /* var listnode11: nullable Object */;
2366 short int var27 /* : Bool */;
2367 int cltype28;
2368 int idtype29;
2369 val* var30 /* : Array[Object] */;
2370 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
2371 short int var31 /* : Bool */;
2372 int cltype32;
2373 int idtype33;
2374 val* var34 /* : AStdClassdef */;
2375 val* var35 /* : null */;
2376 val* var36 /* : null */;
2377 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2378 long var37 /* : Int */;
2379 long var38 /* : Int */;
2380 var_p = p0;
2381 var = NULL;
2382 var_node_list = var;
2383 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2384 var_nodearraylist10 = var1;
2385 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2386 var_nodearraylist9 = var2;
2387 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2388 var_nodearraylist8 = var3;
2389 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2390 var_nodearraylist7 = var4;
2391 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2392 var_nodearraylist6 = var5;
2393 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2394 var_nodearraylist5 = var6;
2395 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2396 var_nodearraylist4 = var7;
2397 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2398 var_nodearraylist3 = var8;
2399 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2400 var_nodearraylist2 = var9;
2401 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2402 var_nodearraylist1 = var10;
2403 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
2404 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
2405 var_listnode7 = var11;
2406 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
2407 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
2408 var_listnode10 = var12;
2409 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
2410 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
2411 var_listnode12 = var13;
2412 var_pdocnode2 = var_nodearraylist1;
2413 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2414 cltype = type_nullable_parser_nodes__ADoc.color;
2415 idtype = type_nullable_parser_nodes__ADoc.id;
2416 if(var_pdocnode2 == NULL) {
2417 var14 = 1;
2418 } else {
2419 if(cltype >= var_pdocnode2->type->table_size) {
2420 var14 = 0;
2421 } else {
2422 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
2423 }
2424 }
2425 if (!var14) {
2426 fprintf(stderr, "Runtime error: %s", "Assert failed");
2427 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10963);
2428 show_backtrace(1);
2429 }
2430 var_pvisibilitynode4 = var_nodearraylist2;
2431 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2432 cltype16 = type_nullable_parser_nodes__AVisibility.color;
2433 idtype17 = type_nullable_parser_nodes__AVisibility.id;
2434 if(var_pvisibilitynode4 == NULL) {
2435 var15 = 1;
2436 } else {
2437 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
2438 var15 = 0;
2439 } else {
2440 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
2441 }
2442 }
2443 if (!var15) {
2444 fprintf(stderr, "Runtime error: %s", "Assert failed");
2445 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10965);
2446 show_backtrace(1);
2447 }
2448 var_pclasskindnode5 = var_nodearraylist3;
2449 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2450 cltype19 = type_nullable_parser_nodes__AClasskind.color;
2451 idtype20 = type_nullable_parser_nodes__AClasskind.id;
2452 if(var_pclasskindnode5 == NULL) {
2453 var18 = 1;
2454 } else {
2455 if(cltype19 >= var_pclasskindnode5->type->table_size) {
2456 var18 = 0;
2457 } else {
2458 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
2459 }
2460 }
2461 if (!var18) {
2462 fprintf(stderr, "Runtime error: %s", "Assert failed");
2463 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10967);
2464 show_backtrace(1);
2465 }
2466 var_tclassidnode6 = var_nodearraylist6;
2467 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2468 cltype22 = type_nullable_parser_nodes__TClassid.color;
2469 idtype23 = type_nullable_parser_nodes__TClassid.id;
2470 if(var_tclassidnode6 == NULL) {
2471 var21 = 1;
2472 } else {
2473 if(cltype22 >= var_tclassidnode6->type->table_size) {
2474 var21 = 0;
2475 } else {
2476 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
2477 }
2478 }
2479 if (!var21) {
2480 fprintf(stderr, "Runtime error: %s", "Assert failed");
2481 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10969);
2482 show_backtrace(1);
2483 }
2484 var_pexterncodeblocknode9 = var_nodearraylist7;
2485 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
2486 cltype25 = type_nullable_parser_nodes__AExternCodeBlock.color;
2487 idtype26 = type_nullable_parser_nodes__AExternCodeBlock.id;
2488 if(var_pexterncodeblocknode9 == NULL) {
2489 var24 = 1;
2490 } else {
2491 if(cltype25 >= var_pexterncodeblocknode9->type->table_size) {
2492 var24 = 0;
2493 } else {
2494 var24 = var_pexterncodeblocknode9->type->type_table[cltype25] == idtype26;
2495 }
2496 }
2497 if (!var24) {
2498 fprintf(stderr, "Runtime error: %s", "Assert failed");
2499 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10971);
2500 show_backtrace(1);
2501 }
2502 var_listnode11 = var_nodearraylist8;
2503 /* <var_listnode11:nullable Object> isa Array[Object] */
2504 cltype28 = type_array__Arraykernel__Object.color;
2505 idtype29 = type_array__Arraykernel__Object.id;
2506 if(var_listnode11 == NULL) {
2507 var27 = 0;
2508 } else {
2509 if(cltype28 >= var_listnode11->type->table_size) {
2510 var27 = 0;
2511 } else {
2512 var27 = var_listnode11->type->type_table[cltype28] == idtype29;
2513 }
2514 }
2515 if (!var27) {
2516 fprintf(stderr, "Runtime error: %s", "Assert failed");
2517 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10973);
2518 show_backtrace(1);
2519 }
2520 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction235>*/;
2521 var_listnode12 = var30;
2522 var_tkwendnode13 = var_nodearraylist10;
2523 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
2524 cltype32 = type_nullable_parser_nodes__TKwend.color;
2525 idtype33 = type_nullable_parser_nodes__TKwend.id;
2526 if(var_tkwendnode13 == NULL) {
2527 var31 = 1;
2528 } else {
2529 if(cltype32 >= var_tkwendnode13->type->table_size) {
2530 var31 = 0;
2531 } else {
2532 var31 = var_tkwendnode13->type->type_table[cltype32] == idtype33;
2533 }
2534 }
2535 if (!var31) {
2536 fprintf(stderr, "Runtime error: %s", "Assert failed");
2537 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 10976);
2538 show_backtrace(1);
2539 }
2540 var34 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2541 var35 = NULL;
2542 var36 = NULL;
2543 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var34->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var34, var_pdocnode2, var35, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var36, var_pexterncodeblocknode9, var_listnode10, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var34:AStdClassdef>*/;
2544 var_pclassdefnode1 = var34;
2545 var_node_list = var_pclassdefnode1;
2546 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction235> */
2547 var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on <var_p:Parser>*/;
2548 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on <var_p:Parser>*/;
2549 RET_LABEL:;
2550 }
2551 /* method parser#ReduceAction235#action for (self: Object, Parser) */
2552 void VIRTUAL_parser__ReduceAction235__action(val* self, val* p0) {
2553 parser__ReduceAction235__action(self, p0);
2554 RET_LABEL:;
2555 }
2556 /* method parser#ReduceAction236#action for (self: ReduceAction236, Parser) */
2557 void parser__ReduceAction236__action(val* self, val* p0) {
2558 val* var_p /* var p: Parser */;
2559 val* var /* : null */;
2560 val* var_node_list /* var node_list: nullable Object */;
2561 val* var1 /* : nullable Object */;
2562 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
2563 val* var2 /* : nullable Object */;
2564 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2565 val* var3 /* : nullable Object */;
2566 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2567 val* var4 /* : nullable Object */;
2568 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2569 val* var5 /* : nullable Object */;
2570 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2571 val* var6 /* : nullable Object */;
2572 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2573 val* var7 /* : nullable Object */;
2574 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2575 val* var8 /* : nullable Object */;
2576 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2577 val* var9 /* : nullable Object */;
2578 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2579 val* var10 /* : nullable Object */;
2580 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2581 val* var11 /* : nullable Object */;
2582 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2583 val* var12 /* : Array[Object] */;
2584 val* var_listnode7 /* var listnode7: Array[Object] */;
2585 val* var13 /* : Array[Object] */;
2586 val* var_listnode10 /* var listnode10: Array[Object] */;
2587 val* var14 /* : Array[Object] */;
2588 val* var_listnode12 /* var listnode12: Array[Object] */;
2589 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2590 short int var15 /* : Bool */;
2591 int cltype;
2592 int idtype;
2593 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2594 short int var16 /* : Bool */;
2595 int cltype17;
2596 int idtype18;
2597 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2598 short int var19 /* : Bool */;
2599 int cltype20;
2600 int idtype21;
2601 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2602 short int var22 /* : Bool */;
2603 int cltype23;
2604 int idtype24;
2605 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
2606 short int var25 /* : Bool */;
2607 int cltype26;
2608 int idtype27;
2609 val* var_listnode11 /* var listnode11: nullable Object */;
2610 short int var28 /* : Bool */;
2611 int cltype29;
2612 int idtype30;
2613 val* var31 /* : Array[Object] */;
2614 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
2615 short int var32 /* : Bool */;
2616 int cltype33;
2617 int idtype34;
2618 val* var35 /* : AStdClassdef */;
2619 val* var36 /* : null */;
2620 val* var37 /* : null */;
2621 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2622 long var38 /* : Int */;
2623 long var39 /* : Int */;
2624 var_p = p0;
2625 var = NULL;
2626 var_node_list = var;
2627 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2628 var_nodearraylist11 = var1;
2629 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2630 var_nodearraylist10 = var2;
2631 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2632 var_nodearraylist9 = var3;
2633 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2634 var_nodearraylist8 = var4;
2635 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2636 var_nodearraylist7 = var5;
2637 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2638 var_nodearraylist6 = var6;
2639 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2640 var_nodearraylist5 = var7;
2641 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2642 var_nodearraylist4 = var8;
2643 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2644 var_nodearraylist3 = var9;
2645 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2646 var_nodearraylist2 = var10;
2647 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2648 var_nodearraylist1 = var11;
2649 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
2650 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
2651 var_listnode7 = var12;
2652 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
2653 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
2654 var_listnode10 = var13;
2655 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
2656 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
2657 var_listnode12 = var14;
2658 var_pdocnode2 = var_nodearraylist1;
2659 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2660 cltype = type_nullable_parser_nodes__ADoc.color;
2661 idtype = type_nullable_parser_nodes__ADoc.id;
2662 if(var_pdocnode2 == NULL) {
2663 var15 = 1;
2664 } else {
2665 if(cltype >= var_pdocnode2->type->table_size) {
2666 var15 = 0;
2667 } else {
2668 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
2669 }
2670 }
2671 if (!var15) {
2672 fprintf(stderr, "Runtime error: %s", "Assert failed");
2673 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11014);
2674 show_backtrace(1);
2675 }
2676 var_pvisibilitynode4 = var_nodearraylist2;
2677 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2678 cltype17 = type_nullable_parser_nodes__AVisibility.color;
2679 idtype18 = type_nullable_parser_nodes__AVisibility.id;
2680 if(var_pvisibilitynode4 == NULL) {
2681 var16 = 1;
2682 } else {
2683 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
2684 var16 = 0;
2685 } else {
2686 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
2687 }
2688 }
2689 if (!var16) {
2690 fprintf(stderr, "Runtime error: %s", "Assert failed");
2691 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11016);
2692 show_backtrace(1);
2693 }
2694 var_pclasskindnode5 = var_nodearraylist3;
2695 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2696 cltype20 = type_nullable_parser_nodes__AClasskind.color;
2697 idtype21 = type_nullable_parser_nodes__AClasskind.id;
2698 if(var_pclasskindnode5 == NULL) {
2699 var19 = 1;
2700 } else {
2701 if(cltype20 >= var_pclasskindnode5->type->table_size) {
2702 var19 = 0;
2703 } else {
2704 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
2705 }
2706 }
2707 if (!var19) {
2708 fprintf(stderr, "Runtime error: %s", "Assert failed");
2709 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11018);
2710 show_backtrace(1);
2711 }
2712 var_tclassidnode6 = var_nodearraylist7;
2713 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2714 cltype23 = type_nullable_parser_nodes__TClassid.color;
2715 idtype24 = type_nullable_parser_nodes__TClassid.id;
2716 if(var_tclassidnode6 == NULL) {
2717 var22 = 1;
2718 } else {
2719 if(cltype23 >= var_tclassidnode6->type->table_size) {
2720 var22 = 0;
2721 } else {
2722 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
2723 }
2724 }
2725 if (!var22) {
2726 fprintf(stderr, "Runtime error: %s", "Assert failed");
2727 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11020);
2728 show_backtrace(1);
2729 }
2730 var_pexterncodeblocknode9 = var_nodearraylist8;
2731 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
2732 cltype26 = type_nullable_parser_nodes__AExternCodeBlock.color;
2733 idtype27 = type_nullable_parser_nodes__AExternCodeBlock.id;
2734 if(var_pexterncodeblocknode9 == NULL) {
2735 var25 = 1;
2736 } else {
2737 if(cltype26 >= var_pexterncodeblocknode9->type->table_size) {
2738 var25 = 0;
2739 } else {
2740 var25 = var_pexterncodeblocknode9->type->type_table[cltype26] == idtype27;
2741 }
2742 }
2743 if (!var25) {
2744 fprintf(stderr, "Runtime error: %s", "Assert failed");
2745 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11022);
2746 show_backtrace(1);
2747 }
2748 var_listnode11 = var_nodearraylist9;
2749 /* <var_listnode11:nullable Object> isa Array[Object] */
2750 cltype29 = type_array__Arraykernel__Object.color;
2751 idtype30 = type_array__Arraykernel__Object.id;
2752 if(var_listnode11 == NULL) {
2753 var28 = 0;
2754 } else {
2755 if(cltype29 >= var_listnode11->type->table_size) {
2756 var28 = 0;
2757 } else {
2758 var28 = var_listnode11->type->type_table[cltype29] == idtype30;
2759 }
2760 }
2761 if (!var28) {
2762 fprintf(stderr, "Runtime error: %s", "Assert failed");
2763 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11024);
2764 show_backtrace(1);
2765 }
2766 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction236>*/;
2767 var_listnode12 = var31;
2768 var_tkwendnode13 = var_nodearraylist11;
2769 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
2770 cltype33 = type_nullable_parser_nodes__TKwend.color;
2771 idtype34 = type_nullable_parser_nodes__TKwend.id;
2772 if(var_tkwendnode13 == NULL) {
2773 var32 = 1;
2774 } else {
2775 if(cltype33 >= var_tkwendnode13->type->table_size) {
2776 var32 = 0;
2777 } else {
2778 var32 = var_tkwendnode13->type->type_table[cltype33] == idtype34;
2779 }
2780 }
2781 if (!var32) {
2782 fprintf(stderr, "Runtime error: %s", "Assert failed");
2783 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11027);
2784 show_backtrace(1);
2785 }
2786 var35 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2787 var36 = NULL;
2788 var37 = NULL;
2789 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var35->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var35, var_pdocnode2, var36, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var37, var_pexterncodeblocknode9, var_listnode10, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var35:AStdClassdef>*/;
2790 var_pclassdefnode1 = var35;
2791 var_node_list = var_pclassdefnode1;
2792 var38 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction236> */
2793 var39 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var38) /* go_to on <var_p:Parser>*/;
2794 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var39, var_node_list) /* push on <var_p:Parser>*/;
2795 RET_LABEL:;
2796 }
2797 /* method parser#ReduceAction236#action for (self: Object, Parser) */
2798 void VIRTUAL_parser__ReduceAction236__action(val* self, val* p0) {
2799 parser__ReduceAction236__action(self, p0);
2800 RET_LABEL:;
2801 }
2802 /* method parser#ReduceAction238#action for (self: ReduceAction238, Parser) */
2803 void parser__ReduceAction238__action(val* self, val* p0) {
2804 val* var_p /* var p: Parser */;
2805 val* var /* : null */;
2806 val* var_node_list /* var node_list: nullable Object */;
2807 val* var1 /* : nullable Object */;
2808 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
2809 val* var2 /* : nullable Object */;
2810 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2811 val* var3 /* : nullable Object */;
2812 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2813 val* var4 /* : nullable Object */;
2814 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2815 val* var5 /* : nullable Object */;
2816 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2817 val* var6 /* : nullable Object */;
2818 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2819 val* var7 /* : nullable Object */;
2820 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2821 val* var8 /* : nullable Object */;
2822 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2823 val* var9 /* : nullable Object */;
2824 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2825 val* var10 /* : nullable Object */;
2826 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2827 val* var11 /* : nullable Object */;
2828 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2829 val* var12 /* : Array[Object] */;
2830 val* var_listnode7 /* var listnode7: Array[Object] */;
2831 val* var13 /* : Array[Object] */;
2832 val* var_listnode10 /* var listnode10: Array[Object] */;
2833 val* var14 /* : Array[Object] */;
2834 val* var_listnode12 /* var listnode12: Array[Object] */;
2835 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2836 short int var15 /* : Bool */;
2837 int cltype;
2838 int idtype;
2839 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
2840 short int var16 /* : Bool */;
2841 int cltype17;
2842 int idtype18;
2843 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2844 short int var19 /* : Bool */;
2845 int cltype20;
2846 int idtype21;
2847 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2848 short int var22 /* : Bool */;
2849 int cltype23;
2850 int idtype24;
2851 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2852 short int var25 /* : Bool */;
2853 int cltype26;
2854 int idtype27;
2855 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
2856 short int var28 /* : Bool */;
2857 int cltype29;
2858 int idtype30;
2859 val* var_listnode11 /* var listnode11: nullable Object */;
2860 short int var31 /* : Bool */;
2861 int cltype32;
2862 int idtype33;
2863 val* var34 /* : Array[Object] */;
2864 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
2865 short int var35 /* : Bool */;
2866 int cltype36;
2867 int idtype37;
2868 val* var38 /* : AStdClassdef */;
2869 val* var39 /* : null */;
2870 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2871 long var40 /* : Int */;
2872 long var41 /* : Int */;
2873 var_p = p0;
2874 var = NULL;
2875 var_node_list = var;
2876 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2877 var_nodearraylist11 = var1;
2878 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2879 var_nodearraylist10 = var2;
2880 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2881 var_nodearraylist9 = var3;
2882 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2883 var_nodearraylist8 = var4;
2884 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2885 var_nodearraylist7 = var5;
2886 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2887 var_nodearraylist6 = var6;
2888 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2889 var_nodearraylist5 = var7;
2890 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2891 var_nodearraylist4 = var8;
2892 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2893 var_nodearraylist3 = var9;
2894 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2895 var_nodearraylist2 = var10;
2896 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2897 var_nodearraylist1 = var11;
2898 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
2899 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
2900 var_listnode7 = var12;
2901 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
2902 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
2903 var_listnode10 = var13;
2904 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
2905 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
2906 var_listnode12 = var14;
2907 var_pdocnode2 = var_nodearraylist1;
2908 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2909 cltype = type_nullable_parser_nodes__ADoc.color;
2910 idtype = type_nullable_parser_nodes__ADoc.id;
2911 if(var_pdocnode2 == NULL) {
2912 var15 = 1;
2913 } else {
2914 if(cltype >= var_pdocnode2->type->table_size) {
2915 var15 = 0;
2916 } else {
2917 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
2918 }
2919 }
2920 if (!var15) {
2921 fprintf(stderr, "Runtime error: %s", "Assert failed");
2922 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11065);
2923 show_backtrace(1);
2924 }
2925 var_tkwredefnode3 = var_nodearraylist2;
2926 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2927 cltype17 = type_nullable_parser_nodes__TKwredef.color;
2928 idtype18 = type_nullable_parser_nodes__TKwredef.id;
2929 if(var_tkwredefnode3 == NULL) {
2930 var16 = 1;
2931 } else {
2932 if(cltype17 >= var_tkwredefnode3->type->table_size) {
2933 var16 = 0;
2934 } else {
2935 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
2936 }
2937 }
2938 if (!var16) {
2939 fprintf(stderr, "Runtime error: %s", "Assert failed");
2940 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11067);
2941 show_backtrace(1);
2942 }
2943 var_pvisibilitynode4 = var_nodearraylist3;
2944 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2945 cltype20 = type_nullable_parser_nodes__AVisibility.color;
2946 idtype21 = type_nullable_parser_nodes__AVisibility.id;
2947 if(var_pvisibilitynode4 == NULL) {
2948 var19 = 1;
2949 } else {
2950 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
2951 var19 = 0;
2952 } else {
2953 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
2954 }
2955 }
2956 if (!var19) {
2957 fprintf(stderr, "Runtime error: %s", "Assert failed");
2958 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11069);
2959 show_backtrace(1);
2960 }
2961 var_pclasskindnode5 = var_nodearraylist4;
2962 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2963 cltype23 = type_nullable_parser_nodes__AClasskind.color;
2964 idtype24 = type_nullable_parser_nodes__AClasskind.id;
2965 if(var_pclasskindnode5 == NULL) {
2966 var22 = 1;
2967 } else {
2968 if(cltype23 >= var_pclasskindnode5->type->table_size) {
2969 var22 = 0;
2970 } else {
2971 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
2972 }
2973 }
2974 if (!var22) {
2975 fprintf(stderr, "Runtime error: %s", "Assert failed");
2976 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11071);
2977 show_backtrace(1);
2978 }
2979 var_tclassidnode6 = var_nodearraylist7;
2980 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2981 cltype26 = type_nullable_parser_nodes__TClassid.color;
2982 idtype27 = type_nullable_parser_nodes__TClassid.id;
2983 if(var_tclassidnode6 == NULL) {
2984 var25 = 1;
2985 } else {
2986 if(cltype26 >= var_tclassidnode6->type->table_size) {
2987 var25 = 0;
2988 } else {
2989 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
2990 }
2991 }
2992 if (!var25) {
2993 fprintf(stderr, "Runtime error: %s", "Assert failed");
2994 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11073);
2995 show_backtrace(1);
2996 }
2997 var_pexterncodeblocknode9 = var_nodearraylist8;
2998 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
2999 cltype29 = type_nullable_parser_nodes__AExternCodeBlock.color;
3000 idtype30 = type_nullable_parser_nodes__AExternCodeBlock.id;
3001 if(var_pexterncodeblocknode9 == NULL) {
3002 var28 = 1;
3003 } else {
3004 if(cltype29 >= var_pexterncodeblocknode9->type->table_size) {
3005 var28 = 0;
3006 } else {
3007 var28 = var_pexterncodeblocknode9->type->type_table[cltype29] == idtype30;
3008 }
3009 }
3010 if (!var28) {
3011 fprintf(stderr, "Runtime error: %s", "Assert failed");
3012 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11075);
3013 show_backtrace(1);
3014 }
3015 var_listnode11 = var_nodearraylist9;
3016 /* <var_listnode11:nullable Object> isa Array[Object] */
3017 cltype32 = type_array__Arraykernel__Object.color;
3018 idtype33 = type_array__Arraykernel__Object.id;
3019 if(var_listnode11 == NULL) {
3020 var31 = 0;
3021 } else {
3022 if(cltype32 >= var_listnode11->type->table_size) {
3023 var31 = 0;
3024 } else {
3025 var31 = var_listnode11->type->type_table[cltype32] == idtype33;
3026 }
3027 }
3028 if (!var31) {
3029 fprintf(stderr, "Runtime error: %s", "Assert failed");
3030 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11077);
3031 show_backtrace(1);
3032 }
3033 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction238>*/;
3034 var_listnode12 = var34;
3035 var_tkwendnode13 = var_nodearraylist11;
3036 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
3037 cltype36 = type_nullable_parser_nodes__TKwend.color;
3038 idtype37 = type_nullable_parser_nodes__TKwend.id;
3039 if(var_tkwendnode13 == NULL) {
3040 var35 = 1;
3041 } else {
3042 if(cltype36 >= var_tkwendnode13->type->table_size) {
3043 var35 = 0;
3044 } else {
3045 var35 = var_tkwendnode13->type->type_table[cltype36] == idtype37;
3046 }
3047 }
3048 if (!var35) {
3049 fprintf(stderr, "Runtime error: %s", "Assert failed");
3050 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11080);
3051 show_backtrace(1);
3052 }
3053 var38 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3054 var39 = NULL;
3055 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var38->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var38, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var39, var_pexterncodeblocknode9, var_listnode10, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var38:AStdClassdef>*/;
3056 var_pclassdefnode1 = var38;
3057 var_node_list = var_pclassdefnode1;
3058 var40 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction238> */
3059 var41 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var40) /* go_to on <var_p:Parser>*/;
3060 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var41, var_node_list) /* push on <var_p:Parser>*/;
3061 RET_LABEL:;
3062 }
3063 /* method parser#ReduceAction238#action for (self: Object, Parser) */
3064 void VIRTUAL_parser__ReduceAction238__action(val* self, val* p0) {
3065 parser__ReduceAction238__action(self, p0);
3066 RET_LABEL:;
3067 }
3068 /* method parser#ReduceAction239#action for (self: ReduceAction239, Parser) */
3069 void parser__ReduceAction239__action(val* self, val* p0) {
3070 val* var_p /* var p: Parser */;
3071 val* var /* : null */;
3072 val* var_node_list /* var node_list: nullable Object */;
3073 val* var1 /* : nullable Object */;
3074 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
3075 val* var2 /* : nullable Object */;
3076 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
3077 val* var3 /* : nullable Object */;
3078 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
3079 val* var4 /* : nullable Object */;
3080 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3081 val* var5 /* : nullable Object */;
3082 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3083 val* var6 /* : nullable Object */;
3084 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3085 val* var7 /* : nullable Object */;
3086 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3087 val* var8 /* : nullable Object */;
3088 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3089 val* var9 /* : nullable Object */;
3090 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3091 val* var10 /* : nullable Object */;
3092 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3093 val* var11 /* : nullable Object */;
3094 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3095 val* var12 /* : nullable Object */;
3096 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3097 val* var13 /* : Array[Object] */;
3098 val* var_listnode7 /* var listnode7: Array[Object] */;
3099 val* var14 /* : Array[Object] */;
3100 val* var_listnode10 /* var listnode10: Array[Object] */;
3101 val* var15 /* : Array[Object] */;
3102 val* var_listnode12 /* var listnode12: Array[Object] */;
3103 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3104 short int var16 /* : Bool */;
3105 int cltype;
3106 int idtype;
3107 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
3108 short int var17 /* : Bool */;
3109 int cltype18;
3110 int idtype19;
3111 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3112 short int var20 /* : Bool */;
3113 int cltype21;
3114 int idtype22;
3115 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3116 short int var23 /* : Bool */;
3117 int cltype24;
3118 int idtype25;
3119 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3120 short int var26 /* : Bool */;
3121 int cltype27;
3122 int idtype28;
3123 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
3124 short int var29 /* : Bool */;
3125 int cltype30;
3126 int idtype31;
3127 val* var_listnode11 /* var listnode11: nullable Object */;
3128 short int var32 /* : Bool */;
3129 int cltype33;
3130 int idtype34;
3131 val* var35 /* : Array[Object] */;
3132 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
3133 short int var36 /* : Bool */;
3134 int cltype37;
3135 int idtype38;
3136 val* var39 /* : AStdClassdef */;
3137 val* var40 /* : null */;
3138 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3139 long var41 /* : Int */;
3140 long var42 /* : Int */;
3141 var_p = p0;
3142 var = NULL;
3143 var_node_list = var;
3144 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3145 var_nodearraylist12 = var1;
3146 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3147 var_nodearraylist11 = var2;
3148 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3149 var_nodearraylist10 = var3;
3150 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3151 var_nodearraylist9 = var4;
3152 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3153 var_nodearraylist8 = var5;
3154 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3155 var_nodearraylist7 = var6;
3156 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3157 var_nodearraylist6 = var7;
3158 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3159 var_nodearraylist5 = var8;
3160 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3161 var_nodearraylist4 = var9;
3162 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3163 var_nodearraylist3 = var10;
3164 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3165 var_nodearraylist2 = var11;
3166 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3167 var_nodearraylist1 = var12;
3168 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
3169 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
3170 var_listnode7 = var13;
3171 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
3172 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
3173 var_listnode10 = var14;
3174 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
3175 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
3176 var_listnode12 = var15;
3177 var_pdocnode2 = var_nodearraylist1;
3178 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3179 cltype = type_nullable_parser_nodes__ADoc.color;
3180 idtype = type_nullable_parser_nodes__ADoc.id;
3181 if(var_pdocnode2 == NULL) {
3182 var16 = 1;
3183 } else {
3184 if(cltype >= var_pdocnode2->type->table_size) {
3185 var16 = 0;
3186 } else {
3187 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
3188 }
3189 }
3190 if (!var16) {
3191 fprintf(stderr, "Runtime error: %s", "Assert failed");
3192 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11119);
3193 show_backtrace(1);
3194 }
3195 var_tkwredefnode3 = var_nodearraylist2;
3196 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3197 cltype18 = type_nullable_parser_nodes__TKwredef.color;
3198 idtype19 = type_nullable_parser_nodes__TKwredef.id;
3199 if(var_tkwredefnode3 == NULL) {
3200 var17 = 1;
3201 } else {
3202 if(cltype18 >= var_tkwredefnode3->type->table_size) {
3203 var17 = 0;
3204 } else {
3205 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
3206 }
3207 }
3208 if (!var17) {
3209 fprintf(stderr, "Runtime error: %s", "Assert failed");
3210 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11121);
3211 show_backtrace(1);
3212 }
3213 var_pvisibilitynode4 = var_nodearraylist3;
3214 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3215 cltype21 = type_nullable_parser_nodes__AVisibility.color;
3216 idtype22 = type_nullable_parser_nodes__AVisibility.id;
3217 if(var_pvisibilitynode4 == NULL) {
3218 var20 = 1;
3219 } else {
3220 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
3221 var20 = 0;
3222 } else {
3223 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
3224 }
3225 }
3226 if (!var20) {
3227 fprintf(stderr, "Runtime error: %s", "Assert failed");
3228 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11123);
3229 show_backtrace(1);
3230 }
3231 var_pclasskindnode5 = var_nodearraylist4;
3232 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3233 cltype24 = type_nullable_parser_nodes__AClasskind.color;
3234 idtype25 = type_nullable_parser_nodes__AClasskind.id;
3235 if(var_pclasskindnode5 == NULL) {
3236 var23 = 1;
3237 } else {
3238 if(cltype24 >= var_pclasskindnode5->type->table_size) {
3239 var23 = 0;
3240 } else {
3241 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
3242 }
3243 }
3244 if (!var23) {
3245 fprintf(stderr, "Runtime error: %s", "Assert failed");
3246 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11125);
3247 show_backtrace(1);
3248 }
3249 var_tclassidnode6 = var_nodearraylist8;
3250 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3251 cltype27 = type_nullable_parser_nodes__TClassid.color;
3252 idtype28 = type_nullable_parser_nodes__TClassid.id;
3253 if(var_tclassidnode6 == NULL) {
3254 var26 = 1;
3255 } else {
3256 if(cltype27 >= var_tclassidnode6->type->table_size) {
3257 var26 = 0;
3258 } else {
3259 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
3260 }
3261 }
3262 if (!var26) {
3263 fprintf(stderr, "Runtime error: %s", "Assert failed");
3264 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11127);
3265 show_backtrace(1);
3266 }
3267 var_pexterncodeblocknode9 = var_nodearraylist9;
3268 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
3269 cltype30 = type_nullable_parser_nodes__AExternCodeBlock.color;
3270 idtype31 = type_nullable_parser_nodes__AExternCodeBlock.id;
3271 if(var_pexterncodeblocknode9 == NULL) {
3272 var29 = 1;
3273 } else {
3274 if(cltype30 >= var_pexterncodeblocknode9->type->table_size) {
3275 var29 = 0;
3276 } else {
3277 var29 = var_pexterncodeblocknode9->type->type_table[cltype30] == idtype31;
3278 }
3279 }
3280 if (!var29) {
3281 fprintf(stderr, "Runtime error: %s", "Assert failed");
3282 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11129);
3283 show_backtrace(1);
3284 }
3285 var_listnode11 = var_nodearraylist10;
3286 /* <var_listnode11:nullable Object> isa Array[Object] */
3287 cltype33 = type_array__Arraykernel__Object.color;
3288 idtype34 = type_array__Arraykernel__Object.id;
3289 if(var_listnode11 == NULL) {
3290 var32 = 0;
3291 } else {
3292 if(cltype33 >= var_listnode11->type->table_size) {
3293 var32 = 0;
3294 } else {
3295 var32 = var_listnode11->type->type_table[cltype33] == idtype34;
3296 }
3297 }
3298 if (!var32) {
3299 fprintf(stderr, "Runtime error: %s", "Assert failed");
3300 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11131);
3301 show_backtrace(1);
3302 }
3303 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction239>*/;
3304 var_listnode12 = var35;
3305 var_tkwendnode13 = var_nodearraylist12;
3306 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
3307 cltype37 = type_nullable_parser_nodes__TKwend.color;
3308 idtype38 = type_nullable_parser_nodes__TKwend.id;
3309 if(var_tkwendnode13 == NULL) {
3310 var36 = 1;
3311 } else {
3312 if(cltype37 >= var_tkwendnode13->type->table_size) {
3313 var36 = 0;
3314 } else {
3315 var36 = var_tkwendnode13->type->type_table[cltype37] == idtype38;
3316 }
3317 }
3318 if (!var36) {
3319 fprintf(stderr, "Runtime error: %s", "Assert failed");
3320 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11134);
3321 show_backtrace(1);
3322 }
3323 var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3324 var40 = NULL;
3325 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var39->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var39, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var40, var_pexterncodeblocknode9, var_listnode10, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var39:AStdClassdef>*/;
3326 var_pclassdefnode1 = var39;
3327 var_node_list = var_pclassdefnode1;
3328 var41 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction239> */
3329 var42 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var41) /* go_to on <var_p:Parser>*/;
3330 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var42, var_node_list) /* push on <var_p:Parser>*/;
3331 RET_LABEL:;
3332 }
3333 /* method parser#ReduceAction239#action for (self: Object, Parser) */
3334 void VIRTUAL_parser__ReduceAction239__action(val* self, val* p0) {
3335 parser__ReduceAction239__action(self, p0);
3336 RET_LABEL:;
3337 }
3338 /* method parser#ReduceAction241#action for (self: ReduceAction241, Parser) */
3339 void parser__ReduceAction241__action(val* self, val* p0) {
3340 val* var_p /* var p: Parser */;
3341 val* var /* : null */;
3342 val* var_node_list /* var node_list: nullable Object */;
3343 val* var1 /* : nullable Object */;
3344 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
3345 val* var2 /* : nullable Object */;
3346 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3347 val* var3 /* : nullable Object */;
3348 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3349 val* var4 /* : nullable Object */;
3350 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3351 val* var5 /* : nullable Object */;
3352 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3353 val* var6 /* : nullable Object */;
3354 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3355 val* var7 /* : nullable Object */;
3356 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3357 val* var8 /* : nullable Object */;
3358 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3359 val* var9 /* : nullable Object */;
3360 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3361 val* var10 /* : nullable Object */;
3362 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3363 val* var11 /* : Array[Object] */;
3364 val* var_listnode8 /* var listnode8: Array[Object] */;
3365 val* var12 /* : Array[Object] */;
3366 val* var_listnode11 /* var listnode11: Array[Object] */;
3367 val* var13 /* : Array[Object] */;
3368 val* var_listnode13 /* var listnode13: Array[Object] */;
3369 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3370 short int var14 /* : Bool */;
3371 int cltype;
3372 int idtype;
3373 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3374 short int var15 /* : Bool */;
3375 int cltype16;
3376 int idtype17;
3377 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3378 short int var18 /* : Bool */;
3379 int cltype19;
3380 int idtype20;
3381 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3382 short int var21 /* : Bool */;
3383 int cltype22;
3384 int idtype23;
3385 val* var_listnode7 /* var listnode7: nullable Object */;
3386 short int var24 /* : Bool */;
3387 int cltype25;
3388 int idtype26;
3389 val* var27 /* : Array[Object] */;
3390 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
3391 short int var28 /* : Bool */;
3392 int cltype29;
3393 int idtype30;
3394 val* var_listnode12 /* var listnode12: nullable Object */;
3395 short int var31 /* : Bool */;
3396 int cltype32;
3397 int idtype33;
3398 val* var34 /* : Array[Object] */;
3399 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
3400 short int var35 /* : Bool */;
3401 int cltype36;
3402 int idtype37;
3403 val* var38 /* : AStdClassdef */;
3404 val* var39 /* : null */;
3405 val* var40 /* : null */;
3406 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3407 long var41 /* : Int */;
3408 long var42 /* : Int */;
3409 var_p = p0;
3410 var = NULL;
3411 var_node_list = var;
3412 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3413 var_nodearraylist10 = var1;
3414 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3415 var_nodearraylist9 = var2;
3416 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3417 var_nodearraylist8 = var3;
3418 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3419 var_nodearraylist7 = var4;
3420 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3421 var_nodearraylist6 = var5;
3422 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3423 var_nodearraylist5 = var6;
3424 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3425 var_nodearraylist4 = var7;
3426 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3427 var_nodearraylist3 = var8;
3428 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3429 var_nodearraylist2 = var9;
3430 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3431 var_nodearraylist1 = var10;
3432 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
3433 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
3434 var_listnode8 = var11;
3435 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
3436 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
3437 var_listnode11 = var12;
3438 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
3439 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
3440 var_listnode13 = var13;
3441 var_pdocnode2 = var_nodearraylist1;
3442 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3443 cltype = type_nullable_parser_nodes__ADoc.color;
3444 idtype = type_nullable_parser_nodes__ADoc.id;
3445 if(var_pdocnode2 == NULL) {
3446 var14 = 1;
3447 } else {
3448 if(cltype >= var_pdocnode2->type->table_size) {
3449 var14 = 0;
3450 } else {
3451 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
3452 }
3453 }
3454 if (!var14) {
3455 fprintf(stderr, "Runtime error: %s", "Assert failed");
3456 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11171);
3457 show_backtrace(1);
3458 }
3459 var_pvisibilitynode4 = var_nodearraylist2;
3460 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3461 cltype16 = type_nullable_parser_nodes__AVisibility.color;
3462 idtype17 = type_nullable_parser_nodes__AVisibility.id;
3463 if(var_pvisibilitynode4 == NULL) {
3464 var15 = 1;
3465 } else {
3466 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
3467 var15 = 0;
3468 } else {
3469 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
3470 }
3471 }
3472 if (!var15) {
3473 fprintf(stderr, "Runtime error: %s", "Assert failed");
3474 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11173);
3475 show_backtrace(1);
3476 }
3477 var_pclasskindnode5 = var_nodearraylist3;
3478 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3479 cltype19 = type_nullable_parser_nodes__AClasskind.color;
3480 idtype20 = type_nullable_parser_nodes__AClasskind.id;
3481 if(var_pclasskindnode5 == NULL) {
3482 var18 = 1;
3483 } else {
3484 if(cltype19 >= var_pclasskindnode5->type->table_size) {
3485 var18 = 0;
3486 } else {
3487 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
3488 }
3489 }
3490 if (!var18) {
3491 fprintf(stderr, "Runtime error: %s", "Assert failed");
3492 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11175);
3493 show_backtrace(1);
3494 }
3495 var_tclassidnode6 = var_nodearraylist5;
3496 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3497 cltype22 = type_nullable_parser_nodes__TClassid.color;
3498 idtype23 = type_nullable_parser_nodes__TClassid.id;
3499 if(var_tclassidnode6 == NULL) {
3500 var21 = 1;
3501 } else {
3502 if(cltype22 >= var_tclassidnode6->type->table_size) {
3503 var21 = 0;
3504 } else {
3505 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
3506 }
3507 }
3508 if (!var21) {
3509 fprintf(stderr, "Runtime error: %s", "Assert failed");
3510 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11177);
3511 show_backtrace(1);
3512 }
3513 var_listnode7 = var_nodearraylist6;
3514 /* <var_listnode7:nullable Object> isa Array[Object] */
3515 cltype25 = type_array__Arraykernel__Object.color;
3516 idtype26 = type_array__Arraykernel__Object.id;
3517 if(var_listnode7 == NULL) {
3518 var24 = 0;
3519 } else {
3520 if(cltype25 >= var_listnode7->type->table_size) {
3521 var24 = 0;
3522 } else {
3523 var24 = var_listnode7->type->type_table[cltype25] == idtype26;
3524 }
3525 }
3526 if (!var24) {
3527 fprintf(stderr, "Runtime error: %s", "Assert failed");
3528 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11179);
3529 show_backtrace(1);
3530 }
3531 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction241>*/;
3532 var_listnode8 = var27;
3533 var_pexterncodeblocknode10 = var_nodearraylist7;
3534 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
3535 cltype29 = type_nullable_parser_nodes__AExternCodeBlock.color;
3536 idtype30 = type_nullable_parser_nodes__AExternCodeBlock.id;
3537 if(var_pexterncodeblocknode10 == NULL) {
3538 var28 = 1;
3539 } else {
3540 if(cltype29 >= var_pexterncodeblocknode10->type->table_size) {
3541 var28 = 0;
3542 } else {
3543 var28 = var_pexterncodeblocknode10->type->type_table[cltype29] == idtype30;
3544 }
3545 }
3546 if (!var28) {
3547 fprintf(stderr, "Runtime error: %s", "Assert failed");
3548 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11182);
3549 show_backtrace(1);
3550 }
3551 var_listnode12 = var_nodearraylist8;
3552 /* <var_listnode12:nullable Object> isa Array[Object] */
3553 cltype32 = type_array__Arraykernel__Object.color;
3554 idtype33 = type_array__Arraykernel__Object.id;
3555 if(var_listnode12 == NULL) {
3556 var31 = 0;
3557 } else {
3558 if(cltype32 >= var_listnode12->type->table_size) {
3559 var31 = 0;
3560 } else {
3561 var31 = var_listnode12->type->type_table[cltype32] == idtype33;
3562 }
3563 }
3564 if (!var31) {
3565 fprintf(stderr, "Runtime error: %s", "Assert failed");
3566 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11184);
3567 show_backtrace(1);
3568 }
3569 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction241>*/;
3570 var_listnode13 = var34;
3571 var_tkwendnode14 = var_nodearraylist10;
3572 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
3573 cltype36 = type_nullable_parser_nodes__TKwend.color;
3574 idtype37 = type_nullable_parser_nodes__TKwend.id;
3575 if(var_tkwendnode14 == NULL) {
3576 var35 = 1;
3577 } else {
3578 if(cltype36 >= var_tkwendnode14->type->table_size) {
3579 var35 = 0;
3580 } else {
3581 var35 = var_tkwendnode14->type->type_table[cltype36] == idtype37;
3582 }
3583 }
3584 if (!var35) {
3585 fprintf(stderr, "Runtime error: %s", "Assert failed");
3586 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11187);
3587 show_backtrace(1);
3588 }
3589 var38 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3590 var39 = NULL;
3591 var40 = NULL;
3592 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var38->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var38, var_pdocnode2, var39, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var40, var_pexterncodeblocknode10, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var38:AStdClassdef>*/;
3593 var_pclassdefnode1 = var38;
3594 var_node_list = var_pclassdefnode1;
3595 var41 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction241> */
3596 var42 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var41) /* go_to on <var_p:Parser>*/;
3597 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var42, var_node_list) /* push on <var_p:Parser>*/;
3598 RET_LABEL:;
3599 }
3600 /* method parser#ReduceAction241#action for (self: Object, Parser) */
3601 void VIRTUAL_parser__ReduceAction241__action(val* self, val* p0) {
3602 parser__ReduceAction241__action(self, p0);
3603 RET_LABEL:;
3604 }
3605 /* method parser#ReduceAction242#action for (self: ReduceAction242, Parser) */
3606 void parser__ReduceAction242__action(val* self, val* p0) {
3607 val* var_p /* var p: Parser */;
3608 val* var /* : null */;
3609 val* var_node_list /* var node_list: nullable Object */;
3610 val* var1 /* : nullable Object */;
3611 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
3612 val* var2 /* : nullable Object */;
3613 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
3614 val* var3 /* : nullable Object */;
3615 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3616 val* var4 /* : nullable Object */;
3617 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3618 val* var5 /* : nullable Object */;
3619 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3620 val* var6 /* : nullable Object */;
3621 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3622 val* var7 /* : nullable Object */;
3623 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3624 val* var8 /* : nullable Object */;
3625 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3626 val* var9 /* : nullable Object */;
3627 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3628 val* var10 /* : nullable Object */;
3629 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3630 val* var11 /* : nullable Object */;
3631 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3632 val* var12 /* : Array[Object] */;
3633 val* var_listnode8 /* var listnode8: Array[Object] */;
3634 val* var13 /* : Array[Object] */;
3635 val* var_listnode11 /* var listnode11: Array[Object] */;
3636 val* var14 /* : Array[Object] */;
3637 val* var_listnode13 /* var listnode13: Array[Object] */;
3638 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3639 short int var15 /* : Bool */;
3640 int cltype;
3641 int idtype;
3642 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
3643 short int var16 /* : Bool */;
3644 int cltype17;
3645 int idtype18;
3646 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3647 short int var19 /* : Bool */;
3648 int cltype20;
3649 int idtype21;
3650 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3651 short int var22 /* : Bool */;
3652 int cltype23;
3653 int idtype24;
3654 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3655 short int var25 /* : Bool */;
3656 int cltype26;
3657 int idtype27;
3658 val* var_listnode7 /* var listnode7: nullable Object */;
3659 short int var28 /* : Bool */;
3660 int cltype29;
3661 int idtype30;
3662 val* var31 /* : Array[Object] */;
3663 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
3664 short int var32 /* : Bool */;
3665 int cltype33;
3666 int idtype34;
3667 val* var_listnode12 /* var listnode12: nullable Object */;
3668 short int var35 /* : Bool */;
3669 int cltype36;
3670 int idtype37;
3671 val* var38 /* : Array[Object] */;
3672 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
3673 short int var39 /* : Bool */;
3674 int cltype40;
3675 int idtype41;
3676 val* var42 /* : AStdClassdef */;
3677 val* var43 /* : null */;
3678 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3679 long var44 /* : Int */;
3680 long var45 /* : Int */;
3681 var_p = p0;
3682 var = NULL;
3683 var_node_list = var;
3684 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3685 var_nodearraylist11 = var1;
3686 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3687 var_nodearraylist10 = var2;
3688 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3689 var_nodearraylist9 = var3;
3690 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3691 var_nodearraylist8 = var4;
3692 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3693 var_nodearraylist7 = var5;
3694 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3695 var_nodearraylist6 = var6;
3696 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3697 var_nodearraylist5 = var7;
3698 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3699 var_nodearraylist4 = var8;
3700 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3701 var_nodearraylist3 = var9;
3702 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3703 var_nodearraylist2 = var10;
3704 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3705 var_nodearraylist1 = var11;
3706 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
3707 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
3708 var_listnode8 = var12;
3709 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
3710 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
3711 var_listnode11 = var13;
3712 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
3713 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
3714 var_listnode13 = var14;
3715 var_pdocnode2 = var_nodearraylist1;
3716 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3717 cltype = type_nullable_parser_nodes__ADoc.color;
3718 idtype = type_nullable_parser_nodes__ADoc.id;
3719 if(var_pdocnode2 == NULL) {
3720 var15 = 1;
3721 } else {
3722 if(cltype >= var_pdocnode2->type->table_size) {
3723 var15 = 0;
3724 } else {
3725 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
3726 }
3727 }
3728 if (!var15) {
3729 fprintf(stderr, "Runtime error: %s", "Assert failed");
3730 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11225);
3731 show_backtrace(1);
3732 }
3733 var_tkwredefnode3 = var_nodearraylist2;
3734 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3735 cltype17 = type_nullable_parser_nodes__TKwredef.color;
3736 idtype18 = type_nullable_parser_nodes__TKwredef.id;
3737 if(var_tkwredefnode3 == NULL) {
3738 var16 = 1;
3739 } else {
3740 if(cltype17 >= var_tkwredefnode3->type->table_size) {
3741 var16 = 0;
3742 } else {
3743 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
3744 }
3745 }
3746 if (!var16) {
3747 fprintf(stderr, "Runtime error: %s", "Assert failed");
3748 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11227);
3749 show_backtrace(1);
3750 }
3751 var_pvisibilitynode4 = var_nodearraylist3;
3752 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3753 cltype20 = type_nullable_parser_nodes__AVisibility.color;
3754 idtype21 = type_nullable_parser_nodes__AVisibility.id;
3755 if(var_pvisibilitynode4 == NULL) {
3756 var19 = 1;
3757 } else {
3758 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
3759 var19 = 0;
3760 } else {
3761 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
3762 }
3763 }
3764 if (!var19) {
3765 fprintf(stderr, "Runtime error: %s", "Assert failed");
3766 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11229);
3767 show_backtrace(1);
3768 }
3769 var_pclasskindnode5 = var_nodearraylist4;
3770 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3771 cltype23 = type_nullable_parser_nodes__AClasskind.color;
3772 idtype24 = type_nullable_parser_nodes__AClasskind.id;
3773 if(var_pclasskindnode5 == NULL) {
3774 var22 = 1;
3775 } else {
3776 if(cltype23 >= var_pclasskindnode5->type->table_size) {
3777 var22 = 0;
3778 } else {
3779 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
3780 }
3781 }
3782 if (!var22) {
3783 fprintf(stderr, "Runtime error: %s", "Assert failed");
3784 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11231);
3785 show_backtrace(1);
3786 }
3787 var_tclassidnode6 = var_nodearraylist6;
3788 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3789 cltype26 = type_nullable_parser_nodes__TClassid.color;
3790 idtype27 = type_nullable_parser_nodes__TClassid.id;
3791 if(var_tclassidnode6 == NULL) {
3792 var25 = 1;
3793 } else {
3794 if(cltype26 >= var_tclassidnode6->type->table_size) {
3795 var25 = 0;
3796 } else {
3797 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
3798 }
3799 }
3800 if (!var25) {
3801 fprintf(stderr, "Runtime error: %s", "Assert failed");
3802 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11233);
3803 show_backtrace(1);
3804 }
3805 var_listnode7 = var_nodearraylist7;
3806 /* <var_listnode7:nullable Object> isa Array[Object] */
3807 cltype29 = type_array__Arraykernel__Object.color;
3808 idtype30 = type_array__Arraykernel__Object.id;
3809 if(var_listnode7 == NULL) {
3810 var28 = 0;
3811 } else {
3812 if(cltype29 >= var_listnode7->type->table_size) {
3813 var28 = 0;
3814 } else {
3815 var28 = var_listnode7->type->type_table[cltype29] == idtype30;
3816 }
3817 }
3818 if (!var28) {
3819 fprintf(stderr, "Runtime error: %s", "Assert failed");
3820 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11235);
3821 show_backtrace(1);
3822 }
3823 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction242>*/;
3824 var_listnode8 = var31;
3825 var_pexterncodeblocknode10 = var_nodearraylist8;
3826 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
3827 cltype33 = type_nullable_parser_nodes__AExternCodeBlock.color;
3828 idtype34 = type_nullable_parser_nodes__AExternCodeBlock.id;
3829 if(var_pexterncodeblocknode10 == NULL) {
3830 var32 = 1;
3831 } else {
3832 if(cltype33 >= var_pexterncodeblocknode10->type->table_size) {
3833 var32 = 0;
3834 } else {
3835 var32 = var_pexterncodeblocknode10->type->type_table[cltype33] == idtype34;
3836 }
3837 }
3838 if (!var32) {
3839 fprintf(stderr, "Runtime error: %s", "Assert failed");
3840 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11238);
3841 show_backtrace(1);
3842 }
3843 var_listnode12 = var_nodearraylist9;
3844 /* <var_listnode12:nullable Object> isa Array[Object] */
3845 cltype36 = type_array__Arraykernel__Object.color;
3846 idtype37 = type_array__Arraykernel__Object.id;
3847 if(var_listnode12 == NULL) {
3848 var35 = 0;
3849 } else {
3850 if(cltype36 >= var_listnode12->type->table_size) {
3851 var35 = 0;
3852 } else {
3853 var35 = var_listnode12->type->type_table[cltype36] == idtype37;
3854 }
3855 }
3856 if (!var35) {
3857 fprintf(stderr, "Runtime error: %s", "Assert failed");
3858 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11240);
3859 show_backtrace(1);
3860 }
3861 var38 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction242>*/;
3862 var_listnode13 = var38;
3863 var_tkwendnode14 = var_nodearraylist11;
3864 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
3865 cltype40 = type_nullable_parser_nodes__TKwend.color;
3866 idtype41 = type_nullable_parser_nodes__TKwend.id;
3867 if(var_tkwendnode14 == NULL) {
3868 var39 = 1;
3869 } else {
3870 if(cltype40 >= var_tkwendnode14->type->table_size) {
3871 var39 = 0;
3872 } else {
3873 var39 = var_tkwendnode14->type->type_table[cltype40] == idtype41;
3874 }
3875 }
3876 if (!var39) {
3877 fprintf(stderr, "Runtime error: %s", "Assert failed");
3878 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11243);
3879 show_backtrace(1);
3880 }
3881 var42 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3882 var43 = NULL;
3883 ((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_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var42:AStdClassdef>*/;
3884 var_pclassdefnode1 = var42;
3885 var_node_list = var_pclassdefnode1;
3886 var44 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction242> */
3887 var45 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var44) /* go_to on <var_p:Parser>*/;
3888 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var45, var_node_list) /* push on <var_p:Parser>*/;
3889 RET_LABEL:;
3890 }
3891 /* method parser#ReduceAction242#action for (self: Object, Parser) */
3892 void VIRTUAL_parser__ReduceAction242__action(val* self, val* p0) {
3893 parser__ReduceAction242__action(self, p0);
3894 RET_LABEL:;
3895 }
3896 /* method parser#ReduceAction243#action for (self: ReduceAction243, Parser) */
3897 void parser__ReduceAction243__action(val* self, val* p0) {
3898 val* var_p /* var p: Parser */;
3899 val* var /* : null */;
3900 val* var_node_list /* var node_list: nullable Object */;
3901 val* var1 /* : nullable Object */;
3902 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
3903 val* var2 /* : nullable Object */;
3904 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
3905 val* var3 /* : nullable Object */;
3906 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3907 val* var4 /* : nullable Object */;
3908 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3909 val* var5 /* : nullable Object */;
3910 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3911 val* var6 /* : nullable Object */;
3912 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3913 val* var7 /* : nullable Object */;
3914 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3915 val* var8 /* : nullable Object */;
3916 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3917 val* var9 /* : nullable Object */;
3918 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3919 val* var10 /* : nullable Object */;
3920 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3921 val* var11 /* : nullable Object */;
3922 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3923 val* var12 /* : Array[Object] */;
3924 val* var_listnode8 /* var listnode8: Array[Object] */;
3925 val* var13 /* : Array[Object] */;
3926 val* var_listnode11 /* var listnode11: Array[Object] */;
3927 val* var14 /* : Array[Object] */;
3928 val* var_listnode13 /* var listnode13: Array[Object] */;
3929 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3930 short int var15 /* : Bool */;
3931 int cltype;
3932 int idtype;
3933 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3934 short int var16 /* : Bool */;
3935 int cltype17;
3936 int idtype18;
3937 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3938 short int var19 /* : Bool */;
3939 int cltype20;
3940 int idtype21;
3941 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3942 short int var22 /* : Bool */;
3943 int cltype23;
3944 int idtype24;
3945 val* var_listnode7 /* var listnode7: nullable Object */;
3946 short int var25 /* : Bool */;
3947 int cltype26;
3948 int idtype27;
3949 val* var28 /* : Array[Object] */;
3950 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
3951 short int var29 /* : Bool */;
3952 int cltype30;
3953 int idtype31;
3954 val* var_listnode12 /* var listnode12: nullable Object */;
3955 short int var32 /* : Bool */;
3956 int cltype33;
3957 int idtype34;
3958 val* var35 /* : Array[Object] */;
3959 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
3960 short int var36 /* : Bool */;
3961 int cltype37;
3962 int idtype38;
3963 val* var39 /* : AStdClassdef */;
3964 val* var40 /* : null */;
3965 val* var41 /* : null */;
3966 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3967 long var42 /* : Int */;
3968 long var43 /* : Int */;
3969 var_p = p0;
3970 var = NULL;
3971 var_node_list = var;
3972 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3973 var_nodearraylist11 = var1;
3974 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3975 var_nodearraylist10 = var2;
3976 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3977 var_nodearraylist9 = var3;
3978 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3979 var_nodearraylist8 = var4;
3980 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3981 var_nodearraylist7 = var5;
3982 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3983 var_nodearraylist6 = var6;
3984 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3985 var_nodearraylist5 = var7;
3986 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3987 var_nodearraylist4 = var8;
3988 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3989 var_nodearraylist3 = var9;
3990 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3991 var_nodearraylist2 = var10;
3992 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3993 var_nodearraylist1 = var11;
3994 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
3995 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
3996 var_listnode8 = var12;
3997 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
3998 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
3999 var_listnode11 = var13;
4000 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
4001 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
4002 var_listnode13 = var14;
4003 var_pdocnode2 = var_nodearraylist1;
4004 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4005 cltype = type_nullable_parser_nodes__ADoc.color;
4006 idtype = type_nullable_parser_nodes__ADoc.id;
4007 if(var_pdocnode2 == NULL) {
4008 var15 = 1;
4009 } else {
4010 if(cltype >= var_pdocnode2->type->table_size) {
4011 var15 = 0;
4012 } else {
4013 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
4014 }
4015 }
4016 if (!var15) {
4017 fprintf(stderr, "Runtime error: %s", "Assert failed");
4018 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11281);
4019 show_backtrace(1);
4020 }
4021 var_pvisibilitynode4 = var_nodearraylist2;
4022 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4023 cltype17 = type_nullable_parser_nodes__AVisibility.color;
4024 idtype18 = type_nullable_parser_nodes__AVisibility.id;
4025 if(var_pvisibilitynode4 == NULL) {
4026 var16 = 1;
4027 } else {
4028 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
4029 var16 = 0;
4030 } else {
4031 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
4032 }
4033 }
4034 if (!var16) {
4035 fprintf(stderr, "Runtime error: %s", "Assert failed");
4036 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11283);
4037 show_backtrace(1);
4038 }
4039 var_pclasskindnode5 = var_nodearraylist3;
4040 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4041 cltype20 = type_nullable_parser_nodes__AClasskind.color;
4042 idtype21 = type_nullable_parser_nodes__AClasskind.id;
4043 if(var_pclasskindnode5 == NULL) {
4044 var19 = 1;
4045 } else {
4046 if(cltype20 >= var_pclasskindnode5->type->table_size) {
4047 var19 = 0;
4048 } else {
4049 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
4050 }
4051 }
4052 if (!var19) {
4053 fprintf(stderr, "Runtime error: %s", "Assert failed");
4054 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11285);
4055 show_backtrace(1);
4056 }
4057 var_tclassidnode6 = var_nodearraylist6;
4058 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4059 cltype23 = type_nullable_parser_nodes__TClassid.color;
4060 idtype24 = type_nullable_parser_nodes__TClassid.id;
4061 if(var_tclassidnode6 == NULL) {
4062 var22 = 1;
4063 } else {
4064 if(cltype23 >= var_tclassidnode6->type->table_size) {
4065 var22 = 0;
4066 } else {
4067 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
4068 }
4069 }
4070 if (!var22) {
4071 fprintf(stderr, "Runtime error: %s", "Assert failed");
4072 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11287);
4073 show_backtrace(1);
4074 }
4075 var_listnode7 = var_nodearraylist7;
4076 /* <var_listnode7:nullable Object> isa Array[Object] */
4077 cltype26 = type_array__Arraykernel__Object.color;
4078 idtype27 = type_array__Arraykernel__Object.id;
4079 if(var_listnode7 == NULL) {
4080 var25 = 0;
4081 } else {
4082 if(cltype26 >= var_listnode7->type->table_size) {
4083 var25 = 0;
4084 } else {
4085 var25 = var_listnode7->type->type_table[cltype26] == idtype27;
4086 }
4087 }
4088 if (!var25) {
4089 fprintf(stderr, "Runtime error: %s", "Assert failed");
4090 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11289);
4091 show_backtrace(1);
4092 }
4093 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction243>*/;
4094 var_listnode8 = var28;
4095 var_pexterncodeblocknode10 = var_nodearraylist8;
4096 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
4097 cltype30 = type_nullable_parser_nodes__AExternCodeBlock.color;
4098 idtype31 = type_nullable_parser_nodes__AExternCodeBlock.id;
4099 if(var_pexterncodeblocknode10 == NULL) {
4100 var29 = 1;
4101 } else {
4102 if(cltype30 >= var_pexterncodeblocknode10->type->table_size) {
4103 var29 = 0;
4104 } else {
4105 var29 = var_pexterncodeblocknode10->type->type_table[cltype30] == idtype31;
4106 }
4107 }
4108 if (!var29) {
4109 fprintf(stderr, "Runtime error: %s", "Assert failed");
4110 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11292);
4111 show_backtrace(1);
4112 }
4113 var_listnode12 = var_nodearraylist9;
4114 /* <var_listnode12:nullable Object> isa Array[Object] */
4115 cltype33 = type_array__Arraykernel__Object.color;
4116 idtype34 = type_array__Arraykernel__Object.id;
4117 if(var_listnode12 == NULL) {
4118 var32 = 0;
4119 } else {
4120 if(cltype33 >= var_listnode12->type->table_size) {
4121 var32 = 0;
4122 } else {
4123 var32 = var_listnode12->type->type_table[cltype33] == idtype34;
4124 }
4125 }
4126 if (!var32) {
4127 fprintf(stderr, "Runtime error: %s", "Assert failed");
4128 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11294);
4129 show_backtrace(1);
4130 }
4131 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction243>*/;
4132 var_listnode13 = var35;
4133 var_tkwendnode14 = var_nodearraylist11;
4134 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
4135 cltype37 = type_nullable_parser_nodes__TKwend.color;
4136 idtype38 = type_nullable_parser_nodes__TKwend.id;
4137 if(var_tkwendnode14 == NULL) {
4138 var36 = 1;
4139 } else {
4140 if(cltype37 >= var_tkwendnode14->type->table_size) {
4141 var36 = 0;
4142 } else {
4143 var36 = var_tkwendnode14->type->type_table[cltype37] == idtype38;
4144 }
4145 }
4146 if (!var36) {
4147 fprintf(stderr, "Runtime error: %s", "Assert failed");
4148 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11297);
4149 show_backtrace(1);
4150 }
4151 var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4152 var40 = NULL;
4153 var41 = NULL;
4154 ((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_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var39:AStdClassdef>*/;
4155 var_pclassdefnode1 = var39;
4156 var_node_list = var_pclassdefnode1;
4157 var42 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction243> */
4158 var43 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var42) /* go_to on <var_p:Parser>*/;
4159 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var43, var_node_list) /* push on <var_p:Parser>*/;
4160 RET_LABEL:;
4161 }
4162 /* method parser#ReduceAction243#action for (self: Object, Parser) */
4163 void VIRTUAL_parser__ReduceAction243__action(val* self, val* p0) {
4164 parser__ReduceAction243__action(self, p0);
4165 RET_LABEL:;
4166 }
4167 /* method parser#ReduceAction244#action for (self: ReduceAction244, Parser) */
4168 void parser__ReduceAction244__action(val* self, val* p0) {
4169 val* var_p /* var p: Parser */;
4170 val* var /* : null */;
4171 val* var_node_list /* var node_list: nullable Object */;
4172 val* var1 /* : nullable Object */;
4173 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
4174 val* var2 /* : nullable Object */;
4175 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
4176 val* var3 /* : nullable Object */;
4177 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4178 val* var4 /* : nullable Object */;
4179 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4180 val* var5 /* : nullable Object */;
4181 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4182 val* var6 /* : nullable Object */;
4183 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4184 val* var7 /* : nullable Object */;
4185 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4186 val* var8 /* : nullable Object */;
4187 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4188 val* var9 /* : nullable Object */;
4189 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4190 val* var10 /* : nullable Object */;
4191 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4192 val* var11 /* : nullable Object */;
4193 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4194 val* var12 /* : nullable Object */;
4195 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4196 val* var13 /* : Array[Object] */;
4197 val* var_listnode8 /* var listnode8: Array[Object] */;
4198 val* var14 /* : Array[Object] */;
4199 val* var_listnode11 /* var listnode11: Array[Object] */;
4200 val* var15 /* : Array[Object] */;
4201 val* var_listnode13 /* var listnode13: Array[Object] */;
4202 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4203 short int var16 /* : Bool */;
4204 int cltype;
4205 int idtype;
4206 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4207 short int var17 /* : Bool */;
4208 int cltype18;
4209 int idtype19;
4210 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4211 short int var20 /* : Bool */;
4212 int cltype21;
4213 int idtype22;
4214 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4215 short int var23 /* : Bool */;
4216 int cltype24;
4217 int idtype25;
4218 val* var_listnode7 /* var listnode7: nullable Object */;
4219 short int var26 /* : Bool */;
4220 int cltype27;
4221 int idtype28;
4222 val* var29 /* : Array[Object] */;
4223 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
4224 short int var30 /* : Bool */;
4225 int cltype31;
4226 int idtype32;
4227 val* var_listnode12 /* var listnode12: nullable Object */;
4228 short int var33 /* : Bool */;
4229 int cltype34;
4230 int idtype35;
4231 val* var36 /* : Array[Object] */;
4232 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
4233 short int var37 /* : Bool */;
4234 int cltype38;
4235 int idtype39;
4236 val* var40 /* : AStdClassdef */;
4237 val* var41 /* : null */;
4238 val* var42 /* : null */;
4239 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4240 long var43 /* : Int */;
4241 long var44 /* : Int */;
4242 var_p = p0;
4243 var = NULL;
4244 var_node_list = var;
4245 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4246 var_nodearraylist12 = var1;
4247 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4248 var_nodearraylist11 = var2;
4249 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4250 var_nodearraylist10 = var3;
4251 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4252 var_nodearraylist9 = var4;
4253 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4254 var_nodearraylist8 = var5;
4255 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4256 var_nodearraylist7 = var6;
4257 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4258 var_nodearraylist6 = var7;
4259 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4260 var_nodearraylist5 = var8;
4261 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4262 var_nodearraylist4 = var9;
4263 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4264 var_nodearraylist3 = var10;
4265 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4266 var_nodearraylist2 = var11;
4267 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4268 var_nodearraylist1 = var12;
4269 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
4270 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
4271 var_listnode8 = var13;
4272 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
4273 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
4274 var_listnode11 = var14;
4275 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
4276 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
4277 var_listnode13 = var15;
4278 var_pdocnode2 = var_nodearraylist1;
4279 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4280 cltype = type_nullable_parser_nodes__ADoc.color;
4281 idtype = type_nullable_parser_nodes__ADoc.id;
4282 if(var_pdocnode2 == NULL) {
4283 var16 = 1;
4284 } else {
4285 if(cltype >= var_pdocnode2->type->table_size) {
4286 var16 = 0;
4287 } else {
4288 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
4289 }
4290 }
4291 if (!var16) {
4292 fprintf(stderr, "Runtime error: %s", "Assert failed");
4293 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11336);
4294 show_backtrace(1);
4295 }
4296 var_pvisibilitynode4 = var_nodearraylist2;
4297 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4298 cltype18 = type_nullable_parser_nodes__AVisibility.color;
4299 idtype19 = type_nullable_parser_nodes__AVisibility.id;
4300 if(var_pvisibilitynode4 == NULL) {
4301 var17 = 1;
4302 } else {
4303 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
4304 var17 = 0;
4305 } else {
4306 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
4307 }
4308 }
4309 if (!var17) {
4310 fprintf(stderr, "Runtime error: %s", "Assert failed");
4311 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11338);
4312 show_backtrace(1);
4313 }
4314 var_pclasskindnode5 = var_nodearraylist3;
4315 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4316 cltype21 = type_nullable_parser_nodes__AClasskind.color;
4317 idtype22 = type_nullable_parser_nodes__AClasskind.id;
4318 if(var_pclasskindnode5 == NULL) {
4319 var20 = 1;
4320 } else {
4321 if(cltype21 >= var_pclasskindnode5->type->table_size) {
4322 var20 = 0;
4323 } else {
4324 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
4325 }
4326 }
4327 if (!var20) {
4328 fprintf(stderr, "Runtime error: %s", "Assert failed");
4329 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11340);
4330 show_backtrace(1);
4331 }
4332 var_tclassidnode6 = var_nodearraylist7;
4333 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4334 cltype24 = type_nullable_parser_nodes__TClassid.color;
4335 idtype25 = type_nullable_parser_nodes__TClassid.id;
4336 if(var_tclassidnode6 == NULL) {
4337 var23 = 1;
4338 } else {
4339 if(cltype24 >= var_tclassidnode6->type->table_size) {
4340 var23 = 0;
4341 } else {
4342 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
4343 }
4344 }
4345 if (!var23) {
4346 fprintf(stderr, "Runtime error: %s", "Assert failed");
4347 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11342);
4348 show_backtrace(1);
4349 }
4350 var_listnode7 = var_nodearraylist8;
4351 /* <var_listnode7:nullable Object> isa Array[Object] */
4352 cltype27 = type_array__Arraykernel__Object.color;
4353 idtype28 = type_array__Arraykernel__Object.id;
4354 if(var_listnode7 == NULL) {
4355 var26 = 0;
4356 } else {
4357 if(cltype27 >= var_listnode7->type->table_size) {
4358 var26 = 0;
4359 } else {
4360 var26 = var_listnode7->type->type_table[cltype27] == idtype28;
4361 }
4362 }
4363 if (!var26) {
4364 fprintf(stderr, "Runtime error: %s", "Assert failed");
4365 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11344);
4366 show_backtrace(1);
4367 }
4368 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction244>*/;
4369 var_listnode8 = var29;
4370 var_pexterncodeblocknode10 = var_nodearraylist9;
4371 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
4372 cltype31 = type_nullable_parser_nodes__AExternCodeBlock.color;
4373 idtype32 = type_nullable_parser_nodes__AExternCodeBlock.id;
4374 if(var_pexterncodeblocknode10 == NULL) {
4375 var30 = 1;
4376 } else {
4377 if(cltype31 >= var_pexterncodeblocknode10->type->table_size) {
4378 var30 = 0;
4379 } else {
4380 var30 = var_pexterncodeblocknode10->type->type_table[cltype31] == idtype32;
4381 }
4382 }
4383 if (!var30) {
4384 fprintf(stderr, "Runtime error: %s", "Assert failed");
4385 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11347);
4386 show_backtrace(1);
4387 }
4388 var_listnode12 = var_nodearraylist10;
4389 /* <var_listnode12:nullable Object> isa Array[Object] */
4390 cltype34 = type_array__Arraykernel__Object.color;
4391 idtype35 = type_array__Arraykernel__Object.id;
4392 if(var_listnode12 == NULL) {
4393 var33 = 0;
4394 } else {
4395 if(cltype34 >= var_listnode12->type->table_size) {
4396 var33 = 0;
4397 } else {
4398 var33 = var_listnode12->type->type_table[cltype34] == idtype35;
4399 }
4400 }
4401 if (!var33) {
4402 fprintf(stderr, "Runtime error: %s", "Assert failed");
4403 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11349);
4404 show_backtrace(1);
4405 }
4406 var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction244>*/;
4407 var_listnode13 = var36;
4408 var_tkwendnode14 = var_nodearraylist12;
4409 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
4410 cltype38 = type_nullable_parser_nodes__TKwend.color;
4411 idtype39 = type_nullable_parser_nodes__TKwend.id;
4412 if(var_tkwendnode14 == NULL) {
4413 var37 = 1;
4414 } else {
4415 if(cltype38 >= var_tkwendnode14->type->table_size) {
4416 var37 = 0;
4417 } else {
4418 var37 = var_tkwendnode14->type->type_table[cltype38] == idtype39;
4419 }
4420 }
4421 if (!var37) {
4422 fprintf(stderr, "Runtime error: %s", "Assert failed");
4423 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11352);
4424 show_backtrace(1);
4425 }
4426 var40 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4427 var41 = NULL;
4428 var42 = NULL;
4429 ((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_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var40:AStdClassdef>*/;
4430 var_pclassdefnode1 = var40;
4431 var_node_list = var_pclassdefnode1;
4432 var43 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction244> */
4433 var44 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var43) /* go_to on <var_p:Parser>*/;
4434 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var44, var_node_list) /* push on <var_p:Parser>*/;
4435 RET_LABEL:;
4436 }
4437 /* method parser#ReduceAction244#action for (self: Object, Parser) */
4438 void VIRTUAL_parser__ReduceAction244__action(val* self, val* p0) {
4439 parser__ReduceAction244__action(self, p0);
4440 RET_LABEL:;
4441 }
4442 /* method parser#ReduceAction246#action for (self: ReduceAction246, Parser) */
4443 void parser__ReduceAction246__action(val* self, val* p0) {
4444 val* var_p /* var p: Parser */;
4445 val* var /* : null */;
4446 val* var_node_list /* var node_list: nullable Object */;
4447 val* var1 /* : nullable Object */;
4448 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
4449 val* var2 /* : nullable Object */;
4450 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
4451 val* var3 /* : nullable Object */;
4452 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4453 val* var4 /* : nullable Object */;
4454 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4455 val* var5 /* : nullable Object */;
4456 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4457 val* var6 /* : nullable Object */;
4458 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4459 val* var7 /* : nullable Object */;
4460 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4461 val* var8 /* : nullable Object */;
4462 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4463 val* var9 /* : nullable Object */;
4464 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4465 val* var10 /* : nullable Object */;
4466 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4467 val* var11 /* : nullable Object */;
4468 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4469 val* var12 /* : nullable Object */;
4470 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4471 val* var13 /* : Array[Object] */;
4472 val* var_listnode8 /* var listnode8: Array[Object] */;
4473 val* var14 /* : Array[Object] */;
4474 val* var_listnode11 /* var listnode11: Array[Object] */;
4475 val* var15 /* : Array[Object] */;
4476 val* var_listnode13 /* var listnode13: Array[Object] */;
4477 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4478 short int var16 /* : Bool */;
4479 int cltype;
4480 int idtype;
4481 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
4482 short int var17 /* : Bool */;
4483 int cltype18;
4484 int idtype19;
4485 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4486 short int var20 /* : Bool */;
4487 int cltype21;
4488 int idtype22;
4489 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4490 short int var23 /* : Bool */;
4491 int cltype24;
4492 int idtype25;
4493 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4494 short int var26 /* : Bool */;
4495 int cltype27;
4496 int idtype28;
4497 val* var_listnode7 /* var listnode7: nullable Object */;
4498 short int var29 /* : Bool */;
4499 int cltype30;
4500 int idtype31;
4501 val* var32 /* : Array[Object] */;
4502 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
4503 short int var33 /* : Bool */;
4504 int cltype34;
4505 int idtype35;
4506 val* var_listnode12 /* var listnode12: nullable Object */;
4507 short int var36 /* : Bool */;
4508 int cltype37;
4509 int idtype38;
4510 val* var39 /* : Array[Object] */;
4511 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
4512 short int var40 /* : Bool */;
4513 int cltype41;
4514 int idtype42;
4515 val* var43 /* : AStdClassdef */;
4516 val* var44 /* : null */;
4517 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4518 long var45 /* : Int */;
4519 long var46 /* : Int */;
4520 var_p = p0;
4521 var = NULL;
4522 var_node_list = var;
4523 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4524 var_nodearraylist12 = var1;
4525 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4526 var_nodearraylist11 = var2;
4527 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4528 var_nodearraylist10 = var3;
4529 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4530 var_nodearraylist9 = var4;
4531 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4532 var_nodearraylist8 = var5;
4533 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4534 var_nodearraylist7 = var6;
4535 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4536 var_nodearraylist6 = var7;
4537 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4538 var_nodearraylist5 = var8;
4539 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4540 var_nodearraylist4 = var9;
4541 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4542 var_nodearraylist3 = var10;
4543 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4544 var_nodearraylist2 = var11;
4545 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4546 var_nodearraylist1 = var12;
4547 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
4548 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
4549 var_listnode8 = var13;
4550 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
4551 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
4552 var_listnode11 = var14;
4553 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
4554 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
4555 var_listnode13 = var15;
4556 var_pdocnode2 = var_nodearraylist1;
4557 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4558 cltype = type_nullable_parser_nodes__ADoc.color;
4559 idtype = type_nullable_parser_nodes__ADoc.id;
4560 if(var_pdocnode2 == NULL) {
4561 var16 = 1;
4562 } else {
4563 if(cltype >= var_pdocnode2->type->table_size) {
4564 var16 = 0;
4565 } else {
4566 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
4567 }
4568 }
4569 if (!var16) {
4570 fprintf(stderr, "Runtime error: %s", "Assert failed");
4571 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11391);
4572 show_backtrace(1);
4573 }
4574 var_tkwredefnode3 = var_nodearraylist2;
4575 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4576 cltype18 = type_nullable_parser_nodes__TKwredef.color;
4577 idtype19 = type_nullable_parser_nodes__TKwredef.id;
4578 if(var_tkwredefnode3 == NULL) {
4579 var17 = 1;
4580 } else {
4581 if(cltype18 >= var_tkwredefnode3->type->table_size) {
4582 var17 = 0;
4583 } else {
4584 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
4585 }
4586 }
4587 if (!var17) {
4588 fprintf(stderr, "Runtime error: %s", "Assert failed");
4589 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11393);
4590 show_backtrace(1);
4591 }
4592 var_pvisibilitynode4 = var_nodearraylist3;
4593 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4594 cltype21 = type_nullable_parser_nodes__AVisibility.color;
4595 idtype22 = type_nullable_parser_nodes__AVisibility.id;
4596 if(var_pvisibilitynode4 == NULL) {
4597 var20 = 1;
4598 } else {
4599 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
4600 var20 = 0;
4601 } else {
4602 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
4603 }
4604 }
4605 if (!var20) {
4606 fprintf(stderr, "Runtime error: %s", "Assert failed");
4607 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11395);
4608 show_backtrace(1);
4609 }
4610 var_pclasskindnode5 = var_nodearraylist4;
4611 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4612 cltype24 = type_nullable_parser_nodes__AClasskind.color;
4613 idtype25 = type_nullable_parser_nodes__AClasskind.id;
4614 if(var_pclasskindnode5 == NULL) {
4615 var23 = 1;
4616 } else {
4617 if(cltype24 >= var_pclasskindnode5->type->table_size) {
4618 var23 = 0;
4619 } else {
4620 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
4621 }
4622 }
4623 if (!var23) {
4624 fprintf(stderr, "Runtime error: %s", "Assert failed");
4625 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11397);
4626 show_backtrace(1);
4627 }
4628 var_tclassidnode6 = var_nodearraylist7;
4629 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4630 cltype27 = type_nullable_parser_nodes__TClassid.color;
4631 idtype28 = type_nullable_parser_nodes__TClassid.id;
4632 if(var_tclassidnode6 == NULL) {
4633 var26 = 1;
4634 } else {
4635 if(cltype27 >= var_tclassidnode6->type->table_size) {
4636 var26 = 0;
4637 } else {
4638 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
4639 }
4640 }
4641 if (!var26) {
4642 fprintf(stderr, "Runtime error: %s", "Assert failed");
4643 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11399);
4644 show_backtrace(1);
4645 }
4646 var_listnode7 = var_nodearraylist8;
4647 /* <var_listnode7:nullable Object> isa Array[Object] */
4648 cltype30 = type_array__Arraykernel__Object.color;
4649 idtype31 = type_array__Arraykernel__Object.id;
4650 if(var_listnode7 == NULL) {
4651 var29 = 0;
4652 } else {
4653 if(cltype30 >= var_listnode7->type->table_size) {
4654 var29 = 0;
4655 } else {
4656 var29 = var_listnode7->type->type_table[cltype30] == idtype31;
4657 }
4658 }
4659 if (!var29) {
4660 fprintf(stderr, "Runtime error: %s", "Assert failed");
4661 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11401);
4662 show_backtrace(1);
4663 }
4664 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction246>*/;
4665 var_listnode8 = var32;
4666 var_pexterncodeblocknode10 = var_nodearraylist9;
4667 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
4668 cltype34 = type_nullable_parser_nodes__AExternCodeBlock.color;
4669 idtype35 = type_nullable_parser_nodes__AExternCodeBlock.id;
4670 if(var_pexterncodeblocknode10 == NULL) {
4671 var33 = 1;
4672 } else {
4673 if(cltype34 >= var_pexterncodeblocknode10->type->table_size) {
4674 var33 = 0;
4675 } else {
4676 var33 = var_pexterncodeblocknode10->type->type_table[cltype34] == idtype35;
4677 }
4678 }
4679 if (!var33) {
4680 fprintf(stderr, "Runtime error: %s", "Assert failed");
4681 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11404);
4682 show_backtrace(1);
4683 }
4684 var_listnode12 = var_nodearraylist10;
4685 /* <var_listnode12:nullable Object> isa Array[Object] */
4686 cltype37 = type_array__Arraykernel__Object.color;
4687 idtype38 = type_array__Arraykernel__Object.id;
4688 if(var_listnode12 == NULL) {
4689 var36 = 0;
4690 } else {
4691 if(cltype37 >= var_listnode12->type->table_size) {
4692 var36 = 0;
4693 } else {
4694 var36 = var_listnode12->type->type_table[cltype37] == idtype38;
4695 }
4696 }
4697 if (!var36) {
4698 fprintf(stderr, "Runtime error: %s", "Assert failed");
4699 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11406);
4700 show_backtrace(1);
4701 }
4702 var39 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction246>*/;
4703 var_listnode13 = var39;
4704 var_tkwendnode14 = var_nodearraylist12;
4705 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
4706 cltype41 = type_nullable_parser_nodes__TKwend.color;
4707 idtype42 = type_nullable_parser_nodes__TKwend.id;
4708 if(var_tkwendnode14 == NULL) {
4709 var40 = 1;
4710 } else {
4711 if(cltype41 >= var_tkwendnode14->type->table_size) {
4712 var40 = 0;
4713 } else {
4714 var40 = var_tkwendnode14->type->type_table[cltype41] == idtype42;
4715 }
4716 }
4717 if (!var40) {
4718 fprintf(stderr, "Runtime error: %s", "Assert failed");
4719 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11409);
4720 show_backtrace(1);
4721 }
4722 var43 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4723 var44 = NULL;
4724 ((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_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var43:AStdClassdef>*/;
4725 var_pclassdefnode1 = var43;
4726 var_node_list = var_pclassdefnode1;
4727 var45 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction246> */
4728 var46 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var45) /* go_to on <var_p:Parser>*/;
4729 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var46, var_node_list) /* push on <var_p:Parser>*/;
4730 RET_LABEL:;
4731 }
4732 /* method parser#ReduceAction246#action for (self: Object, Parser) */
4733 void VIRTUAL_parser__ReduceAction246__action(val* self, val* p0) {
4734 parser__ReduceAction246__action(self, p0);
4735 RET_LABEL:;
4736 }
4737 /* method parser#ReduceAction247#action for (self: ReduceAction247, Parser) */
4738 void parser__ReduceAction247__action(val* self, val* p0) {
4739 val* var_p /* var p: Parser */;
4740 val* var /* : null */;
4741 val* var_node_list /* var node_list: nullable Object */;
4742 val* var1 /* : nullable Object */;
4743 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
4744 val* var2 /* : nullable Object */;
4745 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
4746 val* var3 /* : nullable Object */;
4747 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
4748 val* var4 /* : nullable Object */;
4749 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4750 val* var5 /* : nullable Object */;
4751 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4752 val* var6 /* : nullable Object */;
4753 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4754 val* var7 /* : nullable Object */;
4755 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4756 val* var8 /* : nullable Object */;
4757 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4758 val* var9 /* : nullable Object */;
4759 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4760 val* var10 /* : nullable Object */;
4761 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4762 val* var11 /* : nullable Object */;
4763 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4764 val* var12 /* : nullable Object */;
4765 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4766 val* var13 /* : nullable Object */;
4767 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4768 val* var14 /* : Array[Object] */;
4769 val* var_listnode8 /* var listnode8: Array[Object] */;
4770 val* var15 /* : Array[Object] */;
4771 val* var_listnode11 /* var listnode11: Array[Object] */;
4772 val* var16 /* : Array[Object] */;
4773 val* var_listnode13 /* var listnode13: Array[Object] */;
4774 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4775 short int var17 /* : Bool */;
4776 int cltype;
4777 int idtype;
4778 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
4779 short int var18 /* : Bool */;
4780 int cltype19;
4781 int idtype20;
4782 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4783 short int var21 /* : Bool */;
4784 int cltype22;
4785 int idtype23;
4786 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4787 short int var24 /* : Bool */;
4788 int cltype25;
4789 int idtype26;
4790 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4791 short int var27 /* : Bool */;
4792 int cltype28;
4793 int idtype29;
4794 val* var_listnode7 /* var listnode7: nullable Object */;
4795 short int var30 /* : Bool */;
4796 int cltype31;
4797 int idtype32;
4798 val* var33 /* : Array[Object] */;
4799 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
4800 short int var34 /* : Bool */;
4801 int cltype35;
4802 int idtype36;
4803 val* var_listnode12 /* var listnode12: nullable Object */;
4804 short int var37 /* : Bool */;
4805 int cltype38;
4806 int idtype39;
4807 val* var40 /* : Array[Object] */;
4808 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
4809 short int var41 /* : Bool */;
4810 int cltype42;
4811 int idtype43;
4812 val* var44 /* : AStdClassdef */;
4813 val* var45 /* : null */;
4814 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4815 long var46 /* : Int */;
4816 long var47 /* : Int */;
4817 var_p = p0;
4818 var = NULL;
4819 var_node_list = var;
4820 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4821 var_nodearraylist13 = var1;
4822 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4823 var_nodearraylist12 = var2;
4824 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4825 var_nodearraylist11 = var3;
4826 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4827 var_nodearraylist10 = var4;
4828 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4829 var_nodearraylist9 = var5;
4830 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4831 var_nodearraylist8 = var6;
4832 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4833 var_nodearraylist7 = var7;
4834 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4835 var_nodearraylist6 = var8;
4836 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4837 var_nodearraylist5 = var9;
4838 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4839 var_nodearraylist4 = var10;
4840 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4841 var_nodearraylist3 = var11;
4842 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4843 var_nodearraylist2 = var12;
4844 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4845 var_nodearraylist1 = var13;
4846 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
4847 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
4848 var_listnode8 = var14;
4849 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
4850 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
4851 var_listnode11 = var15;
4852 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
4853 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
4854 var_listnode13 = var16;
4855 var_pdocnode2 = var_nodearraylist1;
4856 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4857 cltype = type_nullable_parser_nodes__ADoc.color;
4858 idtype = type_nullable_parser_nodes__ADoc.id;
4859 if(var_pdocnode2 == NULL) {
4860 var17 = 1;
4861 } else {
4862 if(cltype >= var_pdocnode2->type->table_size) {
4863 var17 = 0;
4864 } else {
4865 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
4866 }
4867 }
4868 if (!var17) {
4869 fprintf(stderr, "Runtime error: %s", "Assert failed");
4870 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11449);
4871 show_backtrace(1);
4872 }
4873 var_tkwredefnode3 = var_nodearraylist2;
4874 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4875 cltype19 = type_nullable_parser_nodes__TKwredef.color;
4876 idtype20 = type_nullable_parser_nodes__TKwredef.id;
4877 if(var_tkwredefnode3 == NULL) {
4878 var18 = 1;
4879 } else {
4880 if(cltype19 >= var_tkwredefnode3->type->table_size) {
4881 var18 = 0;
4882 } else {
4883 var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20;
4884 }
4885 }
4886 if (!var18) {
4887 fprintf(stderr, "Runtime error: %s", "Assert failed");
4888 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11451);
4889 show_backtrace(1);
4890 }
4891 var_pvisibilitynode4 = var_nodearraylist3;
4892 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4893 cltype22 = type_nullable_parser_nodes__AVisibility.color;
4894 idtype23 = type_nullable_parser_nodes__AVisibility.id;
4895 if(var_pvisibilitynode4 == NULL) {
4896 var21 = 1;
4897 } else {
4898 if(cltype22 >= var_pvisibilitynode4->type->table_size) {
4899 var21 = 0;
4900 } else {
4901 var21 = var_pvisibilitynode4->type->type_table[cltype22] == idtype23;
4902 }
4903 }
4904 if (!var21) {
4905 fprintf(stderr, "Runtime error: %s", "Assert failed");
4906 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11453);
4907 show_backtrace(1);
4908 }
4909 var_pclasskindnode5 = var_nodearraylist4;
4910 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4911 cltype25 = type_nullable_parser_nodes__AClasskind.color;
4912 idtype26 = type_nullable_parser_nodes__AClasskind.id;
4913 if(var_pclasskindnode5 == NULL) {
4914 var24 = 1;
4915 } else {
4916 if(cltype25 >= var_pclasskindnode5->type->table_size) {
4917 var24 = 0;
4918 } else {
4919 var24 = var_pclasskindnode5->type->type_table[cltype25] == idtype26;
4920 }
4921 }
4922 if (!var24) {
4923 fprintf(stderr, "Runtime error: %s", "Assert failed");
4924 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11455);
4925 show_backtrace(1);
4926 }
4927 var_tclassidnode6 = var_nodearraylist8;
4928 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4929 cltype28 = type_nullable_parser_nodes__TClassid.color;
4930 idtype29 = type_nullable_parser_nodes__TClassid.id;
4931 if(var_tclassidnode6 == NULL) {
4932 var27 = 1;
4933 } else {
4934 if(cltype28 >= var_tclassidnode6->type->table_size) {
4935 var27 = 0;
4936 } else {
4937 var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29;
4938 }
4939 }
4940 if (!var27) {
4941 fprintf(stderr, "Runtime error: %s", "Assert failed");
4942 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11457);
4943 show_backtrace(1);
4944 }
4945 var_listnode7 = var_nodearraylist9;
4946 /* <var_listnode7:nullable Object> isa Array[Object] */
4947 cltype31 = type_array__Arraykernel__Object.color;
4948 idtype32 = type_array__Arraykernel__Object.id;
4949 if(var_listnode7 == NULL) {
4950 var30 = 0;
4951 } else {
4952 if(cltype31 >= var_listnode7->type->table_size) {
4953 var30 = 0;
4954 } else {
4955 var30 = var_listnode7->type->type_table[cltype31] == idtype32;
4956 }
4957 }
4958 if (!var30) {
4959 fprintf(stderr, "Runtime error: %s", "Assert failed");
4960 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11459);
4961 show_backtrace(1);
4962 }
4963 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction247>*/;
4964 var_listnode8 = var33;
4965 var_pexterncodeblocknode10 = var_nodearraylist10;
4966 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
4967 cltype35 = type_nullable_parser_nodes__AExternCodeBlock.color;
4968 idtype36 = type_nullable_parser_nodes__AExternCodeBlock.id;
4969 if(var_pexterncodeblocknode10 == NULL) {
4970 var34 = 1;
4971 } else {
4972 if(cltype35 >= var_pexterncodeblocknode10->type->table_size) {
4973 var34 = 0;
4974 } else {
4975 var34 = var_pexterncodeblocknode10->type->type_table[cltype35] == idtype36;
4976 }
4977 }
4978 if (!var34) {
4979 fprintf(stderr, "Runtime error: %s", "Assert failed");
4980 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11462);
4981 show_backtrace(1);
4982 }
4983 var_listnode12 = var_nodearraylist11;
4984 /* <var_listnode12:nullable Object> isa Array[Object] */
4985 cltype38 = type_array__Arraykernel__Object.color;
4986 idtype39 = type_array__Arraykernel__Object.id;
4987 if(var_listnode12 == NULL) {
4988 var37 = 0;
4989 } else {
4990 if(cltype38 >= var_listnode12->type->table_size) {
4991 var37 = 0;
4992 } else {
4993 var37 = var_listnode12->type->type_table[cltype38] == idtype39;
4994 }
4995 }
4996 if (!var37) {
4997 fprintf(stderr, "Runtime error: %s", "Assert failed");
4998 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11464);
4999 show_backtrace(1);
5000 }
5001 var40 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction247>*/;
5002 var_listnode13 = var40;
5003 var_tkwendnode14 = var_nodearraylist13;
5004 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
5005 cltype42 = type_nullable_parser_nodes__TKwend.color;
5006 idtype43 = type_nullable_parser_nodes__TKwend.id;
5007 if(var_tkwendnode14 == NULL) {
5008 var41 = 1;
5009 } else {
5010 if(cltype42 >= var_tkwendnode14->type->table_size) {
5011 var41 = 0;
5012 } else {
5013 var41 = var_tkwendnode14->type->type_table[cltype42] == idtype43;
5014 }
5015 }
5016 if (!var41) {
5017 fprintf(stderr, "Runtime error: %s", "Assert failed");
5018 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11467);
5019 show_backtrace(1);
5020 }
5021 var44 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5022 var45 = NULL;
5023 ((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_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var44:AStdClassdef>*/;
5024 var_pclassdefnode1 = var44;
5025 var_node_list = var_pclassdefnode1;
5026 var46 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction247> */
5027 var47 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var46) /* go_to on <var_p:Parser>*/;
5028 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var47, var_node_list) /* push on <var_p:Parser>*/;
5029 RET_LABEL:;
5030 }
5031 /* method parser#ReduceAction247#action for (self: Object, Parser) */
5032 void VIRTUAL_parser__ReduceAction247__action(val* self, val* p0) {
5033 parser__ReduceAction247__action(self, p0);
5034 RET_LABEL:;
5035 }
5036 /* method parser#ReduceAction249#action for (self: ReduceAction249, Parser) */
5037 void parser__ReduceAction249__action(val* self, val* p0) {
5038 val* var_p /* var p: Parser */;
5039 val* var /* : null */;
5040 val* var_node_list /* var node_list: nullable Object */;
5041 val* var1 /* : nullable Object */;
5042 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5043 val* var2 /* : nullable Object */;
5044 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5045 val* var3 /* : nullable Object */;
5046 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5047 val* var4 /* : nullable Object */;
5048 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5049 val* var5 /* : nullable Object */;
5050 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5051 val* var6 /* : nullable Object */;
5052 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5053 val* var7 /* : nullable Object */;
5054 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5055 val* var8 /* : nullable Object */;
5056 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5057 val* var9 /* : nullable Object */;
5058 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5059 val* var10 /* : nullable Object */;
5060 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5061 val* var11 /* : Array[Object] */;
5062 val* var_listnode7 /* var listnode7: Array[Object] */;
5063 val* var12 /* : Array[Object] */;
5064 val* var_listnode15 /* var listnode15: Array[Object] */;
5065 val* var13 /* : Array[Object] */;
5066 val* var_listnode17 /* var listnode17: Array[Object] */;
5067 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5068 short int var14 /* : Bool */;
5069 int cltype;
5070 int idtype;
5071 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5072 short int var15 /* : Bool */;
5073 int cltype16;
5074 int idtype17;
5075 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5076 short int var18 /* : Bool */;
5077 int cltype19;
5078 int idtype20;
5079 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5080 short int var21 /* : Bool */;
5081 int cltype22;
5082 int idtype23;
5083 val* var24 /* : Array[Object] */;
5084 val* var_listnode12 /* var listnode12: Array[Object] */;
5085 val* var_listnode11 /* var listnode11: nullable Object */;
5086 short int var25 /* : Bool */;
5087 int cltype26;
5088 int idtype27;
5089 val* var28 /* : Array[Object] */;
5090 val* var29 /* : AAnnotations */;
5091 val* var30 /* : null */;
5092 val* var31 /* : null */;
5093 val* var32 /* : null */;
5094 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
5095 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
5096 short int var33 /* : Bool */;
5097 int cltype34;
5098 int idtype35;
5099 val* var_listnode16 /* var listnode16: nullable Object */;
5100 short int var36 /* : Bool */;
5101 int cltype37;
5102 int idtype38;
5103 val* var39 /* : Array[Object] */;
5104 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
5105 short int var40 /* : Bool */;
5106 int cltype41;
5107 int idtype42;
5108 val* var43 /* : AStdClassdef */;
5109 val* var44 /* : null */;
5110 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5111 long var45 /* : Int */;
5112 long var46 /* : Int */;
5113 var_p = p0;
5114 var = NULL;
5115 var_node_list = var;
5116 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5117 var_nodearraylist10 = var1;
5118 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5119 var_nodearraylist9 = var2;
5120 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5121 var_nodearraylist8 = var3;
5122 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5123 var_nodearraylist7 = var4;
5124 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5125 var_nodearraylist6 = var5;
5126 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5127 var_nodearraylist5 = var6;
5128 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5129 var_nodearraylist4 = var7;
5130 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5131 var_nodearraylist3 = var8;
5132 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5133 var_nodearraylist2 = var9;
5134 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5135 var_nodearraylist1 = var10;
5136 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
5137 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
5138 var_listnode7 = var11;
5139 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
5140 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
5141 var_listnode15 = var12;
5142 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
5143 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
5144 var_listnode17 = var13;
5145 var_pdocnode2 = var_nodearraylist1;
5146 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5147 cltype = type_nullable_parser_nodes__ADoc.color;
5148 idtype = type_nullable_parser_nodes__ADoc.id;
5149 if(var_pdocnode2 == NULL) {
5150 var14 = 1;
5151 } else {
5152 if(cltype >= var_pdocnode2->type->table_size) {
5153 var14 = 0;
5154 } else {
5155 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
5156 }
5157 }
5158 if (!var14) {
5159 fprintf(stderr, "Runtime error: %s", "Assert failed");
5160 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11504);
5161 show_backtrace(1);
5162 }
5163 var_pvisibilitynode4 = var_nodearraylist2;
5164 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5165 cltype16 = type_nullable_parser_nodes__AVisibility.color;
5166 idtype17 = type_nullable_parser_nodes__AVisibility.id;
5167 if(var_pvisibilitynode4 == NULL) {
5168 var15 = 1;
5169 } else {
5170 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
5171 var15 = 0;
5172 } else {
5173 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
5174 }
5175 }
5176 if (!var15) {
5177 fprintf(stderr, "Runtime error: %s", "Assert failed");
5178 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11506);
5179 show_backtrace(1);
5180 }
5181 var_pclasskindnode5 = var_nodearraylist3;
5182 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5183 cltype19 = type_nullable_parser_nodes__AClasskind.color;
5184 idtype20 = type_nullable_parser_nodes__AClasskind.id;
5185 if(var_pclasskindnode5 == NULL) {
5186 var18 = 1;
5187 } else {
5188 if(cltype19 >= var_pclasskindnode5->type->table_size) {
5189 var18 = 0;
5190 } else {
5191 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
5192 }
5193 }
5194 if (!var18) {
5195 fprintf(stderr, "Runtime error: %s", "Assert failed");
5196 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11508);
5197 show_backtrace(1);
5198 }
5199 var_tclassidnode6 = var_nodearraylist5;
5200 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5201 cltype22 = type_nullable_parser_nodes__TClassid.color;
5202 idtype23 = type_nullable_parser_nodes__TClassid.id;
5203 if(var_tclassidnode6 == NULL) {
5204 var21 = 1;
5205 } else {
5206 if(cltype22 >= var_tclassidnode6->type->table_size) {
5207 var21 = 0;
5208 } else {
5209 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
5210 }
5211 }
5212 if (!var21) {
5213 fprintf(stderr, "Runtime error: %s", "Assert failed");
5214 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11510);
5215 show_backtrace(1);
5216 }
5217 var24 = NEW_array__Array(&type_array__Arraykernel__Object);
5218 ((void (*)(val*))(var24->class->vft[COLOR_array__Array__init]))(var24) /* init on <var24:Array[Object]>*/;
5219 var_listnode12 = var24;
5220 var_listnode11 = var_nodearraylist6;
5221 /* <var_listnode11:nullable Object> isa Array[Object] */
5222 cltype26 = type_array__Arraykernel__Object.color;
5223 idtype27 = type_array__Arraykernel__Object.id;
5224 if(var_listnode11 == NULL) {
5225 var25 = 0;
5226 } else {
5227 if(cltype26 >= var_listnode11->type->table_size) {
5228 var25 = 0;
5229 } else {
5230 var25 = var_listnode11->type->type_table[cltype26] == idtype27;
5231 }
5232 }
5233 if (!var25) {
5234 fprintf(stderr, "Runtime error: %s", "Assert failed");
5235 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11513);
5236 show_backtrace(1);
5237 }
5238 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction249>*/;
5239 var_listnode12 = var28;
5240 var29 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
5241 var30 = NULL;
5242 var31 = NULL;
5243 var32 = NULL;
5244 ((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>*/;
5245 var_pannotationsnode8 = var29;
5246 var_pexterncodeblocknode14 = var_nodearraylist7;
5247 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
5248 cltype34 = type_nullable_parser_nodes__AExternCodeBlock.color;
5249 idtype35 = type_nullable_parser_nodes__AExternCodeBlock.id;
5250 if(var_pexterncodeblocknode14 == NULL) {
5251 var33 = 1;
5252 } else {
5253 if(cltype34 >= var_pexterncodeblocknode14->type->table_size) {
5254 var33 = 0;
5255 } else {
5256 var33 = var_pexterncodeblocknode14->type->type_table[cltype34] == idtype35;
5257 }
5258 }
5259 if (!var33) {
5260 fprintf(stderr, "Runtime error: %s", "Assert failed");
5261 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11522);
5262 show_backtrace(1);
5263 }
5264 var_listnode16 = var_nodearraylist8;
5265 /* <var_listnode16:nullable Object> isa Array[Object] */
5266 cltype37 = type_array__Arraykernel__Object.color;
5267 idtype38 = type_array__Arraykernel__Object.id;
5268 if(var_listnode16 == NULL) {
5269 var36 = 0;
5270 } else {
5271 if(cltype37 >= var_listnode16->type->table_size) {
5272 var36 = 0;
5273 } else {
5274 var36 = var_listnode16->type->type_table[cltype37] == idtype38;
5275 }
5276 }
5277 if (!var36) {
5278 fprintf(stderr, "Runtime error: %s", "Assert failed");
5279 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11524);
5280 show_backtrace(1);
5281 }
5282 var39 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction249>*/;
5283 var_listnode17 = var39;
5284 var_tkwendnode18 = var_nodearraylist10;
5285 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
5286 cltype41 = type_nullable_parser_nodes__TKwend.color;
5287 idtype42 = type_nullable_parser_nodes__TKwend.id;
5288 if(var_tkwendnode18 == NULL) {
5289 var40 = 1;
5290 } else {
5291 if(cltype41 >= var_tkwendnode18->type->table_size) {
5292 var40 = 0;
5293 } else {
5294 var40 = var_tkwendnode18->type->type_table[cltype41] == idtype42;
5295 }
5296 }
5297 if (!var40) {
5298 fprintf(stderr, "Runtime error: %s", "Assert failed");
5299 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11527);
5300 show_backtrace(1);
5301 }
5302 var43 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5303 var44 = NULL;
5304 ((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_listnode15, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var43:AStdClassdef>*/;
5305 var_pclassdefnode1 = var43;
5306 var_node_list = var_pclassdefnode1;
5307 var45 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction249> */
5308 var46 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var45) /* go_to on <var_p:Parser>*/;
5309 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var46, var_node_list) /* push on <var_p:Parser>*/;
5310 RET_LABEL:;
5311 }
5312 /* method parser#ReduceAction249#action for (self: Object, Parser) */
5313 void VIRTUAL_parser__ReduceAction249__action(val* self, val* p0) {
5314 parser__ReduceAction249__action(self, p0);
5315 RET_LABEL:;
5316 }
5317 /* method parser#ReduceAction250#action for (self: ReduceAction250, Parser) */
5318 void parser__ReduceAction250__action(val* self, val* p0) {
5319 val* var_p /* var p: Parser */;
5320 val* var /* : null */;
5321 val* var_node_list /* var node_list: nullable Object */;
5322 val* var1 /* : nullable Object */;
5323 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
5324 val* var2 /* : nullable Object */;
5325 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5326 val* var3 /* : nullable Object */;
5327 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5328 val* var4 /* : nullable Object */;
5329 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5330 val* var5 /* : nullable Object */;
5331 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5332 val* var6 /* : nullable Object */;
5333 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5334 val* var7 /* : nullable Object */;
5335 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5336 val* var8 /* : nullable Object */;
5337 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5338 val* var9 /* : nullable Object */;
5339 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5340 val* var10 /* : nullable Object */;
5341 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5342 val* var11 /* : nullable Object */;
5343 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5344 val* var12 /* : Array[Object] */;
5345 val* var_listnode7 /* var listnode7: Array[Object] */;
5346 val* var13 /* : Array[Object] */;
5347 val* var_listnode15 /* var listnode15: Array[Object] */;
5348 val* var14 /* : Array[Object] */;
5349 val* var_listnode17 /* var listnode17: Array[Object] */;
5350 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5351 short int var15 /* : Bool */;
5352 int cltype;
5353 int idtype;
5354 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
5355 short int var16 /* : Bool */;
5356 int cltype17;
5357 int idtype18;
5358 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5359 short int var19 /* : Bool */;
5360 int cltype20;
5361 int idtype21;
5362 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5363 short int var22 /* : Bool */;
5364 int cltype23;
5365 int idtype24;
5366 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5367 short int var25 /* : Bool */;
5368 int cltype26;
5369 int idtype27;
5370 val* var28 /* : Array[Object] */;
5371 val* var_listnode12 /* var listnode12: Array[Object] */;
5372 val* var_listnode11 /* var listnode11: nullable Object */;
5373 short int var29 /* : Bool */;
5374 int cltype30;
5375 int idtype31;
5376 val* var32 /* : Array[Object] */;
5377 val* var33 /* : AAnnotations */;
5378 val* var34 /* : null */;
5379 val* var35 /* : null */;
5380 val* var36 /* : null */;
5381 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
5382 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
5383 short int var37 /* : Bool */;
5384 int cltype38;
5385 int idtype39;
5386 val* var_listnode16 /* var listnode16: nullable Object */;
5387 short int var40 /* : Bool */;
5388 int cltype41;
5389 int idtype42;
5390 val* var43 /* : Array[Object] */;
5391 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
5392 short int var44 /* : Bool */;
5393 int cltype45;
5394 int idtype46;
5395 val* var47 /* : AStdClassdef */;
5396 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5397 long var48 /* : Int */;
5398 long var49 /* : Int */;
5399 var_p = p0;
5400 var = NULL;
5401 var_node_list = var;
5402 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5403 var_nodearraylist11 = var1;
5404 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5405 var_nodearraylist10 = var2;
5406 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5407 var_nodearraylist9 = var3;
5408 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5409 var_nodearraylist8 = var4;
5410 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5411 var_nodearraylist7 = var5;
5412 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5413 var_nodearraylist6 = var6;
5414 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5415 var_nodearraylist5 = var7;
5416 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5417 var_nodearraylist4 = var8;
5418 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5419 var_nodearraylist3 = var9;
5420 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5421 var_nodearraylist2 = var10;
5422 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5423 var_nodearraylist1 = var11;
5424 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
5425 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
5426 var_listnode7 = var12;
5427 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
5428 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
5429 var_listnode15 = var13;
5430 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
5431 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
5432 var_listnode17 = var14;
5433 var_pdocnode2 = var_nodearraylist1;
5434 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5435 cltype = type_nullable_parser_nodes__ADoc.color;
5436 idtype = type_nullable_parser_nodes__ADoc.id;
5437 if(var_pdocnode2 == NULL) {
5438 var15 = 1;
5439 } else {
5440 if(cltype >= var_pdocnode2->type->table_size) {
5441 var15 = 0;
5442 } else {
5443 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
5444 }
5445 }
5446 if (!var15) {
5447 fprintf(stderr, "Runtime error: %s", "Assert failed");
5448 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11565);
5449 show_backtrace(1);
5450 }
5451 var_tkwredefnode3 = var_nodearraylist2;
5452 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
5453 cltype17 = type_nullable_parser_nodes__TKwredef.color;
5454 idtype18 = type_nullable_parser_nodes__TKwredef.id;
5455 if(var_tkwredefnode3 == NULL) {
5456 var16 = 1;
5457 } else {
5458 if(cltype17 >= var_tkwredefnode3->type->table_size) {
5459 var16 = 0;
5460 } else {
5461 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
5462 }
5463 }
5464 if (!var16) {
5465 fprintf(stderr, "Runtime error: %s", "Assert failed");
5466 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11567);
5467 show_backtrace(1);
5468 }
5469 var_pvisibilitynode4 = var_nodearraylist3;
5470 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5471 cltype20 = type_nullable_parser_nodes__AVisibility.color;
5472 idtype21 = type_nullable_parser_nodes__AVisibility.id;
5473 if(var_pvisibilitynode4 == NULL) {
5474 var19 = 1;
5475 } else {
5476 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
5477 var19 = 0;
5478 } else {
5479 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
5480 }
5481 }
5482 if (!var19) {
5483 fprintf(stderr, "Runtime error: %s", "Assert failed");
5484 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11569);
5485 show_backtrace(1);
5486 }
5487 var_pclasskindnode5 = var_nodearraylist4;
5488 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5489 cltype23 = type_nullable_parser_nodes__AClasskind.color;
5490 idtype24 = type_nullable_parser_nodes__AClasskind.id;
5491 if(var_pclasskindnode5 == NULL) {
5492 var22 = 1;
5493 } else {
5494 if(cltype23 >= var_pclasskindnode5->type->table_size) {
5495 var22 = 0;
5496 } else {
5497 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
5498 }
5499 }
5500 if (!var22) {
5501 fprintf(stderr, "Runtime error: %s", "Assert failed");
5502 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11571);
5503 show_backtrace(1);
5504 }
5505 var_tclassidnode6 = var_nodearraylist6;
5506 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5507 cltype26 = type_nullable_parser_nodes__TClassid.color;
5508 idtype27 = type_nullable_parser_nodes__TClassid.id;
5509 if(var_tclassidnode6 == NULL) {
5510 var25 = 1;
5511 } else {
5512 if(cltype26 >= var_tclassidnode6->type->table_size) {
5513 var25 = 0;
5514 } else {
5515 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
5516 }
5517 }
5518 if (!var25) {
5519 fprintf(stderr, "Runtime error: %s", "Assert failed");
5520 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11573);
5521 show_backtrace(1);
5522 }
5523 var28 = NEW_array__Array(&type_array__Arraykernel__Object);
5524 ((void (*)(val*))(var28->class->vft[COLOR_array__Array__init]))(var28) /* init on <var28:Array[Object]>*/;
5525 var_listnode12 = var28;
5526 var_listnode11 = var_nodearraylist7;
5527 /* <var_listnode11:nullable Object> isa Array[Object] */
5528 cltype30 = type_array__Arraykernel__Object.color;
5529 idtype31 = type_array__Arraykernel__Object.id;
5530 if(var_listnode11 == NULL) {
5531 var29 = 0;
5532 } else {
5533 if(cltype30 >= var_listnode11->type->table_size) {
5534 var29 = 0;
5535 } else {
5536 var29 = var_listnode11->type->type_table[cltype30] == idtype31;
5537 }
5538 }
5539 if (!var29) {
5540 fprintf(stderr, "Runtime error: %s", "Assert failed");
5541 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11576);
5542 show_backtrace(1);
5543 }
5544 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction250>*/;
5545 var_listnode12 = var32;
5546 var33 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
5547 var34 = NULL;
5548 var35 = NULL;
5549 var36 = NULL;
5550 ((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>*/;
5551 var_pannotationsnode8 = var33;
5552 var_pexterncodeblocknode14 = var_nodearraylist8;
5553 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
5554 cltype38 = type_nullable_parser_nodes__AExternCodeBlock.color;
5555 idtype39 = type_nullable_parser_nodes__AExternCodeBlock.id;
5556 if(var_pexterncodeblocknode14 == NULL) {
5557 var37 = 1;
5558 } else {
5559 if(cltype38 >= var_pexterncodeblocknode14->type->table_size) {
5560 var37 = 0;
5561 } else {
5562 var37 = var_pexterncodeblocknode14->type->type_table[cltype38] == idtype39;
5563 }
5564 }
5565 if (!var37) {
5566 fprintf(stderr, "Runtime error: %s", "Assert failed");
5567 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11585);
5568 show_backtrace(1);
5569 }
5570 var_listnode16 = var_nodearraylist9;
5571 /* <var_listnode16:nullable Object> isa Array[Object] */
5572 cltype41 = type_array__Arraykernel__Object.color;
5573 idtype42 = type_array__Arraykernel__Object.id;
5574 if(var_listnode16 == NULL) {
5575 var40 = 0;
5576 } else {
5577 if(cltype41 >= var_listnode16->type->table_size) {
5578 var40 = 0;
5579 } else {
5580 var40 = var_listnode16->type->type_table[cltype41] == idtype42;
5581 }
5582 }
5583 if (!var40) {
5584 fprintf(stderr, "Runtime error: %s", "Assert failed");
5585 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11587);
5586 show_backtrace(1);
5587 }
5588 var43 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction250>*/;
5589 var_listnode17 = var43;
5590 var_tkwendnode18 = var_nodearraylist11;
5591 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
5592 cltype45 = type_nullable_parser_nodes__TKwend.color;
5593 idtype46 = type_nullable_parser_nodes__TKwend.id;
5594 if(var_tkwendnode18 == NULL) {
5595 var44 = 1;
5596 } else {
5597 if(cltype45 >= var_tkwendnode18->type->table_size) {
5598 var44 = 0;
5599 } else {
5600 var44 = var_tkwendnode18->type->type_table[cltype45] == idtype46;
5601 }
5602 }
5603 if (!var44) {
5604 fprintf(stderr, "Runtime error: %s", "Assert failed");
5605 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11590);
5606 show_backtrace(1);
5607 }
5608 var47 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5609 ((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_listnode15, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var47:AStdClassdef>*/;
5610 var_pclassdefnode1 = var47;
5611 var_node_list = var_pclassdefnode1;
5612 var48 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction250> */
5613 var49 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var48) /* go_to on <var_p:Parser>*/;
5614 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var49, var_node_list) /* push on <var_p:Parser>*/;
5615 RET_LABEL:;
5616 }
5617 /* method parser#ReduceAction250#action for (self: Object, Parser) */
5618 void VIRTUAL_parser__ReduceAction250__action(val* self, val* p0) {
5619 parser__ReduceAction250__action(self, p0);
5620 RET_LABEL:;
5621 }
5622 /* method parser#ReduceAction251#action for (self: ReduceAction251, Parser) */
5623 void parser__ReduceAction251__action(val* self, val* p0) {
5624 val* var_p /* var p: Parser */;
5625 val* var /* : null */;
5626 val* var_node_list /* var node_list: nullable Object */;
5627 val* var1 /* : nullable Object */;
5628 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
5629 val* var2 /* : nullable Object */;
5630 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5631 val* var3 /* : nullable Object */;
5632 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5633 val* var4 /* : nullable Object */;
5634 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5635 val* var5 /* : nullable Object */;
5636 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5637 val* var6 /* : nullable Object */;
5638 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5639 val* var7 /* : nullable Object */;
5640 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5641 val* var8 /* : nullable Object */;
5642 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5643 val* var9 /* : nullable Object */;
5644 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5645 val* var10 /* : nullable Object */;
5646 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5647 val* var11 /* : nullable Object */;
5648 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5649 val* var12 /* : Array[Object] */;
5650 val* var_listnode7 /* var listnode7: Array[Object] */;
5651 val* var13 /* : Array[Object] */;
5652 val* var_listnode15 /* var listnode15: Array[Object] */;
5653 val* var14 /* : Array[Object] */;
5654 val* var_listnode17 /* var listnode17: Array[Object] */;
5655 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5656 short int var15 /* : Bool */;
5657 int cltype;
5658 int idtype;
5659 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5660 short int var16 /* : Bool */;
5661 int cltype17;
5662 int idtype18;
5663 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5664 short int var19 /* : Bool */;
5665 int cltype20;
5666 int idtype21;
5667 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5668 short int var22 /* : Bool */;
5669 int cltype23;
5670 int idtype24;
5671 val* var25 /* : Array[Object] */;
5672 val* var_listnode12 /* var listnode12: Array[Object] */;
5673 val* var_listnode11 /* var listnode11: nullable Object */;
5674 short int var26 /* : Bool */;
5675 int cltype27;
5676 int idtype28;
5677 val* var29 /* : Array[Object] */;
5678 val* var30 /* : AAnnotations */;
5679 val* var31 /* : null */;
5680 val* var32 /* : null */;
5681 val* var33 /* : null */;
5682 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
5683 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
5684 short int var34 /* : Bool */;
5685 int cltype35;
5686 int idtype36;
5687 val* var_listnode16 /* var listnode16: nullable Object */;
5688 short int var37 /* : Bool */;
5689 int cltype38;
5690 int idtype39;
5691 val* var40 /* : Array[Object] */;
5692 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
5693 short int var41 /* : Bool */;
5694 int cltype42;
5695 int idtype43;
5696 val* var44 /* : AStdClassdef */;
5697 val* var45 /* : null */;
5698 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5699 long var46 /* : Int */;
5700 long var47 /* : Int */;
5701 var_p = p0;
5702 var = NULL;
5703 var_node_list = var;
5704 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5705 var_nodearraylist11 = var1;
5706 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5707 var_nodearraylist10 = var2;
5708 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5709 var_nodearraylist9 = var3;
5710 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5711 var_nodearraylist8 = var4;
5712 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5713 var_nodearraylist7 = var5;
5714 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5715 var_nodearraylist6 = var6;
5716 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5717 var_nodearraylist5 = var7;
5718 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5719 var_nodearraylist4 = var8;
5720 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5721 var_nodearraylist3 = var9;
5722 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5723 var_nodearraylist2 = var10;
5724 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5725 var_nodearraylist1 = var11;
5726 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
5727 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
5728 var_listnode7 = var12;
5729 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
5730 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
5731 var_listnode15 = var13;
5732 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
5733 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
5734 var_listnode17 = var14;
5735 var_pdocnode2 = var_nodearraylist1;
5736 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5737 cltype = type_nullable_parser_nodes__ADoc.color;
5738 idtype = type_nullable_parser_nodes__ADoc.id;
5739 if(var_pdocnode2 == NULL) {
5740 var15 = 1;
5741 } else {
5742 if(cltype >= var_pdocnode2->type->table_size) {
5743 var15 = 0;
5744 } else {
5745 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
5746 }
5747 }
5748 if (!var15) {
5749 fprintf(stderr, "Runtime error: %s", "Assert failed");
5750 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11628);
5751 show_backtrace(1);
5752 }
5753 var_pvisibilitynode4 = var_nodearraylist2;
5754 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5755 cltype17 = type_nullable_parser_nodes__AVisibility.color;
5756 idtype18 = type_nullable_parser_nodes__AVisibility.id;
5757 if(var_pvisibilitynode4 == NULL) {
5758 var16 = 1;
5759 } else {
5760 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
5761 var16 = 0;
5762 } else {
5763 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
5764 }
5765 }
5766 if (!var16) {
5767 fprintf(stderr, "Runtime error: %s", "Assert failed");
5768 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11630);
5769 show_backtrace(1);
5770 }
5771 var_pclasskindnode5 = var_nodearraylist3;
5772 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5773 cltype20 = type_nullable_parser_nodes__AClasskind.color;
5774 idtype21 = type_nullable_parser_nodes__AClasskind.id;
5775 if(var_pclasskindnode5 == NULL) {
5776 var19 = 1;
5777 } else {
5778 if(cltype20 >= var_pclasskindnode5->type->table_size) {
5779 var19 = 0;
5780 } else {
5781 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
5782 }
5783 }
5784 if (!var19) {
5785 fprintf(stderr, "Runtime error: %s", "Assert failed");
5786 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11632);
5787 show_backtrace(1);
5788 }
5789 var_tclassidnode6 = var_nodearraylist6;
5790 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5791 cltype23 = type_nullable_parser_nodes__TClassid.color;
5792 idtype24 = type_nullable_parser_nodes__TClassid.id;
5793 if(var_tclassidnode6 == NULL) {
5794 var22 = 1;
5795 } else {
5796 if(cltype23 >= var_tclassidnode6->type->table_size) {
5797 var22 = 0;
5798 } else {
5799 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
5800 }
5801 }
5802 if (!var22) {
5803 fprintf(stderr, "Runtime error: %s", "Assert failed");
5804 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11634);
5805 show_backtrace(1);
5806 }
5807 var25 = NEW_array__Array(&type_array__Arraykernel__Object);
5808 ((void (*)(val*))(var25->class->vft[COLOR_array__Array__init]))(var25) /* init on <var25:Array[Object]>*/;
5809 var_listnode12 = var25;
5810 var_listnode11 = var_nodearraylist7;
5811 /* <var_listnode11:nullable Object> isa Array[Object] */
5812 cltype27 = type_array__Arraykernel__Object.color;
5813 idtype28 = type_array__Arraykernel__Object.id;
5814 if(var_listnode11 == NULL) {
5815 var26 = 0;
5816 } else {
5817 if(cltype27 >= var_listnode11->type->table_size) {
5818 var26 = 0;
5819 } else {
5820 var26 = var_listnode11->type->type_table[cltype27] == idtype28;
5821 }
5822 }
5823 if (!var26) {
5824 fprintf(stderr, "Runtime error: %s", "Assert failed");
5825 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11637);
5826 show_backtrace(1);
5827 }
5828 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction251>*/;
5829 var_listnode12 = var29;
5830 var30 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
5831 var31 = NULL;
5832 var32 = NULL;
5833 var33 = NULL;
5834 ((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>*/;
5835 var_pannotationsnode8 = var30;
5836 var_pexterncodeblocknode14 = var_nodearraylist8;
5837 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
5838 cltype35 = type_nullable_parser_nodes__AExternCodeBlock.color;
5839 idtype36 = type_nullable_parser_nodes__AExternCodeBlock.id;
5840 if(var_pexterncodeblocknode14 == NULL) {
5841 var34 = 1;
5842 } else {
5843 if(cltype35 >= var_pexterncodeblocknode14->type->table_size) {
5844 var34 = 0;
5845 } else {
5846 var34 = var_pexterncodeblocknode14->type->type_table[cltype35] == idtype36;
5847 }
5848 }
5849 if (!var34) {
5850 fprintf(stderr, "Runtime error: %s", "Assert failed");
5851 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11646);
5852 show_backtrace(1);
5853 }
5854 var_listnode16 = var_nodearraylist9;
5855 /* <var_listnode16:nullable Object> isa Array[Object] */
5856 cltype38 = type_array__Arraykernel__Object.color;
5857 idtype39 = type_array__Arraykernel__Object.id;
5858 if(var_listnode16 == NULL) {
5859 var37 = 0;
5860 } else {
5861 if(cltype38 >= var_listnode16->type->table_size) {
5862 var37 = 0;
5863 } else {
5864 var37 = var_listnode16->type->type_table[cltype38] == idtype39;
5865 }
5866 }
5867 if (!var37) {
5868 fprintf(stderr, "Runtime error: %s", "Assert failed");
5869 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11648);
5870 show_backtrace(1);
5871 }
5872 var40 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction251>*/;
5873 var_listnode17 = var40;
5874 var_tkwendnode18 = var_nodearraylist11;
5875 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
5876 cltype42 = type_nullable_parser_nodes__TKwend.color;
5877 idtype43 = type_nullable_parser_nodes__TKwend.id;
5878 if(var_tkwendnode18 == NULL) {
5879 var41 = 1;
5880 } else {
5881 if(cltype42 >= var_tkwendnode18->type->table_size) {
5882 var41 = 0;
5883 } else {
5884 var41 = var_tkwendnode18->type->type_table[cltype42] == idtype43;
5885 }
5886 }
5887 if (!var41) {
5888 fprintf(stderr, "Runtime error: %s", "Assert failed");
5889 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11651);
5890 show_backtrace(1);
5891 }
5892 var44 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5893 var45 = NULL;
5894 ((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_listnode15, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var44:AStdClassdef>*/;
5895 var_pclassdefnode1 = var44;
5896 var_node_list = var_pclassdefnode1;
5897 var46 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction251> */
5898 var47 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var46) /* go_to on <var_p:Parser>*/;
5899 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var47, var_node_list) /* push on <var_p:Parser>*/;
5900 RET_LABEL:;
5901 }
5902 /* method parser#ReduceAction251#action for (self: Object, Parser) */
5903 void VIRTUAL_parser__ReduceAction251__action(val* self, val* p0) {
5904 parser__ReduceAction251__action(self, p0);
5905 RET_LABEL:;
5906 }
5907 /* method parser#ReduceAction252#action for (self: ReduceAction252, Parser) */
5908 void parser__ReduceAction252__action(val* self, val* p0) {
5909 val* var_p /* var p: Parser */;
5910 val* var /* : null */;
5911 val* var_node_list /* var node_list: nullable Object */;
5912 val* var1 /* : nullable Object */;
5913 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
5914 val* var2 /* : nullable Object */;
5915 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
5916 val* var3 /* : nullable Object */;
5917 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5918 val* var4 /* : nullable Object */;
5919 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5920 val* var5 /* : nullable Object */;
5921 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5922 val* var6 /* : nullable Object */;
5923 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5924 val* var7 /* : nullable Object */;
5925 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5926 val* var8 /* : nullable Object */;
5927 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5928 val* var9 /* : nullable Object */;
5929 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5930 val* var10 /* : nullable Object */;
5931 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5932 val* var11 /* : nullable Object */;
5933 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5934 val* var12 /* : nullable Object */;
5935 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5936 val* var13 /* : Array[Object] */;
5937 val* var_listnode7 /* var listnode7: Array[Object] */;
5938 val* var14 /* : Array[Object] */;
5939 val* var_listnode15 /* var listnode15: Array[Object] */;
5940 val* var15 /* : Array[Object] */;
5941 val* var_listnode17 /* var listnode17: Array[Object] */;
5942 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5943 short int var16 /* : Bool */;
5944 int cltype;
5945 int idtype;
5946 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5947 short int var17 /* : Bool */;
5948 int cltype18;
5949 int idtype19;
5950 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5951 short int var20 /* : Bool */;
5952 int cltype21;
5953 int idtype22;
5954 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5955 short int var23 /* : Bool */;
5956 int cltype24;
5957 int idtype25;
5958 val* var26 /* : Array[Object] */;
5959 val* var_listnode12 /* var listnode12: Array[Object] */;
5960 val* var_listnode11 /* var listnode11: nullable Object */;
5961 short int var27 /* : Bool */;
5962 int cltype28;
5963 int idtype29;
5964 val* var30 /* : Array[Object] */;
5965 val* var31 /* : AAnnotations */;
5966 val* var32 /* : null */;
5967 val* var33 /* : null */;
5968 val* var34 /* : null */;
5969 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
5970 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
5971 short int var35 /* : Bool */;
5972 int cltype36;
5973 int idtype37;
5974 val* var_listnode16 /* var listnode16: nullable Object */;
5975 short int var38 /* : Bool */;
5976 int cltype39;
5977 int idtype40;
5978 val* var41 /* : Array[Object] */;
5979 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
5980 short int var42 /* : Bool */;
5981 int cltype43;
5982 int idtype44;
5983 val* var45 /* : AStdClassdef */;
5984 val* var46 /* : null */;
5985 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5986 long var47 /* : Int */;
5987 long var48 /* : Int */;
5988 var_p = p0;
5989 var = NULL;
5990 var_node_list = var;
5991 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5992 var_nodearraylist12 = var1;
5993 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5994 var_nodearraylist11 = var2;
5995 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5996 var_nodearraylist10 = var3;
5997 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5998 var_nodearraylist9 = var4;
5999 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6000 var_nodearraylist8 = var5;
6001 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6002 var_nodearraylist7 = var6;
6003 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6004 var_nodearraylist6 = var7;
6005 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6006 var_nodearraylist5 = var8;
6007 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6008 var_nodearraylist4 = var9;
6009 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6010 var_nodearraylist3 = var10;
6011 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6012 var_nodearraylist2 = var11;
6013 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6014 var_nodearraylist1 = var12;
6015 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
6016 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
6017 var_listnode7 = var13;
6018 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
6019 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
6020 var_listnode15 = var14;
6021 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
6022 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
6023 var_listnode17 = var15;
6024 var_pdocnode2 = var_nodearraylist1;
6025 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6026 cltype = type_nullable_parser_nodes__ADoc.color;
6027 idtype = type_nullable_parser_nodes__ADoc.id;
6028 if(var_pdocnode2 == NULL) {
6029 var16 = 1;
6030 } else {
6031 if(cltype >= var_pdocnode2->type->table_size) {
6032 var16 = 0;
6033 } else {
6034 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
6035 }
6036 }
6037 if (!var16) {
6038 fprintf(stderr, "Runtime error: %s", "Assert failed");
6039 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11690);
6040 show_backtrace(1);
6041 }
6042 var_pvisibilitynode4 = var_nodearraylist2;
6043 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6044 cltype18 = type_nullable_parser_nodes__AVisibility.color;
6045 idtype19 = type_nullable_parser_nodes__AVisibility.id;
6046 if(var_pvisibilitynode4 == NULL) {
6047 var17 = 1;
6048 } else {
6049 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
6050 var17 = 0;
6051 } else {
6052 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
6053 }
6054 }
6055 if (!var17) {
6056 fprintf(stderr, "Runtime error: %s", "Assert failed");
6057 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11692);
6058 show_backtrace(1);
6059 }
6060 var_pclasskindnode5 = var_nodearraylist3;
6061 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6062 cltype21 = type_nullable_parser_nodes__AClasskind.color;
6063 idtype22 = type_nullable_parser_nodes__AClasskind.id;
6064 if(var_pclasskindnode5 == NULL) {
6065 var20 = 1;
6066 } else {
6067 if(cltype21 >= var_pclasskindnode5->type->table_size) {
6068 var20 = 0;
6069 } else {
6070 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
6071 }
6072 }
6073 if (!var20) {
6074 fprintf(stderr, "Runtime error: %s", "Assert failed");
6075 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11694);
6076 show_backtrace(1);
6077 }
6078 var_tclassidnode6 = var_nodearraylist7;
6079 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6080 cltype24 = type_nullable_parser_nodes__TClassid.color;
6081 idtype25 = type_nullable_parser_nodes__TClassid.id;
6082 if(var_tclassidnode6 == NULL) {
6083 var23 = 1;
6084 } else {
6085 if(cltype24 >= var_tclassidnode6->type->table_size) {
6086 var23 = 0;
6087 } else {
6088 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
6089 }
6090 }
6091 if (!var23) {
6092 fprintf(stderr, "Runtime error: %s", "Assert failed");
6093 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11696);
6094 show_backtrace(1);
6095 }
6096 var26 = NEW_array__Array(&type_array__Arraykernel__Object);
6097 ((void (*)(val*))(var26->class->vft[COLOR_array__Array__init]))(var26) /* init on <var26:Array[Object]>*/;
6098 var_listnode12 = var26;
6099 var_listnode11 = var_nodearraylist8;
6100 /* <var_listnode11:nullable Object> isa Array[Object] */
6101 cltype28 = type_array__Arraykernel__Object.color;
6102 idtype29 = type_array__Arraykernel__Object.id;
6103 if(var_listnode11 == NULL) {
6104 var27 = 0;
6105 } else {
6106 if(cltype28 >= var_listnode11->type->table_size) {
6107 var27 = 0;
6108 } else {
6109 var27 = var_listnode11->type->type_table[cltype28] == idtype29;
6110 }
6111 }
6112 if (!var27) {
6113 fprintf(stderr, "Runtime error: %s", "Assert failed");
6114 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11699);
6115 show_backtrace(1);
6116 }
6117 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction252>*/;
6118 var_listnode12 = var30;
6119 var31 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
6120 var32 = NULL;
6121 var33 = NULL;
6122 var34 = NULL;
6123 ((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>*/;
6124 var_pannotationsnode8 = var31;
6125 var_pexterncodeblocknode14 = var_nodearraylist9;
6126 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
6127 cltype36 = type_nullable_parser_nodes__AExternCodeBlock.color;
6128 idtype37 = type_nullable_parser_nodes__AExternCodeBlock.id;
6129 if(var_pexterncodeblocknode14 == NULL) {
6130 var35 = 1;
6131 } else {
6132 if(cltype36 >= var_pexterncodeblocknode14->type->table_size) {
6133 var35 = 0;
6134 } else {
6135 var35 = var_pexterncodeblocknode14->type->type_table[cltype36] == idtype37;
6136 }
6137 }
6138 if (!var35) {
6139 fprintf(stderr, "Runtime error: %s", "Assert failed");
6140 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11708);
6141 show_backtrace(1);
6142 }
6143 var_listnode16 = var_nodearraylist10;
6144 /* <var_listnode16:nullable Object> isa Array[Object] */
6145 cltype39 = type_array__Arraykernel__Object.color;
6146 idtype40 = type_array__Arraykernel__Object.id;
6147 if(var_listnode16 == NULL) {
6148 var38 = 0;
6149 } else {
6150 if(cltype39 >= var_listnode16->type->table_size) {
6151 var38 = 0;
6152 } else {
6153 var38 = var_listnode16->type->type_table[cltype39] == idtype40;
6154 }
6155 }
6156 if (!var38) {
6157 fprintf(stderr, "Runtime error: %s", "Assert failed");
6158 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11710);
6159 show_backtrace(1);
6160 }
6161 var41 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction252>*/;
6162 var_listnode17 = var41;
6163 var_tkwendnode18 = var_nodearraylist12;
6164 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
6165 cltype43 = type_nullable_parser_nodes__TKwend.color;
6166 idtype44 = type_nullable_parser_nodes__TKwend.id;
6167 if(var_tkwendnode18 == NULL) {
6168 var42 = 1;
6169 } else {
6170 if(cltype43 >= var_tkwendnode18->type->table_size) {
6171 var42 = 0;
6172 } else {
6173 var42 = var_tkwendnode18->type->type_table[cltype43] == idtype44;
6174 }
6175 }
6176 if (!var42) {
6177 fprintf(stderr, "Runtime error: %s", "Assert failed");
6178 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11713);
6179 show_backtrace(1);
6180 }
6181 var45 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6182 var46 = NULL;
6183 ((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_listnode15, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var45:AStdClassdef>*/;
6184 var_pclassdefnode1 = var45;
6185 var_node_list = var_pclassdefnode1;
6186 var47 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction252> */
6187 var48 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var47) /* go_to on <var_p:Parser>*/;
6188 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var48, var_node_list) /* push on <var_p:Parser>*/;
6189 RET_LABEL:;
6190 }
6191 /* method parser#ReduceAction252#action for (self: Object, Parser) */
6192 void VIRTUAL_parser__ReduceAction252__action(val* self, val* p0) {
6193 parser__ReduceAction252__action(self, p0);
6194 RET_LABEL:;
6195 }
6196 /* method parser#ReduceAction254#action for (self: ReduceAction254, Parser) */
6197 void parser__ReduceAction254__action(val* self, val* p0) {
6198 val* var_p /* var p: Parser */;
6199 val* var /* : null */;
6200 val* var_node_list /* var node_list: nullable Object */;
6201 val* var1 /* : nullable Object */;
6202 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
6203 val* var2 /* : nullable Object */;
6204 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
6205 val* var3 /* : nullable Object */;
6206 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6207 val* var4 /* : nullable Object */;
6208 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6209 val* var5 /* : nullable Object */;
6210 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6211 val* var6 /* : nullable Object */;
6212 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6213 val* var7 /* : nullable Object */;
6214 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6215 val* var8 /* : nullable Object */;
6216 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6217 val* var9 /* : nullable Object */;
6218 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6219 val* var10 /* : nullable Object */;
6220 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6221 val* var11 /* : nullable Object */;
6222 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6223 val* var12 /* : nullable Object */;
6224 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6225 val* var13 /* : Array[Object] */;
6226 val* var_listnode7 /* var listnode7: Array[Object] */;
6227 val* var14 /* : Array[Object] */;
6228 val* var_listnode15 /* var listnode15: Array[Object] */;
6229 val* var15 /* : Array[Object] */;
6230 val* var_listnode17 /* var listnode17: Array[Object] */;
6231 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6232 short int var16 /* : Bool */;
6233 int cltype;
6234 int idtype;
6235 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
6236 short int var17 /* : Bool */;
6237 int cltype18;
6238 int idtype19;
6239 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6240 short int var20 /* : Bool */;
6241 int cltype21;
6242 int idtype22;
6243 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6244 short int var23 /* : Bool */;
6245 int cltype24;
6246 int idtype25;
6247 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6248 short int var26 /* : Bool */;
6249 int cltype27;
6250 int idtype28;
6251 val* var29 /* : Array[Object] */;
6252 val* var_listnode12 /* var listnode12: Array[Object] */;
6253 val* var_listnode11 /* var listnode11: nullable Object */;
6254 short int var30 /* : Bool */;
6255 int cltype31;
6256 int idtype32;
6257 val* var33 /* : Array[Object] */;
6258 val* var34 /* : AAnnotations */;
6259 val* var35 /* : null */;
6260 val* var36 /* : null */;
6261 val* var37 /* : null */;
6262 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
6263 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
6264 short int var38 /* : Bool */;
6265 int cltype39;
6266 int idtype40;
6267 val* var_listnode16 /* var listnode16: nullable Object */;
6268 short int var41 /* : Bool */;
6269 int cltype42;
6270 int idtype43;
6271 val* var44 /* : Array[Object] */;
6272 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
6273 short int var45 /* : Bool */;
6274 int cltype46;
6275 int idtype47;
6276 val* var48 /* : AStdClassdef */;
6277 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6278 long var49 /* : Int */;
6279 long var50 /* : Int */;
6280 var_p = p0;
6281 var = NULL;
6282 var_node_list = var;
6283 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6284 var_nodearraylist12 = var1;
6285 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6286 var_nodearraylist11 = var2;
6287 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6288 var_nodearraylist10 = var3;
6289 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6290 var_nodearraylist9 = var4;
6291 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6292 var_nodearraylist8 = var5;
6293 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6294 var_nodearraylist7 = var6;
6295 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6296 var_nodearraylist6 = var7;
6297 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6298 var_nodearraylist5 = var8;
6299 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6300 var_nodearraylist4 = var9;
6301 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6302 var_nodearraylist3 = var10;
6303 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6304 var_nodearraylist2 = var11;
6305 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6306 var_nodearraylist1 = var12;
6307 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
6308 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
6309 var_listnode7 = var13;
6310 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
6311 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
6312 var_listnode15 = var14;
6313 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
6314 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
6315 var_listnode17 = var15;
6316 var_pdocnode2 = var_nodearraylist1;
6317 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6318 cltype = type_nullable_parser_nodes__ADoc.color;
6319 idtype = type_nullable_parser_nodes__ADoc.id;
6320 if(var_pdocnode2 == NULL) {
6321 var16 = 1;
6322 } else {
6323 if(cltype >= var_pdocnode2->type->table_size) {
6324 var16 = 0;
6325 } else {
6326 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
6327 }
6328 }
6329 if (!var16) {
6330 fprintf(stderr, "Runtime error: %s", "Assert failed");
6331 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11752);
6332 show_backtrace(1);
6333 }
6334 var_tkwredefnode3 = var_nodearraylist2;
6335 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6336 cltype18 = type_nullable_parser_nodes__TKwredef.color;
6337 idtype19 = type_nullable_parser_nodes__TKwredef.id;
6338 if(var_tkwredefnode3 == NULL) {
6339 var17 = 1;
6340 } else {
6341 if(cltype18 >= var_tkwredefnode3->type->table_size) {
6342 var17 = 0;
6343 } else {
6344 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
6345 }
6346 }
6347 if (!var17) {
6348 fprintf(stderr, "Runtime error: %s", "Assert failed");
6349 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11754);
6350 show_backtrace(1);
6351 }
6352 var_pvisibilitynode4 = var_nodearraylist3;
6353 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6354 cltype21 = type_nullable_parser_nodes__AVisibility.color;
6355 idtype22 = type_nullable_parser_nodes__AVisibility.id;
6356 if(var_pvisibilitynode4 == NULL) {
6357 var20 = 1;
6358 } else {
6359 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
6360 var20 = 0;
6361 } else {
6362 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
6363 }
6364 }
6365 if (!var20) {
6366 fprintf(stderr, "Runtime error: %s", "Assert failed");
6367 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11756);
6368 show_backtrace(1);
6369 }
6370 var_pclasskindnode5 = var_nodearraylist4;
6371 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6372 cltype24 = type_nullable_parser_nodes__AClasskind.color;
6373 idtype25 = type_nullable_parser_nodes__AClasskind.id;
6374 if(var_pclasskindnode5 == NULL) {
6375 var23 = 1;
6376 } else {
6377 if(cltype24 >= var_pclasskindnode5->type->table_size) {
6378 var23 = 0;
6379 } else {
6380 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
6381 }
6382 }
6383 if (!var23) {
6384 fprintf(stderr, "Runtime error: %s", "Assert failed");
6385 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11758);
6386 show_backtrace(1);
6387 }
6388 var_tclassidnode6 = var_nodearraylist7;
6389 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6390 cltype27 = type_nullable_parser_nodes__TClassid.color;
6391 idtype28 = type_nullable_parser_nodes__TClassid.id;
6392 if(var_tclassidnode6 == NULL) {
6393 var26 = 1;
6394 } else {
6395 if(cltype27 >= var_tclassidnode6->type->table_size) {
6396 var26 = 0;
6397 } else {
6398 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
6399 }
6400 }
6401 if (!var26) {
6402 fprintf(stderr, "Runtime error: %s", "Assert failed");
6403 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11760);
6404 show_backtrace(1);
6405 }
6406 var29 = NEW_array__Array(&type_array__Arraykernel__Object);
6407 ((void (*)(val*))(var29->class->vft[COLOR_array__Array__init]))(var29) /* init on <var29:Array[Object]>*/;
6408 var_listnode12 = var29;
6409 var_listnode11 = var_nodearraylist8;
6410 /* <var_listnode11:nullable Object> isa Array[Object] */
6411 cltype31 = type_array__Arraykernel__Object.color;
6412 idtype32 = type_array__Arraykernel__Object.id;
6413 if(var_listnode11 == NULL) {
6414 var30 = 0;
6415 } else {
6416 if(cltype31 >= var_listnode11->type->table_size) {
6417 var30 = 0;
6418 } else {
6419 var30 = var_listnode11->type->type_table[cltype31] == idtype32;
6420 }
6421 }
6422 if (!var30) {
6423 fprintf(stderr, "Runtime error: %s", "Assert failed");
6424 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11763);
6425 show_backtrace(1);
6426 }
6427 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction254>*/;
6428 var_listnode12 = var33;
6429 var34 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
6430 var35 = NULL;
6431 var36 = NULL;
6432 var37 = NULL;
6433 ((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>*/;
6434 var_pannotationsnode8 = var34;
6435 var_pexterncodeblocknode14 = var_nodearraylist9;
6436 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
6437 cltype39 = type_nullable_parser_nodes__AExternCodeBlock.color;
6438 idtype40 = type_nullable_parser_nodes__AExternCodeBlock.id;
6439 if(var_pexterncodeblocknode14 == NULL) {
6440 var38 = 1;
6441 } else {
6442 if(cltype39 >= var_pexterncodeblocknode14->type->table_size) {
6443 var38 = 0;
6444 } else {
6445 var38 = var_pexterncodeblocknode14->type->type_table[cltype39] == idtype40;
6446 }
6447 }
6448 if (!var38) {
6449 fprintf(stderr, "Runtime error: %s", "Assert failed");
6450 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11772);
6451 show_backtrace(1);
6452 }
6453 var_listnode16 = var_nodearraylist10;
6454 /* <var_listnode16:nullable Object> isa Array[Object] */
6455 cltype42 = type_array__Arraykernel__Object.color;
6456 idtype43 = type_array__Arraykernel__Object.id;
6457 if(var_listnode16 == NULL) {
6458 var41 = 0;
6459 } else {
6460 if(cltype42 >= var_listnode16->type->table_size) {
6461 var41 = 0;
6462 } else {
6463 var41 = var_listnode16->type->type_table[cltype42] == idtype43;
6464 }
6465 }
6466 if (!var41) {
6467 fprintf(stderr, "Runtime error: %s", "Assert failed");
6468 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11774);
6469 show_backtrace(1);
6470 }
6471 var44 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction254>*/;
6472 var_listnode17 = var44;
6473 var_tkwendnode18 = var_nodearraylist12;
6474 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
6475 cltype46 = type_nullable_parser_nodes__TKwend.color;
6476 idtype47 = type_nullable_parser_nodes__TKwend.id;
6477 if(var_tkwendnode18 == NULL) {
6478 var45 = 1;
6479 } else {
6480 if(cltype46 >= var_tkwendnode18->type->table_size) {
6481 var45 = 0;
6482 } else {
6483 var45 = var_tkwendnode18->type->type_table[cltype46] == idtype47;
6484 }
6485 }
6486 if (!var45) {
6487 fprintf(stderr, "Runtime error: %s", "Assert failed");
6488 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11777);
6489 show_backtrace(1);
6490 }
6491 var48 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6492 ((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_listnode15, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var48:AStdClassdef>*/;
6493 var_pclassdefnode1 = var48;
6494 var_node_list = var_pclassdefnode1;
6495 var49 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction254> */
6496 var50 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var49) /* go_to on <var_p:Parser>*/;
6497 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var50, var_node_list) /* push on <var_p:Parser>*/;
6498 RET_LABEL:;
6499 }
6500 /* method parser#ReduceAction254#action for (self: Object, Parser) */
6501 void VIRTUAL_parser__ReduceAction254__action(val* self, val* p0) {
6502 parser__ReduceAction254__action(self, p0);
6503 RET_LABEL:;
6504 }
6505 /* method parser#ReduceAction255#action for (self: ReduceAction255, Parser) */
6506 void parser__ReduceAction255__action(val* self, val* p0) {
6507 val* var_p /* var p: Parser */;
6508 val* var /* : null */;
6509 val* var_node_list /* var node_list: nullable Object */;
6510 val* var1 /* : nullable Object */;
6511 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
6512 val* var2 /* : nullable Object */;
6513 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
6514 val* var3 /* : nullable Object */;
6515 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
6516 val* var4 /* : nullable Object */;
6517 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6518 val* var5 /* : nullable Object */;
6519 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6520 val* var6 /* : nullable Object */;
6521 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6522 val* var7 /* : nullable Object */;
6523 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6524 val* var8 /* : nullable Object */;
6525 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6526 val* var9 /* : nullable Object */;
6527 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6528 val* var10 /* : nullable Object */;
6529 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6530 val* var11 /* : nullable Object */;
6531 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6532 val* var12 /* : nullable Object */;
6533 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6534 val* var13 /* : nullable Object */;
6535 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6536 val* var14 /* : Array[Object] */;
6537 val* var_listnode7 /* var listnode7: Array[Object] */;
6538 val* var15 /* : Array[Object] */;
6539 val* var_listnode15 /* var listnode15: Array[Object] */;
6540 val* var16 /* : Array[Object] */;
6541 val* var_listnode17 /* var listnode17: Array[Object] */;
6542 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6543 short int var17 /* : Bool */;
6544 int cltype;
6545 int idtype;
6546 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
6547 short int var18 /* : Bool */;
6548 int cltype19;
6549 int idtype20;
6550 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6551 short int var21 /* : Bool */;
6552 int cltype22;
6553 int idtype23;
6554 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6555 short int var24 /* : Bool */;
6556 int cltype25;
6557 int idtype26;
6558 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6559 short int var27 /* : Bool */;
6560 int cltype28;
6561 int idtype29;
6562 val* var30 /* : Array[Object] */;
6563 val* var_listnode12 /* var listnode12: Array[Object] */;
6564 val* var_listnode11 /* var listnode11: nullable Object */;
6565 short int var31 /* : Bool */;
6566 int cltype32;
6567 int idtype33;
6568 val* var34 /* : Array[Object] */;
6569 val* var35 /* : AAnnotations */;
6570 val* var36 /* : null */;
6571 val* var37 /* : null */;
6572 val* var38 /* : null */;
6573 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
6574 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
6575 short int var39 /* : Bool */;
6576 int cltype40;
6577 int idtype41;
6578 val* var_listnode16 /* var listnode16: nullable Object */;
6579 short int var42 /* : Bool */;
6580 int cltype43;
6581 int idtype44;
6582 val* var45 /* : Array[Object] */;
6583 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
6584 short int var46 /* : Bool */;
6585 int cltype47;
6586 int idtype48;
6587 val* var49 /* : AStdClassdef */;
6588 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6589 long var50 /* : Int */;
6590 long var51 /* : Int */;
6591 var_p = p0;
6592 var = NULL;
6593 var_node_list = var;
6594 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6595 var_nodearraylist13 = var1;
6596 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6597 var_nodearraylist12 = var2;
6598 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6599 var_nodearraylist11 = var3;
6600 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6601 var_nodearraylist10 = var4;
6602 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6603 var_nodearraylist9 = var5;
6604 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6605 var_nodearraylist8 = var6;
6606 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6607 var_nodearraylist7 = var7;
6608 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6609 var_nodearraylist6 = var8;
6610 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6611 var_nodearraylist5 = var9;
6612 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6613 var_nodearraylist4 = var10;
6614 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6615 var_nodearraylist3 = var11;
6616 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6617 var_nodearraylist2 = var12;
6618 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6619 var_nodearraylist1 = var13;
6620 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
6621 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
6622 var_listnode7 = var14;
6623 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
6624 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
6625 var_listnode15 = var15;
6626 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
6627 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
6628 var_listnode17 = var16;
6629 var_pdocnode2 = var_nodearraylist1;
6630 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6631 cltype = type_nullable_parser_nodes__ADoc.color;
6632 idtype = type_nullable_parser_nodes__ADoc.id;
6633 if(var_pdocnode2 == NULL) {
6634 var17 = 1;
6635 } else {
6636 if(cltype >= var_pdocnode2->type->table_size) {
6637 var17 = 0;
6638 } else {
6639 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
6640 }
6641 }
6642 if (!var17) {
6643 fprintf(stderr, "Runtime error: %s", "Assert failed");
6644 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11817);
6645 show_backtrace(1);
6646 }
6647 var_tkwredefnode3 = var_nodearraylist2;
6648 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6649 cltype19 = type_nullable_parser_nodes__TKwredef.color;
6650 idtype20 = type_nullable_parser_nodes__TKwredef.id;
6651 if(var_tkwredefnode3 == NULL) {
6652 var18 = 1;
6653 } else {
6654 if(cltype19 >= var_tkwredefnode3->type->table_size) {
6655 var18 = 0;
6656 } else {
6657 var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20;
6658 }
6659 }
6660 if (!var18) {
6661 fprintf(stderr, "Runtime error: %s", "Assert failed");
6662 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11819);
6663 show_backtrace(1);
6664 }
6665 var_pvisibilitynode4 = var_nodearraylist3;
6666 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6667 cltype22 = type_nullable_parser_nodes__AVisibility.color;
6668 idtype23 = type_nullable_parser_nodes__AVisibility.id;
6669 if(var_pvisibilitynode4 == NULL) {
6670 var21 = 1;
6671 } else {
6672 if(cltype22 >= var_pvisibilitynode4->type->table_size) {
6673 var21 = 0;
6674 } else {
6675 var21 = var_pvisibilitynode4->type->type_table[cltype22] == idtype23;
6676 }
6677 }
6678 if (!var21) {
6679 fprintf(stderr, "Runtime error: %s", "Assert failed");
6680 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11821);
6681 show_backtrace(1);
6682 }
6683 var_pclasskindnode5 = var_nodearraylist4;
6684 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6685 cltype25 = type_nullable_parser_nodes__AClasskind.color;
6686 idtype26 = type_nullable_parser_nodes__AClasskind.id;
6687 if(var_pclasskindnode5 == NULL) {
6688 var24 = 1;
6689 } else {
6690 if(cltype25 >= var_pclasskindnode5->type->table_size) {
6691 var24 = 0;
6692 } else {
6693 var24 = var_pclasskindnode5->type->type_table[cltype25] == idtype26;
6694 }
6695 }
6696 if (!var24) {
6697 fprintf(stderr, "Runtime error: %s", "Assert failed");
6698 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11823);
6699 show_backtrace(1);
6700 }
6701 var_tclassidnode6 = var_nodearraylist8;
6702 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6703 cltype28 = type_nullable_parser_nodes__TClassid.color;
6704 idtype29 = type_nullable_parser_nodes__TClassid.id;
6705 if(var_tclassidnode6 == NULL) {
6706 var27 = 1;
6707 } else {
6708 if(cltype28 >= var_tclassidnode6->type->table_size) {
6709 var27 = 0;
6710 } else {
6711 var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29;
6712 }
6713 }
6714 if (!var27) {
6715 fprintf(stderr, "Runtime error: %s", "Assert failed");
6716 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11825);
6717 show_backtrace(1);
6718 }
6719 var30 = NEW_array__Array(&type_array__Arraykernel__Object);
6720 ((void (*)(val*))(var30->class->vft[COLOR_array__Array__init]))(var30) /* init on <var30:Array[Object]>*/;
6721 var_listnode12 = var30;
6722 var_listnode11 = var_nodearraylist9;
6723 /* <var_listnode11:nullable Object> isa Array[Object] */
6724 cltype32 = type_array__Arraykernel__Object.color;
6725 idtype33 = type_array__Arraykernel__Object.id;
6726 if(var_listnode11 == NULL) {
6727 var31 = 0;
6728 } else {
6729 if(cltype32 >= var_listnode11->type->table_size) {
6730 var31 = 0;
6731 } else {
6732 var31 = var_listnode11->type->type_table[cltype32] == idtype33;
6733 }
6734 }
6735 if (!var31) {
6736 fprintf(stderr, "Runtime error: %s", "Assert failed");
6737 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11828);
6738 show_backtrace(1);
6739 }
6740 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction255>*/;
6741 var_listnode12 = var34;
6742 var35 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
6743 var36 = NULL;
6744 var37 = NULL;
6745 var38 = NULL;
6746 ((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>*/;
6747 var_pannotationsnode8 = var35;
6748 var_pexterncodeblocknode14 = var_nodearraylist10;
6749 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
6750 cltype40 = type_nullable_parser_nodes__AExternCodeBlock.color;
6751 idtype41 = type_nullable_parser_nodes__AExternCodeBlock.id;
6752 if(var_pexterncodeblocknode14 == NULL) {
6753 var39 = 1;
6754 } else {
6755 if(cltype40 >= var_pexterncodeblocknode14->type->table_size) {
6756 var39 = 0;
6757 } else {
6758 var39 = var_pexterncodeblocknode14->type->type_table[cltype40] == idtype41;
6759 }
6760 }
6761 if (!var39) {
6762 fprintf(stderr, "Runtime error: %s", "Assert failed");
6763 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11837);
6764 show_backtrace(1);
6765 }
6766 var_listnode16 = var_nodearraylist11;
6767 /* <var_listnode16:nullable Object> isa Array[Object] */
6768 cltype43 = type_array__Arraykernel__Object.color;
6769 idtype44 = type_array__Arraykernel__Object.id;
6770 if(var_listnode16 == NULL) {
6771 var42 = 0;
6772 } else {
6773 if(cltype43 >= var_listnode16->type->table_size) {
6774 var42 = 0;
6775 } else {
6776 var42 = var_listnode16->type->type_table[cltype43] == idtype44;
6777 }
6778 }
6779 if (!var42) {
6780 fprintf(stderr, "Runtime error: %s", "Assert failed");
6781 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11839);
6782 show_backtrace(1);
6783 }
6784 var45 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction255>*/;
6785 var_listnode17 = var45;
6786 var_tkwendnode18 = var_nodearraylist13;
6787 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
6788 cltype47 = type_nullable_parser_nodes__TKwend.color;
6789 idtype48 = type_nullable_parser_nodes__TKwend.id;
6790 if(var_tkwendnode18 == NULL) {
6791 var46 = 1;
6792 } else {
6793 if(cltype47 >= var_tkwendnode18->type->table_size) {
6794 var46 = 0;
6795 } else {
6796 var46 = var_tkwendnode18->type->type_table[cltype47] == idtype48;
6797 }
6798 }
6799 if (!var46) {
6800 fprintf(stderr, "Runtime error: %s", "Assert failed");
6801 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11842);
6802 show_backtrace(1);
6803 }
6804 var49 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6805 ((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_listnode15, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var49:AStdClassdef>*/;
6806 var_pclassdefnode1 = var49;
6807 var_node_list = var_pclassdefnode1;
6808 var50 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction255> */
6809 var51 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var50) /* go_to on <var_p:Parser>*/;
6810 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var51, var_node_list) /* push on <var_p:Parser>*/;
6811 RET_LABEL:;
6812 }
6813 /* method parser#ReduceAction255#action for (self: Object, Parser) */
6814 void VIRTUAL_parser__ReduceAction255__action(val* self, val* p0) {
6815 parser__ReduceAction255__action(self, p0);
6816 RET_LABEL:;
6817 }
6818 /* method parser#ReduceAction257#action for (self: ReduceAction257, Parser) */
6819 void parser__ReduceAction257__action(val* self, val* p0) {
6820 val* var_p /* var p: Parser */;
6821 val* var /* : null */;
6822 val* var_node_list /* var node_list: nullable Object */;
6823 val* var1 /* : nullable Object */;
6824 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
6825 val* var2 /* : nullable Object */;
6826 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6827 val* var3 /* : nullable Object */;
6828 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6829 val* var4 /* : nullable Object */;
6830 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6831 val* var5 /* : nullable Object */;
6832 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6833 val* var6 /* : nullable Object */;
6834 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6835 val* var7 /* : nullable Object */;
6836 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6837 val* var8 /* : nullable Object */;
6838 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6839 val* var9 /* : nullable Object */;
6840 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6841 val* var10 /* : nullable Object */;
6842 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6843 val* var11 /* : nullable Object */;
6844 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6845 val* var12 /* : Array[Object] */;
6846 val* var_listnode8 /* var listnode8: Array[Object] */;
6847 val* var13 /* : Array[Object] */;
6848 val* var_listnode16 /* var listnode16: Array[Object] */;
6849 val* var14 /* : Array[Object] */;
6850 val* var_listnode18 /* var listnode18: Array[Object] */;
6851 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6852 short int var15 /* : Bool */;
6853 int cltype;
6854 int idtype;
6855 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6856 short int var16 /* : Bool */;
6857 int cltype17;
6858 int idtype18;
6859 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6860 short int var19 /* : Bool */;
6861 int cltype20;
6862 int idtype21;
6863 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6864 short int var22 /* : Bool */;
6865 int cltype23;
6866 int idtype24;
6867 val* var_listnode7 /* var listnode7: nullable Object */;
6868 short int var25 /* : Bool */;
6869 int cltype26;
6870 int idtype27;
6871 val* var28 /* : Array[Object] */;
6872 val* var29 /* : Array[Object] */;
6873 val* var_listnode13 /* var listnode13: Array[Object] */;
6874 val* var_listnode12 /* var listnode12: nullable Object */;
6875 short int var30 /* : Bool */;
6876 int cltype31;
6877 int idtype32;
6878 val* var33 /* : Array[Object] */;
6879 val* var34 /* : AAnnotations */;
6880 val* var35 /* : null */;
6881 val* var36 /* : null */;
6882 val* var37 /* : null */;
6883 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
6884 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
6885 short int var38 /* : Bool */;
6886 int cltype39;
6887 int idtype40;
6888 val* var_listnode17 /* var listnode17: nullable Object */;
6889 short int var41 /* : Bool */;
6890 int cltype42;
6891 int idtype43;
6892 val* var44 /* : Array[Object] */;
6893 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
6894 short int var45 /* : Bool */;
6895 int cltype46;
6896 int idtype47;
6897 val* var48 /* : AStdClassdef */;
6898 val* var49 /* : null */;
6899 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6900 long var50 /* : Int */;
6901 long var51 /* : Int */;
6902 var_p = p0;
6903 var = NULL;
6904 var_node_list = var;
6905 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6906 var_nodearraylist11 = var1;
6907 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6908 var_nodearraylist10 = var2;
6909 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6910 var_nodearraylist9 = var3;
6911 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6912 var_nodearraylist8 = var4;
6913 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6914 var_nodearraylist7 = var5;
6915 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6916 var_nodearraylist6 = var6;
6917 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6918 var_nodearraylist5 = var7;
6919 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6920 var_nodearraylist4 = var8;
6921 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6922 var_nodearraylist3 = var9;
6923 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6924 var_nodearraylist2 = var10;
6925 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6926 var_nodearraylist1 = var11;
6927 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
6928 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
6929 var_listnode8 = var12;
6930 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
6931 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
6932 var_listnode16 = var13;
6933 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
6934 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
6935 var_listnode18 = var14;
6936 var_pdocnode2 = var_nodearraylist1;
6937 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6938 cltype = type_nullable_parser_nodes__ADoc.color;
6939 idtype = type_nullable_parser_nodes__ADoc.id;
6940 if(var_pdocnode2 == NULL) {
6941 var15 = 1;
6942 } else {
6943 if(cltype >= var_pdocnode2->type->table_size) {
6944 var15 = 0;
6945 } else {
6946 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
6947 }
6948 }
6949 if (!var15) {
6950 fprintf(stderr, "Runtime error: %s", "Assert failed");
6951 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11880);
6952 show_backtrace(1);
6953 }
6954 var_pvisibilitynode4 = var_nodearraylist2;
6955 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6956 cltype17 = type_nullable_parser_nodes__AVisibility.color;
6957 idtype18 = type_nullable_parser_nodes__AVisibility.id;
6958 if(var_pvisibilitynode4 == NULL) {
6959 var16 = 1;
6960 } else {
6961 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
6962 var16 = 0;
6963 } else {
6964 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
6965 }
6966 }
6967 if (!var16) {
6968 fprintf(stderr, "Runtime error: %s", "Assert failed");
6969 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11882);
6970 show_backtrace(1);
6971 }
6972 var_pclasskindnode5 = var_nodearraylist3;
6973 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6974 cltype20 = type_nullable_parser_nodes__AClasskind.color;
6975 idtype21 = type_nullable_parser_nodes__AClasskind.id;
6976 if(var_pclasskindnode5 == NULL) {
6977 var19 = 1;
6978 } else {
6979 if(cltype20 >= var_pclasskindnode5->type->table_size) {
6980 var19 = 0;
6981 } else {
6982 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
6983 }
6984 }
6985 if (!var19) {
6986 fprintf(stderr, "Runtime error: %s", "Assert failed");
6987 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11884);
6988 show_backtrace(1);
6989 }
6990 var_tclassidnode6 = var_nodearraylist5;
6991 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6992 cltype23 = type_nullable_parser_nodes__TClassid.color;
6993 idtype24 = type_nullable_parser_nodes__TClassid.id;
6994 if(var_tclassidnode6 == NULL) {
6995 var22 = 1;
6996 } else {
6997 if(cltype23 >= var_tclassidnode6->type->table_size) {
6998 var22 = 0;
6999 } else {
7000 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
7001 }
7002 }
7003 if (!var22) {
7004 fprintf(stderr, "Runtime error: %s", "Assert failed");
7005 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11886);
7006 show_backtrace(1);
7007 }
7008 var_listnode7 = var_nodearraylist6;
7009 /* <var_listnode7:nullable Object> isa Array[Object] */
7010 cltype26 = type_array__Arraykernel__Object.color;
7011 idtype27 = type_array__Arraykernel__Object.id;
7012 if(var_listnode7 == NULL) {
7013 var25 = 0;
7014 } else {
7015 if(cltype26 >= var_listnode7->type->table_size) {
7016 var25 = 0;
7017 } else {
7018 var25 = var_listnode7->type->type_table[cltype26] == idtype27;
7019 }
7020 }
7021 if (!var25) {
7022 fprintf(stderr, "Runtime error: %s", "Assert failed");
7023 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11888);
7024 show_backtrace(1);
7025 }
7026 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction257>*/;
7027 var_listnode8 = var28;
7028 var29 = NEW_array__Array(&type_array__Arraykernel__Object);
7029 ((void (*)(val*))(var29->class->vft[COLOR_array__Array__init]))(var29) /* init on <var29:Array[Object]>*/;
7030 var_listnode13 = var29;
7031 var_listnode12 = var_nodearraylist7;
7032 /* <var_listnode12:nullable Object> isa Array[Object] */
7033 cltype31 = type_array__Arraykernel__Object.color;
7034 idtype32 = type_array__Arraykernel__Object.id;
7035 if(var_listnode12 == NULL) {
7036 var30 = 0;
7037 } else {
7038 if(cltype31 >= var_listnode12->type->table_size) {
7039 var30 = 0;
7040 } else {
7041 var30 = var_listnode12->type->type_table[cltype31] == idtype32;
7042 }
7043 }
7044 if (!var30) {
7045 fprintf(stderr, "Runtime error: %s", "Assert failed");
7046 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11892);
7047 show_backtrace(1);
7048 }
7049 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction257>*/;
7050 var_listnode13 = var33;
7051 var34 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
7052 var35 = NULL;
7053 var36 = NULL;
7054 var37 = NULL;
7055 ((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>*/;
7056 var_pannotationsnode9 = var34;
7057 var_pexterncodeblocknode15 = var_nodearraylist8;
7058 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
7059 cltype39 = type_nullable_parser_nodes__AExternCodeBlock.color;
7060 idtype40 = type_nullable_parser_nodes__AExternCodeBlock.id;
7061 if(var_pexterncodeblocknode15 == NULL) {
7062 var38 = 1;
7063 } else {
7064 if(cltype39 >= var_pexterncodeblocknode15->type->table_size) {
7065 var38 = 0;
7066 } else {
7067 var38 = var_pexterncodeblocknode15->type->type_table[cltype39] == idtype40;
7068 }
7069 }
7070 if (!var38) {
7071 fprintf(stderr, "Runtime error: %s", "Assert failed");
7072 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11901);
7073 show_backtrace(1);
7074 }
7075 var_listnode17 = var_nodearraylist9;
7076 /* <var_listnode17:nullable Object> isa Array[Object] */
7077 cltype42 = type_array__Arraykernel__Object.color;
7078 idtype43 = type_array__Arraykernel__Object.id;
7079 if(var_listnode17 == NULL) {
7080 var41 = 0;
7081 } else {
7082 if(cltype42 >= var_listnode17->type->table_size) {
7083 var41 = 0;
7084 } else {
7085 var41 = var_listnode17->type->type_table[cltype42] == idtype43;
7086 }
7087 }
7088 if (!var41) {
7089 fprintf(stderr, "Runtime error: %s", "Assert failed");
7090 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11903);
7091 show_backtrace(1);
7092 }
7093 var44 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction257>*/;
7094 var_listnode18 = var44;
7095 var_tkwendnode19 = var_nodearraylist11;
7096 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
7097 cltype46 = type_nullable_parser_nodes__TKwend.color;
7098 idtype47 = type_nullable_parser_nodes__TKwend.id;
7099 if(var_tkwendnode19 == NULL) {
7100 var45 = 1;
7101 } else {
7102 if(cltype46 >= var_tkwendnode19->type->table_size) {
7103 var45 = 0;
7104 } else {
7105 var45 = var_tkwendnode19->type->type_table[cltype46] == idtype47;
7106 }
7107 }
7108 if (!var45) {
7109 fprintf(stderr, "Runtime error: %s", "Assert failed");
7110 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11906);
7111 show_backtrace(1);
7112 }
7113 var48 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7114 var49 = NULL;
7115 ((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_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var48:AStdClassdef>*/;
7116 var_pclassdefnode1 = var48;
7117 var_node_list = var_pclassdefnode1;
7118 var50 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction257> */
7119 var51 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var50) /* go_to on <var_p:Parser>*/;
7120 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var51, var_node_list) /* push on <var_p:Parser>*/;
7121 RET_LABEL:;
7122 }
7123 /* method parser#ReduceAction257#action for (self: Object, Parser) */
7124 void VIRTUAL_parser__ReduceAction257__action(val* self, val* p0) {
7125 parser__ReduceAction257__action(self, p0);
7126 RET_LABEL:;
7127 }
7128 /* method parser#ReduceAction258#action for (self: ReduceAction258, Parser) */
7129 void parser__ReduceAction258__action(val* self, val* p0) {
7130 val* var_p /* var p: Parser */;
7131 val* var /* : null */;
7132 val* var_node_list /* var node_list: nullable Object */;
7133 val* var1 /* : nullable Object */;
7134 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
7135 val* var2 /* : nullable Object */;
7136 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
7137 val* var3 /* : nullable Object */;
7138 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7139 val* var4 /* : nullable Object */;
7140 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7141 val* var5 /* : nullable Object */;
7142 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7143 val* var6 /* : nullable Object */;
7144 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7145 val* var7 /* : nullable Object */;
7146 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7147 val* var8 /* : nullable Object */;
7148 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7149 val* var9 /* : nullable Object */;
7150 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7151 val* var10 /* : nullable Object */;
7152 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7153 val* var11 /* : nullable Object */;
7154 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7155 val* var12 /* : nullable Object */;
7156 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7157 val* var13 /* : Array[Object] */;
7158 val* var_listnode8 /* var listnode8: Array[Object] */;
7159 val* var14 /* : Array[Object] */;
7160 val* var_listnode16 /* var listnode16: Array[Object] */;
7161 val* var15 /* : Array[Object] */;
7162 val* var_listnode18 /* var listnode18: Array[Object] */;
7163 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7164 short int var16 /* : Bool */;
7165 int cltype;
7166 int idtype;
7167 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
7168 short int var17 /* : Bool */;
7169 int cltype18;
7170 int idtype19;
7171 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7172 short int var20 /* : Bool */;
7173 int cltype21;
7174 int idtype22;
7175 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7176 short int var23 /* : Bool */;
7177 int cltype24;
7178 int idtype25;
7179 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7180 short int var26 /* : Bool */;
7181 int cltype27;
7182 int idtype28;
7183 val* var_listnode7 /* var listnode7: nullable Object */;
7184 short int var29 /* : Bool */;
7185 int cltype30;
7186 int idtype31;
7187 val* var32 /* : Array[Object] */;
7188 val* var33 /* : Array[Object] */;
7189 val* var_listnode13 /* var listnode13: Array[Object] */;
7190 val* var_listnode12 /* var listnode12: nullable Object */;
7191 short int var34 /* : Bool */;
7192 int cltype35;
7193 int idtype36;
7194 val* var37 /* : Array[Object] */;
7195 val* var38 /* : AAnnotations */;
7196 val* var39 /* : null */;
7197 val* var40 /* : null */;
7198 val* var41 /* : null */;
7199 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
7200 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
7201 short int var42 /* : Bool */;
7202 int cltype43;
7203 int idtype44;
7204 val* var_listnode17 /* var listnode17: nullable Object */;
7205 short int var45 /* : Bool */;
7206 int cltype46;
7207 int idtype47;
7208 val* var48 /* : Array[Object] */;
7209 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
7210 short int var49 /* : Bool */;
7211 int cltype50;
7212 int idtype51;
7213 val* var52 /* : AStdClassdef */;
7214 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7215 long var53 /* : Int */;
7216 long var54 /* : Int */;
7217 var_p = p0;
7218 var = NULL;
7219 var_node_list = var;
7220 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7221 var_nodearraylist12 = var1;
7222 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7223 var_nodearraylist11 = var2;
7224 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7225 var_nodearraylist10 = var3;
7226 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7227 var_nodearraylist9 = var4;
7228 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7229 var_nodearraylist8 = var5;
7230 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7231 var_nodearraylist7 = var6;
7232 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7233 var_nodearraylist6 = var7;
7234 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7235 var_nodearraylist5 = var8;
7236 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7237 var_nodearraylist4 = var9;
7238 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7239 var_nodearraylist3 = var10;
7240 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7241 var_nodearraylist2 = var11;
7242 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7243 var_nodearraylist1 = var12;
7244 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
7245 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
7246 var_listnode8 = var13;
7247 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
7248 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
7249 var_listnode16 = var14;
7250 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
7251 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
7252 var_listnode18 = var15;
7253 var_pdocnode2 = var_nodearraylist1;
7254 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7255 cltype = type_nullable_parser_nodes__ADoc.color;
7256 idtype = type_nullable_parser_nodes__ADoc.id;
7257 if(var_pdocnode2 == NULL) {
7258 var16 = 1;
7259 } else {
7260 if(cltype >= var_pdocnode2->type->table_size) {
7261 var16 = 0;
7262 } else {
7263 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
7264 }
7265 }
7266 if (!var16) {
7267 fprintf(stderr, "Runtime error: %s", "Assert failed");
7268 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11945);
7269 show_backtrace(1);
7270 }
7271 var_tkwredefnode3 = var_nodearraylist2;
7272 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7273 cltype18 = type_nullable_parser_nodes__TKwredef.color;
7274 idtype19 = type_nullable_parser_nodes__TKwredef.id;
7275 if(var_tkwredefnode3 == NULL) {
7276 var17 = 1;
7277 } else {
7278 if(cltype18 >= var_tkwredefnode3->type->table_size) {
7279 var17 = 0;
7280 } else {
7281 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
7282 }
7283 }
7284 if (!var17) {
7285 fprintf(stderr, "Runtime error: %s", "Assert failed");
7286 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11947);
7287 show_backtrace(1);
7288 }
7289 var_pvisibilitynode4 = var_nodearraylist3;
7290 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7291 cltype21 = type_nullable_parser_nodes__AVisibility.color;
7292 idtype22 = type_nullable_parser_nodes__AVisibility.id;
7293 if(var_pvisibilitynode4 == NULL) {
7294 var20 = 1;
7295 } else {
7296 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
7297 var20 = 0;
7298 } else {
7299 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
7300 }
7301 }
7302 if (!var20) {
7303 fprintf(stderr, "Runtime error: %s", "Assert failed");
7304 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11949);
7305 show_backtrace(1);
7306 }
7307 var_pclasskindnode5 = var_nodearraylist4;
7308 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7309 cltype24 = type_nullable_parser_nodes__AClasskind.color;
7310 idtype25 = type_nullable_parser_nodes__AClasskind.id;
7311 if(var_pclasskindnode5 == NULL) {
7312 var23 = 1;
7313 } else {
7314 if(cltype24 >= var_pclasskindnode5->type->table_size) {
7315 var23 = 0;
7316 } else {
7317 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
7318 }
7319 }
7320 if (!var23) {
7321 fprintf(stderr, "Runtime error: %s", "Assert failed");
7322 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11951);
7323 show_backtrace(1);
7324 }
7325 var_tclassidnode6 = var_nodearraylist6;
7326 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7327 cltype27 = type_nullable_parser_nodes__TClassid.color;
7328 idtype28 = type_nullable_parser_nodes__TClassid.id;
7329 if(var_tclassidnode6 == NULL) {
7330 var26 = 1;
7331 } else {
7332 if(cltype27 >= var_tclassidnode6->type->table_size) {
7333 var26 = 0;
7334 } else {
7335 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
7336 }
7337 }
7338 if (!var26) {
7339 fprintf(stderr, "Runtime error: %s", "Assert failed");
7340 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11953);
7341 show_backtrace(1);
7342 }
7343 var_listnode7 = var_nodearraylist7;
7344 /* <var_listnode7:nullable Object> isa Array[Object] */
7345 cltype30 = type_array__Arraykernel__Object.color;
7346 idtype31 = type_array__Arraykernel__Object.id;
7347 if(var_listnode7 == NULL) {
7348 var29 = 0;
7349 } else {
7350 if(cltype30 >= var_listnode7->type->table_size) {
7351 var29 = 0;
7352 } else {
7353 var29 = var_listnode7->type->type_table[cltype30] == idtype31;
7354 }
7355 }
7356 if (!var29) {
7357 fprintf(stderr, "Runtime error: %s", "Assert failed");
7358 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11955);
7359 show_backtrace(1);
7360 }
7361 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction258>*/;
7362 var_listnode8 = var32;
7363 var33 = NEW_array__Array(&type_array__Arraykernel__Object);
7364 ((void (*)(val*))(var33->class->vft[COLOR_array__Array__init]))(var33) /* init on <var33:Array[Object]>*/;
7365 var_listnode13 = var33;
7366 var_listnode12 = var_nodearraylist8;
7367 /* <var_listnode12:nullable Object> isa Array[Object] */
7368 cltype35 = type_array__Arraykernel__Object.color;
7369 idtype36 = type_array__Arraykernel__Object.id;
7370 if(var_listnode12 == NULL) {
7371 var34 = 0;
7372 } else {
7373 if(cltype35 >= var_listnode12->type->table_size) {
7374 var34 = 0;
7375 } else {
7376 var34 = var_listnode12->type->type_table[cltype35] == idtype36;
7377 }
7378 }
7379 if (!var34) {
7380 fprintf(stderr, "Runtime error: %s", "Assert failed");
7381 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11959);
7382 show_backtrace(1);
7383 }
7384 var37 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction258>*/;
7385 var_listnode13 = var37;
7386 var38 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
7387 var39 = NULL;
7388 var40 = NULL;
7389 var41 = NULL;
7390 ((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>*/;
7391 var_pannotationsnode9 = var38;
7392 var_pexterncodeblocknode15 = var_nodearraylist9;
7393 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
7394 cltype43 = type_nullable_parser_nodes__AExternCodeBlock.color;
7395 idtype44 = type_nullable_parser_nodes__AExternCodeBlock.id;
7396 if(var_pexterncodeblocknode15 == NULL) {
7397 var42 = 1;
7398 } else {
7399 if(cltype43 >= var_pexterncodeblocknode15->type->table_size) {
7400 var42 = 0;
7401 } else {
7402 var42 = var_pexterncodeblocknode15->type->type_table[cltype43] == idtype44;
7403 }
7404 }
7405 if (!var42) {
7406 fprintf(stderr, "Runtime error: %s", "Assert failed");
7407 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11968);
7408 show_backtrace(1);
7409 }
7410 var_listnode17 = var_nodearraylist10;
7411 /* <var_listnode17:nullable Object> isa Array[Object] */
7412 cltype46 = type_array__Arraykernel__Object.color;
7413 idtype47 = type_array__Arraykernel__Object.id;
7414 if(var_listnode17 == NULL) {
7415 var45 = 0;
7416 } else {
7417 if(cltype46 >= var_listnode17->type->table_size) {
7418 var45 = 0;
7419 } else {
7420 var45 = var_listnode17->type->type_table[cltype46] == idtype47;
7421 }
7422 }
7423 if (!var45) {
7424 fprintf(stderr, "Runtime error: %s", "Assert failed");
7425 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11970);
7426 show_backtrace(1);
7427 }
7428 var48 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction258>*/;
7429 var_listnode18 = var48;
7430 var_tkwendnode19 = var_nodearraylist12;
7431 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
7432 cltype50 = type_nullable_parser_nodes__TKwend.color;
7433 idtype51 = type_nullable_parser_nodes__TKwend.id;
7434 if(var_tkwendnode19 == NULL) {
7435 var49 = 1;
7436 } else {
7437 if(cltype50 >= var_tkwendnode19->type->table_size) {
7438 var49 = 0;
7439 } else {
7440 var49 = var_tkwendnode19->type->type_table[cltype50] == idtype51;
7441 }
7442 }
7443 if (!var49) {
7444 fprintf(stderr, "Runtime error: %s", "Assert failed");
7445 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 11973);
7446 show_backtrace(1);
7447 }
7448 var52 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7449 ((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_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var52:AStdClassdef>*/;
7450 var_pclassdefnode1 = var52;
7451 var_node_list = var_pclassdefnode1;
7452 var53 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction258> */
7453 var54 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var53) /* go_to on <var_p:Parser>*/;
7454 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var54, var_node_list) /* push on <var_p:Parser>*/;
7455 RET_LABEL:;
7456 }
7457 /* method parser#ReduceAction258#action for (self: Object, Parser) */
7458 void VIRTUAL_parser__ReduceAction258__action(val* self, val* p0) {
7459 parser__ReduceAction258__action(self, p0);
7460 RET_LABEL:;
7461 }
7462 /* method parser#ReduceAction259#action for (self: ReduceAction259, Parser) */
7463 void parser__ReduceAction259__action(val* self, val* p0) {
7464 val* var_p /* var p: Parser */;
7465 val* var /* : null */;
7466 val* var_node_list /* var node_list: nullable Object */;
7467 val* var1 /* : nullable Object */;
7468 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
7469 val* var2 /* : nullable Object */;
7470 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
7471 val* var3 /* : nullable Object */;
7472 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7473 val* var4 /* : nullable Object */;
7474 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7475 val* var5 /* : nullable Object */;
7476 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7477 val* var6 /* : nullable Object */;
7478 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7479 val* var7 /* : nullable Object */;
7480 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7481 val* var8 /* : nullable Object */;
7482 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7483 val* var9 /* : nullable Object */;
7484 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7485 val* var10 /* : nullable Object */;
7486 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7487 val* var11 /* : nullable Object */;
7488 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7489 val* var12 /* : nullable Object */;
7490 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7491 val* var13 /* : Array[Object] */;
7492 val* var_listnode8 /* var listnode8: Array[Object] */;
7493 val* var14 /* : Array[Object] */;
7494 val* var_listnode16 /* var listnode16: Array[Object] */;
7495 val* var15 /* : Array[Object] */;
7496 val* var_listnode18 /* var listnode18: Array[Object] */;
7497 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7498 short int var16 /* : Bool */;
7499 int cltype;
7500 int idtype;
7501 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7502 short int var17 /* : Bool */;
7503 int cltype18;
7504 int idtype19;
7505 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7506 short int var20 /* : Bool */;
7507 int cltype21;
7508 int idtype22;
7509 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7510 short int var23 /* : Bool */;
7511 int cltype24;
7512 int idtype25;
7513 val* var_listnode7 /* var listnode7: nullable Object */;
7514 short int var26 /* : Bool */;
7515 int cltype27;
7516 int idtype28;
7517 val* var29 /* : Array[Object] */;
7518 val* var30 /* : Array[Object] */;
7519 val* var_listnode13 /* var listnode13: Array[Object] */;
7520 val* var_listnode12 /* var listnode12: nullable Object */;
7521 short int var31 /* : Bool */;
7522 int cltype32;
7523 int idtype33;
7524 val* var34 /* : Array[Object] */;
7525 val* var35 /* : AAnnotations */;
7526 val* var36 /* : null */;
7527 val* var37 /* : null */;
7528 val* var38 /* : null */;
7529 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
7530 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
7531 short int var39 /* : Bool */;
7532 int cltype40;
7533 int idtype41;
7534 val* var_listnode17 /* var listnode17: nullable Object */;
7535 short int var42 /* : Bool */;
7536 int cltype43;
7537 int idtype44;
7538 val* var45 /* : Array[Object] */;
7539 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
7540 short int var46 /* : Bool */;
7541 int cltype47;
7542 int idtype48;
7543 val* var49 /* : AStdClassdef */;
7544 val* var50 /* : null */;
7545 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7546 long var51 /* : Int */;
7547 long var52 /* : Int */;
7548 var_p = p0;
7549 var = NULL;
7550 var_node_list = var;
7551 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7552 var_nodearraylist12 = var1;
7553 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7554 var_nodearraylist11 = var2;
7555 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7556 var_nodearraylist10 = var3;
7557 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7558 var_nodearraylist9 = var4;
7559 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7560 var_nodearraylist8 = var5;
7561 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7562 var_nodearraylist7 = var6;
7563 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7564 var_nodearraylist6 = var7;
7565 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7566 var_nodearraylist5 = var8;
7567 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7568 var_nodearraylist4 = var9;
7569 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7570 var_nodearraylist3 = var10;
7571 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7572 var_nodearraylist2 = var11;
7573 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7574 var_nodearraylist1 = var12;
7575 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
7576 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
7577 var_listnode8 = var13;
7578 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
7579 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
7580 var_listnode16 = var14;
7581 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
7582 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
7583 var_listnode18 = var15;
7584 var_pdocnode2 = var_nodearraylist1;
7585 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7586 cltype = type_nullable_parser_nodes__ADoc.color;
7587 idtype = type_nullable_parser_nodes__ADoc.id;
7588 if(var_pdocnode2 == NULL) {
7589 var16 = 1;
7590 } else {
7591 if(cltype >= var_pdocnode2->type->table_size) {
7592 var16 = 0;
7593 } else {
7594 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
7595 }
7596 }
7597 if (!var16) {
7598 fprintf(stderr, "Runtime error: %s", "Assert failed");
7599 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12012);
7600 show_backtrace(1);
7601 }
7602 var_pvisibilitynode4 = var_nodearraylist2;
7603 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7604 cltype18 = type_nullable_parser_nodes__AVisibility.color;
7605 idtype19 = type_nullable_parser_nodes__AVisibility.id;
7606 if(var_pvisibilitynode4 == NULL) {
7607 var17 = 1;
7608 } else {
7609 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
7610 var17 = 0;
7611 } else {
7612 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
7613 }
7614 }
7615 if (!var17) {
7616 fprintf(stderr, "Runtime error: %s", "Assert failed");
7617 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12014);
7618 show_backtrace(1);
7619 }
7620 var_pclasskindnode5 = var_nodearraylist3;
7621 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7622 cltype21 = type_nullable_parser_nodes__AClasskind.color;
7623 idtype22 = type_nullable_parser_nodes__AClasskind.id;
7624 if(var_pclasskindnode5 == NULL) {
7625 var20 = 1;
7626 } else {
7627 if(cltype21 >= var_pclasskindnode5->type->table_size) {
7628 var20 = 0;
7629 } else {
7630 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
7631 }
7632 }
7633 if (!var20) {
7634 fprintf(stderr, "Runtime error: %s", "Assert failed");
7635 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12016);
7636 show_backtrace(1);
7637 }
7638 var_tclassidnode6 = var_nodearraylist6;
7639 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7640 cltype24 = type_nullable_parser_nodes__TClassid.color;
7641 idtype25 = type_nullable_parser_nodes__TClassid.id;
7642 if(var_tclassidnode6 == NULL) {
7643 var23 = 1;
7644 } else {
7645 if(cltype24 >= var_tclassidnode6->type->table_size) {
7646 var23 = 0;
7647 } else {
7648 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
7649 }
7650 }
7651 if (!var23) {
7652 fprintf(stderr, "Runtime error: %s", "Assert failed");
7653 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12018);
7654 show_backtrace(1);
7655 }
7656 var_listnode7 = var_nodearraylist7;
7657 /* <var_listnode7:nullable Object> isa Array[Object] */
7658 cltype27 = type_array__Arraykernel__Object.color;
7659 idtype28 = type_array__Arraykernel__Object.id;
7660 if(var_listnode7 == NULL) {
7661 var26 = 0;
7662 } else {
7663 if(cltype27 >= var_listnode7->type->table_size) {
7664 var26 = 0;
7665 } else {
7666 var26 = var_listnode7->type->type_table[cltype27] == idtype28;
7667 }
7668 }
7669 if (!var26) {
7670 fprintf(stderr, "Runtime error: %s", "Assert failed");
7671 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12020);
7672 show_backtrace(1);
7673 }
7674 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction259>*/;
7675 var_listnode8 = var29;
7676 var30 = NEW_array__Array(&type_array__Arraykernel__Object);
7677 ((void (*)(val*))(var30->class->vft[COLOR_array__Array__init]))(var30) /* init on <var30:Array[Object]>*/;
7678 var_listnode13 = var30;
7679 var_listnode12 = var_nodearraylist8;
7680 /* <var_listnode12:nullable Object> isa Array[Object] */
7681 cltype32 = type_array__Arraykernel__Object.color;
7682 idtype33 = type_array__Arraykernel__Object.id;
7683 if(var_listnode12 == NULL) {
7684 var31 = 0;
7685 } else {
7686 if(cltype32 >= var_listnode12->type->table_size) {
7687 var31 = 0;
7688 } else {
7689 var31 = var_listnode12->type->type_table[cltype32] == idtype33;
7690 }
7691 }
7692 if (!var31) {
7693 fprintf(stderr, "Runtime error: %s", "Assert failed");
7694 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12024);
7695 show_backtrace(1);
7696 }
7697 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction259>*/;
7698 var_listnode13 = var34;
7699 var35 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
7700 var36 = NULL;
7701 var37 = NULL;
7702 var38 = NULL;
7703 ((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>*/;
7704 var_pannotationsnode9 = var35;
7705 var_pexterncodeblocknode15 = var_nodearraylist9;
7706 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
7707 cltype40 = type_nullable_parser_nodes__AExternCodeBlock.color;
7708 idtype41 = type_nullable_parser_nodes__AExternCodeBlock.id;
7709 if(var_pexterncodeblocknode15 == NULL) {
7710 var39 = 1;
7711 } else {
7712 if(cltype40 >= var_pexterncodeblocknode15->type->table_size) {
7713 var39 = 0;
7714 } else {
7715 var39 = var_pexterncodeblocknode15->type->type_table[cltype40] == idtype41;
7716 }
7717 }
7718 if (!var39) {
7719 fprintf(stderr, "Runtime error: %s", "Assert failed");
7720 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12033);
7721 show_backtrace(1);
7722 }
7723 var_listnode17 = var_nodearraylist10;
7724 /* <var_listnode17:nullable Object> isa Array[Object] */
7725 cltype43 = type_array__Arraykernel__Object.color;
7726 idtype44 = type_array__Arraykernel__Object.id;
7727 if(var_listnode17 == NULL) {
7728 var42 = 0;
7729 } else {
7730 if(cltype43 >= var_listnode17->type->table_size) {
7731 var42 = 0;
7732 } else {
7733 var42 = var_listnode17->type->type_table[cltype43] == idtype44;
7734 }
7735 }
7736 if (!var42) {
7737 fprintf(stderr, "Runtime error: %s", "Assert failed");
7738 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12035);
7739 show_backtrace(1);
7740 }
7741 var45 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction259>*/;
7742 var_listnode18 = var45;
7743 var_tkwendnode19 = var_nodearraylist12;
7744 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
7745 cltype47 = type_nullable_parser_nodes__TKwend.color;
7746 idtype48 = type_nullable_parser_nodes__TKwend.id;
7747 if(var_tkwendnode19 == NULL) {
7748 var46 = 1;
7749 } else {
7750 if(cltype47 >= var_tkwendnode19->type->table_size) {
7751 var46 = 0;
7752 } else {
7753 var46 = var_tkwendnode19->type->type_table[cltype47] == idtype48;
7754 }
7755 }
7756 if (!var46) {
7757 fprintf(stderr, "Runtime error: %s", "Assert failed");
7758 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12038);
7759 show_backtrace(1);
7760 }
7761 var49 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7762 var50 = NULL;
7763 ((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_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var49:AStdClassdef>*/;
7764 var_pclassdefnode1 = var49;
7765 var_node_list = var_pclassdefnode1;
7766 var51 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction259> */
7767 var52 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var51) /* go_to on <var_p:Parser>*/;
7768 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var52, var_node_list) /* push on <var_p:Parser>*/;
7769 RET_LABEL:;
7770 }
7771 /* method parser#ReduceAction259#action for (self: Object, Parser) */
7772 void VIRTUAL_parser__ReduceAction259__action(val* self, val* p0) {
7773 parser__ReduceAction259__action(self, p0);
7774 RET_LABEL:;
7775 }
7776 /* method parser#ReduceAction260#action for (self: ReduceAction260, Parser) */
7777 void parser__ReduceAction260__action(val* self, val* p0) {
7778 val* var_p /* var p: Parser */;
7779 val* var /* : null */;
7780 val* var_node_list /* var node_list: nullable Object */;
7781 val* var1 /* : nullable Object */;
7782 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
7783 val* var2 /* : nullable Object */;
7784 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
7785 val* var3 /* : nullable Object */;
7786 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
7787 val* var4 /* : nullable Object */;
7788 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7789 val* var5 /* : nullable Object */;
7790 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7791 val* var6 /* : nullable Object */;
7792 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7793 val* var7 /* : nullable Object */;
7794 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7795 val* var8 /* : nullable Object */;
7796 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7797 val* var9 /* : nullable Object */;
7798 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7799 val* var10 /* : nullable Object */;
7800 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7801 val* var11 /* : nullable Object */;
7802 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7803 val* var12 /* : nullable Object */;
7804 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7805 val* var13 /* : nullable Object */;
7806 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7807 val* var14 /* : Array[Object] */;
7808 val* var_listnode8 /* var listnode8: Array[Object] */;
7809 val* var15 /* : Array[Object] */;
7810 val* var_listnode16 /* var listnode16: Array[Object] */;
7811 val* var16 /* : Array[Object] */;
7812 val* var_listnode18 /* var listnode18: Array[Object] */;
7813 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7814 short int var17 /* : Bool */;
7815 int cltype;
7816 int idtype;
7817 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7818 short int var18 /* : Bool */;
7819 int cltype19;
7820 int idtype20;
7821 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7822 short int var21 /* : Bool */;
7823 int cltype22;
7824 int idtype23;
7825 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7826 short int var24 /* : Bool */;
7827 int cltype25;
7828 int idtype26;
7829 val* var_listnode7 /* var listnode7: nullable Object */;
7830 short int var27 /* : Bool */;
7831 int cltype28;
7832 int idtype29;
7833 val* var30 /* : Array[Object] */;
7834 val* var31 /* : Array[Object] */;
7835 val* var_listnode13 /* var listnode13: Array[Object] */;
7836 val* var_listnode12 /* var listnode12: nullable Object */;
7837 short int var32 /* : Bool */;
7838 int cltype33;
7839 int idtype34;
7840 val* var35 /* : Array[Object] */;
7841 val* var36 /* : AAnnotations */;
7842 val* var37 /* : null */;
7843 val* var38 /* : null */;
7844 val* var39 /* : null */;
7845 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
7846 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
7847 short int var40 /* : Bool */;
7848 int cltype41;
7849 int idtype42;
7850 val* var_listnode17 /* var listnode17: nullable Object */;
7851 short int var43 /* : Bool */;
7852 int cltype44;
7853 int idtype45;
7854 val* var46 /* : Array[Object] */;
7855 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
7856 short int var47 /* : Bool */;
7857 int cltype48;
7858 int idtype49;
7859 val* var50 /* : AStdClassdef */;
7860 val* var51 /* : null */;
7861 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7862 long var52 /* : Int */;
7863 long var53 /* : Int */;
7864 var_p = p0;
7865 var = NULL;
7866 var_node_list = var;
7867 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7868 var_nodearraylist13 = var1;
7869 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7870 var_nodearraylist12 = var2;
7871 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7872 var_nodearraylist11 = var3;
7873 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7874 var_nodearraylist10 = var4;
7875 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7876 var_nodearraylist9 = var5;
7877 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7878 var_nodearraylist8 = var6;
7879 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7880 var_nodearraylist7 = var7;
7881 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7882 var_nodearraylist6 = var8;
7883 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7884 var_nodearraylist5 = var9;
7885 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7886 var_nodearraylist4 = var10;
7887 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7888 var_nodearraylist3 = var11;
7889 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7890 var_nodearraylist2 = var12;
7891 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7892 var_nodearraylist1 = var13;
7893 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
7894 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
7895 var_listnode8 = var14;
7896 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
7897 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
7898 var_listnode16 = var15;
7899 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
7900 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
7901 var_listnode18 = var16;
7902 var_pdocnode2 = var_nodearraylist1;
7903 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7904 cltype = type_nullable_parser_nodes__ADoc.color;
7905 idtype = type_nullable_parser_nodes__ADoc.id;
7906 if(var_pdocnode2 == NULL) {
7907 var17 = 1;
7908 } else {
7909 if(cltype >= var_pdocnode2->type->table_size) {
7910 var17 = 0;
7911 } else {
7912 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
7913 }
7914 }
7915 if (!var17) {
7916 fprintf(stderr, "Runtime error: %s", "Assert failed");
7917 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12078);
7918 show_backtrace(1);
7919 }
7920 var_pvisibilitynode4 = var_nodearraylist2;
7921 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7922 cltype19 = type_nullable_parser_nodes__AVisibility.color;
7923 idtype20 = type_nullable_parser_nodes__AVisibility.id;
7924 if(var_pvisibilitynode4 == NULL) {
7925 var18 = 1;
7926 } else {
7927 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
7928 var18 = 0;
7929 } else {
7930 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
7931 }
7932 }
7933 if (!var18) {
7934 fprintf(stderr, "Runtime error: %s", "Assert failed");
7935 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12080);
7936 show_backtrace(1);
7937 }
7938 var_pclasskindnode5 = var_nodearraylist3;
7939 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7940 cltype22 = type_nullable_parser_nodes__AClasskind.color;
7941 idtype23 = type_nullable_parser_nodes__AClasskind.id;
7942 if(var_pclasskindnode5 == NULL) {
7943 var21 = 1;
7944 } else {
7945 if(cltype22 >= var_pclasskindnode5->type->table_size) {
7946 var21 = 0;
7947 } else {
7948 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
7949 }
7950 }
7951 if (!var21) {
7952 fprintf(stderr, "Runtime error: %s", "Assert failed");
7953 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12082);
7954 show_backtrace(1);
7955 }
7956 var_tclassidnode6 = var_nodearraylist7;
7957 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7958 cltype25 = type_nullable_parser_nodes__TClassid.color;
7959 idtype26 = type_nullable_parser_nodes__TClassid.id;
7960 if(var_tclassidnode6 == NULL) {
7961 var24 = 1;
7962 } else {
7963 if(cltype25 >= var_tclassidnode6->type->table_size) {
7964 var24 = 0;
7965 } else {
7966 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
7967 }
7968 }
7969 if (!var24) {
7970 fprintf(stderr, "Runtime error: %s", "Assert failed");
7971 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12084);
7972 show_backtrace(1);
7973 }
7974 var_listnode7 = var_nodearraylist8;
7975 /* <var_listnode7:nullable Object> isa Array[Object] */
7976 cltype28 = type_array__Arraykernel__Object.color;
7977 idtype29 = type_array__Arraykernel__Object.id;
7978 if(var_listnode7 == NULL) {
7979 var27 = 0;
7980 } else {
7981 if(cltype28 >= var_listnode7->type->table_size) {
7982 var27 = 0;
7983 } else {
7984 var27 = var_listnode7->type->type_table[cltype28] == idtype29;
7985 }
7986 }
7987 if (!var27) {
7988 fprintf(stderr, "Runtime error: %s", "Assert failed");
7989 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12086);
7990 show_backtrace(1);
7991 }
7992 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction260>*/;
7993 var_listnode8 = var30;
7994 var31 = NEW_array__Array(&type_array__Arraykernel__Object);
7995 ((void (*)(val*))(var31->class->vft[COLOR_array__Array__init]))(var31) /* init on <var31:Array[Object]>*/;
7996 var_listnode13 = var31;
7997 var_listnode12 = var_nodearraylist9;
7998 /* <var_listnode12:nullable Object> isa Array[Object] */
7999 cltype33 = type_array__Arraykernel__Object.color;
8000 idtype34 = type_array__Arraykernel__Object.id;
8001 if(var_listnode12 == NULL) {
8002 var32 = 0;
8003 } else {
8004 if(cltype33 >= var_listnode12->type->table_size) {
8005 var32 = 0;
8006 } else {
8007 var32 = var_listnode12->type->type_table[cltype33] == idtype34;
8008 }
8009 }
8010 if (!var32) {
8011 fprintf(stderr, "Runtime error: %s", "Assert failed");
8012 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12090);
8013 show_backtrace(1);
8014 }
8015 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction260>*/;
8016 var_listnode13 = var35;
8017 var36 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
8018 var37 = NULL;
8019 var38 = NULL;
8020 var39 = NULL;
8021 ((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>*/;
8022 var_pannotationsnode9 = var36;
8023 var_pexterncodeblocknode15 = var_nodearraylist10;
8024 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
8025 cltype41 = type_nullable_parser_nodes__AExternCodeBlock.color;
8026 idtype42 = type_nullable_parser_nodes__AExternCodeBlock.id;
8027 if(var_pexterncodeblocknode15 == NULL) {
8028 var40 = 1;
8029 } else {
8030 if(cltype41 >= var_pexterncodeblocknode15->type->table_size) {
8031 var40 = 0;
8032 } else {
8033 var40 = var_pexterncodeblocknode15->type->type_table[cltype41] == idtype42;
8034 }
8035 }
8036 if (!var40) {
8037 fprintf(stderr, "Runtime error: %s", "Assert failed");
8038 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12099);
8039 show_backtrace(1);
8040 }
8041 var_listnode17 = var_nodearraylist11;
8042 /* <var_listnode17:nullable Object> isa Array[Object] */
8043 cltype44 = type_array__Arraykernel__Object.color;
8044 idtype45 = type_array__Arraykernel__Object.id;
8045 if(var_listnode17 == NULL) {
8046 var43 = 0;
8047 } else {
8048 if(cltype44 >= var_listnode17->type->table_size) {
8049 var43 = 0;
8050 } else {
8051 var43 = var_listnode17->type->type_table[cltype44] == idtype45;
8052 }
8053 }
8054 if (!var43) {
8055 fprintf(stderr, "Runtime error: %s", "Assert failed");
8056 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12101);
8057 show_backtrace(1);
8058 }
8059 var46 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction260>*/;
8060 var_listnode18 = var46;
8061 var_tkwendnode19 = var_nodearraylist13;
8062 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
8063 cltype48 = type_nullable_parser_nodes__TKwend.color;
8064 idtype49 = type_nullable_parser_nodes__TKwend.id;
8065 if(var_tkwendnode19 == NULL) {
8066 var47 = 1;
8067 } else {
8068 if(cltype48 >= var_tkwendnode19->type->table_size) {
8069 var47 = 0;
8070 } else {
8071 var47 = var_tkwendnode19->type->type_table[cltype48] == idtype49;
8072 }
8073 }
8074 if (!var47) {
8075 fprintf(stderr, "Runtime error: %s", "Assert failed");
8076 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12104);
8077 show_backtrace(1);
8078 }
8079 var50 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8080 var51 = NULL;
8081 ((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_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var50:AStdClassdef>*/;
8082 var_pclassdefnode1 = var50;
8083 var_node_list = var_pclassdefnode1;
8084 var52 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction260> */
8085 var53 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var52) /* go_to on <var_p:Parser>*/;
8086 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var53, var_node_list) /* push on <var_p:Parser>*/;
8087 RET_LABEL:;
8088 }
8089 /* method parser#ReduceAction260#action for (self: Object, Parser) */
8090 void VIRTUAL_parser__ReduceAction260__action(val* self, val* p0) {
8091 parser__ReduceAction260__action(self, p0);
8092 RET_LABEL:;
8093 }
8094 /* method parser#ReduceAction262#action for (self: ReduceAction262, Parser) */
8095 void parser__ReduceAction262__action(val* self, val* p0) {
8096 val* var_p /* var p: Parser */;
8097 val* var /* : null */;
8098 val* var_node_list /* var node_list: nullable Object */;
8099 val* var1 /* : nullable Object */;
8100 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
8101 val* var2 /* : nullable Object */;
8102 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
8103 val* var3 /* : nullable Object */;
8104 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
8105 val* var4 /* : nullable Object */;
8106 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8107 val* var5 /* : nullable Object */;
8108 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8109 val* var6 /* : nullable Object */;
8110 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8111 val* var7 /* : nullable Object */;
8112 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8113 val* var8 /* : nullable Object */;
8114 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8115 val* var9 /* : nullable Object */;
8116 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8117 val* var10 /* : nullable Object */;
8118 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8119 val* var11 /* : nullable Object */;
8120 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8121 val* var12 /* : nullable Object */;
8122 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8123 val* var13 /* : nullable Object */;
8124 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8125 val* var14 /* : Array[Object] */;
8126 val* var_listnode8 /* var listnode8: Array[Object] */;
8127 val* var15 /* : Array[Object] */;
8128 val* var_listnode16 /* var listnode16: Array[Object] */;
8129 val* var16 /* : Array[Object] */;
8130 val* var_listnode18 /* var listnode18: Array[Object] */;
8131 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8132 short int var17 /* : Bool */;
8133 int cltype;
8134 int idtype;
8135 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
8136 short int var18 /* : Bool */;
8137 int cltype19;
8138 int idtype20;
8139 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8140 short int var21 /* : Bool */;
8141 int cltype22;
8142 int idtype23;
8143 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8144 short int var24 /* : Bool */;
8145 int cltype25;
8146 int idtype26;
8147 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8148 short int var27 /* : Bool */;
8149 int cltype28;
8150 int idtype29;
8151 val* var_listnode7 /* var listnode7: nullable Object */;
8152 short int var30 /* : Bool */;
8153 int cltype31;
8154 int idtype32;
8155 val* var33 /* : Array[Object] */;
8156 val* var34 /* : Array[Object] */;
8157 val* var_listnode13 /* var listnode13: Array[Object] */;
8158 val* var_listnode12 /* var listnode12: nullable Object */;
8159 short int var35 /* : Bool */;
8160 int cltype36;
8161 int idtype37;
8162 val* var38 /* : Array[Object] */;
8163 val* var39 /* : AAnnotations */;
8164 val* var40 /* : null */;
8165 val* var41 /* : null */;
8166 val* var42 /* : null */;
8167 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
8168 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
8169 short int var43 /* : Bool */;
8170 int cltype44;
8171 int idtype45;
8172 val* var_listnode17 /* var listnode17: nullable Object */;
8173 short int var46 /* : Bool */;
8174 int cltype47;
8175 int idtype48;
8176 val* var49 /* : Array[Object] */;
8177 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
8178 short int var50 /* : Bool */;
8179 int cltype51;
8180 int idtype52;
8181 val* var53 /* : AStdClassdef */;
8182 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8183 long var54 /* : Int */;
8184 long var55 /* : Int */;
8185 var_p = p0;
8186 var = NULL;
8187 var_node_list = var;
8188 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8189 var_nodearraylist13 = var1;
8190 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8191 var_nodearraylist12 = var2;
8192 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8193 var_nodearraylist11 = var3;
8194 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8195 var_nodearraylist10 = var4;
8196 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8197 var_nodearraylist9 = var5;
8198 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8199 var_nodearraylist8 = var6;
8200 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8201 var_nodearraylist7 = var7;
8202 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8203 var_nodearraylist6 = var8;
8204 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8205 var_nodearraylist5 = var9;
8206 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8207 var_nodearraylist4 = var10;
8208 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8209 var_nodearraylist3 = var11;
8210 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8211 var_nodearraylist2 = var12;
8212 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8213 var_nodearraylist1 = var13;
8214 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
8215 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
8216 var_listnode8 = var14;
8217 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
8218 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
8219 var_listnode16 = var15;
8220 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
8221 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
8222 var_listnode18 = var16;
8223 var_pdocnode2 = var_nodearraylist1;
8224 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8225 cltype = type_nullable_parser_nodes__ADoc.color;
8226 idtype = type_nullable_parser_nodes__ADoc.id;
8227 if(var_pdocnode2 == NULL) {
8228 var17 = 1;
8229 } else {
8230 if(cltype >= var_pdocnode2->type->table_size) {
8231 var17 = 0;
8232 } else {
8233 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
8234 }
8235 }
8236 if (!var17) {
8237 fprintf(stderr, "Runtime error: %s", "Assert failed");
8238 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12144);
8239 show_backtrace(1);
8240 }
8241 var_tkwredefnode3 = var_nodearraylist2;
8242 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8243 cltype19 = type_nullable_parser_nodes__TKwredef.color;
8244 idtype20 = type_nullable_parser_nodes__TKwredef.id;
8245 if(var_tkwredefnode3 == NULL) {
8246 var18 = 1;
8247 } else {
8248 if(cltype19 >= var_tkwredefnode3->type->table_size) {
8249 var18 = 0;
8250 } else {
8251 var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20;
8252 }
8253 }
8254 if (!var18) {
8255 fprintf(stderr, "Runtime error: %s", "Assert failed");
8256 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12146);
8257 show_backtrace(1);
8258 }
8259 var_pvisibilitynode4 = var_nodearraylist3;
8260 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8261 cltype22 = type_nullable_parser_nodes__AVisibility.color;
8262 idtype23 = type_nullable_parser_nodes__AVisibility.id;
8263 if(var_pvisibilitynode4 == NULL) {
8264 var21 = 1;
8265 } else {
8266 if(cltype22 >= var_pvisibilitynode4->type->table_size) {
8267 var21 = 0;
8268 } else {
8269 var21 = var_pvisibilitynode4->type->type_table[cltype22] == idtype23;
8270 }
8271 }
8272 if (!var21) {
8273 fprintf(stderr, "Runtime error: %s", "Assert failed");
8274 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12148);
8275 show_backtrace(1);
8276 }
8277 var_pclasskindnode5 = var_nodearraylist4;
8278 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8279 cltype25 = type_nullable_parser_nodes__AClasskind.color;
8280 idtype26 = type_nullable_parser_nodes__AClasskind.id;
8281 if(var_pclasskindnode5 == NULL) {
8282 var24 = 1;
8283 } else {
8284 if(cltype25 >= var_pclasskindnode5->type->table_size) {
8285 var24 = 0;
8286 } else {
8287 var24 = var_pclasskindnode5->type->type_table[cltype25] == idtype26;
8288 }
8289 }
8290 if (!var24) {
8291 fprintf(stderr, "Runtime error: %s", "Assert failed");
8292 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12150);
8293 show_backtrace(1);
8294 }
8295 var_tclassidnode6 = var_nodearraylist7;
8296 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8297 cltype28 = type_nullable_parser_nodes__TClassid.color;
8298 idtype29 = type_nullable_parser_nodes__TClassid.id;
8299 if(var_tclassidnode6 == NULL) {
8300 var27 = 1;
8301 } else {
8302 if(cltype28 >= var_tclassidnode6->type->table_size) {
8303 var27 = 0;
8304 } else {
8305 var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29;
8306 }
8307 }
8308 if (!var27) {
8309 fprintf(stderr, "Runtime error: %s", "Assert failed");
8310 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12152);
8311 show_backtrace(1);
8312 }
8313 var_listnode7 = var_nodearraylist8;
8314 /* <var_listnode7:nullable Object> isa Array[Object] */
8315 cltype31 = type_array__Arraykernel__Object.color;
8316 idtype32 = type_array__Arraykernel__Object.id;
8317 if(var_listnode7 == NULL) {
8318 var30 = 0;
8319 } else {
8320 if(cltype31 >= var_listnode7->type->table_size) {
8321 var30 = 0;
8322 } else {
8323 var30 = var_listnode7->type->type_table[cltype31] == idtype32;
8324 }
8325 }
8326 if (!var30) {
8327 fprintf(stderr, "Runtime error: %s", "Assert failed");
8328 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12154);
8329 show_backtrace(1);
8330 }
8331 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction262>*/;
8332 var_listnode8 = var33;
8333 var34 = NEW_array__Array(&type_array__Arraykernel__Object);
8334 ((void (*)(val*))(var34->class->vft[COLOR_array__Array__init]))(var34) /* init on <var34:Array[Object]>*/;
8335 var_listnode13 = var34;
8336 var_listnode12 = var_nodearraylist9;
8337 /* <var_listnode12:nullable Object> isa Array[Object] */
8338 cltype36 = type_array__Arraykernel__Object.color;
8339 idtype37 = type_array__Arraykernel__Object.id;
8340 if(var_listnode12 == NULL) {
8341 var35 = 0;
8342 } else {
8343 if(cltype36 >= var_listnode12->type->table_size) {
8344 var35 = 0;
8345 } else {
8346 var35 = var_listnode12->type->type_table[cltype36] == idtype37;
8347 }
8348 }
8349 if (!var35) {
8350 fprintf(stderr, "Runtime error: %s", "Assert failed");
8351 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12158);
8352 show_backtrace(1);
8353 }
8354 var38 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction262>*/;
8355 var_listnode13 = var38;
8356 var39 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
8357 var40 = NULL;
8358 var41 = NULL;
8359 var42 = NULL;
8360 ((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>*/;
8361 var_pannotationsnode9 = var39;
8362 var_pexterncodeblocknode15 = var_nodearraylist10;
8363 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
8364 cltype44 = type_nullable_parser_nodes__AExternCodeBlock.color;
8365 idtype45 = type_nullable_parser_nodes__AExternCodeBlock.id;
8366 if(var_pexterncodeblocknode15 == NULL) {
8367 var43 = 1;
8368 } else {
8369 if(cltype44 >= var_pexterncodeblocknode15->type->table_size) {
8370 var43 = 0;
8371 } else {
8372 var43 = var_pexterncodeblocknode15->type->type_table[cltype44] == idtype45;
8373 }
8374 }
8375 if (!var43) {
8376 fprintf(stderr, "Runtime error: %s", "Assert failed");
8377 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12167);
8378 show_backtrace(1);
8379 }
8380 var_listnode17 = var_nodearraylist11;
8381 /* <var_listnode17:nullable Object> isa Array[Object] */
8382 cltype47 = type_array__Arraykernel__Object.color;
8383 idtype48 = type_array__Arraykernel__Object.id;
8384 if(var_listnode17 == NULL) {
8385 var46 = 0;
8386 } else {
8387 if(cltype47 >= var_listnode17->type->table_size) {
8388 var46 = 0;
8389 } else {
8390 var46 = var_listnode17->type->type_table[cltype47] == idtype48;
8391 }
8392 }
8393 if (!var46) {
8394 fprintf(stderr, "Runtime error: %s", "Assert failed");
8395 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12169);
8396 show_backtrace(1);
8397 }
8398 var49 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction262>*/;
8399 var_listnode18 = var49;
8400 var_tkwendnode19 = var_nodearraylist13;
8401 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
8402 cltype51 = type_nullable_parser_nodes__TKwend.color;
8403 idtype52 = type_nullable_parser_nodes__TKwend.id;
8404 if(var_tkwendnode19 == NULL) {
8405 var50 = 1;
8406 } else {
8407 if(cltype51 >= var_tkwendnode19->type->table_size) {
8408 var50 = 0;
8409 } else {
8410 var50 = var_tkwendnode19->type->type_table[cltype51] == idtype52;
8411 }
8412 }
8413 if (!var50) {
8414 fprintf(stderr, "Runtime error: %s", "Assert failed");
8415 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12172);
8416 show_backtrace(1);
8417 }
8418 var53 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8419 ((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_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var53:AStdClassdef>*/;
8420 var_pclassdefnode1 = var53;
8421 var_node_list = var_pclassdefnode1;
8422 var54 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction262> */
8423 var55 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var54) /* go_to on <var_p:Parser>*/;
8424 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var55, var_node_list) /* push on <var_p:Parser>*/;
8425 RET_LABEL:;
8426 }
8427 /* method parser#ReduceAction262#action for (self: Object, Parser) */
8428 void VIRTUAL_parser__ReduceAction262__action(val* self, val* p0) {
8429 parser__ReduceAction262__action(self, p0);
8430 RET_LABEL:;
8431 }
8432 /* method parser#ReduceAction263#action for (self: ReduceAction263, Parser) */
8433 void parser__ReduceAction263__action(val* self, val* p0) {
8434 val* var_p /* var p: Parser */;
8435 val* var /* : null */;
8436 val* var_node_list /* var node_list: nullable Object */;
8437 val* var1 /* : nullable Object */;
8438 val* var_nodearraylist14 /* var nodearraylist14: nullable Object */;
8439 val* var2 /* : nullable Object */;
8440 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
8441 val* var3 /* : nullable Object */;
8442 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
8443 val* var4 /* : nullable Object */;
8444 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
8445 val* var5 /* : nullable Object */;
8446 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8447 val* var6 /* : nullable Object */;
8448 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8449 val* var7 /* : nullable Object */;
8450 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8451 val* var8 /* : nullable Object */;
8452 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8453 val* var9 /* : nullable Object */;
8454 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8455 val* var10 /* : nullable Object */;
8456 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8457 val* var11 /* : nullable Object */;
8458 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8459 val* var12 /* : nullable Object */;
8460 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8461 val* var13 /* : nullable Object */;
8462 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8463 val* var14 /* : nullable Object */;
8464 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8465 val* var15 /* : Array[Object] */;
8466 val* var_listnode8 /* var listnode8: Array[Object] */;
8467 val* var16 /* : Array[Object] */;
8468 val* var_listnode16 /* var listnode16: Array[Object] */;
8469 val* var17 /* : Array[Object] */;
8470 val* var_listnode18 /* var listnode18: Array[Object] */;
8471 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8472 short int var18 /* : Bool */;
8473 int cltype;
8474 int idtype;
8475 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
8476 short int var19 /* : Bool */;
8477 int cltype20;
8478 int idtype21;
8479 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8480 short int var22 /* : Bool */;
8481 int cltype23;
8482 int idtype24;
8483 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8484 short int var25 /* : Bool */;
8485 int cltype26;
8486 int idtype27;
8487 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8488 short int var28 /* : Bool */;
8489 int cltype29;
8490 int idtype30;
8491 val* var_listnode7 /* var listnode7: nullable Object */;
8492 short int var31 /* : Bool */;
8493 int cltype32;
8494 int idtype33;
8495 val* var34 /* : Array[Object] */;
8496 val* var35 /* : Array[Object] */;
8497 val* var_listnode13 /* var listnode13: Array[Object] */;
8498 val* var_listnode12 /* var listnode12: nullable Object */;
8499 short int var36 /* : Bool */;
8500 int cltype37;
8501 int idtype38;
8502 val* var39 /* : Array[Object] */;
8503 val* var40 /* : AAnnotations */;
8504 val* var41 /* : null */;
8505 val* var42 /* : null */;
8506 val* var43 /* : null */;
8507 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
8508 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
8509 short int var44 /* : Bool */;
8510 int cltype45;
8511 int idtype46;
8512 val* var_listnode17 /* var listnode17: nullable Object */;
8513 short int var47 /* : Bool */;
8514 int cltype48;
8515 int idtype49;
8516 val* var50 /* : Array[Object] */;
8517 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
8518 short int var51 /* : Bool */;
8519 int cltype52;
8520 int idtype53;
8521 val* var54 /* : AStdClassdef */;
8522 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8523 long var55 /* : Int */;
8524 long var56 /* : Int */;
8525 var_p = p0;
8526 var = NULL;
8527 var_node_list = var;
8528 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8529 var_nodearraylist14 = var1;
8530 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8531 var_nodearraylist13 = var2;
8532 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8533 var_nodearraylist12 = var3;
8534 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8535 var_nodearraylist11 = var4;
8536 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8537 var_nodearraylist10 = var5;
8538 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8539 var_nodearraylist9 = var6;
8540 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8541 var_nodearraylist8 = var7;
8542 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8543 var_nodearraylist7 = var8;
8544 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8545 var_nodearraylist6 = var9;
8546 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8547 var_nodearraylist5 = var10;
8548 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8549 var_nodearraylist4 = var11;
8550 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8551 var_nodearraylist3 = var12;
8552 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8553 var_nodearraylist2 = var13;
8554 var14 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8555 var_nodearraylist1 = var14;
8556 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
8557 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
8558 var_listnode8 = var15;
8559 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
8560 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
8561 var_listnode16 = var16;
8562 var17 = NEW_array__Array(&type_array__Arraykernel__Object);
8563 ((void (*)(val*))(var17->class->vft[COLOR_array__Array__init]))(var17) /* init on <var17:Array[Object]>*/;
8564 var_listnode18 = var17;
8565 var_pdocnode2 = var_nodearraylist1;
8566 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8567 cltype = type_nullable_parser_nodes__ADoc.color;
8568 idtype = type_nullable_parser_nodes__ADoc.id;
8569 if(var_pdocnode2 == NULL) {
8570 var18 = 1;
8571 } else {
8572 if(cltype >= var_pdocnode2->type->table_size) {
8573 var18 = 0;
8574 } else {
8575 var18 = var_pdocnode2->type->type_table[cltype] == idtype;
8576 }
8577 }
8578 if (!var18) {
8579 fprintf(stderr, "Runtime error: %s", "Assert failed");
8580 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12213);
8581 show_backtrace(1);
8582 }
8583 var_tkwredefnode3 = var_nodearraylist2;
8584 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8585 cltype20 = type_nullable_parser_nodes__TKwredef.color;
8586 idtype21 = type_nullable_parser_nodes__TKwredef.id;
8587 if(var_tkwredefnode3 == NULL) {
8588 var19 = 1;
8589 } else {
8590 if(cltype20 >= var_tkwredefnode3->type->table_size) {
8591 var19 = 0;
8592 } else {
8593 var19 = var_tkwredefnode3->type->type_table[cltype20] == idtype21;
8594 }
8595 }
8596 if (!var19) {
8597 fprintf(stderr, "Runtime error: %s", "Assert failed");
8598 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12215);
8599 show_backtrace(1);
8600 }
8601 var_pvisibilitynode4 = var_nodearraylist3;
8602 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8603 cltype23 = type_nullable_parser_nodes__AVisibility.color;
8604 idtype24 = type_nullable_parser_nodes__AVisibility.id;
8605 if(var_pvisibilitynode4 == NULL) {
8606 var22 = 1;
8607 } else {
8608 if(cltype23 >= var_pvisibilitynode4->type->table_size) {
8609 var22 = 0;
8610 } else {
8611 var22 = var_pvisibilitynode4->type->type_table[cltype23] == idtype24;
8612 }
8613 }
8614 if (!var22) {
8615 fprintf(stderr, "Runtime error: %s", "Assert failed");
8616 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12217);
8617 show_backtrace(1);
8618 }
8619 var_pclasskindnode5 = var_nodearraylist4;
8620 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8621 cltype26 = type_nullable_parser_nodes__AClasskind.color;
8622 idtype27 = type_nullable_parser_nodes__AClasskind.id;
8623 if(var_pclasskindnode5 == NULL) {
8624 var25 = 1;
8625 } else {
8626 if(cltype26 >= var_pclasskindnode5->type->table_size) {
8627 var25 = 0;
8628 } else {
8629 var25 = var_pclasskindnode5->type->type_table[cltype26] == idtype27;
8630 }
8631 }
8632 if (!var25) {
8633 fprintf(stderr, "Runtime error: %s", "Assert failed");
8634 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12219);
8635 show_backtrace(1);
8636 }
8637 var_tclassidnode6 = var_nodearraylist8;
8638 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8639 cltype29 = type_nullable_parser_nodes__TClassid.color;
8640 idtype30 = type_nullable_parser_nodes__TClassid.id;
8641 if(var_tclassidnode6 == NULL) {
8642 var28 = 1;
8643 } else {
8644 if(cltype29 >= var_tclassidnode6->type->table_size) {
8645 var28 = 0;
8646 } else {
8647 var28 = var_tclassidnode6->type->type_table[cltype29] == idtype30;
8648 }
8649 }
8650 if (!var28) {
8651 fprintf(stderr, "Runtime error: %s", "Assert failed");
8652 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12221);
8653 show_backtrace(1);
8654 }
8655 var_listnode7 = var_nodearraylist9;
8656 /* <var_listnode7:nullable Object> isa Array[Object] */
8657 cltype32 = type_array__Arraykernel__Object.color;
8658 idtype33 = type_array__Arraykernel__Object.id;
8659 if(var_listnode7 == NULL) {
8660 var31 = 0;
8661 } else {
8662 if(cltype32 >= var_listnode7->type->table_size) {
8663 var31 = 0;
8664 } else {
8665 var31 = var_listnode7->type->type_table[cltype32] == idtype33;
8666 }
8667 }
8668 if (!var31) {
8669 fprintf(stderr, "Runtime error: %s", "Assert failed");
8670 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12223);
8671 show_backtrace(1);
8672 }
8673 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction263>*/;
8674 var_listnode8 = var34;
8675 var35 = NEW_array__Array(&type_array__Arraykernel__Object);
8676 ((void (*)(val*))(var35->class->vft[COLOR_array__Array__init]))(var35) /* init on <var35:Array[Object]>*/;
8677 var_listnode13 = var35;
8678 var_listnode12 = var_nodearraylist10;
8679 /* <var_listnode12:nullable Object> isa Array[Object] */
8680 cltype37 = type_array__Arraykernel__Object.color;
8681 idtype38 = type_array__Arraykernel__Object.id;
8682 if(var_listnode12 == NULL) {
8683 var36 = 0;
8684 } else {
8685 if(cltype37 >= var_listnode12->type->table_size) {
8686 var36 = 0;
8687 } else {
8688 var36 = var_listnode12->type->type_table[cltype37] == idtype38;
8689 }
8690 }
8691 if (!var36) {
8692 fprintf(stderr, "Runtime error: %s", "Assert failed");
8693 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12227);
8694 show_backtrace(1);
8695 }
8696 var39 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction263>*/;
8697 var_listnode13 = var39;
8698 var40 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
8699 var41 = NULL;
8700 var42 = NULL;
8701 var43 = NULL;
8702 ((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>*/;
8703 var_pannotationsnode9 = var40;
8704 var_pexterncodeblocknode15 = var_nodearraylist11;
8705 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
8706 cltype45 = type_nullable_parser_nodes__AExternCodeBlock.color;
8707 idtype46 = type_nullable_parser_nodes__AExternCodeBlock.id;
8708 if(var_pexterncodeblocknode15 == NULL) {
8709 var44 = 1;
8710 } else {
8711 if(cltype45 >= var_pexterncodeblocknode15->type->table_size) {
8712 var44 = 0;
8713 } else {
8714 var44 = var_pexterncodeblocknode15->type->type_table[cltype45] == idtype46;
8715 }
8716 }
8717 if (!var44) {
8718 fprintf(stderr, "Runtime error: %s", "Assert failed");
8719 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12236);
8720 show_backtrace(1);
8721 }
8722 var_listnode17 = var_nodearraylist12;
8723 /* <var_listnode17:nullable Object> isa Array[Object] */
8724 cltype48 = type_array__Arraykernel__Object.color;
8725 idtype49 = type_array__Arraykernel__Object.id;
8726 if(var_listnode17 == NULL) {
8727 var47 = 0;
8728 } else {
8729 if(cltype48 >= var_listnode17->type->table_size) {
8730 var47 = 0;
8731 } else {
8732 var47 = var_listnode17->type->type_table[cltype48] == idtype49;
8733 }
8734 }
8735 if (!var47) {
8736 fprintf(stderr, "Runtime error: %s", "Assert failed");
8737 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12238);
8738 show_backtrace(1);
8739 }
8740 var50 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction263>*/;
8741 var_listnode18 = var50;
8742 var_tkwendnode19 = var_nodearraylist14;
8743 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
8744 cltype52 = type_nullable_parser_nodes__TKwend.color;
8745 idtype53 = type_nullable_parser_nodes__TKwend.id;
8746 if(var_tkwendnode19 == NULL) {
8747 var51 = 1;
8748 } else {
8749 if(cltype52 >= var_tkwendnode19->type->table_size) {
8750 var51 = 0;
8751 } else {
8752 var51 = var_tkwendnode19->type->type_table[cltype52] == idtype53;
8753 }
8754 }
8755 if (!var51) {
8756 fprintf(stderr, "Runtime error: %s", "Assert failed");
8757 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12241);
8758 show_backtrace(1);
8759 }
8760 var54 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8761 ((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_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var54:AStdClassdef>*/;
8762 var_pclassdefnode1 = var54;
8763 var_node_list = var_pclassdefnode1;
8764 var55 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction263> */
8765 var56 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var55) /* go_to on <var_p:Parser>*/;
8766 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var56, var_node_list) /* push on <var_p:Parser>*/;
8767 RET_LABEL:;
8768 }
8769 /* method parser#ReduceAction263#action for (self: Object, Parser) */
8770 void VIRTUAL_parser__ReduceAction263__action(val* self, val* p0) {
8771 parser__ReduceAction263__action(self, p0);
8772 RET_LABEL:;
8773 }
8774 /* method parser#ReduceAction265#action for (self: ReduceAction265, Parser) */
8775 void parser__ReduceAction265__action(val* self, val* p0) {
8776 val* var_p /* var p: Parser */;
8777 val* var /* : null */;
8778 val* var_node_list /* var node_list: nullable Object */;
8779 val* var1 /* : nullable Object */;
8780 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8781 val* var2 /* : nullable Object */;
8782 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8783 val* var3 /* : nullable Object */;
8784 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8785 val* var4 /* : nullable Object */;
8786 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8787 val* var5 /* : nullable Object */;
8788 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8789 val* var6 /* : nullable Object */;
8790 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8791 val* var7 /* : nullable Object */;
8792 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8793 val* var8 /* : nullable Object */;
8794 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8795 val* var9 /* : nullable Object */;
8796 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8797 val* var10 /* : Array[Object] */;
8798 val* var_listnode7 /* var listnode7: Array[Object] */;
8799 val* var11 /* : Array[Object] */;
8800 val* var_listnode11 /* var listnode11: Array[Object] */;
8801 val* var12 /* : Array[Object] */;
8802 val* var_listnode13 /* var listnode13: Array[Object] */;
8803 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8804 short int var13 /* : Bool */;
8805 int cltype;
8806 int idtype;
8807 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8808 short int var14 /* : Bool */;
8809 int cltype15;
8810 int idtype16;
8811 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8812 short int var17 /* : Bool */;
8813 int cltype18;
8814 int idtype19;
8815 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8816 short int var20 /* : Bool */;
8817 int cltype21;
8818 int idtype22;
8819 val* var_listnode10 /* var listnode10: nullable Object */;
8820 short int var23 /* : Bool */;
8821 int cltype24;
8822 int idtype25;
8823 val* var26 /* : Array[Object] */;
8824 val* var_listnode12 /* var listnode12: nullable Object */;
8825 short int var27 /* : Bool */;
8826 int cltype28;
8827 int idtype29;
8828 val* var30 /* : Array[Object] */;
8829 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
8830 short int var31 /* : Bool */;
8831 int cltype32;
8832 int idtype33;
8833 val* var34 /* : AStdClassdef */;
8834 val* var35 /* : null */;
8835 val* var36 /* : null */;
8836 val* var37 /* : null */;
8837 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8838 long var38 /* : Int */;
8839 long var39 /* : Int */;
8840 var_p = p0;
8841 var = NULL;
8842 var_node_list = var;
8843 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8844 var_nodearraylist9 = var1;
8845 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8846 var_nodearraylist8 = var2;
8847 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8848 var_nodearraylist7 = var3;
8849 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8850 var_nodearraylist6 = var4;
8851 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8852 var_nodearraylist5 = var5;
8853 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8854 var_nodearraylist4 = var6;
8855 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8856 var_nodearraylist3 = var7;
8857 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8858 var_nodearraylist2 = var8;
8859 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8860 var_nodearraylist1 = var9;
8861 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
8862 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
8863 var_listnode7 = var10;
8864 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
8865 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
8866 var_listnode11 = var11;
8867 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
8868 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
8869 var_listnode13 = var12;
8870 var_pdocnode2 = var_nodearraylist1;
8871 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8872 cltype = type_nullable_parser_nodes__ADoc.color;
8873 idtype = type_nullable_parser_nodes__ADoc.id;
8874 if(var_pdocnode2 == NULL) {
8875 var13 = 1;
8876 } else {
8877 if(cltype >= var_pdocnode2->type->table_size) {
8878 var13 = 0;
8879 } else {
8880 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
8881 }
8882 }
8883 if (!var13) {
8884 fprintf(stderr, "Runtime error: %s", "Assert failed");
8885 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12277);
8886 show_backtrace(1);
8887 }
8888 var_pvisibilitynode4 = var_nodearraylist2;
8889 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8890 cltype15 = type_nullable_parser_nodes__AVisibility.color;
8891 idtype16 = type_nullable_parser_nodes__AVisibility.id;
8892 if(var_pvisibilitynode4 == NULL) {
8893 var14 = 1;
8894 } else {
8895 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
8896 var14 = 0;
8897 } else {
8898 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
8899 }
8900 }
8901 if (!var14) {
8902 fprintf(stderr, "Runtime error: %s", "Assert failed");
8903 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12279);
8904 show_backtrace(1);
8905 }
8906 var_pclasskindnode5 = var_nodearraylist3;
8907 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8908 cltype18 = type_nullable_parser_nodes__AClasskind.color;
8909 idtype19 = type_nullable_parser_nodes__AClasskind.id;
8910 if(var_pclasskindnode5 == NULL) {
8911 var17 = 1;
8912 } else {
8913 if(cltype18 >= var_pclasskindnode5->type->table_size) {
8914 var17 = 0;
8915 } else {
8916 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
8917 }
8918 }
8919 if (!var17) {
8920 fprintf(stderr, "Runtime error: %s", "Assert failed");
8921 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12281);
8922 show_backtrace(1);
8923 }
8924 var_tclassidnode6 = var_nodearraylist5;
8925 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8926 cltype21 = type_nullable_parser_nodes__TClassid.color;
8927 idtype22 = type_nullable_parser_nodes__TClassid.id;
8928 if(var_tclassidnode6 == NULL) {
8929 var20 = 1;
8930 } else {
8931 if(cltype21 >= var_tclassidnode6->type->table_size) {
8932 var20 = 0;
8933 } else {
8934 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
8935 }
8936 }
8937 if (!var20) {
8938 fprintf(stderr, "Runtime error: %s", "Assert failed");
8939 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12283);
8940 show_backtrace(1);
8941 }
8942 var_listnode10 = var_nodearraylist6;
8943 /* <var_listnode10:nullable Object> isa Array[Object] */
8944 cltype24 = type_array__Arraykernel__Object.color;
8945 idtype25 = type_array__Arraykernel__Object.id;
8946 if(var_listnode10 == NULL) {
8947 var23 = 0;
8948 } else {
8949 if(cltype24 >= var_listnode10->type->table_size) {
8950 var23 = 0;
8951 } else {
8952 var23 = var_listnode10->type->type_table[cltype24] == idtype25;
8953 }
8954 }
8955 if (!var23) {
8956 fprintf(stderr, "Runtime error: %s", "Assert failed");
8957 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12285);
8958 show_backtrace(1);
8959 }
8960 var26 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction265>*/;
8961 var_listnode11 = var26;
8962 var_listnode12 = var_nodearraylist7;
8963 /* <var_listnode12:nullable Object> isa Array[Object] */
8964 cltype28 = type_array__Arraykernel__Object.color;
8965 idtype29 = type_array__Arraykernel__Object.id;
8966 if(var_listnode12 == NULL) {
8967 var27 = 0;
8968 } else {
8969 if(cltype28 >= var_listnode12->type->table_size) {
8970 var27 = 0;
8971 } else {
8972 var27 = var_listnode12->type->type_table[cltype28] == idtype29;
8973 }
8974 }
8975 if (!var27) {
8976 fprintf(stderr, "Runtime error: %s", "Assert failed");
8977 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12288);
8978 show_backtrace(1);
8979 }
8980 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction265>*/;
8981 var_listnode13 = var30;
8982 var_tkwendnode14 = var_nodearraylist9;
8983 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
8984 cltype32 = type_nullable_parser_nodes__TKwend.color;
8985 idtype33 = type_nullable_parser_nodes__TKwend.id;
8986 if(var_tkwendnode14 == NULL) {
8987 var31 = 1;
8988 } else {
8989 if(cltype32 >= var_tkwendnode14->type->table_size) {
8990 var31 = 0;
8991 } else {
8992 var31 = var_tkwendnode14->type->type_table[cltype32] == idtype33;
8993 }
8994 }
8995 if (!var31) {
8996 fprintf(stderr, "Runtime error: %s", "Assert failed");
8997 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12291);
8998 show_backtrace(1);
8999 }
9000 var34 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9001 var35 = NULL;
9002 var36 = NULL;
9003 var37 = NULL;
9004 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var34->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var34, var_pdocnode2, var35, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var36, var37, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var34:AStdClassdef>*/;
9005 var_pclassdefnode1 = var34;
9006 var_node_list = var_pclassdefnode1;
9007 var38 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction265> */
9008 var39 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var38) /* go_to on <var_p:Parser>*/;
9009 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var39, var_node_list) /* push on <var_p:Parser>*/;
9010 RET_LABEL:;
9011 }
9012 /* method parser#ReduceAction265#action for (self: Object, Parser) */
9013 void VIRTUAL_parser__ReduceAction265__action(val* self, val* p0) {
9014 parser__ReduceAction265__action(self, p0);
9015 RET_LABEL:;
9016 }
9017 /* method parser#ReduceAction266#action for (self: ReduceAction266, Parser) */
9018 void parser__ReduceAction266__action(val* self, val* p0) {
9019 val* var_p /* var p: Parser */;
9020 val* var /* : null */;
9021 val* var_node_list /* var node_list: nullable Object */;
9022 val* var1 /* : nullable Object */;
9023 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
9024 val* var2 /* : nullable Object */;
9025 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9026 val* var3 /* : nullable Object */;
9027 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9028 val* var4 /* : nullable Object */;
9029 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9030 val* var5 /* : nullable Object */;
9031 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9032 val* var6 /* : nullable Object */;
9033 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9034 val* var7 /* : nullable Object */;
9035 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9036 val* var8 /* : nullable Object */;
9037 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9038 val* var9 /* : nullable Object */;
9039 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9040 val* var10 /* : nullable Object */;
9041 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9042 val* var11 /* : Array[Object] */;
9043 val* var_listnode7 /* var listnode7: Array[Object] */;
9044 val* var12 /* : Array[Object] */;
9045 val* var_listnode11 /* var listnode11: Array[Object] */;
9046 val* var13 /* : Array[Object] */;
9047 val* var_listnode13 /* var listnode13: Array[Object] */;
9048 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9049 short int var14 /* : Bool */;
9050 int cltype;
9051 int idtype;
9052 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
9053 short int var15 /* : Bool */;
9054 int cltype16;
9055 int idtype17;
9056 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9057 short int var18 /* : Bool */;
9058 int cltype19;
9059 int idtype20;
9060 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
9061 short int var21 /* : Bool */;
9062 int cltype22;
9063 int idtype23;
9064 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9065 short int var24 /* : Bool */;
9066 int cltype25;
9067 int idtype26;
9068 val* var_listnode10 /* var listnode10: nullable Object */;
9069 short int var27 /* : Bool */;
9070 int cltype28;
9071 int idtype29;
9072 val* var30 /* : Array[Object] */;
9073 val* var_listnode12 /* var listnode12: nullable Object */;
9074 short int var31 /* : Bool */;
9075 int cltype32;
9076 int idtype33;
9077 val* var34 /* : Array[Object] */;
9078 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
9079 short int var35 /* : Bool */;
9080 int cltype36;
9081 int idtype37;
9082 val* var38 /* : AStdClassdef */;
9083 val* var39 /* : null */;
9084 val* var40 /* : null */;
9085 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
9086 long var41 /* : Int */;
9087 long var42 /* : Int */;
9088 var_p = p0;
9089 var = NULL;
9090 var_node_list = var;
9091 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9092 var_nodearraylist10 = var1;
9093 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9094 var_nodearraylist9 = var2;
9095 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9096 var_nodearraylist8 = var3;
9097 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9098 var_nodearraylist7 = var4;
9099 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9100 var_nodearraylist6 = var5;
9101 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9102 var_nodearraylist5 = var6;
9103 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9104 var_nodearraylist4 = var7;
9105 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9106 var_nodearraylist3 = var8;
9107 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9108 var_nodearraylist2 = var9;
9109 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9110 var_nodearraylist1 = var10;
9111 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
9112 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
9113 var_listnode7 = var11;
9114 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
9115 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
9116 var_listnode11 = var12;
9117 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
9118 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
9119 var_listnode13 = var13;
9120 var_pdocnode2 = var_nodearraylist1;
9121 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9122 cltype = type_nullable_parser_nodes__ADoc.color;
9123 idtype = type_nullable_parser_nodes__ADoc.id;
9124 if(var_pdocnode2 == NULL) {
9125 var14 = 1;
9126 } else {
9127 if(cltype >= var_pdocnode2->type->table_size) {
9128 var14 = 0;
9129 } else {
9130 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
9131 }
9132 }
9133 if (!var14) {
9134 fprintf(stderr, "Runtime error: %s", "Assert failed");
9135 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12328);
9136 show_backtrace(1);
9137 }
9138 var_tkwredefnode3 = var_nodearraylist2;
9139 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
9140 cltype16 = type_nullable_parser_nodes__TKwredef.color;
9141 idtype17 = type_nullable_parser_nodes__TKwredef.id;
9142 if(var_tkwredefnode3 == NULL) {
9143 var15 = 1;
9144 } else {
9145 if(cltype16 >= var_tkwredefnode3->type->table_size) {
9146 var15 = 0;
9147 } else {
9148 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
9149 }
9150 }
9151 if (!var15) {
9152 fprintf(stderr, "Runtime error: %s", "Assert failed");
9153 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12330);
9154 show_backtrace(1);
9155 }
9156 var_pvisibilitynode4 = var_nodearraylist3;
9157 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9158 cltype19 = type_nullable_parser_nodes__AVisibility.color;
9159 idtype20 = type_nullable_parser_nodes__AVisibility.id;
9160 if(var_pvisibilitynode4 == NULL) {
9161 var18 = 1;
9162 } else {
9163 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
9164 var18 = 0;
9165 } else {
9166 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
9167 }
9168 }
9169 if (!var18) {
9170 fprintf(stderr, "Runtime error: %s", "Assert failed");
9171 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12332);
9172 show_backtrace(1);
9173 }
9174 var_pclasskindnode5 = var_nodearraylist4;
9175 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
9176 cltype22 = type_nullable_parser_nodes__AClasskind.color;
9177 idtype23 = type_nullable_parser_nodes__AClasskind.id;
9178 if(var_pclasskindnode5 == NULL) {
9179 var21 = 1;
9180 } else {
9181 if(cltype22 >= var_pclasskindnode5->type->table_size) {
9182 var21 = 0;
9183 } else {
9184 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
9185 }
9186 }
9187 if (!var21) {
9188 fprintf(stderr, "Runtime error: %s", "Assert failed");
9189 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12334);
9190 show_backtrace(1);
9191 }
9192 var_tclassidnode6 = var_nodearraylist6;
9193 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9194 cltype25 = type_nullable_parser_nodes__TClassid.color;
9195 idtype26 = type_nullable_parser_nodes__TClassid.id;
9196 if(var_tclassidnode6 == NULL) {
9197 var24 = 1;
9198 } else {
9199 if(cltype25 >= var_tclassidnode6->type->table_size) {
9200 var24 = 0;
9201 } else {
9202 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
9203 }
9204 }
9205 if (!var24) {
9206 fprintf(stderr, "Runtime error: %s", "Assert failed");
9207 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12336);
9208 show_backtrace(1);
9209 }
9210 var_listnode10 = var_nodearraylist7;
9211 /* <var_listnode10:nullable Object> isa Array[Object] */
9212 cltype28 = type_array__Arraykernel__Object.color;
9213 idtype29 = type_array__Arraykernel__Object.id;
9214 if(var_listnode10 == NULL) {
9215 var27 = 0;
9216 } else {
9217 if(cltype28 >= var_listnode10->type->table_size) {
9218 var27 = 0;
9219 } else {
9220 var27 = var_listnode10->type->type_table[cltype28] == idtype29;
9221 }
9222 }
9223 if (!var27) {
9224 fprintf(stderr, "Runtime error: %s", "Assert failed");
9225 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12338);
9226 show_backtrace(1);
9227 }
9228 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction266>*/;
9229 var_listnode11 = var30;
9230 var_listnode12 = var_nodearraylist8;
9231 /* <var_listnode12:nullable Object> isa Array[Object] */
9232 cltype32 = type_array__Arraykernel__Object.color;
9233 idtype33 = type_array__Arraykernel__Object.id;
9234 if(var_listnode12 == NULL) {
9235 var31 = 0;
9236 } else {
9237 if(cltype32 >= var_listnode12->type->table_size) {
9238 var31 = 0;
9239 } else {
9240 var31 = var_listnode12->type->type_table[cltype32] == idtype33;
9241 }
9242 }
9243 if (!var31) {
9244 fprintf(stderr, "Runtime error: %s", "Assert failed");
9245 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12341);
9246 show_backtrace(1);
9247 }
9248 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction266>*/;
9249 var_listnode13 = var34;
9250 var_tkwendnode14 = var_nodearraylist10;
9251 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
9252 cltype36 = type_nullable_parser_nodes__TKwend.color;
9253 idtype37 = type_nullable_parser_nodes__TKwend.id;
9254 if(var_tkwendnode14 == NULL) {
9255 var35 = 1;
9256 } else {
9257 if(cltype36 >= var_tkwendnode14->type->table_size) {
9258 var35 = 0;
9259 } else {
9260 var35 = var_tkwendnode14->type->type_table[cltype36] == idtype37;
9261 }
9262 }
9263 if (!var35) {
9264 fprintf(stderr, "Runtime error: %s", "Assert failed");
9265 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12344);
9266 show_backtrace(1);
9267 }
9268 var38 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9269 var39 = NULL;
9270 var40 = NULL;
9271 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var38->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var38, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var39, var40, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var38:AStdClassdef>*/;
9272 var_pclassdefnode1 = var38;
9273 var_node_list = var_pclassdefnode1;
9274 var41 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction266> */
9275 var42 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var41) /* go_to on <var_p:Parser>*/;
9276 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var42, var_node_list) /* push on <var_p:Parser>*/;
9277 RET_LABEL:;
9278 }
9279 /* method parser#ReduceAction266#action for (self: Object, Parser) */
9280 void VIRTUAL_parser__ReduceAction266__action(val* self, val* p0) {
9281 parser__ReduceAction266__action(self, p0);
9282 RET_LABEL:;
9283 }
9284 /* method parser#ReduceAction267#action for (self: ReduceAction267, Parser) */
9285 void parser__ReduceAction267__action(val* self, val* p0) {
9286 val* var_p /* var p: Parser */;
9287 val* var /* : null */;
9288 val* var_node_list /* var node_list: nullable Object */;
9289 val* var1 /* : nullable Object */;
9290 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
9291 val* var2 /* : nullable Object */;
9292 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9293 val* var3 /* : nullable Object */;
9294 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9295 val* var4 /* : nullable Object */;
9296 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9297 val* var5 /* : nullable Object */;
9298 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9299 val* var6 /* : nullable Object */;
9300 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9301 val* var7 /* : nullable Object */;
9302 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9303 val* var8 /* : nullable Object */;
9304 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9305 val* var9 /* : nullable Object */;
9306 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9307 val* var10 /* : nullable Object */;
9308 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9309 val* var11 /* : Array[Object] */;
9310 val* var_listnode7 /* var listnode7: Array[Object] */;
9311 val* var12 /* : Array[Object] */;
9312 val* var_listnode11 /* var listnode11: Array[Object] */;
9313 val* var13 /* : Array[Object] */;
9314 val* var_listnode13 /* var listnode13: Array[Object] */;
9315 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9316 short int var14 /* : Bool */;
9317 int cltype;
9318 int idtype;
9319 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9320 short int var15 /* : Bool */;
9321 int cltype16;
9322 int idtype17;
9323 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
9324 short int var18 /* : Bool */;
9325 int cltype19;
9326 int idtype20;
9327 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9328 short int var21 /* : Bool */;
9329 int cltype22;
9330 int idtype23;
9331 val* var_listnode10 /* var listnode10: nullable Object */;
9332 short int var24 /* : Bool */;
9333 int cltype25;
9334 int idtype26;
9335 val* var27 /* : Array[Object] */;
9336 val* var_listnode12 /* var listnode12: nullable Object */;
9337 short int var28 /* : Bool */;
9338 int cltype29;
9339 int idtype30;
9340 val* var31 /* : Array[Object] */;
9341 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
9342 short int var32 /* : Bool */;
9343 int cltype33;
9344 int idtype34;
9345 val* var35 /* : AStdClassdef */;
9346 val* var36 /* : null */;
9347 val* var37 /* : null */;
9348 val* var38 /* : null */;
9349 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
9350 long var39 /* : Int */;
9351 long var40 /* : Int */;
9352 var_p = p0;
9353 var = NULL;
9354 var_node_list = var;
9355 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9356 var_nodearraylist10 = var1;
9357 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9358 var_nodearraylist9 = var2;
9359 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9360 var_nodearraylist8 = var3;
9361 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9362 var_nodearraylist7 = var4;
9363 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9364 var_nodearraylist6 = var5;
9365 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9366 var_nodearraylist5 = var6;
9367 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9368 var_nodearraylist4 = var7;
9369 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9370 var_nodearraylist3 = var8;
9371 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9372 var_nodearraylist2 = var9;
9373 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9374 var_nodearraylist1 = var10;
9375 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
9376 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
9377 var_listnode7 = var11;
9378 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
9379 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
9380 var_listnode11 = var12;
9381 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
9382 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
9383 var_listnode13 = var13;
9384 var_pdocnode2 = var_nodearraylist1;
9385 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9386 cltype = type_nullable_parser_nodes__ADoc.color;
9387 idtype = type_nullable_parser_nodes__ADoc.id;
9388 if(var_pdocnode2 == NULL) {
9389 var14 = 1;
9390 } else {
9391 if(cltype >= var_pdocnode2->type->table_size) {
9392 var14 = 0;
9393 } else {
9394 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
9395 }
9396 }
9397 if (!var14) {
9398 fprintf(stderr, "Runtime error: %s", "Assert failed");
9399 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12381);
9400 show_backtrace(1);
9401 }
9402 var_pvisibilitynode4 = var_nodearraylist2;
9403 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9404 cltype16 = type_nullable_parser_nodes__AVisibility.color;
9405 idtype17 = type_nullable_parser_nodes__AVisibility.id;
9406 if(var_pvisibilitynode4 == NULL) {
9407 var15 = 1;
9408 } else {
9409 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
9410 var15 = 0;
9411 } else {
9412 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
9413 }
9414 }
9415 if (!var15) {
9416 fprintf(stderr, "Runtime error: %s", "Assert failed");
9417 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12383);
9418 show_backtrace(1);
9419 }
9420 var_pclasskindnode5 = var_nodearraylist3;
9421 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
9422 cltype19 = type_nullable_parser_nodes__AClasskind.color;
9423 idtype20 = type_nullable_parser_nodes__AClasskind.id;
9424 if(var_pclasskindnode5 == NULL) {
9425 var18 = 1;
9426 } else {
9427 if(cltype19 >= var_pclasskindnode5->type->table_size) {
9428 var18 = 0;
9429 } else {
9430 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
9431 }
9432 }
9433 if (!var18) {
9434 fprintf(stderr, "Runtime error: %s", "Assert failed");
9435 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12385);
9436 show_backtrace(1);
9437 }
9438 var_tclassidnode6 = var_nodearraylist6;
9439 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9440 cltype22 = type_nullable_parser_nodes__TClassid.color;
9441 idtype23 = type_nullable_parser_nodes__TClassid.id;
9442 if(var_tclassidnode6 == NULL) {
9443 var21 = 1;
9444 } else {
9445 if(cltype22 >= var_tclassidnode6->type->table_size) {
9446 var21 = 0;
9447 } else {
9448 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
9449 }
9450 }
9451 if (!var21) {
9452 fprintf(stderr, "Runtime error: %s", "Assert failed");
9453 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12387);
9454 show_backtrace(1);
9455 }
9456 var_listnode10 = var_nodearraylist7;
9457 /* <var_listnode10:nullable Object> isa Array[Object] */
9458 cltype25 = type_array__Arraykernel__Object.color;
9459 idtype26 = type_array__Arraykernel__Object.id;
9460 if(var_listnode10 == NULL) {
9461 var24 = 0;
9462 } else {
9463 if(cltype25 >= var_listnode10->type->table_size) {
9464 var24 = 0;
9465 } else {
9466 var24 = var_listnode10->type->type_table[cltype25] == idtype26;
9467 }
9468 }
9469 if (!var24) {
9470 fprintf(stderr, "Runtime error: %s", "Assert failed");
9471 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12389);
9472 show_backtrace(1);
9473 }
9474 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction267>*/;
9475 var_listnode11 = var27;
9476 var_listnode12 = var_nodearraylist8;
9477 /* <var_listnode12:nullable Object> isa Array[Object] */
9478 cltype29 = type_array__Arraykernel__Object.color;
9479 idtype30 = type_array__Arraykernel__Object.id;
9480 if(var_listnode12 == NULL) {
9481 var28 = 0;
9482 } else {
9483 if(cltype29 >= var_listnode12->type->table_size) {
9484 var28 = 0;
9485 } else {
9486 var28 = var_listnode12->type->type_table[cltype29] == idtype30;
9487 }
9488 }
9489 if (!var28) {
9490 fprintf(stderr, "Runtime error: %s", "Assert failed");
9491 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12392);
9492 show_backtrace(1);
9493 }
9494 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction267>*/;
9495 var_listnode13 = var31;
9496 var_tkwendnode14 = var_nodearraylist10;
9497 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
9498 cltype33 = type_nullable_parser_nodes__TKwend.color;
9499 idtype34 = type_nullable_parser_nodes__TKwend.id;
9500 if(var_tkwendnode14 == NULL) {
9501 var32 = 1;
9502 } else {
9503 if(cltype33 >= var_tkwendnode14->type->table_size) {
9504 var32 = 0;
9505 } else {
9506 var32 = var_tkwendnode14->type->type_table[cltype33] == idtype34;
9507 }
9508 }
9509 if (!var32) {
9510 fprintf(stderr, "Runtime error: %s", "Assert failed");
9511 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12395);
9512 show_backtrace(1);
9513 }
9514 var35 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9515 var36 = NULL;
9516 var37 = NULL;
9517 var38 = NULL;
9518 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var35->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var35, var_pdocnode2, var36, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var37, var38, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var35:AStdClassdef>*/;
9519 var_pclassdefnode1 = var35;
9520 var_node_list = var_pclassdefnode1;
9521 var39 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction267> */
9522 var40 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var39) /* go_to on <var_p:Parser>*/;
9523 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var40, var_node_list) /* push on <var_p:Parser>*/;
9524 RET_LABEL:;
9525 }
9526 /* method parser#ReduceAction267#action for (self: Object, Parser) */
9527 void VIRTUAL_parser__ReduceAction267__action(val* self, val* p0) {
9528 parser__ReduceAction267__action(self, p0);
9529 RET_LABEL:;
9530 }
9531 /* method parser#ReduceAction268#action for (self: ReduceAction268, Parser) */
9532 void parser__ReduceAction268__action(val* self, val* p0) {
9533 val* var_p /* var p: Parser */;
9534 val* var /* : null */;
9535 val* var_node_list /* var node_list: nullable Object */;
9536 val* var1 /* : nullable Object */;
9537 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
9538 val* var2 /* : nullable Object */;
9539 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
9540 val* var3 /* : nullable Object */;
9541 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9542 val* var4 /* : nullable Object */;
9543 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9544 val* var5 /* : nullable Object */;
9545 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9546 val* var6 /* : nullable Object */;
9547 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9548 val* var7 /* : nullable Object */;
9549 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9550 val* var8 /* : nullable Object */;
9551 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9552 val* var9 /* : nullable Object */;
9553 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9554 val* var10 /* : nullable Object */;
9555 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9556 val* var11 /* : nullable Object */;
9557 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9558 val* var12 /* : Array[Object] */;
9559 val* var_listnode7 /* var listnode7: Array[Object] */;
9560 val* var13 /* : Array[Object] */;
9561 val* var_listnode11 /* var listnode11: Array[Object] */;
9562 val* var14 /* : Array[Object] */;
9563 val* var_listnode13 /* var listnode13: Array[Object] */;
9564 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9565 short int var15 /* : Bool */;
9566 int cltype;
9567 int idtype;
9568 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9569 short int var16 /* : Bool */;
9570 int cltype17;
9571 int idtype18;
9572 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
9573 short int var19 /* : Bool */;
9574 int cltype20;
9575 int idtype21;
9576 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9577 short int var22 /* : Bool */;
9578 int cltype23;
9579 int idtype24;
9580 val* var_listnode10 /* var listnode10: nullable Object */;
9581 short int var25 /* : Bool */;
9582 int cltype26;
9583 int idtype27;
9584 val* var28 /* : Array[Object] */;
9585 val* var_listnode12 /* var listnode12: nullable Object */;
9586 short int var29 /* : Bool */;
9587 int cltype30;
9588 int idtype31;
9589 val* var32 /* : Array[Object] */;
9590 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
9591 short int var33 /* : Bool */;
9592 int cltype34;
9593 int idtype35;
9594 val* var36 /* : AStdClassdef */;
9595 val* var37 /* : null */;
9596 val* var38 /* : null */;
9597 val* var39 /* : null */;
9598 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
9599 long var40 /* : Int */;
9600 long var41 /* : Int */;
9601 var_p = p0;
9602 var = NULL;
9603 var_node_list = var;
9604 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9605 var_nodearraylist11 = var1;
9606 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9607 var_nodearraylist10 = var2;
9608 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9609 var_nodearraylist9 = var3;
9610 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9611 var_nodearraylist8 = var4;
9612 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9613 var_nodearraylist7 = var5;
9614 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9615 var_nodearraylist6 = var6;
9616 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9617 var_nodearraylist5 = var7;
9618 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9619 var_nodearraylist4 = var8;
9620 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9621 var_nodearraylist3 = var9;
9622 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9623 var_nodearraylist2 = var10;
9624 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9625 var_nodearraylist1 = var11;
9626 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
9627 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
9628 var_listnode7 = var12;
9629 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
9630 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
9631 var_listnode11 = var13;
9632 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
9633 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
9634 var_listnode13 = var14;
9635 var_pdocnode2 = var_nodearraylist1;
9636 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9637 cltype = type_nullable_parser_nodes__ADoc.color;
9638 idtype = type_nullable_parser_nodes__ADoc.id;
9639 if(var_pdocnode2 == NULL) {
9640 var15 = 1;
9641 } else {
9642 if(cltype >= var_pdocnode2->type->table_size) {
9643 var15 = 0;
9644 } else {
9645 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
9646 }
9647 }
9648 if (!var15) {
9649 fprintf(stderr, "Runtime error: %s", "Assert failed");
9650 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12433);
9651 show_backtrace(1);
9652 }
9653 var_pvisibilitynode4 = var_nodearraylist2;
9654 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9655 cltype17 = type_nullable_parser_nodes__AVisibility.color;
9656 idtype18 = type_nullable_parser_nodes__AVisibility.id;
9657 if(var_pvisibilitynode4 == NULL) {
9658 var16 = 1;
9659 } else {
9660 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
9661 var16 = 0;
9662 } else {
9663 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
9664 }
9665 }
9666 if (!var16) {
9667 fprintf(stderr, "Runtime error: %s", "Assert failed");
9668 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12435);
9669 show_backtrace(1);
9670 }
9671 var_pclasskindnode5 = var_nodearraylist3;
9672 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
9673 cltype20 = type_nullable_parser_nodes__AClasskind.color;
9674 idtype21 = type_nullable_parser_nodes__AClasskind.id;
9675 if(var_pclasskindnode5 == NULL) {
9676 var19 = 1;
9677 } else {
9678 if(cltype20 >= var_pclasskindnode5->type->table_size) {
9679 var19 = 0;
9680 } else {
9681 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
9682 }
9683 }
9684 if (!var19) {
9685 fprintf(stderr, "Runtime error: %s", "Assert failed");
9686 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12437);
9687 show_backtrace(1);
9688 }
9689 var_tclassidnode6 = var_nodearraylist7;
9690 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9691 cltype23 = type_nullable_parser_nodes__TClassid.color;
9692 idtype24 = type_nullable_parser_nodes__TClassid.id;
9693 if(var_tclassidnode6 == NULL) {
9694 var22 = 1;
9695 } else {
9696 if(cltype23 >= var_tclassidnode6->type->table_size) {
9697 var22 = 0;
9698 } else {
9699 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
9700 }
9701 }
9702 if (!var22) {
9703 fprintf(stderr, "Runtime error: %s", "Assert failed");
9704 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12439);
9705 show_backtrace(1);
9706 }
9707 var_listnode10 = var_nodearraylist8;
9708 /* <var_listnode10:nullable Object> isa Array[Object] */
9709 cltype26 = type_array__Arraykernel__Object.color;
9710 idtype27 = type_array__Arraykernel__Object.id;
9711 if(var_listnode10 == NULL) {
9712 var25 = 0;
9713 } else {
9714 if(cltype26 >= var_listnode10->type->table_size) {
9715 var25 = 0;
9716 } else {
9717 var25 = var_listnode10->type->type_table[cltype26] == idtype27;
9718 }
9719 }
9720 if (!var25) {
9721 fprintf(stderr, "Runtime error: %s", "Assert failed");
9722 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12441);
9723 show_backtrace(1);
9724 }
9725 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction268>*/;
9726 var_listnode11 = var28;
9727 var_listnode12 = var_nodearraylist9;
9728 /* <var_listnode12:nullable Object> isa Array[Object] */
9729 cltype30 = type_array__Arraykernel__Object.color;
9730 idtype31 = type_array__Arraykernel__Object.id;
9731 if(var_listnode12 == NULL) {
9732 var29 = 0;
9733 } else {
9734 if(cltype30 >= var_listnode12->type->table_size) {
9735 var29 = 0;
9736 } else {
9737 var29 = var_listnode12->type->type_table[cltype30] == idtype31;
9738 }
9739 }
9740 if (!var29) {
9741 fprintf(stderr, "Runtime error: %s", "Assert failed");
9742 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12444);
9743 show_backtrace(1);
9744 }
9745 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction268>*/;
9746 var_listnode13 = var32;
9747 var_tkwendnode14 = var_nodearraylist11;
9748 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
9749 cltype34 = type_nullable_parser_nodes__TKwend.color;
9750 idtype35 = type_nullable_parser_nodes__TKwend.id;
9751 if(var_tkwendnode14 == NULL) {
9752 var33 = 1;
9753 } else {
9754 if(cltype34 >= var_tkwendnode14->type->table_size) {
9755 var33 = 0;
9756 } else {
9757 var33 = var_tkwendnode14->type->type_table[cltype34] == idtype35;
9758 }
9759 }
9760 if (!var33) {
9761 fprintf(stderr, "Runtime error: %s", "Assert failed");
9762 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12447);
9763 show_backtrace(1);
9764 }
9765 var36 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9766 var37 = NULL;
9767 var38 = NULL;
9768 var39 = NULL;
9769 ((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_listnode7, var38, var39, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var36:AStdClassdef>*/;
9770 var_pclassdefnode1 = var36;
9771 var_node_list = var_pclassdefnode1;
9772 var40 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction268> */
9773 var41 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var40) /* go_to on <var_p:Parser>*/;
9774 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var41, var_node_list) /* push on <var_p:Parser>*/;
9775 RET_LABEL:;
9776 }
9777 /* method parser#ReduceAction268#action for (self: Object, Parser) */
9778 void VIRTUAL_parser__ReduceAction268__action(val* self, val* p0) {
9779 parser__ReduceAction268__action(self, p0);
9780 RET_LABEL:;
9781 }