nitg: keep a list of source files to copy to the compile_dir
[nit.git] / c_src / parser.sep.8.c
1 #include "parser.sep.0.h"
2 /* method parser#ReduceAction263#action for (self: ReduceAction263, Parser) */
3 void parser__ReduceAction263__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_nodearraylist14 /* var nodearraylist14: nullable Object */;
9 val* var2 /* : nullable Object */;
10 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
11 val* var3 /* : nullable Object */;
12 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
13 val* var4 /* : nullable Object */;
14 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
15 val* var5 /* : nullable Object */;
16 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
17 val* var6 /* : nullable Object */;
18 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
19 val* var7 /* : nullable Object */;
20 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
21 val* var8 /* : nullable Object */;
22 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
23 val* var9 /* : nullable Object */;
24 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
25 val* var10 /* : nullable Object */;
26 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
27 val* var11 /* : nullable Object */;
28 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
29 val* var12 /* : nullable Object */;
30 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
31 val* var13 /* : nullable Object */;
32 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
33 val* var14 /* : nullable Object */;
34 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
35 val* var15 /* : Array[Object] */;
36 val* var_listnode8 /* var listnode8: Array[Object] */;
37 val* var16 /* : Array[Object] */;
38 val* var_listnode16 /* var listnode16: Array[Object] */;
39 val* var17 /* : Array[Object] */;
40 val* var_listnode18 /* var listnode18: Array[Object] */;
41 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
42 short int var18 /* : Bool */;
43 int cltype;
44 int idtype;
45 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
46 short int var19 /* : Bool */;
47 int cltype20;
48 int idtype21;
49 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
50 short int var22 /* : Bool */;
51 int cltype23;
52 int idtype24;
53 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
54 short int var25 /* : Bool */;
55 int cltype26;
56 int idtype27;
57 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
58 short int var28 /* : Bool */;
59 int cltype29;
60 int idtype30;
61 val* var_listnode7 /* var listnode7: nullable Object */;
62 short int var31 /* : Bool */;
63 int cltype32;
64 int idtype33;
65 val* var34 /* : Array[Object] */;
66 val* var35 /* : Array[Object] */;
67 val* var_listnode13 /* var listnode13: Array[Object] */;
68 val* var_listnode12 /* var listnode12: nullable Object */;
69 short int var36 /* : Bool */;
70 int cltype37;
71 int idtype38;
72 val* var39 /* : Array[Object] */;
73 val* var40 /* : AAnnotations */;
74 val* var41 /* : null */;
75 val* var42 /* : null */;
76 val* var43 /* : null */;
77 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
78 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
79 short int var44 /* : Bool */;
80 int cltype45;
81 int idtype46;
82 val* var_listnode17 /* var listnode17: nullable Object */;
83 short int var47 /* : Bool */;
84 int cltype48;
85 int idtype49;
86 val* var50 /* : Array[Object] */;
87 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
88 short int var51 /* : Bool */;
89 int cltype52;
90 int idtype53;
91 val* var54 /* : AStdClassdef */;
92 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
93 long var55 /* : Int */;
94 long var56 /* : Int */;
95 var_p = p0;
96 var = NULL;
97 var_node_list = var;
98 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
99 var_nodearraylist14 = var1;
100 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
101 var_nodearraylist13 = var2;
102 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
103 var_nodearraylist12 = var3;
104 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
105 var_nodearraylist11 = var4;
106 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
107 var_nodearraylist10 = var5;
108 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
109 var_nodearraylist9 = var6;
110 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
111 var_nodearraylist8 = var7;
112 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
113 var_nodearraylist7 = var8;
114 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
115 var_nodearraylist6 = var9;
116 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
117 var_nodearraylist5 = var10;
118 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
119 var_nodearraylist4 = var11;
120 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
121 var_nodearraylist3 = var12;
122 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
123 var_nodearraylist2 = var13;
124 var14 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
125 var_nodearraylist1 = var14;
126 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
127 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
128 CHECK_NEW_array__Array(var15);
129 var_listnode8 = var15;
130 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
131 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
132 CHECK_NEW_array__Array(var16);
133 var_listnode16 = var16;
134 var17 = NEW_array__Array(&type_array__Arraykernel__Object);
135 ((void (*)(val*))(var17->class->vft[COLOR_array__Array__init]))(var17) /* init on <var17:Array[Object]>*/;
136 CHECK_NEW_array__Array(var17);
137 var_listnode18 = var17;
138 var_pdocnode2 = var_nodearraylist1;
139 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
140 cltype = type_nullable_parser_nodes__ADoc.color;
141 idtype = type_nullable_parser_nodes__ADoc.id;
142 if(var_pdocnode2 == NULL) {
143 var18 = 1;
144 } else {
145 if(cltype >= var_pdocnode2->type->table_size) {
146 var18 = 0;
147 } else {
148 var18 = var_pdocnode2->type->type_table[cltype] == idtype;
149 }
150 }
151 if (!var18) {
152 fprintf(stderr, "Runtime error: %s", "Assert failed");
153 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12225);
154 exit(1);
155 }
156 var_tkwredefnode3 = var_nodearraylist2;
157 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
158 cltype20 = type_nullable_parser_nodes__TKwredef.color;
159 idtype21 = type_nullable_parser_nodes__TKwredef.id;
160 if(var_tkwredefnode3 == NULL) {
161 var19 = 1;
162 } else {
163 if(cltype20 >= var_tkwredefnode3->type->table_size) {
164 var19 = 0;
165 } else {
166 var19 = var_tkwredefnode3->type->type_table[cltype20] == idtype21;
167 }
168 }
169 if (!var19) {
170 fprintf(stderr, "Runtime error: %s", "Assert failed");
171 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12227);
172 exit(1);
173 }
174 var_pvisibilitynode4 = var_nodearraylist3;
175 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
176 cltype23 = type_nullable_parser_nodes__AVisibility.color;
177 idtype24 = type_nullable_parser_nodes__AVisibility.id;
178 if(var_pvisibilitynode4 == NULL) {
179 var22 = 1;
180 } else {
181 if(cltype23 >= var_pvisibilitynode4->type->table_size) {
182 var22 = 0;
183 } else {
184 var22 = var_pvisibilitynode4->type->type_table[cltype23] == idtype24;
185 }
186 }
187 if (!var22) {
188 fprintf(stderr, "Runtime error: %s", "Assert failed");
189 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12229);
190 exit(1);
191 }
192 var_pclasskindnode5 = var_nodearraylist4;
193 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
194 cltype26 = type_nullable_parser_nodes__AClasskind.color;
195 idtype27 = type_nullable_parser_nodes__AClasskind.id;
196 if(var_pclasskindnode5 == NULL) {
197 var25 = 1;
198 } else {
199 if(cltype26 >= var_pclasskindnode5->type->table_size) {
200 var25 = 0;
201 } else {
202 var25 = var_pclasskindnode5->type->type_table[cltype26] == idtype27;
203 }
204 }
205 if (!var25) {
206 fprintf(stderr, "Runtime error: %s", "Assert failed");
207 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12231);
208 exit(1);
209 }
210 var_tclassidnode6 = var_nodearraylist8;
211 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
212 cltype29 = type_nullable_parser_nodes__TClassid.color;
213 idtype30 = type_nullable_parser_nodes__TClassid.id;
214 if(var_tclassidnode6 == NULL) {
215 var28 = 1;
216 } else {
217 if(cltype29 >= var_tclassidnode6->type->table_size) {
218 var28 = 0;
219 } else {
220 var28 = var_tclassidnode6->type->type_table[cltype29] == idtype30;
221 }
222 }
223 if (!var28) {
224 fprintf(stderr, "Runtime error: %s", "Assert failed");
225 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12233);
226 exit(1);
227 }
228 var_listnode7 = var_nodearraylist9;
229 /* <var_listnode7:nullable Object> isa Array[Object] */
230 cltype32 = type_array__Arraykernel__Object.color;
231 idtype33 = type_array__Arraykernel__Object.id;
232 if(var_listnode7 == NULL) {
233 var31 = 0;
234 } else {
235 if(cltype32 >= var_listnode7->type->table_size) {
236 var31 = 0;
237 } else {
238 var31 = var_listnode7->type->type_table[cltype32] == idtype33;
239 }
240 }
241 if (!var31) {
242 fprintf(stderr, "Runtime error: %s", "Assert failed");
243 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12235);
244 exit(1);
245 }
246 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction263>*/;
247 var_listnode8 = var34;
248 var35 = NEW_array__Array(&type_array__Arraykernel__Object);
249 ((void (*)(val*))(var35->class->vft[COLOR_array__Array__init]))(var35) /* init on <var35:Array[Object]>*/;
250 CHECK_NEW_array__Array(var35);
251 var_listnode13 = var35;
252 var_listnode12 = var_nodearraylist10;
253 /* <var_listnode12:nullable Object> isa Array[Object] */
254 cltype37 = type_array__Arraykernel__Object.color;
255 idtype38 = type_array__Arraykernel__Object.id;
256 if(var_listnode12 == NULL) {
257 var36 = 0;
258 } else {
259 if(cltype37 >= var_listnode12->type->table_size) {
260 var36 = 0;
261 } else {
262 var36 = var_listnode12->type->type_table[cltype37] == idtype38;
263 }
264 }
265 if (!var36) {
266 fprintf(stderr, "Runtime error: %s", "Assert failed");
267 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12239);
268 exit(1);
269 }
270 var39 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction263>*/;
271 var_listnode13 = var39;
272 var40 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
273 var41 = NULL;
274 var42 = NULL;
275 var43 = NULL;
276 ((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>*/;
277 CHECK_NEW_parser_nodes__AAnnotations(var40);
278 var_pannotationsnode9 = var40;
279 var_pexterncodeblocknode15 = var_nodearraylist11;
280 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
281 cltype45 = type_nullable_parser_nodes__AExternCodeBlock.color;
282 idtype46 = type_nullable_parser_nodes__AExternCodeBlock.id;
283 if(var_pexterncodeblocknode15 == NULL) {
284 var44 = 1;
285 } else {
286 if(cltype45 >= var_pexterncodeblocknode15->type->table_size) {
287 var44 = 0;
288 } else {
289 var44 = var_pexterncodeblocknode15->type->type_table[cltype45] == idtype46;
290 }
291 }
292 if (!var44) {
293 fprintf(stderr, "Runtime error: %s", "Assert failed");
294 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12248);
295 exit(1);
296 }
297 var_listnode17 = var_nodearraylist12;
298 /* <var_listnode17:nullable Object> isa Array[Object] */
299 cltype48 = type_array__Arraykernel__Object.color;
300 idtype49 = type_array__Arraykernel__Object.id;
301 if(var_listnode17 == NULL) {
302 var47 = 0;
303 } else {
304 if(cltype48 >= var_listnode17->type->table_size) {
305 var47 = 0;
306 } else {
307 var47 = var_listnode17->type->type_table[cltype48] == idtype49;
308 }
309 }
310 if (!var47) {
311 fprintf(stderr, "Runtime error: %s", "Assert failed");
312 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12250);
313 exit(1);
314 }
315 var50 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction263>*/;
316 var_listnode18 = var50;
317 var_tkwendnode19 = var_nodearraylist14;
318 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
319 cltype52 = type_nullable_parser_nodes__TKwend.color;
320 idtype53 = type_nullable_parser_nodes__TKwend.id;
321 if(var_tkwendnode19 == NULL) {
322 var51 = 1;
323 } else {
324 if(cltype52 >= var_tkwendnode19->type->table_size) {
325 var51 = 0;
326 } else {
327 var51 = var_tkwendnode19->type->type_table[cltype52] == idtype53;
328 }
329 }
330 if (!var51) {
331 fprintf(stderr, "Runtime error: %s", "Assert failed");
332 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12253);
333 exit(1);
334 }
335 var54 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
336 ((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>*/;
337 CHECK_NEW_parser_nodes__AStdClassdef(var54);
338 var_pclassdefnode1 = var54;
339 var_node_list = var_pclassdefnode1;
340 var55 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction263> */
341 var56 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var55) /* go_to on <var_p:Parser>*/;
342 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var56, var_node_list) /* push on <var_p:Parser>*/;
343 RET_LABEL:;
344 }
345 /* method parser#ReduceAction263#action for (self: Object, Parser) */
346 void VIRTUAL_parser__ReduceAction263__action(val* self, val* p0) {
347 parser__ReduceAction263__action(self, p0);
348 RET_LABEL:;
349 }
350 /* method parser#ReduceAction265#action for (self: ReduceAction265, Parser) */
351 void parser__ReduceAction265__action(val* self, val* p0) {
352 val* var_p /* var p: Parser */;
353 val* var /* : null */;
354 val* var_node_list /* var node_list: nullable Object */;
355 val* var1 /* : nullable Object */;
356 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
357 val* var2 /* : nullable Object */;
358 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
359 val* var3 /* : nullable Object */;
360 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
361 val* var4 /* : nullable Object */;
362 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
363 val* var5 /* : nullable Object */;
364 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
365 val* var6 /* : nullable Object */;
366 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
367 val* var7 /* : nullable Object */;
368 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
369 val* var8 /* : nullable Object */;
370 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
371 val* var9 /* : nullable Object */;
372 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
373 val* var10 /* : Array[Object] */;
374 val* var_listnode7 /* var listnode7: Array[Object] */;
375 val* var11 /* : Array[Object] */;
376 val* var_listnode11 /* var listnode11: Array[Object] */;
377 val* var12 /* : Array[Object] */;
378 val* var_listnode13 /* var listnode13: Array[Object] */;
379 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
380 short int var13 /* : Bool */;
381 int cltype;
382 int idtype;
383 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
384 short int var14 /* : Bool */;
385 int cltype15;
386 int idtype16;
387 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
388 short int var17 /* : Bool */;
389 int cltype18;
390 int idtype19;
391 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
392 short int var20 /* : Bool */;
393 int cltype21;
394 int idtype22;
395 val* var_listnode10 /* var listnode10: nullable Object */;
396 short int var23 /* : Bool */;
397 int cltype24;
398 int idtype25;
399 val* var26 /* : Array[Object] */;
400 val* var_listnode12 /* var listnode12: nullable Object */;
401 short int var27 /* : Bool */;
402 int cltype28;
403 int idtype29;
404 val* var30 /* : Array[Object] */;
405 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
406 short int var31 /* : Bool */;
407 int cltype32;
408 int idtype33;
409 val* var34 /* : AStdClassdef */;
410 val* var35 /* : null */;
411 val* var36 /* : null */;
412 val* var37 /* : null */;
413 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
414 long var38 /* : Int */;
415 long var39 /* : Int */;
416 var_p = p0;
417 var = NULL;
418 var_node_list = var;
419 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
420 var_nodearraylist9 = var1;
421 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
422 var_nodearraylist8 = var2;
423 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
424 var_nodearraylist7 = var3;
425 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
426 var_nodearraylist6 = var4;
427 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
428 var_nodearraylist5 = var5;
429 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
430 var_nodearraylist4 = var6;
431 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
432 var_nodearraylist3 = var7;
433 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
434 var_nodearraylist2 = var8;
435 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
436 var_nodearraylist1 = var9;
437 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
438 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
439 CHECK_NEW_array__Array(var10);
440 var_listnode7 = var10;
441 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
442 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
443 CHECK_NEW_array__Array(var11);
444 var_listnode11 = var11;
445 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
446 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
447 CHECK_NEW_array__Array(var12);
448 var_listnode13 = var12;
449 var_pdocnode2 = var_nodearraylist1;
450 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
451 cltype = type_nullable_parser_nodes__ADoc.color;
452 idtype = type_nullable_parser_nodes__ADoc.id;
453 if(var_pdocnode2 == NULL) {
454 var13 = 1;
455 } else {
456 if(cltype >= var_pdocnode2->type->table_size) {
457 var13 = 0;
458 } else {
459 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
460 }
461 }
462 if (!var13) {
463 fprintf(stderr, "Runtime error: %s", "Assert failed");
464 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12289);
465 exit(1);
466 }
467 var_pvisibilitynode4 = var_nodearraylist2;
468 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
469 cltype15 = type_nullable_parser_nodes__AVisibility.color;
470 idtype16 = type_nullable_parser_nodes__AVisibility.id;
471 if(var_pvisibilitynode4 == NULL) {
472 var14 = 1;
473 } else {
474 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
475 var14 = 0;
476 } else {
477 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
478 }
479 }
480 if (!var14) {
481 fprintf(stderr, "Runtime error: %s", "Assert failed");
482 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12291);
483 exit(1);
484 }
485 var_pclasskindnode5 = var_nodearraylist3;
486 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
487 cltype18 = type_nullable_parser_nodes__AClasskind.color;
488 idtype19 = type_nullable_parser_nodes__AClasskind.id;
489 if(var_pclasskindnode5 == NULL) {
490 var17 = 1;
491 } else {
492 if(cltype18 >= var_pclasskindnode5->type->table_size) {
493 var17 = 0;
494 } else {
495 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
496 }
497 }
498 if (!var17) {
499 fprintf(stderr, "Runtime error: %s", "Assert failed");
500 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12293);
501 exit(1);
502 }
503 var_tclassidnode6 = var_nodearraylist5;
504 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
505 cltype21 = type_nullable_parser_nodes__TClassid.color;
506 idtype22 = type_nullable_parser_nodes__TClassid.id;
507 if(var_tclassidnode6 == NULL) {
508 var20 = 1;
509 } else {
510 if(cltype21 >= var_tclassidnode6->type->table_size) {
511 var20 = 0;
512 } else {
513 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
514 }
515 }
516 if (!var20) {
517 fprintf(stderr, "Runtime error: %s", "Assert failed");
518 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12295);
519 exit(1);
520 }
521 var_listnode10 = var_nodearraylist6;
522 /* <var_listnode10:nullable Object> isa Array[Object] */
523 cltype24 = type_array__Arraykernel__Object.color;
524 idtype25 = type_array__Arraykernel__Object.id;
525 if(var_listnode10 == NULL) {
526 var23 = 0;
527 } else {
528 if(cltype24 >= var_listnode10->type->table_size) {
529 var23 = 0;
530 } else {
531 var23 = var_listnode10->type->type_table[cltype24] == idtype25;
532 }
533 }
534 if (!var23) {
535 fprintf(stderr, "Runtime error: %s", "Assert failed");
536 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12297);
537 exit(1);
538 }
539 var26 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction265>*/;
540 var_listnode11 = var26;
541 var_listnode12 = var_nodearraylist7;
542 /* <var_listnode12:nullable Object> isa Array[Object] */
543 cltype28 = type_array__Arraykernel__Object.color;
544 idtype29 = type_array__Arraykernel__Object.id;
545 if(var_listnode12 == NULL) {
546 var27 = 0;
547 } else {
548 if(cltype28 >= var_listnode12->type->table_size) {
549 var27 = 0;
550 } else {
551 var27 = var_listnode12->type->type_table[cltype28] == idtype29;
552 }
553 }
554 if (!var27) {
555 fprintf(stderr, "Runtime error: %s", "Assert failed");
556 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12300);
557 exit(1);
558 }
559 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction265>*/;
560 var_listnode13 = var30;
561 var_tkwendnode14 = var_nodearraylist9;
562 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
563 cltype32 = type_nullable_parser_nodes__TKwend.color;
564 idtype33 = type_nullable_parser_nodes__TKwend.id;
565 if(var_tkwendnode14 == NULL) {
566 var31 = 1;
567 } else {
568 if(cltype32 >= var_tkwendnode14->type->table_size) {
569 var31 = 0;
570 } else {
571 var31 = var_tkwendnode14->type->type_table[cltype32] == idtype33;
572 }
573 }
574 if (!var31) {
575 fprintf(stderr, "Runtime error: %s", "Assert failed");
576 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12303);
577 exit(1);
578 }
579 var34 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
580 var35 = NULL;
581 var36 = NULL;
582 var37 = NULL;
583 ((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>*/;
584 CHECK_NEW_parser_nodes__AStdClassdef(var34);
585 var_pclassdefnode1 = var34;
586 var_node_list = var_pclassdefnode1;
587 var38 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction265> */
588 var39 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var38) /* go_to on <var_p:Parser>*/;
589 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var39, var_node_list) /* push on <var_p:Parser>*/;
590 RET_LABEL:;
591 }
592 /* method parser#ReduceAction265#action for (self: Object, Parser) */
593 void VIRTUAL_parser__ReduceAction265__action(val* self, val* p0) {
594 parser__ReduceAction265__action(self, p0);
595 RET_LABEL:;
596 }
597 /* method parser#ReduceAction266#action for (self: ReduceAction266, Parser) */
598 void parser__ReduceAction266__action(val* self, val* p0) {
599 val* var_p /* var p: Parser */;
600 val* var /* : null */;
601 val* var_node_list /* var node_list: nullable Object */;
602 val* var1 /* : nullable Object */;
603 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
604 val* var2 /* : nullable Object */;
605 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
606 val* var3 /* : nullable Object */;
607 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
608 val* var4 /* : nullable Object */;
609 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
610 val* var5 /* : nullable Object */;
611 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
612 val* var6 /* : nullable Object */;
613 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
614 val* var7 /* : nullable Object */;
615 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
616 val* var8 /* : nullable Object */;
617 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
618 val* var9 /* : nullable Object */;
619 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
620 val* var10 /* : nullable Object */;
621 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
622 val* var11 /* : Array[Object] */;
623 val* var_listnode7 /* var listnode7: Array[Object] */;
624 val* var12 /* : Array[Object] */;
625 val* var_listnode11 /* var listnode11: Array[Object] */;
626 val* var13 /* : Array[Object] */;
627 val* var_listnode13 /* var listnode13: Array[Object] */;
628 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
629 short int var14 /* : Bool */;
630 int cltype;
631 int idtype;
632 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
633 short int var15 /* : Bool */;
634 int cltype16;
635 int idtype17;
636 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
637 short int var18 /* : Bool */;
638 int cltype19;
639 int idtype20;
640 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
641 short int var21 /* : Bool */;
642 int cltype22;
643 int idtype23;
644 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
645 short int var24 /* : Bool */;
646 int cltype25;
647 int idtype26;
648 val* var_listnode10 /* var listnode10: nullable Object */;
649 short int var27 /* : Bool */;
650 int cltype28;
651 int idtype29;
652 val* var30 /* : Array[Object] */;
653 val* var_listnode12 /* var listnode12: nullable Object */;
654 short int var31 /* : Bool */;
655 int cltype32;
656 int idtype33;
657 val* var34 /* : Array[Object] */;
658 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
659 short int var35 /* : Bool */;
660 int cltype36;
661 int idtype37;
662 val* var38 /* : AStdClassdef */;
663 val* var39 /* : null */;
664 val* var40 /* : null */;
665 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
666 long var41 /* : Int */;
667 long var42 /* : Int */;
668 var_p = p0;
669 var = NULL;
670 var_node_list = var;
671 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
672 var_nodearraylist10 = var1;
673 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
674 var_nodearraylist9 = var2;
675 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
676 var_nodearraylist8 = var3;
677 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
678 var_nodearraylist7 = var4;
679 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
680 var_nodearraylist6 = var5;
681 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
682 var_nodearraylist5 = var6;
683 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
684 var_nodearraylist4 = var7;
685 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
686 var_nodearraylist3 = var8;
687 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
688 var_nodearraylist2 = var9;
689 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
690 var_nodearraylist1 = var10;
691 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
692 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
693 CHECK_NEW_array__Array(var11);
694 var_listnode7 = var11;
695 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
696 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
697 CHECK_NEW_array__Array(var12);
698 var_listnode11 = var12;
699 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
700 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
701 CHECK_NEW_array__Array(var13);
702 var_listnode13 = var13;
703 var_pdocnode2 = var_nodearraylist1;
704 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
705 cltype = type_nullable_parser_nodes__ADoc.color;
706 idtype = type_nullable_parser_nodes__ADoc.id;
707 if(var_pdocnode2 == NULL) {
708 var14 = 1;
709 } else {
710 if(cltype >= var_pdocnode2->type->table_size) {
711 var14 = 0;
712 } else {
713 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
714 }
715 }
716 if (!var14) {
717 fprintf(stderr, "Runtime error: %s", "Assert failed");
718 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12340);
719 exit(1);
720 }
721 var_tkwredefnode3 = var_nodearraylist2;
722 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
723 cltype16 = type_nullable_parser_nodes__TKwredef.color;
724 idtype17 = type_nullable_parser_nodes__TKwredef.id;
725 if(var_tkwredefnode3 == NULL) {
726 var15 = 1;
727 } else {
728 if(cltype16 >= var_tkwredefnode3->type->table_size) {
729 var15 = 0;
730 } else {
731 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
732 }
733 }
734 if (!var15) {
735 fprintf(stderr, "Runtime error: %s", "Assert failed");
736 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12342);
737 exit(1);
738 }
739 var_pvisibilitynode4 = var_nodearraylist3;
740 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
741 cltype19 = type_nullable_parser_nodes__AVisibility.color;
742 idtype20 = type_nullable_parser_nodes__AVisibility.id;
743 if(var_pvisibilitynode4 == NULL) {
744 var18 = 1;
745 } else {
746 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
747 var18 = 0;
748 } else {
749 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
750 }
751 }
752 if (!var18) {
753 fprintf(stderr, "Runtime error: %s", "Assert failed");
754 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12344);
755 exit(1);
756 }
757 var_pclasskindnode5 = var_nodearraylist4;
758 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
759 cltype22 = type_nullable_parser_nodes__AClasskind.color;
760 idtype23 = type_nullable_parser_nodes__AClasskind.id;
761 if(var_pclasskindnode5 == NULL) {
762 var21 = 1;
763 } else {
764 if(cltype22 >= var_pclasskindnode5->type->table_size) {
765 var21 = 0;
766 } else {
767 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
768 }
769 }
770 if (!var21) {
771 fprintf(stderr, "Runtime error: %s", "Assert failed");
772 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12346);
773 exit(1);
774 }
775 var_tclassidnode6 = var_nodearraylist6;
776 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
777 cltype25 = type_nullable_parser_nodes__TClassid.color;
778 idtype26 = type_nullable_parser_nodes__TClassid.id;
779 if(var_tclassidnode6 == NULL) {
780 var24 = 1;
781 } else {
782 if(cltype25 >= var_tclassidnode6->type->table_size) {
783 var24 = 0;
784 } else {
785 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
786 }
787 }
788 if (!var24) {
789 fprintf(stderr, "Runtime error: %s", "Assert failed");
790 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12348);
791 exit(1);
792 }
793 var_listnode10 = var_nodearraylist7;
794 /* <var_listnode10:nullable Object> isa Array[Object] */
795 cltype28 = type_array__Arraykernel__Object.color;
796 idtype29 = type_array__Arraykernel__Object.id;
797 if(var_listnode10 == NULL) {
798 var27 = 0;
799 } else {
800 if(cltype28 >= var_listnode10->type->table_size) {
801 var27 = 0;
802 } else {
803 var27 = var_listnode10->type->type_table[cltype28] == idtype29;
804 }
805 }
806 if (!var27) {
807 fprintf(stderr, "Runtime error: %s", "Assert failed");
808 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12350);
809 exit(1);
810 }
811 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction266>*/;
812 var_listnode11 = var30;
813 var_listnode12 = var_nodearraylist8;
814 /* <var_listnode12:nullable Object> isa Array[Object] */
815 cltype32 = type_array__Arraykernel__Object.color;
816 idtype33 = type_array__Arraykernel__Object.id;
817 if(var_listnode12 == NULL) {
818 var31 = 0;
819 } else {
820 if(cltype32 >= var_listnode12->type->table_size) {
821 var31 = 0;
822 } else {
823 var31 = var_listnode12->type->type_table[cltype32] == idtype33;
824 }
825 }
826 if (!var31) {
827 fprintf(stderr, "Runtime error: %s", "Assert failed");
828 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12353);
829 exit(1);
830 }
831 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction266>*/;
832 var_listnode13 = var34;
833 var_tkwendnode14 = var_nodearraylist10;
834 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
835 cltype36 = type_nullable_parser_nodes__TKwend.color;
836 idtype37 = type_nullable_parser_nodes__TKwend.id;
837 if(var_tkwendnode14 == NULL) {
838 var35 = 1;
839 } else {
840 if(cltype36 >= var_tkwendnode14->type->table_size) {
841 var35 = 0;
842 } else {
843 var35 = var_tkwendnode14->type->type_table[cltype36] == idtype37;
844 }
845 }
846 if (!var35) {
847 fprintf(stderr, "Runtime error: %s", "Assert failed");
848 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12356);
849 exit(1);
850 }
851 var38 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
852 var39 = NULL;
853 var40 = NULL;
854 ((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>*/;
855 CHECK_NEW_parser_nodes__AStdClassdef(var38);
856 var_pclassdefnode1 = var38;
857 var_node_list = var_pclassdefnode1;
858 var41 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction266> */
859 var42 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var41) /* go_to on <var_p:Parser>*/;
860 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var42, var_node_list) /* push on <var_p:Parser>*/;
861 RET_LABEL:;
862 }
863 /* method parser#ReduceAction266#action for (self: Object, Parser) */
864 void VIRTUAL_parser__ReduceAction266__action(val* self, val* p0) {
865 parser__ReduceAction266__action(self, p0);
866 RET_LABEL:;
867 }
868 /* method parser#ReduceAction267#action for (self: ReduceAction267, Parser) */
869 void parser__ReduceAction267__action(val* self, val* p0) {
870 val* var_p /* var p: Parser */;
871 val* var /* : null */;
872 val* var_node_list /* var node_list: nullable Object */;
873 val* var1 /* : nullable Object */;
874 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
875 val* var2 /* : nullable Object */;
876 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
877 val* var3 /* : nullable Object */;
878 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
879 val* var4 /* : nullable Object */;
880 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
881 val* var5 /* : nullable Object */;
882 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
883 val* var6 /* : nullable Object */;
884 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
885 val* var7 /* : nullable Object */;
886 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
887 val* var8 /* : nullable Object */;
888 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
889 val* var9 /* : nullable Object */;
890 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
891 val* var10 /* : nullable Object */;
892 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
893 val* var11 /* : Array[Object] */;
894 val* var_listnode7 /* var listnode7: Array[Object] */;
895 val* var12 /* : Array[Object] */;
896 val* var_listnode11 /* var listnode11: Array[Object] */;
897 val* var13 /* : Array[Object] */;
898 val* var_listnode13 /* var listnode13: Array[Object] */;
899 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
900 short int var14 /* : Bool */;
901 int cltype;
902 int idtype;
903 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
904 short int var15 /* : Bool */;
905 int cltype16;
906 int idtype17;
907 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
908 short int var18 /* : Bool */;
909 int cltype19;
910 int idtype20;
911 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
912 short int var21 /* : Bool */;
913 int cltype22;
914 int idtype23;
915 val* var_listnode10 /* var listnode10: nullable Object */;
916 short int var24 /* : Bool */;
917 int cltype25;
918 int idtype26;
919 val* var27 /* : Array[Object] */;
920 val* var_listnode12 /* var listnode12: nullable Object */;
921 short int var28 /* : Bool */;
922 int cltype29;
923 int idtype30;
924 val* var31 /* : Array[Object] */;
925 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
926 short int var32 /* : Bool */;
927 int cltype33;
928 int idtype34;
929 val* var35 /* : AStdClassdef */;
930 val* var36 /* : null */;
931 val* var37 /* : null */;
932 val* var38 /* : null */;
933 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
934 long var39 /* : Int */;
935 long var40 /* : Int */;
936 var_p = p0;
937 var = NULL;
938 var_node_list = var;
939 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
940 var_nodearraylist10 = var1;
941 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
942 var_nodearraylist9 = var2;
943 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
944 var_nodearraylist8 = var3;
945 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
946 var_nodearraylist7 = var4;
947 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
948 var_nodearraylist6 = var5;
949 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
950 var_nodearraylist5 = var6;
951 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
952 var_nodearraylist4 = var7;
953 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
954 var_nodearraylist3 = var8;
955 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
956 var_nodearraylist2 = var9;
957 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
958 var_nodearraylist1 = var10;
959 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
960 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
961 CHECK_NEW_array__Array(var11);
962 var_listnode7 = var11;
963 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
964 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
965 CHECK_NEW_array__Array(var12);
966 var_listnode11 = var12;
967 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
968 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
969 CHECK_NEW_array__Array(var13);
970 var_listnode13 = var13;
971 var_pdocnode2 = var_nodearraylist1;
972 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
973 cltype = type_nullable_parser_nodes__ADoc.color;
974 idtype = type_nullable_parser_nodes__ADoc.id;
975 if(var_pdocnode2 == NULL) {
976 var14 = 1;
977 } else {
978 if(cltype >= var_pdocnode2->type->table_size) {
979 var14 = 0;
980 } else {
981 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
982 }
983 }
984 if (!var14) {
985 fprintf(stderr, "Runtime error: %s", "Assert failed");
986 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12393);
987 exit(1);
988 }
989 var_pvisibilitynode4 = var_nodearraylist2;
990 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
991 cltype16 = type_nullable_parser_nodes__AVisibility.color;
992 idtype17 = type_nullable_parser_nodes__AVisibility.id;
993 if(var_pvisibilitynode4 == NULL) {
994 var15 = 1;
995 } else {
996 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
997 var15 = 0;
998 } else {
999 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
1000 }
1001 }
1002 if (!var15) {
1003 fprintf(stderr, "Runtime error: %s", "Assert failed");
1004 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12395);
1005 exit(1);
1006 }
1007 var_pclasskindnode5 = var_nodearraylist3;
1008 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1009 cltype19 = type_nullable_parser_nodes__AClasskind.color;
1010 idtype20 = type_nullable_parser_nodes__AClasskind.id;
1011 if(var_pclasskindnode5 == NULL) {
1012 var18 = 1;
1013 } else {
1014 if(cltype19 >= var_pclasskindnode5->type->table_size) {
1015 var18 = 0;
1016 } else {
1017 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
1018 }
1019 }
1020 if (!var18) {
1021 fprintf(stderr, "Runtime error: %s", "Assert failed");
1022 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12397);
1023 exit(1);
1024 }
1025 var_tclassidnode6 = var_nodearraylist6;
1026 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1027 cltype22 = type_nullable_parser_nodes__TClassid.color;
1028 idtype23 = type_nullable_parser_nodes__TClassid.id;
1029 if(var_tclassidnode6 == NULL) {
1030 var21 = 1;
1031 } else {
1032 if(cltype22 >= var_tclassidnode6->type->table_size) {
1033 var21 = 0;
1034 } else {
1035 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
1036 }
1037 }
1038 if (!var21) {
1039 fprintf(stderr, "Runtime error: %s", "Assert failed");
1040 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12399);
1041 exit(1);
1042 }
1043 var_listnode10 = var_nodearraylist7;
1044 /* <var_listnode10:nullable Object> isa Array[Object] */
1045 cltype25 = type_array__Arraykernel__Object.color;
1046 idtype26 = type_array__Arraykernel__Object.id;
1047 if(var_listnode10 == NULL) {
1048 var24 = 0;
1049 } else {
1050 if(cltype25 >= var_listnode10->type->table_size) {
1051 var24 = 0;
1052 } else {
1053 var24 = var_listnode10->type->type_table[cltype25] == idtype26;
1054 }
1055 }
1056 if (!var24) {
1057 fprintf(stderr, "Runtime error: %s", "Assert failed");
1058 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12401);
1059 exit(1);
1060 }
1061 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction267>*/;
1062 var_listnode11 = var27;
1063 var_listnode12 = var_nodearraylist8;
1064 /* <var_listnode12:nullable Object> isa Array[Object] */
1065 cltype29 = type_array__Arraykernel__Object.color;
1066 idtype30 = type_array__Arraykernel__Object.id;
1067 if(var_listnode12 == NULL) {
1068 var28 = 0;
1069 } else {
1070 if(cltype29 >= var_listnode12->type->table_size) {
1071 var28 = 0;
1072 } else {
1073 var28 = var_listnode12->type->type_table[cltype29] == idtype30;
1074 }
1075 }
1076 if (!var28) {
1077 fprintf(stderr, "Runtime error: %s", "Assert failed");
1078 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12404);
1079 exit(1);
1080 }
1081 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction267>*/;
1082 var_listnode13 = var31;
1083 var_tkwendnode14 = var_nodearraylist10;
1084 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
1085 cltype33 = type_nullable_parser_nodes__TKwend.color;
1086 idtype34 = type_nullable_parser_nodes__TKwend.id;
1087 if(var_tkwendnode14 == NULL) {
1088 var32 = 1;
1089 } else {
1090 if(cltype33 >= var_tkwendnode14->type->table_size) {
1091 var32 = 0;
1092 } else {
1093 var32 = var_tkwendnode14->type->type_table[cltype33] == idtype34;
1094 }
1095 }
1096 if (!var32) {
1097 fprintf(stderr, "Runtime error: %s", "Assert failed");
1098 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12407);
1099 exit(1);
1100 }
1101 var35 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1102 var36 = NULL;
1103 var37 = NULL;
1104 var38 = NULL;
1105 ((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>*/;
1106 CHECK_NEW_parser_nodes__AStdClassdef(var35);
1107 var_pclassdefnode1 = var35;
1108 var_node_list = var_pclassdefnode1;
1109 var39 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction267> */
1110 var40 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var39) /* go_to on <var_p:Parser>*/;
1111 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var40, var_node_list) /* push on <var_p:Parser>*/;
1112 RET_LABEL:;
1113 }
1114 /* method parser#ReduceAction267#action for (self: Object, Parser) */
1115 void VIRTUAL_parser__ReduceAction267__action(val* self, val* p0) {
1116 parser__ReduceAction267__action(self, p0);
1117 RET_LABEL:;
1118 }
1119 /* method parser#ReduceAction268#action for (self: ReduceAction268, Parser) */
1120 void parser__ReduceAction268__action(val* self, val* p0) {
1121 val* var_p /* var p: Parser */;
1122 val* var /* : null */;
1123 val* var_node_list /* var node_list: nullable Object */;
1124 val* var1 /* : nullable Object */;
1125 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
1126 val* var2 /* : nullable Object */;
1127 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1128 val* var3 /* : nullable Object */;
1129 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1130 val* var4 /* : nullable Object */;
1131 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1132 val* var5 /* : nullable Object */;
1133 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1134 val* var6 /* : nullable Object */;
1135 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1136 val* var7 /* : nullable Object */;
1137 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1138 val* var8 /* : nullable Object */;
1139 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1140 val* var9 /* : nullable Object */;
1141 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1142 val* var10 /* : nullable Object */;
1143 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1144 val* var11 /* : nullable Object */;
1145 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1146 val* var12 /* : Array[Object] */;
1147 val* var_listnode7 /* var listnode7: Array[Object] */;
1148 val* var13 /* : Array[Object] */;
1149 val* var_listnode11 /* var listnode11: Array[Object] */;
1150 val* var14 /* : Array[Object] */;
1151 val* var_listnode13 /* var listnode13: Array[Object] */;
1152 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1153 short int var15 /* : Bool */;
1154 int cltype;
1155 int idtype;
1156 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1157 short int var16 /* : Bool */;
1158 int cltype17;
1159 int idtype18;
1160 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1161 short int var19 /* : Bool */;
1162 int cltype20;
1163 int idtype21;
1164 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1165 short int var22 /* : Bool */;
1166 int cltype23;
1167 int idtype24;
1168 val* var_listnode10 /* var listnode10: nullable Object */;
1169 short int var25 /* : Bool */;
1170 int cltype26;
1171 int idtype27;
1172 val* var28 /* : Array[Object] */;
1173 val* var_listnode12 /* var listnode12: nullable Object */;
1174 short int var29 /* : Bool */;
1175 int cltype30;
1176 int idtype31;
1177 val* var32 /* : Array[Object] */;
1178 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
1179 short int var33 /* : Bool */;
1180 int cltype34;
1181 int idtype35;
1182 val* var36 /* : AStdClassdef */;
1183 val* var37 /* : null */;
1184 val* var38 /* : null */;
1185 val* var39 /* : null */;
1186 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1187 long var40 /* : Int */;
1188 long var41 /* : Int */;
1189 var_p = p0;
1190 var = NULL;
1191 var_node_list = var;
1192 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1193 var_nodearraylist11 = var1;
1194 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1195 var_nodearraylist10 = var2;
1196 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1197 var_nodearraylist9 = var3;
1198 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1199 var_nodearraylist8 = var4;
1200 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1201 var_nodearraylist7 = var5;
1202 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1203 var_nodearraylist6 = var6;
1204 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1205 var_nodearraylist5 = var7;
1206 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1207 var_nodearraylist4 = var8;
1208 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1209 var_nodearraylist3 = var9;
1210 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1211 var_nodearraylist2 = var10;
1212 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1213 var_nodearraylist1 = var11;
1214 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
1215 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
1216 CHECK_NEW_array__Array(var12);
1217 var_listnode7 = var12;
1218 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
1219 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
1220 CHECK_NEW_array__Array(var13);
1221 var_listnode11 = var13;
1222 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
1223 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
1224 CHECK_NEW_array__Array(var14);
1225 var_listnode13 = var14;
1226 var_pdocnode2 = var_nodearraylist1;
1227 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1228 cltype = type_nullable_parser_nodes__ADoc.color;
1229 idtype = type_nullable_parser_nodes__ADoc.id;
1230 if(var_pdocnode2 == NULL) {
1231 var15 = 1;
1232 } else {
1233 if(cltype >= var_pdocnode2->type->table_size) {
1234 var15 = 0;
1235 } else {
1236 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
1237 }
1238 }
1239 if (!var15) {
1240 fprintf(stderr, "Runtime error: %s", "Assert failed");
1241 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12445);
1242 exit(1);
1243 }
1244 var_pvisibilitynode4 = var_nodearraylist2;
1245 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1246 cltype17 = type_nullable_parser_nodes__AVisibility.color;
1247 idtype18 = type_nullable_parser_nodes__AVisibility.id;
1248 if(var_pvisibilitynode4 == NULL) {
1249 var16 = 1;
1250 } else {
1251 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
1252 var16 = 0;
1253 } else {
1254 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
1255 }
1256 }
1257 if (!var16) {
1258 fprintf(stderr, "Runtime error: %s", "Assert failed");
1259 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12447);
1260 exit(1);
1261 }
1262 var_pclasskindnode5 = var_nodearraylist3;
1263 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1264 cltype20 = type_nullable_parser_nodes__AClasskind.color;
1265 idtype21 = type_nullable_parser_nodes__AClasskind.id;
1266 if(var_pclasskindnode5 == NULL) {
1267 var19 = 1;
1268 } else {
1269 if(cltype20 >= var_pclasskindnode5->type->table_size) {
1270 var19 = 0;
1271 } else {
1272 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
1273 }
1274 }
1275 if (!var19) {
1276 fprintf(stderr, "Runtime error: %s", "Assert failed");
1277 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12449);
1278 exit(1);
1279 }
1280 var_tclassidnode6 = var_nodearraylist7;
1281 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1282 cltype23 = type_nullable_parser_nodes__TClassid.color;
1283 idtype24 = type_nullable_parser_nodes__TClassid.id;
1284 if(var_tclassidnode6 == NULL) {
1285 var22 = 1;
1286 } else {
1287 if(cltype23 >= var_tclassidnode6->type->table_size) {
1288 var22 = 0;
1289 } else {
1290 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
1291 }
1292 }
1293 if (!var22) {
1294 fprintf(stderr, "Runtime error: %s", "Assert failed");
1295 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12451);
1296 exit(1);
1297 }
1298 var_listnode10 = var_nodearraylist8;
1299 /* <var_listnode10:nullable Object> isa Array[Object] */
1300 cltype26 = type_array__Arraykernel__Object.color;
1301 idtype27 = type_array__Arraykernel__Object.id;
1302 if(var_listnode10 == NULL) {
1303 var25 = 0;
1304 } else {
1305 if(cltype26 >= var_listnode10->type->table_size) {
1306 var25 = 0;
1307 } else {
1308 var25 = var_listnode10->type->type_table[cltype26] == idtype27;
1309 }
1310 }
1311 if (!var25) {
1312 fprintf(stderr, "Runtime error: %s", "Assert failed");
1313 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12453);
1314 exit(1);
1315 }
1316 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction268>*/;
1317 var_listnode11 = var28;
1318 var_listnode12 = var_nodearraylist9;
1319 /* <var_listnode12:nullable Object> isa Array[Object] */
1320 cltype30 = type_array__Arraykernel__Object.color;
1321 idtype31 = type_array__Arraykernel__Object.id;
1322 if(var_listnode12 == NULL) {
1323 var29 = 0;
1324 } else {
1325 if(cltype30 >= var_listnode12->type->table_size) {
1326 var29 = 0;
1327 } else {
1328 var29 = var_listnode12->type->type_table[cltype30] == idtype31;
1329 }
1330 }
1331 if (!var29) {
1332 fprintf(stderr, "Runtime error: %s", "Assert failed");
1333 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12456);
1334 exit(1);
1335 }
1336 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction268>*/;
1337 var_listnode13 = var32;
1338 var_tkwendnode14 = var_nodearraylist11;
1339 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
1340 cltype34 = type_nullable_parser_nodes__TKwend.color;
1341 idtype35 = type_nullable_parser_nodes__TKwend.id;
1342 if(var_tkwendnode14 == NULL) {
1343 var33 = 1;
1344 } else {
1345 if(cltype34 >= var_tkwendnode14->type->table_size) {
1346 var33 = 0;
1347 } else {
1348 var33 = var_tkwendnode14->type->type_table[cltype34] == idtype35;
1349 }
1350 }
1351 if (!var33) {
1352 fprintf(stderr, "Runtime error: %s", "Assert failed");
1353 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12459);
1354 exit(1);
1355 }
1356 var36 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1357 var37 = NULL;
1358 var38 = NULL;
1359 var39 = NULL;
1360 ((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>*/;
1361 CHECK_NEW_parser_nodes__AStdClassdef(var36);
1362 var_pclassdefnode1 = var36;
1363 var_node_list = var_pclassdefnode1;
1364 var40 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction268> */
1365 var41 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var40) /* go_to on <var_p:Parser>*/;
1366 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var41, var_node_list) /* push on <var_p:Parser>*/;
1367 RET_LABEL:;
1368 }
1369 /* method parser#ReduceAction268#action for (self: Object, Parser) */
1370 void VIRTUAL_parser__ReduceAction268__action(val* self, val* p0) {
1371 parser__ReduceAction268__action(self, p0);
1372 RET_LABEL:;
1373 }
1374 /* method parser#ReduceAction270#action for (self: ReduceAction270, Parser) */
1375 void parser__ReduceAction270__action(val* self, val* p0) {
1376 val* var_p /* var p: Parser */;
1377 val* var /* : null */;
1378 val* var_node_list /* var node_list: nullable Object */;
1379 val* var1 /* : nullable Object */;
1380 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
1381 val* var2 /* : nullable Object */;
1382 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1383 val* var3 /* : nullable Object */;
1384 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1385 val* var4 /* : nullable Object */;
1386 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1387 val* var5 /* : nullable Object */;
1388 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1389 val* var6 /* : nullable Object */;
1390 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1391 val* var7 /* : nullable Object */;
1392 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1393 val* var8 /* : nullable Object */;
1394 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1395 val* var9 /* : nullable Object */;
1396 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1397 val* var10 /* : nullable Object */;
1398 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1399 val* var11 /* : nullable Object */;
1400 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1401 val* var12 /* : Array[Object] */;
1402 val* var_listnode7 /* var listnode7: Array[Object] */;
1403 val* var13 /* : Array[Object] */;
1404 val* var_listnode11 /* var listnode11: Array[Object] */;
1405 val* var14 /* : Array[Object] */;
1406 val* var_listnode13 /* var listnode13: Array[Object] */;
1407 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1408 short int var15 /* : Bool */;
1409 int cltype;
1410 int idtype;
1411 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
1412 short int var16 /* : Bool */;
1413 int cltype17;
1414 int idtype18;
1415 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1416 short int var19 /* : Bool */;
1417 int cltype20;
1418 int idtype21;
1419 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1420 short int var22 /* : Bool */;
1421 int cltype23;
1422 int idtype24;
1423 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1424 short int var25 /* : Bool */;
1425 int cltype26;
1426 int idtype27;
1427 val* var_listnode10 /* var listnode10: nullable Object */;
1428 short int var28 /* : Bool */;
1429 int cltype29;
1430 int idtype30;
1431 val* var31 /* : Array[Object] */;
1432 val* var_listnode12 /* var listnode12: nullable Object */;
1433 short int var32 /* : Bool */;
1434 int cltype33;
1435 int idtype34;
1436 val* var35 /* : Array[Object] */;
1437 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
1438 short int var36 /* : Bool */;
1439 int cltype37;
1440 int idtype38;
1441 val* var39 /* : AStdClassdef */;
1442 val* var40 /* : null */;
1443 val* var41 /* : null */;
1444 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1445 long var42 /* : Int */;
1446 long var43 /* : Int */;
1447 var_p = p0;
1448 var = NULL;
1449 var_node_list = var;
1450 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1451 var_nodearraylist11 = var1;
1452 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1453 var_nodearraylist10 = var2;
1454 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1455 var_nodearraylist9 = var3;
1456 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1457 var_nodearraylist8 = var4;
1458 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1459 var_nodearraylist7 = var5;
1460 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1461 var_nodearraylist6 = var6;
1462 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1463 var_nodearraylist5 = var7;
1464 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1465 var_nodearraylist4 = var8;
1466 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1467 var_nodearraylist3 = var9;
1468 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1469 var_nodearraylist2 = var10;
1470 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1471 var_nodearraylist1 = var11;
1472 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
1473 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
1474 CHECK_NEW_array__Array(var12);
1475 var_listnode7 = var12;
1476 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
1477 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
1478 CHECK_NEW_array__Array(var13);
1479 var_listnode11 = var13;
1480 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
1481 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
1482 CHECK_NEW_array__Array(var14);
1483 var_listnode13 = var14;
1484 var_pdocnode2 = var_nodearraylist1;
1485 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1486 cltype = type_nullable_parser_nodes__ADoc.color;
1487 idtype = type_nullable_parser_nodes__ADoc.id;
1488 if(var_pdocnode2 == NULL) {
1489 var15 = 1;
1490 } else {
1491 if(cltype >= var_pdocnode2->type->table_size) {
1492 var15 = 0;
1493 } else {
1494 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
1495 }
1496 }
1497 if (!var15) {
1498 fprintf(stderr, "Runtime error: %s", "Assert failed");
1499 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12497);
1500 exit(1);
1501 }
1502 var_tkwredefnode3 = var_nodearraylist2;
1503 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1504 cltype17 = type_nullable_parser_nodes__TKwredef.color;
1505 idtype18 = type_nullable_parser_nodes__TKwredef.id;
1506 if(var_tkwredefnode3 == NULL) {
1507 var16 = 1;
1508 } else {
1509 if(cltype17 >= var_tkwredefnode3->type->table_size) {
1510 var16 = 0;
1511 } else {
1512 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
1513 }
1514 }
1515 if (!var16) {
1516 fprintf(stderr, "Runtime error: %s", "Assert failed");
1517 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12499);
1518 exit(1);
1519 }
1520 var_pvisibilitynode4 = var_nodearraylist3;
1521 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1522 cltype20 = type_nullable_parser_nodes__AVisibility.color;
1523 idtype21 = type_nullable_parser_nodes__AVisibility.id;
1524 if(var_pvisibilitynode4 == NULL) {
1525 var19 = 1;
1526 } else {
1527 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
1528 var19 = 0;
1529 } else {
1530 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
1531 }
1532 }
1533 if (!var19) {
1534 fprintf(stderr, "Runtime error: %s", "Assert failed");
1535 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12501);
1536 exit(1);
1537 }
1538 var_pclasskindnode5 = var_nodearraylist4;
1539 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1540 cltype23 = type_nullable_parser_nodes__AClasskind.color;
1541 idtype24 = type_nullable_parser_nodes__AClasskind.id;
1542 if(var_pclasskindnode5 == NULL) {
1543 var22 = 1;
1544 } else {
1545 if(cltype23 >= var_pclasskindnode5->type->table_size) {
1546 var22 = 0;
1547 } else {
1548 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
1549 }
1550 }
1551 if (!var22) {
1552 fprintf(stderr, "Runtime error: %s", "Assert failed");
1553 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12503);
1554 exit(1);
1555 }
1556 var_tclassidnode6 = var_nodearraylist7;
1557 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1558 cltype26 = type_nullable_parser_nodes__TClassid.color;
1559 idtype27 = type_nullable_parser_nodes__TClassid.id;
1560 if(var_tclassidnode6 == NULL) {
1561 var25 = 1;
1562 } else {
1563 if(cltype26 >= var_tclassidnode6->type->table_size) {
1564 var25 = 0;
1565 } else {
1566 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
1567 }
1568 }
1569 if (!var25) {
1570 fprintf(stderr, "Runtime error: %s", "Assert failed");
1571 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12505);
1572 exit(1);
1573 }
1574 var_listnode10 = var_nodearraylist8;
1575 /* <var_listnode10:nullable Object> isa Array[Object] */
1576 cltype29 = type_array__Arraykernel__Object.color;
1577 idtype30 = type_array__Arraykernel__Object.id;
1578 if(var_listnode10 == NULL) {
1579 var28 = 0;
1580 } else {
1581 if(cltype29 >= var_listnode10->type->table_size) {
1582 var28 = 0;
1583 } else {
1584 var28 = var_listnode10->type->type_table[cltype29] == idtype30;
1585 }
1586 }
1587 if (!var28) {
1588 fprintf(stderr, "Runtime error: %s", "Assert failed");
1589 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12507);
1590 exit(1);
1591 }
1592 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction270>*/;
1593 var_listnode11 = var31;
1594 var_listnode12 = var_nodearraylist9;
1595 /* <var_listnode12:nullable Object> isa Array[Object] */
1596 cltype33 = type_array__Arraykernel__Object.color;
1597 idtype34 = type_array__Arraykernel__Object.id;
1598 if(var_listnode12 == NULL) {
1599 var32 = 0;
1600 } else {
1601 if(cltype33 >= var_listnode12->type->table_size) {
1602 var32 = 0;
1603 } else {
1604 var32 = var_listnode12->type->type_table[cltype33] == idtype34;
1605 }
1606 }
1607 if (!var32) {
1608 fprintf(stderr, "Runtime error: %s", "Assert failed");
1609 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12510);
1610 exit(1);
1611 }
1612 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction270>*/;
1613 var_listnode13 = var35;
1614 var_tkwendnode14 = var_nodearraylist11;
1615 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
1616 cltype37 = type_nullable_parser_nodes__TKwend.color;
1617 idtype38 = type_nullable_parser_nodes__TKwend.id;
1618 if(var_tkwendnode14 == NULL) {
1619 var36 = 1;
1620 } else {
1621 if(cltype37 >= var_tkwendnode14->type->table_size) {
1622 var36 = 0;
1623 } else {
1624 var36 = var_tkwendnode14->type->type_table[cltype37] == idtype38;
1625 }
1626 }
1627 if (!var36) {
1628 fprintf(stderr, "Runtime error: %s", "Assert failed");
1629 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12513);
1630 exit(1);
1631 }
1632 var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1633 var40 = NULL;
1634 var41 = NULL;
1635 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var39->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var39, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var40, var41, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var39:AStdClassdef>*/;
1636 CHECK_NEW_parser_nodes__AStdClassdef(var39);
1637 var_pclassdefnode1 = var39;
1638 var_node_list = var_pclassdefnode1;
1639 var42 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction270> */
1640 var43 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var42) /* go_to on <var_p:Parser>*/;
1641 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var43, var_node_list) /* push on <var_p:Parser>*/;
1642 RET_LABEL:;
1643 }
1644 /* method parser#ReduceAction270#action for (self: Object, Parser) */
1645 void VIRTUAL_parser__ReduceAction270__action(val* self, val* p0) {
1646 parser__ReduceAction270__action(self, p0);
1647 RET_LABEL:;
1648 }
1649 /* method parser#ReduceAction271#action for (self: ReduceAction271, Parser) */
1650 void parser__ReduceAction271__action(val* self, val* p0) {
1651 val* var_p /* var p: Parser */;
1652 val* var /* : null */;
1653 val* var_node_list /* var node_list: nullable Object */;
1654 val* var1 /* : nullable Object */;
1655 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
1656 val* var2 /* : nullable Object */;
1657 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
1658 val* var3 /* : nullable Object */;
1659 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1660 val* var4 /* : nullable Object */;
1661 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1662 val* var5 /* : nullable Object */;
1663 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1664 val* var6 /* : nullable Object */;
1665 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1666 val* var7 /* : nullable Object */;
1667 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1668 val* var8 /* : nullable Object */;
1669 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1670 val* var9 /* : nullable Object */;
1671 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1672 val* var10 /* : nullable Object */;
1673 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1674 val* var11 /* : nullable Object */;
1675 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1676 val* var12 /* : nullable Object */;
1677 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1678 val* var13 /* : Array[Object] */;
1679 val* var_listnode7 /* var listnode7: Array[Object] */;
1680 val* var14 /* : Array[Object] */;
1681 val* var_listnode11 /* var listnode11: Array[Object] */;
1682 val* var15 /* : Array[Object] */;
1683 val* var_listnode13 /* var listnode13: Array[Object] */;
1684 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1685 short int var16 /* : Bool */;
1686 int cltype;
1687 int idtype;
1688 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
1689 short int var17 /* : Bool */;
1690 int cltype18;
1691 int idtype19;
1692 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1693 short int var20 /* : Bool */;
1694 int cltype21;
1695 int idtype22;
1696 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1697 short int var23 /* : Bool */;
1698 int cltype24;
1699 int idtype25;
1700 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1701 short int var26 /* : Bool */;
1702 int cltype27;
1703 int idtype28;
1704 val* var_listnode10 /* var listnode10: nullable Object */;
1705 short int var29 /* : Bool */;
1706 int cltype30;
1707 int idtype31;
1708 val* var32 /* : Array[Object] */;
1709 val* var_listnode12 /* var listnode12: nullable Object */;
1710 short int var33 /* : Bool */;
1711 int cltype34;
1712 int idtype35;
1713 val* var36 /* : Array[Object] */;
1714 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
1715 short int var37 /* : Bool */;
1716 int cltype38;
1717 int idtype39;
1718 val* var40 /* : AStdClassdef */;
1719 val* var41 /* : null */;
1720 val* var42 /* : null */;
1721 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1722 long var43 /* : Int */;
1723 long var44 /* : Int */;
1724 var_p = p0;
1725 var = NULL;
1726 var_node_list = var;
1727 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1728 var_nodearraylist12 = var1;
1729 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1730 var_nodearraylist11 = var2;
1731 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1732 var_nodearraylist10 = var3;
1733 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1734 var_nodearraylist9 = var4;
1735 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1736 var_nodearraylist8 = var5;
1737 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1738 var_nodearraylist7 = var6;
1739 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1740 var_nodearraylist6 = var7;
1741 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1742 var_nodearraylist5 = var8;
1743 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1744 var_nodearraylist4 = var9;
1745 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1746 var_nodearraylist3 = var10;
1747 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1748 var_nodearraylist2 = var11;
1749 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1750 var_nodearraylist1 = var12;
1751 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
1752 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
1753 CHECK_NEW_array__Array(var13);
1754 var_listnode7 = var13;
1755 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
1756 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
1757 CHECK_NEW_array__Array(var14);
1758 var_listnode11 = var14;
1759 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
1760 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
1761 CHECK_NEW_array__Array(var15);
1762 var_listnode13 = var15;
1763 var_pdocnode2 = var_nodearraylist1;
1764 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1765 cltype = type_nullable_parser_nodes__ADoc.color;
1766 idtype = type_nullable_parser_nodes__ADoc.id;
1767 if(var_pdocnode2 == NULL) {
1768 var16 = 1;
1769 } else {
1770 if(cltype >= var_pdocnode2->type->table_size) {
1771 var16 = 0;
1772 } else {
1773 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
1774 }
1775 }
1776 if (!var16) {
1777 fprintf(stderr, "Runtime error: %s", "Assert failed");
1778 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12552);
1779 exit(1);
1780 }
1781 var_tkwredefnode3 = var_nodearraylist2;
1782 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1783 cltype18 = type_nullable_parser_nodes__TKwredef.color;
1784 idtype19 = type_nullable_parser_nodes__TKwredef.id;
1785 if(var_tkwredefnode3 == NULL) {
1786 var17 = 1;
1787 } else {
1788 if(cltype18 >= var_tkwredefnode3->type->table_size) {
1789 var17 = 0;
1790 } else {
1791 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
1792 }
1793 }
1794 if (!var17) {
1795 fprintf(stderr, "Runtime error: %s", "Assert failed");
1796 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12554);
1797 exit(1);
1798 }
1799 var_pvisibilitynode4 = var_nodearraylist3;
1800 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1801 cltype21 = type_nullable_parser_nodes__AVisibility.color;
1802 idtype22 = type_nullable_parser_nodes__AVisibility.id;
1803 if(var_pvisibilitynode4 == NULL) {
1804 var20 = 1;
1805 } else {
1806 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
1807 var20 = 0;
1808 } else {
1809 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
1810 }
1811 }
1812 if (!var20) {
1813 fprintf(stderr, "Runtime error: %s", "Assert failed");
1814 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12556);
1815 exit(1);
1816 }
1817 var_pclasskindnode5 = var_nodearraylist4;
1818 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1819 cltype24 = type_nullable_parser_nodes__AClasskind.color;
1820 idtype25 = type_nullable_parser_nodes__AClasskind.id;
1821 if(var_pclasskindnode5 == NULL) {
1822 var23 = 1;
1823 } else {
1824 if(cltype24 >= var_pclasskindnode5->type->table_size) {
1825 var23 = 0;
1826 } else {
1827 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
1828 }
1829 }
1830 if (!var23) {
1831 fprintf(stderr, "Runtime error: %s", "Assert failed");
1832 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12558);
1833 exit(1);
1834 }
1835 var_tclassidnode6 = var_nodearraylist8;
1836 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1837 cltype27 = type_nullable_parser_nodes__TClassid.color;
1838 idtype28 = type_nullable_parser_nodes__TClassid.id;
1839 if(var_tclassidnode6 == NULL) {
1840 var26 = 1;
1841 } else {
1842 if(cltype27 >= var_tclassidnode6->type->table_size) {
1843 var26 = 0;
1844 } else {
1845 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
1846 }
1847 }
1848 if (!var26) {
1849 fprintf(stderr, "Runtime error: %s", "Assert failed");
1850 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12560);
1851 exit(1);
1852 }
1853 var_listnode10 = var_nodearraylist9;
1854 /* <var_listnode10:nullable Object> isa Array[Object] */
1855 cltype30 = type_array__Arraykernel__Object.color;
1856 idtype31 = type_array__Arraykernel__Object.id;
1857 if(var_listnode10 == NULL) {
1858 var29 = 0;
1859 } else {
1860 if(cltype30 >= var_listnode10->type->table_size) {
1861 var29 = 0;
1862 } else {
1863 var29 = var_listnode10->type->type_table[cltype30] == idtype31;
1864 }
1865 }
1866 if (!var29) {
1867 fprintf(stderr, "Runtime error: %s", "Assert failed");
1868 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12562);
1869 exit(1);
1870 }
1871 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction271>*/;
1872 var_listnode11 = var32;
1873 var_listnode12 = var_nodearraylist10;
1874 /* <var_listnode12:nullable Object> isa Array[Object] */
1875 cltype34 = type_array__Arraykernel__Object.color;
1876 idtype35 = type_array__Arraykernel__Object.id;
1877 if(var_listnode12 == NULL) {
1878 var33 = 0;
1879 } else {
1880 if(cltype34 >= var_listnode12->type->table_size) {
1881 var33 = 0;
1882 } else {
1883 var33 = var_listnode12->type->type_table[cltype34] == idtype35;
1884 }
1885 }
1886 if (!var33) {
1887 fprintf(stderr, "Runtime error: %s", "Assert failed");
1888 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12565);
1889 exit(1);
1890 }
1891 var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction271>*/;
1892 var_listnode13 = var36;
1893 var_tkwendnode14 = var_nodearraylist12;
1894 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
1895 cltype38 = type_nullable_parser_nodes__TKwend.color;
1896 idtype39 = type_nullable_parser_nodes__TKwend.id;
1897 if(var_tkwendnode14 == NULL) {
1898 var37 = 1;
1899 } else {
1900 if(cltype38 >= var_tkwendnode14->type->table_size) {
1901 var37 = 0;
1902 } else {
1903 var37 = var_tkwendnode14->type->type_table[cltype38] == idtype39;
1904 }
1905 }
1906 if (!var37) {
1907 fprintf(stderr, "Runtime error: %s", "Assert failed");
1908 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12568);
1909 exit(1);
1910 }
1911 var40 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1912 var41 = NULL;
1913 var42 = NULL;
1914 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var40->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var40, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var41, var42, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var40:AStdClassdef>*/;
1915 CHECK_NEW_parser_nodes__AStdClassdef(var40);
1916 var_pclassdefnode1 = var40;
1917 var_node_list = var_pclassdefnode1;
1918 var43 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction271> */
1919 var44 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var43) /* go_to on <var_p:Parser>*/;
1920 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var44, var_node_list) /* push on <var_p:Parser>*/;
1921 RET_LABEL:;
1922 }
1923 /* method parser#ReduceAction271#action for (self: Object, Parser) */
1924 void VIRTUAL_parser__ReduceAction271__action(val* self, val* p0) {
1925 parser__ReduceAction271__action(self, p0);
1926 RET_LABEL:;
1927 }
1928 /* method parser#ReduceAction273#action for (self: ReduceAction273, Parser) */
1929 void parser__ReduceAction273__action(val* self, val* p0) {
1930 val* var_p /* var p: Parser */;
1931 val* var /* : null */;
1932 val* var_node_list /* var node_list: nullable Object */;
1933 val* var1 /* : nullable Object */;
1934 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1935 val* var2 /* : nullable Object */;
1936 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1937 val* var3 /* : nullable Object */;
1938 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1939 val* var4 /* : nullable Object */;
1940 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1941 val* var5 /* : nullable Object */;
1942 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1943 val* var6 /* : nullable Object */;
1944 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1945 val* var7 /* : nullable Object */;
1946 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1947 val* var8 /* : nullable Object */;
1948 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1949 val* var9 /* : nullable Object */;
1950 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1951 val* var10 /* : nullable Object */;
1952 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1953 val* var11 /* : Array[Object] */;
1954 val* var_listnode8 /* var listnode8: Array[Object] */;
1955 val* var12 /* : Array[Object] */;
1956 val* var_listnode12 /* var listnode12: Array[Object] */;
1957 val* var13 /* : Array[Object] */;
1958 val* var_listnode14 /* var listnode14: Array[Object] */;
1959 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1960 short int var14 /* : Bool */;
1961 int cltype;
1962 int idtype;
1963 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1964 short int var15 /* : Bool */;
1965 int cltype16;
1966 int idtype17;
1967 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1968 short int var18 /* : Bool */;
1969 int cltype19;
1970 int idtype20;
1971 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1972 short int var21 /* : Bool */;
1973 int cltype22;
1974 int idtype23;
1975 val* var_listnode7 /* var listnode7: nullable Object */;
1976 short int var24 /* : Bool */;
1977 int cltype25;
1978 int idtype26;
1979 val* var27 /* : Array[Object] */;
1980 val* var_listnode11 /* var listnode11: nullable Object */;
1981 short int var28 /* : Bool */;
1982 int cltype29;
1983 int idtype30;
1984 val* var31 /* : Array[Object] */;
1985 val* var_listnode13 /* var listnode13: nullable Object */;
1986 short int var32 /* : Bool */;
1987 int cltype33;
1988 int idtype34;
1989 val* var35 /* : Array[Object] */;
1990 val* var_tkwendnode15 /* var tkwendnode15: nullable Object */;
1991 short int var36 /* : Bool */;
1992 int cltype37;
1993 int idtype38;
1994 val* var39 /* : AStdClassdef */;
1995 val* var40 /* : null */;
1996 val* var41 /* : null */;
1997 val* var42 /* : null */;
1998 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1999 long var43 /* : Int */;
2000 long var44 /* : Int */;
2001 var_p = p0;
2002 var = NULL;
2003 var_node_list = var;
2004 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2005 var_nodearraylist10 = var1;
2006 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2007 var_nodearraylist9 = var2;
2008 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2009 var_nodearraylist8 = var3;
2010 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2011 var_nodearraylist7 = var4;
2012 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2013 var_nodearraylist6 = var5;
2014 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2015 var_nodearraylist5 = var6;
2016 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2017 var_nodearraylist4 = var7;
2018 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2019 var_nodearraylist3 = var8;
2020 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2021 var_nodearraylist2 = var9;
2022 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2023 var_nodearraylist1 = var10;
2024 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
2025 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
2026 CHECK_NEW_array__Array(var11);
2027 var_listnode8 = var11;
2028 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
2029 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
2030 CHECK_NEW_array__Array(var12);
2031 var_listnode12 = var12;
2032 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
2033 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
2034 CHECK_NEW_array__Array(var13);
2035 var_listnode14 = var13;
2036 var_pdocnode2 = var_nodearraylist1;
2037 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2038 cltype = type_nullable_parser_nodes__ADoc.color;
2039 idtype = type_nullable_parser_nodes__ADoc.id;
2040 if(var_pdocnode2 == NULL) {
2041 var14 = 1;
2042 } else {
2043 if(cltype >= var_pdocnode2->type->table_size) {
2044 var14 = 0;
2045 } else {
2046 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
2047 }
2048 }
2049 if (!var14) {
2050 fprintf(stderr, "Runtime error: %s", "Assert failed");
2051 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12605);
2052 exit(1);
2053 }
2054 var_pvisibilitynode4 = var_nodearraylist2;
2055 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2056 cltype16 = type_nullable_parser_nodes__AVisibility.color;
2057 idtype17 = type_nullable_parser_nodes__AVisibility.id;
2058 if(var_pvisibilitynode4 == NULL) {
2059 var15 = 1;
2060 } else {
2061 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
2062 var15 = 0;
2063 } else {
2064 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
2065 }
2066 }
2067 if (!var15) {
2068 fprintf(stderr, "Runtime error: %s", "Assert failed");
2069 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12607);
2070 exit(1);
2071 }
2072 var_pclasskindnode5 = var_nodearraylist3;
2073 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2074 cltype19 = type_nullable_parser_nodes__AClasskind.color;
2075 idtype20 = type_nullable_parser_nodes__AClasskind.id;
2076 if(var_pclasskindnode5 == NULL) {
2077 var18 = 1;
2078 } else {
2079 if(cltype19 >= var_pclasskindnode5->type->table_size) {
2080 var18 = 0;
2081 } else {
2082 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
2083 }
2084 }
2085 if (!var18) {
2086 fprintf(stderr, "Runtime error: %s", "Assert failed");
2087 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12609);
2088 exit(1);
2089 }
2090 var_tclassidnode6 = var_nodearraylist5;
2091 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2092 cltype22 = type_nullable_parser_nodes__TClassid.color;
2093 idtype23 = type_nullable_parser_nodes__TClassid.id;
2094 if(var_tclassidnode6 == NULL) {
2095 var21 = 1;
2096 } else {
2097 if(cltype22 >= var_tclassidnode6->type->table_size) {
2098 var21 = 0;
2099 } else {
2100 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
2101 }
2102 }
2103 if (!var21) {
2104 fprintf(stderr, "Runtime error: %s", "Assert failed");
2105 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12611);
2106 exit(1);
2107 }
2108 var_listnode7 = var_nodearraylist6;
2109 /* <var_listnode7:nullable Object> isa Array[Object] */
2110 cltype25 = type_array__Arraykernel__Object.color;
2111 idtype26 = type_array__Arraykernel__Object.id;
2112 if(var_listnode7 == NULL) {
2113 var24 = 0;
2114 } else {
2115 if(cltype25 >= var_listnode7->type->table_size) {
2116 var24 = 0;
2117 } else {
2118 var24 = var_listnode7->type->type_table[cltype25] == idtype26;
2119 }
2120 }
2121 if (!var24) {
2122 fprintf(stderr, "Runtime error: %s", "Assert failed");
2123 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12613);
2124 exit(1);
2125 }
2126 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction273>*/;
2127 var_listnode8 = var27;
2128 var_listnode11 = var_nodearraylist7;
2129 /* <var_listnode11:nullable Object> isa Array[Object] */
2130 cltype29 = type_array__Arraykernel__Object.color;
2131 idtype30 = type_array__Arraykernel__Object.id;
2132 if(var_listnode11 == NULL) {
2133 var28 = 0;
2134 } else {
2135 if(cltype29 >= var_listnode11->type->table_size) {
2136 var28 = 0;
2137 } else {
2138 var28 = var_listnode11->type->type_table[cltype29] == idtype30;
2139 }
2140 }
2141 if (!var28) {
2142 fprintf(stderr, "Runtime error: %s", "Assert failed");
2143 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12616);
2144 exit(1);
2145 }
2146 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction273>*/;
2147 var_listnode12 = var31;
2148 var_listnode13 = var_nodearraylist8;
2149 /* <var_listnode13:nullable Object> isa Array[Object] */
2150 cltype33 = type_array__Arraykernel__Object.color;
2151 idtype34 = type_array__Arraykernel__Object.id;
2152 if(var_listnode13 == NULL) {
2153 var32 = 0;
2154 } else {
2155 if(cltype33 >= var_listnode13->type->table_size) {
2156 var32 = 0;
2157 } else {
2158 var32 = var_listnode13->type->type_table[cltype33] == idtype34;
2159 }
2160 }
2161 if (!var32) {
2162 fprintf(stderr, "Runtime error: %s", "Assert failed");
2163 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12619);
2164 exit(1);
2165 }
2166 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode14, var_listnode13) /* concat on <self:ReduceAction273>*/;
2167 var_listnode14 = var35;
2168 var_tkwendnode15 = var_nodearraylist10;
2169 /* <var_tkwendnode15:nullable Object> isa nullable TKwend */
2170 cltype37 = type_nullable_parser_nodes__TKwend.color;
2171 idtype38 = type_nullable_parser_nodes__TKwend.id;
2172 if(var_tkwendnode15 == NULL) {
2173 var36 = 1;
2174 } else {
2175 if(cltype37 >= var_tkwendnode15->type->table_size) {
2176 var36 = 0;
2177 } else {
2178 var36 = var_tkwendnode15->type->type_table[cltype37] == idtype38;
2179 }
2180 }
2181 if (!var36) {
2182 fprintf(stderr, "Runtime error: %s", "Assert failed");
2183 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12622);
2184 exit(1);
2185 }
2186 var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2187 var40 = NULL;
2188 var41 = NULL;
2189 var42 = NULL;
2190 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var39->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var39, var_pdocnode2, var40, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var41, var42, var_listnode12, var_listnode14, var_tkwendnode15) /* init_astdclassdef on <var39:AStdClassdef>*/;
2191 CHECK_NEW_parser_nodes__AStdClassdef(var39);
2192 var_pclassdefnode1 = var39;
2193 var_node_list = var_pclassdefnode1;
2194 var43 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction273> */
2195 var44 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var43) /* go_to on <var_p:Parser>*/;
2196 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var44, var_node_list) /* push on <var_p:Parser>*/;
2197 RET_LABEL:;
2198 }
2199 /* method parser#ReduceAction273#action for (self: Object, Parser) */
2200 void VIRTUAL_parser__ReduceAction273__action(val* self, val* p0) {
2201 parser__ReduceAction273__action(self, p0);
2202 RET_LABEL:;
2203 }
2204 /* method parser#ReduceAction274#action for (self: ReduceAction274, Parser) */
2205 void parser__ReduceAction274__action(val* self, val* p0) {
2206 val* var_p /* var p: Parser */;
2207 val* var /* : null */;
2208 val* var_node_list /* var node_list: nullable Object */;
2209 val* var1 /* : nullable Object */;
2210 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
2211 val* var2 /* : nullable Object */;
2212 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2213 val* var3 /* : nullable Object */;
2214 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2215 val* var4 /* : nullable Object */;
2216 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2217 val* var5 /* : nullable Object */;
2218 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2219 val* var6 /* : nullable Object */;
2220 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2221 val* var7 /* : nullable Object */;
2222 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2223 val* var8 /* : nullable Object */;
2224 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2225 val* var9 /* : nullable Object */;
2226 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2227 val* var10 /* : nullable Object */;
2228 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2229 val* var11 /* : nullable Object */;
2230 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2231 val* var12 /* : Array[Object] */;
2232 val* var_listnode8 /* var listnode8: Array[Object] */;
2233 val* var13 /* : Array[Object] */;
2234 val* var_listnode12 /* var listnode12: Array[Object] */;
2235 val* var14 /* : Array[Object] */;
2236 val* var_listnode14 /* var listnode14: Array[Object] */;
2237 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2238 short int var15 /* : Bool */;
2239 int cltype;
2240 int idtype;
2241 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
2242 short int var16 /* : Bool */;
2243 int cltype17;
2244 int idtype18;
2245 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2246 short int var19 /* : Bool */;
2247 int cltype20;
2248 int idtype21;
2249 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2250 short int var22 /* : Bool */;
2251 int cltype23;
2252 int idtype24;
2253 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2254 short int var25 /* : Bool */;
2255 int cltype26;
2256 int idtype27;
2257 val* var_listnode7 /* var listnode7: nullable Object */;
2258 short int var28 /* : Bool */;
2259 int cltype29;
2260 int idtype30;
2261 val* var31 /* : Array[Object] */;
2262 val* var_listnode11 /* var listnode11: nullable Object */;
2263 short int var32 /* : Bool */;
2264 int cltype33;
2265 int idtype34;
2266 val* var35 /* : Array[Object] */;
2267 val* var_listnode13 /* var listnode13: nullable Object */;
2268 short int var36 /* : Bool */;
2269 int cltype37;
2270 int idtype38;
2271 val* var39 /* : Array[Object] */;
2272 val* var_tkwendnode15 /* var tkwendnode15: nullable Object */;
2273 short int var40 /* : Bool */;
2274 int cltype41;
2275 int idtype42;
2276 val* var43 /* : AStdClassdef */;
2277 val* var44 /* : null */;
2278 val* var45 /* : null */;
2279 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2280 long var46 /* : Int */;
2281 long var47 /* : Int */;
2282 var_p = p0;
2283 var = NULL;
2284 var_node_list = var;
2285 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2286 var_nodearraylist11 = var1;
2287 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2288 var_nodearraylist10 = var2;
2289 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2290 var_nodearraylist9 = var3;
2291 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2292 var_nodearraylist8 = var4;
2293 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2294 var_nodearraylist7 = var5;
2295 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2296 var_nodearraylist6 = var6;
2297 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2298 var_nodearraylist5 = var7;
2299 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2300 var_nodearraylist4 = var8;
2301 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2302 var_nodearraylist3 = var9;
2303 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2304 var_nodearraylist2 = var10;
2305 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2306 var_nodearraylist1 = var11;
2307 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
2308 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
2309 CHECK_NEW_array__Array(var12);
2310 var_listnode8 = var12;
2311 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
2312 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
2313 CHECK_NEW_array__Array(var13);
2314 var_listnode12 = var13;
2315 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
2316 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
2317 CHECK_NEW_array__Array(var14);
2318 var_listnode14 = var14;
2319 var_pdocnode2 = var_nodearraylist1;
2320 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2321 cltype = type_nullable_parser_nodes__ADoc.color;
2322 idtype = type_nullable_parser_nodes__ADoc.id;
2323 if(var_pdocnode2 == NULL) {
2324 var15 = 1;
2325 } else {
2326 if(cltype >= var_pdocnode2->type->table_size) {
2327 var15 = 0;
2328 } else {
2329 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
2330 }
2331 }
2332 if (!var15) {
2333 fprintf(stderr, "Runtime error: %s", "Assert failed");
2334 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12660);
2335 exit(1);
2336 }
2337 var_tkwredefnode3 = var_nodearraylist2;
2338 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2339 cltype17 = type_nullable_parser_nodes__TKwredef.color;
2340 idtype18 = type_nullable_parser_nodes__TKwredef.id;
2341 if(var_tkwredefnode3 == NULL) {
2342 var16 = 1;
2343 } else {
2344 if(cltype17 >= var_tkwredefnode3->type->table_size) {
2345 var16 = 0;
2346 } else {
2347 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
2348 }
2349 }
2350 if (!var16) {
2351 fprintf(stderr, "Runtime error: %s", "Assert failed");
2352 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12662);
2353 exit(1);
2354 }
2355 var_pvisibilitynode4 = var_nodearraylist3;
2356 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2357 cltype20 = type_nullable_parser_nodes__AVisibility.color;
2358 idtype21 = type_nullable_parser_nodes__AVisibility.id;
2359 if(var_pvisibilitynode4 == NULL) {
2360 var19 = 1;
2361 } else {
2362 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
2363 var19 = 0;
2364 } else {
2365 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
2366 }
2367 }
2368 if (!var19) {
2369 fprintf(stderr, "Runtime error: %s", "Assert failed");
2370 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12664);
2371 exit(1);
2372 }
2373 var_pclasskindnode5 = var_nodearraylist4;
2374 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2375 cltype23 = type_nullable_parser_nodes__AClasskind.color;
2376 idtype24 = type_nullable_parser_nodes__AClasskind.id;
2377 if(var_pclasskindnode5 == NULL) {
2378 var22 = 1;
2379 } else {
2380 if(cltype23 >= var_pclasskindnode5->type->table_size) {
2381 var22 = 0;
2382 } else {
2383 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
2384 }
2385 }
2386 if (!var22) {
2387 fprintf(stderr, "Runtime error: %s", "Assert failed");
2388 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12666);
2389 exit(1);
2390 }
2391 var_tclassidnode6 = var_nodearraylist6;
2392 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2393 cltype26 = type_nullable_parser_nodes__TClassid.color;
2394 idtype27 = type_nullable_parser_nodes__TClassid.id;
2395 if(var_tclassidnode6 == NULL) {
2396 var25 = 1;
2397 } else {
2398 if(cltype26 >= var_tclassidnode6->type->table_size) {
2399 var25 = 0;
2400 } else {
2401 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
2402 }
2403 }
2404 if (!var25) {
2405 fprintf(stderr, "Runtime error: %s", "Assert failed");
2406 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12668);
2407 exit(1);
2408 }
2409 var_listnode7 = var_nodearraylist7;
2410 /* <var_listnode7:nullable Object> isa Array[Object] */
2411 cltype29 = type_array__Arraykernel__Object.color;
2412 idtype30 = type_array__Arraykernel__Object.id;
2413 if(var_listnode7 == NULL) {
2414 var28 = 0;
2415 } else {
2416 if(cltype29 >= var_listnode7->type->table_size) {
2417 var28 = 0;
2418 } else {
2419 var28 = var_listnode7->type->type_table[cltype29] == idtype30;
2420 }
2421 }
2422 if (!var28) {
2423 fprintf(stderr, "Runtime error: %s", "Assert failed");
2424 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12670);
2425 exit(1);
2426 }
2427 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction274>*/;
2428 var_listnode8 = var31;
2429 var_listnode11 = var_nodearraylist8;
2430 /* <var_listnode11:nullable Object> isa Array[Object] */
2431 cltype33 = type_array__Arraykernel__Object.color;
2432 idtype34 = type_array__Arraykernel__Object.id;
2433 if(var_listnode11 == NULL) {
2434 var32 = 0;
2435 } else {
2436 if(cltype33 >= var_listnode11->type->table_size) {
2437 var32 = 0;
2438 } else {
2439 var32 = var_listnode11->type->type_table[cltype33] == idtype34;
2440 }
2441 }
2442 if (!var32) {
2443 fprintf(stderr, "Runtime error: %s", "Assert failed");
2444 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12673);
2445 exit(1);
2446 }
2447 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction274>*/;
2448 var_listnode12 = var35;
2449 var_listnode13 = var_nodearraylist9;
2450 /* <var_listnode13:nullable Object> isa Array[Object] */
2451 cltype37 = type_array__Arraykernel__Object.color;
2452 idtype38 = type_array__Arraykernel__Object.id;
2453 if(var_listnode13 == NULL) {
2454 var36 = 0;
2455 } else {
2456 if(cltype37 >= var_listnode13->type->table_size) {
2457 var36 = 0;
2458 } else {
2459 var36 = var_listnode13->type->type_table[cltype37] == idtype38;
2460 }
2461 }
2462 if (!var36) {
2463 fprintf(stderr, "Runtime error: %s", "Assert failed");
2464 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12676);
2465 exit(1);
2466 }
2467 var39 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode14, var_listnode13) /* concat on <self:ReduceAction274>*/;
2468 var_listnode14 = var39;
2469 var_tkwendnode15 = var_nodearraylist11;
2470 /* <var_tkwendnode15:nullable Object> isa nullable TKwend */
2471 cltype41 = type_nullable_parser_nodes__TKwend.color;
2472 idtype42 = type_nullable_parser_nodes__TKwend.id;
2473 if(var_tkwendnode15 == NULL) {
2474 var40 = 1;
2475 } else {
2476 if(cltype41 >= var_tkwendnode15->type->table_size) {
2477 var40 = 0;
2478 } else {
2479 var40 = var_tkwendnode15->type->type_table[cltype41] == idtype42;
2480 }
2481 }
2482 if (!var40) {
2483 fprintf(stderr, "Runtime error: %s", "Assert failed");
2484 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12679);
2485 exit(1);
2486 }
2487 var43 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2488 var44 = NULL;
2489 var45 = NULL;
2490 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var43->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var43, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var44, var45, var_listnode12, var_listnode14, var_tkwendnode15) /* init_astdclassdef on <var43:AStdClassdef>*/;
2491 CHECK_NEW_parser_nodes__AStdClassdef(var43);
2492 var_pclassdefnode1 = var43;
2493 var_node_list = var_pclassdefnode1;
2494 var46 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction274> */
2495 var47 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var46) /* go_to on <var_p:Parser>*/;
2496 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var47, var_node_list) /* push on <var_p:Parser>*/;
2497 RET_LABEL:;
2498 }
2499 /* method parser#ReduceAction274#action for (self: Object, Parser) */
2500 void VIRTUAL_parser__ReduceAction274__action(val* self, val* p0) {
2501 parser__ReduceAction274__action(self, p0);
2502 RET_LABEL:;
2503 }
2504 /* method parser#ReduceAction275#action for (self: ReduceAction275, Parser) */
2505 void parser__ReduceAction275__action(val* self, val* p0) {
2506 val* var_p /* var p: Parser */;
2507 val* var /* : null */;
2508 val* var_node_list /* var node_list: nullable Object */;
2509 val* var1 /* : nullable Object */;
2510 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
2511 val* var2 /* : nullable Object */;
2512 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2513 val* var3 /* : nullable Object */;
2514 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2515 val* var4 /* : nullable Object */;
2516 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2517 val* var5 /* : nullable Object */;
2518 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2519 val* var6 /* : nullable Object */;
2520 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2521 val* var7 /* : nullable Object */;
2522 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2523 val* var8 /* : nullable Object */;
2524 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2525 val* var9 /* : nullable Object */;
2526 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2527 val* var10 /* : nullable Object */;
2528 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2529 val* var11 /* : nullable Object */;
2530 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2531 val* var12 /* : Array[Object] */;
2532 val* var_listnode8 /* var listnode8: Array[Object] */;
2533 val* var13 /* : Array[Object] */;
2534 val* var_listnode12 /* var listnode12: Array[Object] */;
2535 val* var14 /* : Array[Object] */;
2536 val* var_listnode14 /* var listnode14: Array[Object] */;
2537 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2538 short int var15 /* : Bool */;
2539 int cltype;
2540 int idtype;
2541 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2542 short int var16 /* : Bool */;
2543 int cltype17;
2544 int idtype18;
2545 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2546 short int var19 /* : Bool */;
2547 int cltype20;
2548 int idtype21;
2549 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2550 short int var22 /* : Bool */;
2551 int cltype23;
2552 int idtype24;
2553 val* var_listnode7 /* var listnode7: nullable Object */;
2554 short int var25 /* : Bool */;
2555 int cltype26;
2556 int idtype27;
2557 val* var28 /* : Array[Object] */;
2558 val* var_listnode11 /* var listnode11: nullable Object */;
2559 short int var29 /* : Bool */;
2560 int cltype30;
2561 int idtype31;
2562 val* var32 /* : Array[Object] */;
2563 val* var_listnode13 /* var listnode13: nullable Object */;
2564 short int var33 /* : Bool */;
2565 int cltype34;
2566 int idtype35;
2567 val* var36 /* : Array[Object] */;
2568 val* var_tkwendnode15 /* var tkwendnode15: nullable Object */;
2569 short int var37 /* : Bool */;
2570 int cltype38;
2571 int idtype39;
2572 val* var40 /* : AStdClassdef */;
2573 val* var41 /* : null */;
2574 val* var42 /* : null */;
2575 val* var43 /* : null */;
2576 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2577 long var44 /* : Int */;
2578 long var45 /* : Int */;
2579 var_p = p0;
2580 var = NULL;
2581 var_node_list = var;
2582 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2583 var_nodearraylist11 = var1;
2584 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2585 var_nodearraylist10 = var2;
2586 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2587 var_nodearraylist9 = var3;
2588 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2589 var_nodearraylist8 = var4;
2590 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2591 var_nodearraylist7 = var5;
2592 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2593 var_nodearraylist6 = var6;
2594 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2595 var_nodearraylist5 = var7;
2596 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2597 var_nodearraylist4 = var8;
2598 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2599 var_nodearraylist3 = var9;
2600 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2601 var_nodearraylist2 = var10;
2602 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2603 var_nodearraylist1 = var11;
2604 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
2605 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
2606 CHECK_NEW_array__Array(var12);
2607 var_listnode8 = var12;
2608 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
2609 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
2610 CHECK_NEW_array__Array(var13);
2611 var_listnode12 = var13;
2612 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
2613 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
2614 CHECK_NEW_array__Array(var14);
2615 var_listnode14 = var14;
2616 var_pdocnode2 = var_nodearraylist1;
2617 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2618 cltype = type_nullable_parser_nodes__ADoc.color;
2619 idtype = type_nullable_parser_nodes__ADoc.id;
2620 if(var_pdocnode2 == NULL) {
2621 var15 = 1;
2622 } else {
2623 if(cltype >= var_pdocnode2->type->table_size) {
2624 var15 = 0;
2625 } else {
2626 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
2627 }
2628 }
2629 if (!var15) {
2630 fprintf(stderr, "Runtime error: %s", "Assert failed");
2631 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12717);
2632 exit(1);
2633 }
2634 var_pvisibilitynode4 = var_nodearraylist2;
2635 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2636 cltype17 = type_nullable_parser_nodes__AVisibility.color;
2637 idtype18 = type_nullable_parser_nodes__AVisibility.id;
2638 if(var_pvisibilitynode4 == NULL) {
2639 var16 = 1;
2640 } else {
2641 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
2642 var16 = 0;
2643 } else {
2644 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
2645 }
2646 }
2647 if (!var16) {
2648 fprintf(stderr, "Runtime error: %s", "Assert failed");
2649 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12719);
2650 exit(1);
2651 }
2652 var_pclasskindnode5 = var_nodearraylist3;
2653 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2654 cltype20 = type_nullable_parser_nodes__AClasskind.color;
2655 idtype21 = type_nullable_parser_nodes__AClasskind.id;
2656 if(var_pclasskindnode5 == NULL) {
2657 var19 = 1;
2658 } else {
2659 if(cltype20 >= var_pclasskindnode5->type->table_size) {
2660 var19 = 0;
2661 } else {
2662 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
2663 }
2664 }
2665 if (!var19) {
2666 fprintf(stderr, "Runtime error: %s", "Assert failed");
2667 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12721);
2668 exit(1);
2669 }
2670 var_tclassidnode6 = var_nodearraylist6;
2671 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2672 cltype23 = type_nullable_parser_nodes__TClassid.color;
2673 idtype24 = type_nullable_parser_nodes__TClassid.id;
2674 if(var_tclassidnode6 == NULL) {
2675 var22 = 1;
2676 } else {
2677 if(cltype23 >= var_tclassidnode6->type->table_size) {
2678 var22 = 0;
2679 } else {
2680 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
2681 }
2682 }
2683 if (!var22) {
2684 fprintf(stderr, "Runtime error: %s", "Assert failed");
2685 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12723);
2686 exit(1);
2687 }
2688 var_listnode7 = var_nodearraylist7;
2689 /* <var_listnode7:nullable Object> isa Array[Object] */
2690 cltype26 = type_array__Arraykernel__Object.color;
2691 idtype27 = type_array__Arraykernel__Object.id;
2692 if(var_listnode7 == NULL) {
2693 var25 = 0;
2694 } else {
2695 if(cltype26 >= var_listnode7->type->table_size) {
2696 var25 = 0;
2697 } else {
2698 var25 = var_listnode7->type->type_table[cltype26] == idtype27;
2699 }
2700 }
2701 if (!var25) {
2702 fprintf(stderr, "Runtime error: %s", "Assert failed");
2703 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12725);
2704 exit(1);
2705 }
2706 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction275>*/;
2707 var_listnode8 = var28;
2708 var_listnode11 = var_nodearraylist8;
2709 /* <var_listnode11:nullable Object> isa Array[Object] */
2710 cltype30 = type_array__Arraykernel__Object.color;
2711 idtype31 = type_array__Arraykernel__Object.id;
2712 if(var_listnode11 == NULL) {
2713 var29 = 0;
2714 } else {
2715 if(cltype30 >= var_listnode11->type->table_size) {
2716 var29 = 0;
2717 } else {
2718 var29 = var_listnode11->type->type_table[cltype30] == idtype31;
2719 }
2720 }
2721 if (!var29) {
2722 fprintf(stderr, "Runtime error: %s", "Assert failed");
2723 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12728);
2724 exit(1);
2725 }
2726 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction275>*/;
2727 var_listnode12 = var32;
2728 var_listnode13 = var_nodearraylist9;
2729 /* <var_listnode13:nullable Object> isa Array[Object] */
2730 cltype34 = type_array__Arraykernel__Object.color;
2731 idtype35 = type_array__Arraykernel__Object.id;
2732 if(var_listnode13 == NULL) {
2733 var33 = 0;
2734 } else {
2735 if(cltype34 >= var_listnode13->type->table_size) {
2736 var33 = 0;
2737 } else {
2738 var33 = var_listnode13->type->type_table[cltype34] == idtype35;
2739 }
2740 }
2741 if (!var33) {
2742 fprintf(stderr, "Runtime error: %s", "Assert failed");
2743 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12731);
2744 exit(1);
2745 }
2746 var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode14, var_listnode13) /* concat on <self:ReduceAction275>*/;
2747 var_listnode14 = var36;
2748 var_tkwendnode15 = var_nodearraylist11;
2749 /* <var_tkwendnode15:nullable Object> isa nullable TKwend */
2750 cltype38 = type_nullable_parser_nodes__TKwend.color;
2751 idtype39 = type_nullable_parser_nodes__TKwend.id;
2752 if(var_tkwendnode15 == NULL) {
2753 var37 = 1;
2754 } else {
2755 if(cltype38 >= var_tkwendnode15->type->table_size) {
2756 var37 = 0;
2757 } else {
2758 var37 = var_tkwendnode15->type->type_table[cltype38] == idtype39;
2759 }
2760 }
2761 if (!var37) {
2762 fprintf(stderr, "Runtime error: %s", "Assert failed");
2763 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12734);
2764 exit(1);
2765 }
2766 var40 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2767 var41 = NULL;
2768 var42 = NULL;
2769 var43 = NULL;
2770 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var40->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var40, var_pdocnode2, var41, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var42, var43, var_listnode12, var_listnode14, var_tkwendnode15) /* init_astdclassdef on <var40:AStdClassdef>*/;
2771 CHECK_NEW_parser_nodes__AStdClassdef(var40);
2772 var_pclassdefnode1 = var40;
2773 var_node_list = var_pclassdefnode1;
2774 var44 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction275> */
2775 var45 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var44) /* go_to on <var_p:Parser>*/;
2776 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var45, var_node_list) /* push on <var_p:Parser>*/;
2777 RET_LABEL:;
2778 }
2779 /* method parser#ReduceAction275#action for (self: Object, Parser) */
2780 void VIRTUAL_parser__ReduceAction275__action(val* self, val* p0) {
2781 parser__ReduceAction275__action(self, p0);
2782 RET_LABEL:;
2783 }
2784 /* method parser#ReduceAction276#action for (self: ReduceAction276, Parser) */
2785 void parser__ReduceAction276__action(val* self, val* p0) {
2786 val* var_p /* var p: Parser */;
2787 val* var /* : null */;
2788 val* var_node_list /* var node_list: nullable Object */;
2789 val* var1 /* : nullable Object */;
2790 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
2791 val* var2 /* : nullable Object */;
2792 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
2793 val* var3 /* : nullable Object */;
2794 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2795 val* var4 /* : nullable Object */;
2796 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2797 val* var5 /* : nullable Object */;
2798 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2799 val* var6 /* : nullable Object */;
2800 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2801 val* var7 /* : nullable Object */;
2802 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2803 val* var8 /* : nullable Object */;
2804 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2805 val* var9 /* : nullable Object */;
2806 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2807 val* var10 /* : nullable Object */;
2808 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2809 val* var11 /* : nullable Object */;
2810 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2811 val* var12 /* : nullable Object */;
2812 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2813 val* var13 /* : Array[Object] */;
2814 val* var_listnode8 /* var listnode8: Array[Object] */;
2815 val* var14 /* : Array[Object] */;
2816 val* var_listnode12 /* var listnode12: Array[Object] */;
2817 val* var15 /* : Array[Object] */;
2818 val* var_listnode14 /* var listnode14: Array[Object] */;
2819 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2820 short int var16 /* : Bool */;
2821 int cltype;
2822 int idtype;
2823 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2824 short int var17 /* : Bool */;
2825 int cltype18;
2826 int idtype19;
2827 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2828 short int var20 /* : Bool */;
2829 int cltype21;
2830 int idtype22;
2831 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2832 short int var23 /* : Bool */;
2833 int cltype24;
2834 int idtype25;
2835 val* var_listnode7 /* var listnode7: nullable Object */;
2836 short int var26 /* : Bool */;
2837 int cltype27;
2838 int idtype28;
2839 val* var29 /* : Array[Object] */;
2840 val* var_listnode11 /* var listnode11: nullable Object */;
2841 short int var30 /* : Bool */;
2842 int cltype31;
2843 int idtype32;
2844 val* var33 /* : Array[Object] */;
2845 val* var_listnode13 /* var listnode13: nullable Object */;
2846 short int var34 /* : Bool */;
2847 int cltype35;
2848 int idtype36;
2849 val* var37 /* : Array[Object] */;
2850 val* var_tkwendnode15 /* var tkwendnode15: nullable Object */;
2851 short int var38 /* : Bool */;
2852 int cltype39;
2853 int idtype40;
2854 val* var41 /* : AStdClassdef */;
2855 val* var42 /* : null */;
2856 val* var43 /* : null */;
2857 val* var44 /* : null */;
2858 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2859 long var45 /* : Int */;
2860 long var46 /* : Int */;
2861 var_p = p0;
2862 var = NULL;
2863 var_node_list = var;
2864 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2865 var_nodearraylist12 = var1;
2866 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2867 var_nodearraylist11 = var2;
2868 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2869 var_nodearraylist10 = var3;
2870 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2871 var_nodearraylist9 = var4;
2872 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2873 var_nodearraylist8 = var5;
2874 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2875 var_nodearraylist7 = var6;
2876 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2877 var_nodearraylist6 = var7;
2878 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2879 var_nodearraylist5 = var8;
2880 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2881 var_nodearraylist4 = var9;
2882 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2883 var_nodearraylist3 = var10;
2884 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2885 var_nodearraylist2 = var11;
2886 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2887 var_nodearraylist1 = var12;
2888 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
2889 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
2890 CHECK_NEW_array__Array(var13);
2891 var_listnode8 = var13;
2892 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
2893 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
2894 CHECK_NEW_array__Array(var14);
2895 var_listnode12 = var14;
2896 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
2897 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
2898 CHECK_NEW_array__Array(var15);
2899 var_listnode14 = var15;
2900 var_pdocnode2 = var_nodearraylist1;
2901 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2902 cltype = type_nullable_parser_nodes__ADoc.color;
2903 idtype = type_nullable_parser_nodes__ADoc.id;
2904 if(var_pdocnode2 == NULL) {
2905 var16 = 1;
2906 } else {
2907 if(cltype >= var_pdocnode2->type->table_size) {
2908 var16 = 0;
2909 } else {
2910 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
2911 }
2912 }
2913 if (!var16) {
2914 fprintf(stderr, "Runtime error: %s", "Assert failed");
2915 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12773);
2916 exit(1);
2917 }
2918 var_pvisibilitynode4 = var_nodearraylist2;
2919 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2920 cltype18 = type_nullable_parser_nodes__AVisibility.color;
2921 idtype19 = type_nullable_parser_nodes__AVisibility.id;
2922 if(var_pvisibilitynode4 == NULL) {
2923 var17 = 1;
2924 } else {
2925 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
2926 var17 = 0;
2927 } else {
2928 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
2929 }
2930 }
2931 if (!var17) {
2932 fprintf(stderr, "Runtime error: %s", "Assert failed");
2933 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12775);
2934 exit(1);
2935 }
2936 var_pclasskindnode5 = var_nodearraylist3;
2937 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2938 cltype21 = type_nullable_parser_nodes__AClasskind.color;
2939 idtype22 = type_nullable_parser_nodes__AClasskind.id;
2940 if(var_pclasskindnode5 == NULL) {
2941 var20 = 1;
2942 } else {
2943 if(cltype21 >= var_pclasskindnode5->type->table_size) {
2944 var20 = 0;
2945 } else {
2946 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
2947 }
2948 }
2949 if (!var20) {
2950 fprintf(stderr, "Runtime error: %s", "Assert failed");
2951 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12777);
2952 exit(1);
2953 }
2954 var_tclassidnode6 = var_nodearraylist7;
2955 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2956 cltype24 = type_nullable_parser_nodes__TClassid.color;
2957 idtype25 = type_nullable_parser_nodes__TClassid.id;
2958 if(var_tclassidnode6 == NULL) {
2959 var23 = 1;
2960 } else {
2961 if(cltype24 >= var_tclassidnode6->type->table_size) {
2962 var23 = 0;
2963 } else {
2964 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
2965 }
2966 }
2967 if (!var23) {
2968 fprintf(stderr, "Runtime error: %s", "Assert failed");
2969 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12779);
2970 exit(1);
2971 }
2972 var_listnode7 = var_nodearraylist8;
2973 /* <var_listnode7:nullable Object> isa Array[Object] */
2974 cltype27 = type_array__Arraykernel__Object.color;
2975 idtype28 = type_array__Arraykernel__Object.id;
2976 if(var_listnode7 == NULL) {
2977 var26 = 0;
2978 } else {
2979 if(cltype27 >= var_listnode7->type->table_size) {
2980 var26 = 0;
2981 } else {
2982 var26 = var_listnode7->type->type_table[cltype27] == idtype28;
2983 }
2984 }
2985 if (!var26) {
2986 fprintf(stderr, "Runtime error: %s", "Assert failed");
2987 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12781);
2988 exit(1);
2989 }
2990 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction276>*/;
2991 var_listnode8 = var29;
2992 var_listnode11 = var_nodearraylist9;
2993 /* <var_listnode11:nullable Object> isa Array[Object] */
2994 cltype31 = type_array__Arraykernel__Object.color;
2995 idtype32 = type_array__Arraykernel__Object.id;
2996 if(var_listnode11 == NULL) {
2997 var30 = 0;
2998 } else {
2999 if(cltype31 >= var_listnode11->type->table_size) {
3000 var30 = 0;
3001 } else {
3002 var30 = var_listnode11->type->type_table[cltype31] == idtype32;
3003 }
3004 }
3005 if (!var30) {
3006 fprintf(stderr, "Runtime error: %s", "Assert failed");
3007 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12784);
3008 exit(1);
3009 }
3010 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction276>*/;
3011 var_listnode12 = var33;
3012 var_listnode13 = var_nodearraylist10;
3013 /* <var_listnode13:nullable Object> isa Array[Object] */
3014 cltype35 = type_array__Arraykernel__Object.color;
3015 idtype36 = type_array__Arraykernel__Object.id;
3016 if(var_listnode13 == NULL) {
3017 var34 = 0;
3018 } else {
3019 if(cltype35 >= var_listnode13->type->table_size) {
3020 var34 = 0;
3021 } else {
3022 var34 = var_listnode13->type->type_table[cltype35] == idtype36;
3023 }
3024 }
3025 if (!var34) {
3026 fprintf(stderr, "Runtime error: %s", "Assert failed");
3027 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12787);
3028 exit(1);
3029 }
3030 var37 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode14, var_listnode13) /* concat on <self:ReduceAction276>*/;
3031 var_listnode14 = var37;
3032 var_tkwendnode15 = var_nodearraylist12;
3033 /* <var_tkwendnode15:nullable Object> isa nullable TKwend */
3034 cltype39 = type_nullable_parser_nodes__TKwend.color;
3035 idtype40 = type_nullable_parser_nodes__TKwend.id;
3036 if(var_tkwendnode15 == NULL) {
3037 var38 = 1;
3038 } else {
3039 if(cltype39 >= var_tkwendnode15->type->table_size) {
3040 var38 = 0;
3041 } else {
3042 var38 = var_tkwendnode15->type->type_table[cltype39] == idtype40;
3043 }
3044 }
3045 if (!var38) {
3046 fprintf(stderr, "Runtime error: %s", "Assert failed");
3047 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12790);
3048 exit(1);
3049 }
3050 var41 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3051 var42 = NULL;
3052 var43 = NULL;
3053 var44 = NULL;
3054 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var41->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var41, var_pdocnode2, var42, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var43, var44, var_listnode12, var_listnode14, var_tkwendnode15) /* init_astdclassdef on <var41:AStdClassdef>*/;
3055 CHECK_NEW_parser_nodes__AStdClassdef(var41);
3056 var_pclassdefnode1 = var41;
3057 var_node_list = var_pclassdefnode1;
3058 var45 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction276> */
3059 var46 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var45) /* go_to on <var_p:Parser>*/;
3060 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var46, var_node_list) /* push on <var_p:Parser>*/;
3061 RET_LABEL:;
3062 }
3063 /* method parser#ReduceAction276#action for (self: Object, Parser) */
3064 void VIRTUAL_parser__ReduceAction276__action(val* self, val* p0) {
3065 parser__ReduceAction276__action(self, p0);
3066 RET_LABEL:;
3067 }
3068 /* method parser#ReduceAction278#action for (self: ReduceAction278, Parser) */
3069 void parser__ReduceAction278__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_listnode8 /* var listnode8: Array[Object] */;
3099 val* var14 /* : Array[Object] */;
3100 val* var_listnode12 /* var listnode12: Array[Object] */;
3101 val* var15 /* : Array[Object] */;
3102 val* var_listnode14 /* var listnode14: 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_listnode7 /* var listnode7: nullable Object */;
3124 short int var29 /* : Bool */;
3125 int cltype30;
3126 int idtype31;
3127 val* var32 /* : Array[Object] */;
3128 val* var_listnode11 /* var listnode11: nullable Object */;
3129 short int var33 /* : Bool */;
3130 int cltype34;
3131 int idtype35;
3132 val* var36 /* : Array[Object] */;
3133 val* var_listnode13 /* var listnode13: nullable Object */;
3134 short int var37 /* : Bool */;
3135 int cltype38;
3136 int idtype39;
3137 val* var40 /* : Array[Object] */;
3138 val* var_tkwendnode15 /* var tkwendnode15: nullable Object */;
3139 short int var41 /* : Bool */;
3140 int cltype42;
3141 int idtype43;
3142 val* var44 /* : AStdClassdef */;
3143 val* var45 /* : null */;
3144 val* var46 /* : null */;
3145 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3146 long var47 /* : Int */;
3147 long var48 /* : Int */;
3148 var_p = p0;
3149 var = NULL;
3150 var_node_list = var;
3151 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3152 var_nodearraylist12 = var1;
3153 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3154 var_nodearraylist11 = var2;
3155 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3156 var_nodearraylist10 = var3;
3157 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3158 var_nodearraylist9 = var4;
3159 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3160 var_nodearraylist8 = var5;
3161 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3162 var_nodearraylist7 = var6;
3163 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3164 var_nodearraylist6 = var7;
3165 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3166 var_nodearraylist5 = var8;
3167 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3168 var_nodearraylist4 = var9;
3169 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3170 var_nodearraylist3 = var10;
3171 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3172 var_nodearraylist2 = var11;
3173 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3174 var_nodearraylist1 = var12;
3175 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
3176 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
3177 CHECK_NEW_array__Array(var13);
3178 var_listnode8 = var13;
3179 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
3180 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
3181 CHECK_NEW_array__Array(var14);
3182 var_listnode12 = var14;
3183 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
3184 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
3185 CHECK_NEW_array__Array(var15);
3186 var_listnode14 = var15;
3187 var_pdocnode2 = var_nodearraylist1;
3188 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3189 cltype = type_nullable_parser_nodes__ADoc.color;
3190 idtype = type_nullable_parser_nodes__ADoc.id;
3191 if(var_pdocnode2 == NULL) {
3192 var16 = 1;
3193 } else {
3194 if(cltype >= var_pdocnode2->type->table_size) {
3195 var16 = 0;
3196 } else {
3197 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
3198 }
3199 }
3200 if (!var16) {
3201 fprintf(stderr, "Runtime error: %s", "Assert failed");
3202 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12829);
3203 exit(1);
3204 }
3205 var_tkwredefnode3 = var_nodearraylist2;
3206 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3207 cltype18 = type_nullable_parser_nodes__TKwredef.color;
3208 idtype19 = type_nullable_parser_nodes__TKwredef.id;
3209 if(var_tkwredefnode3 == NULL) {
3210 var17 = 1;
3211 } else {
3212 if(cltype18 >= var_tkwredefnode3->type->table_size) {
3213 var17 = 0;
3214 } else {
3215 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
3216 }
3217 }
3218 if (!var17) {
3219 fprintf(stderr, "Runtime error: %s", "Assert failed");
3220 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12831);
3221 exit(1);
3222 }
3223 var_pvisibilitynode4 = var_nodearraylist3;
3224 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3225 cltype21 = type_nullable_parser_nodes__AVisibility.color;
3226 idtype22 = type_nullable_parser_nodes__AVisibility.id;
3227 if(var_pvisibilitynode4 == NULL) {
3228 var20 = 1;
3229 } else {
3230 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
3231 var20 = 0;
3232 } else {
3233 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
3234 }
3235 }
3236 if (!var20) {
3237 fprintf(stderr, "Runtime error: %s", "Assert failed");
3238 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12833);
3239 exit(1);
3240 }
3241 var_pclasskindnode5 = var_nodearraylist4;
3242 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3243 cltype24 = type_nullable_parser_nodes__AClasskind.color;
3244 idtype25 = type_nullable_parser_nodes__AClasskind.id;
3245 if(var_pclasskindnode5 == NULL) {
3246 var23 = 1;
3247 } else {
3248 if(cltype24 >= var_pclasskindnode5->type->table_size) {
3249 var23 = 0;
3250 } else {
3251 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
3252 }
3253 }
3254 if (!var23) {
3255 fprintf(stderr, "Runtime error: %s", "Assert failed");
3256 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12835);
3257 exit(1);
3258 }
3259 var_tclassidnode6 = var_nodearraylist7;
3260 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3261 cltype27 = type_nullable_parser_nodes__TClassid.color;
3262 idtype28 = type_nullable_parser_nodes__TClassid.id;
3263 if(var_tclassidnode6 == NULL) {
3264 var26 = 1;
3265 } else {
3266 if(cltype27 >= var_tclassidnode6->type->table_size) {
3267 var26 = 0;
3268 } else {
3269 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
3270 }
3271 }
3272 if (!var26) {
3273 fprintf(stderr, "Runtime error: %s", "Assert failed");
3274 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12837);
3275 exit(1);
3276 }
3277 var_listnode7 = var_nodearraylist8;
3278 /* <var_listnode7:nullable Object> isa Array[Object] */
3279 cltype30 = type_array__Arraykernel__Object.color;
3280 idtype31 = type_array__Arraykernel__Object.id;
3281 if(var_listnode7 == NULL) {
3282 var29 = 0;
3283 } else {
3284 if(cltype30 >= var_listnode7->type->table_size) {
3285 var29 = 0;
3286 } else {
3287 var29 = var_listnode7->type->type_table[cltype30] == idtype31;
3288 }
3289 }
3290 if (!var29) {
3291 fprintf(stderr, "Runtime error: %s", "Assert failed");
3292 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12839);
3293 exit(1);
3294 }
3295 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction278>*/;
3296 var_listnode8 = var32;
3297 var_listnode11 = var_nodearraylist9;
3298 /* <var_listnode11:nullable Object> isa Array[Object] */
3299 cltype34 = type_array__Arraykernel__Object.color;
3300 idtype35 = type_array__Arraykernel__Object.id;
3301 if(var_listnode11 == NULL) {
3302 var33 = 0;
3303 } else {
3304 if(cltype34 >= var_listnode11->type->table_size) {
3305 var33 = 0;
3306 } else {
3307 var33 = var_listnode11->type->type_table[cltype34] == idtype35;
3308 }
3309 }
3310 if (!var33) {
3311 fprintf(stderr, "Runtime error: %s", "Assert failed");
3312 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12842);
3313 exit(1);
3314 }
3315 var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction278>*/;
3316 var_listnode12 = var36;
3317 var_listnode13 = var_nodearraylist10;
3318 /* <var_listnode13:nullable Object> isa Array[Object] */
3319 cltype38 = type_array__Arraykernel__Object.color;
3320 idtype39 = type_array__Arraykernel__Object.id;
3321 if(var_listnode13 == NULL) {
3322 var37 = 0;
3323 } else {
3324 if(cltype38 >= var_listnode13->type->table_size) {
3325 var37 = 0;
3326 } else {
3327 var37 = var_listnode13->type->type_table[cltype38] == idtype39;
3328 }
3329 }
3330 if (!var37) {
3331 fprintf(stderr, "Runtime error: %s", "Assert failed");
3332 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12845);
3333 exit(1);
3334 }
3335 var40 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode14, var_listnode13) /* concat on <self:ReduceAction278>*/;
3336 var_listnode14 = var40;
3337 var_tkwendnode15 = var_nodearraylist12;
3338 /* <var_tkwendnode15:nullable Object> isa nullable TKwend */
3339 cltype42 = type_nullable_parser_nodes__TKwend.color;
3340 idtype43 = type_nullable_parser_nodes__TKwend.id;
3341 if(var_tkwendnode15 == NULL) {
3342 var41 = 1;
3343 } else {
3344 if(cltype42 >= var_tkwendnode15->type->table_size) {
3345 var41 = 0;
3346 } else {
3347 var41 = var_tkwendnode15->type->type_table[cltype42] == idtype43;
3348 }
3349 }
3350 if (!var41) {
3351 fprintf(stderr, "Runtime error: %s", "Assert failed");
3352 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12848);
3353 exit(1);
3354 }
3355 var44 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3356 var45 = NULL;
3357 var46 = NULL;
3358 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var44->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var44, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var45, var46, var_listnode12, var_listnode14, var_tkwendnode15) /* init_astdclassdef on <var44:AStdClassdef>*/;
3359 CHECK_NEW_parser_nodes__AStdClassdef(var44);
3360 var_pclassdefnode1 = var44;
3361 var_node_list = var_pclassdefnode1;
3362 var47 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction278> */
3363 var48 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var47) /* go_to on <var_p:Parser>*/;
3364 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var48, var_node_list) /* push on <var_p:Parser>*/;
3365 RET_LABEL:;
3366 }
3367 /* method parser#ReduceAction278#action for (self: Object, Parser) */
3368 void VIRTUAL_parser__ReduceAction278__action(val* self, val* p0) {
3369 parser__ReduceAction278__action(self, p0);
3370 RET_LABEL:;
3371 }
3372 /* method parser#ReduceAction279#action for (self: ReduceAction279, Parser) */
3373 void parser__ReduceAction279__action(val* self, val* p0) {
3374 val* var_p /* var p: Parser */;
3375 val* var /* : null */;
3376 val* var_node_list /* var node_list: nullable Object */;
3377 val* var1 /* : nullable Object */;
3378 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
3379 val* var2 /* : nullable Object */;
3380 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
3381 val* var3 /* : nullable Object */;
3382 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
3383 val* var4 /* : nullable Object */;
3384 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
3385 val* var5 /* : nullable Object */;
3386 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3387 val* var6 /* : nullable Object */;
3388 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3389 val* var7 /* : nullable Object */;
3390 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3391 val* var8 /* : nullable Object */;
3392 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3393 val* var9 /* : nullable Object */;
3394 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3395 val* var10 /* : nullable Object */;
3396 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3397 val* var11 /* : nullable Object */;
3398 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3399 val* var12 /* : nullable Object */;
3400 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3401 val* var13 /* : nullable Object */;
3402 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3403 val* var14 /* : Array[Object] */;
3404 val* var_listnode8 /* var listnode8: Array[Object] */;
3405 val* var15 /* : Array[Object] */;
3406 val* var_listnode12 /* var listnode12: Array[Object] */;
3407 val* var16 /* : Array[Object] */;
3408 val* var_listnode14 /* var listnode14: Array[Object] */;
3409 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3410 short int var17 /* : Bool */;
3411 int cltype;
3412 int idtype;
3413 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
3414 short int var18 /* : Bool */;
3415 int cltype19;
3416 int idtype20;
3417 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3418 short int var21 /* : Bool */;
3419 int cltype22;
3420 int idtype23;
3421 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3422 short int var24 /* : Bool */;
3423 int cltype25;
3424 int idtype26;
3425 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3426 short int var27 /* : Bool */;
3427 int cltype28;
3428 int idtype29;
3429 val* var_listnode7 /* var listnode7: nullable Object */;
3430 short int var30 /* : Bool */;
3431 int cltype31;
3432 int idtype32;
3433 val* var33 /* : Array[Object] */;
3434 val* var_listnode11 /* var listnode11: nullable Object */;
3435 short int var34 /* : Bool */;
3436 int cltype35;
3437 int idtype36;
3438 val* var37 /* : Array[Object] */;
3439 val* var_listnode13 /* var listnode13: nullable Object */;
3440 short int var38 /* : Bool */;
3441 int cltype39;
3442 int idtype40;
3443 val* var41 /* : Array[Object] */;
3444 val* var_tkwendnode15 /* var tkwendnode15: nullable Object */;
3445 short int var42 /* : Bool */;
3446 int cltype43;
3447 int idtype44;
3448 val* var45 /* : AStdClassdef */;
3449 val* var46 /* : null */;
3450 val* var47 /* : null */;
3451 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3452 long var48 /* : Int */;
3453 long var49 /* : Int */;
3454 var_p = p0;
3455 var = NULL;
3456 var_node_list = var;
3457 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3458 var_nodearraylist13 = var1;
3459 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3460 var_nodearraylist12 = var2;
3461 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3462 var_nodearraylist11 = var3;
3463 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3464 var_nodearraylist10 = var4;
3465 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3466 var_nodearraylist9 = var5;
3467 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3468 var_nodearraylist8 = var6;
3469 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3470 var_nodearraylist7 = var7;
3471 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3472 var_nodearraylist6 = var8;
3473 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3474 var_nodearraylist5 = var9;
3475 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3476 var_nodearraylist4 = var10;
3477 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3478 var_nodearraylist3 = var11;
3479 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3480 var_nodearraylist2 = var12;
3481 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3482 var_nodearraylist1 = var13;
3483 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
3484 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
3485 CHECK_NEW_array__Array(var14);
3486 var_listnode8 = var14;
3487 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
3488 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
3489 CHECK_NEW_array__Array(var15);
3490 var_listnode12 = var15;
3491 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
3492 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
3493 CHECK_NEW_array__Array(var16);
3494 var_listnode14 = var16;
3495 var_pdocnode2 = var_nodearraylist1;
3496 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3497 cltype = type_nullable_parser_nodes__ADoc.color;
3498 idtype = type_nullable_parser_nodes__ADoc.id;
3499 if(var_pdocnode2 == NULL) {
3500 var17 = 1;
3501 } else {
3502 if(cltype >= var_pdocnode2->type->table_size) {
3503 var17 = 0;
3504 } else {
3505 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
3506 }
3507 }
3508 if (!var17) {
3509 fprintf(stderr, "Runtime error: %s", "Assert failed");
3510 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12888);
3511 exit(1);
3512 }
3513 var_tkwredefnode3 = var_nodearraylist2;
3514 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3515 cltype19 = type_nullable_parser_nodes__TKwredef.color;
3516 idtype20 = type_nullable_parser_nodes__TKwredef.id;
3517 if(var_tkwredefnode3 == NULL) {
3518 var18 = 1;
3519 } else {
3520 if(cltype19 >= var_tkwredefnode3->type->table_size) {
3521 var18 = 0;
3522 } else {
3523 var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20;
3524 }
3525 }
3526 if (!var18) {
3527 fprintf(stderr, "Runtime error: %s", "Assert failed");
3528 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12890);
3529 exit(1);
3530 }
3531 var_pvisibilitynode4 = var_nodearraylist3;
3532 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3533 cltype22 = type_nullable_parser_nodes__AVisibility.color;
3534 idtype23 = type_nullable_parser_nodes__AVisibility.id;
3535 if(var_pvisibilitynode4 == NULL) {
3536 var21 = 1;
3537 } else {
3538 if(cltype22 >= var_pvisibilitynode4->type->table_size) {
3539 var21 = 0;
3540 } else {
3541 var21 = var_pvisibilitynode4->type->type_table[cltype22] == idtype23;
3542 }
3543 }
3544 if (!var21) {
3545 fprintf(stderr, "Runtime error: %s", "Assert failed");
3546 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12892);
3547 exit(1);
3548 }
3549 var_pclasskindnode5 = var_nodearraylist4;
3550 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3551 cltype25 = type_nullable_parser_nodes__AClasskind.color;
3552 idtype26 = type_nullable_parser_nodes__AClasskind.id;
3553 if(var_pclasskindnode5 == NULL) {
3554 var24 = 1;
3555 } else {
3556 if(cltype25 >= var_pclasskindnode5->type->table_size) {
3557 var24 = 0;
3558 } else {
3559 var24 = var_pclasskindnode5->type->type_table[cltype25] == idtype26;
3560 }
3561 }
3562 if (!var24) {
3563 fprintf(stderr, "Runtime error: %s", "Assert failed");
3564 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12894);
3565 exit(1);
3566 }
3567 var_tclassidnode6 = var_nodearraylist8;
3568 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3569 cltype28 = type_nullable_parser_nodes__TClassid.color;
3570 idtype29 = type_nullable_parser_nodes__TClassid.id;
3571 if(var_tclassidnode6 == NULL) {
3572 var27 = 1;
3573 } else {
3574 if(cltype28 >= var_tclassidnode6->type->table_size) {
3575 var27 = 0;
3576 } else {
3577 var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29;
3578 }
3579 }
3580 if (!var27) {
3581 fprintf(stderr, "Runtime error: %s", "Assert failed");
3582 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12896);
3583 exit(1);
3584 }
3585 var_listnode7 = var_nodearraylist9;
3586 /* <var_listnode7:nullable Object> isa Array[Object] */
3587 cltype31 = type_array__Arraykernel__Object.color;
3588 idtype32 = type_array__Arraykernel__Object.id;
3589 if(var_listnode7 == NULL) {
3590 var30 = 0;
3591 } else {
3592 if(cltype31 >= var_listnode7->type->table_size) {
3593 var30 = 0;
3594 } else {
3595 var30 = var_listnode7->type->type_table[cltype31] == idtype32;
3596 }
3597 }
3598 if (!var30) {
3599 fprintf(stderr, "Runtime error: %s", "Assert failed");
3600 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12898);
3601 exit(1);
3602 }
3603 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction279>*/;
3604 var_listnode8 = var33;
3605 var_listnode11 = var_nodearraylist10;
3606 /* <var_listnode11:nullable Object> isa Array[Object] */
3607 cltype35 = type_array__Arraykernel__Object.color;
3608 idtype36 = type_array__Arraykernel__Object.id;
3609 if(var_listnode11 == NULL) {
3610 var34 = 0;
3611 } else {
3612 if(cltype35 >= var_listnode11->type->table_size) {
3613 var34 = 0;
3614 } else {
3615 var34 = var_listnode11->type->type_table[cltype35] == idtype36;
3616 }
3617 }
3618 if (!var34) {
3619 fprintf(stderr, "Runtime error: %s", "Assert failed");
3620 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12901);
3621 exit(1);
3622 }
3623 var37 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction279>*/;
3624 var_listnode12 = var37;
3625 var_listnode13 = var_nodearraylist11;
3626 /* <var_listnode13:nullable Object> isa Array[Object] */
3627 cltype39 = type_array__Arraykernel__Object.color;
3628 idtype40 = type_array__Arraykernel__Object.id;
3629 if(var_listnode13 == NULL) {
3630 var38 = 0;
3631 } else {
3632 if(cltype39 >= var_listnode13->type->table_size) {
3633 var38 = 0;
3634 } else {
3635 var38 = var_listnode13->type->type_table[cltype39] == idtype40;
3636 }
3637 }
3638 if (!var38) {
3639 fprintf(stderr, "Runtime error: %s", "Assert failed");
3640 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12904);
3641 exit(1);
3642 }
3643 var41 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode14, var_listnode13) /* concat on <self:ReduceAction279>*/;
3644 var_listnode14 = var41;
3645 var_tkwendnode15 = var_nodearraylist13;
3646 /* <var_tkwendnode15:nullable Object> isa nullable TKwend */
3647 cltype43 = type_nullable_parser_nodes__TKwend.color;
3648 idtype44 = type_nullable_parser_nodes__TKwend.id;
3649 if(var_tkwendnode15 == NULL) {
3650 var42 = 1;
3651 } else {
3652 if(cltype43 >= var_tkwendnode15->type->table_size) {
3653 var42 = 0;
3654 } else {
3655 var42 = var_tkwendnode15->type->type_table[cltype43] == idtype44;
3656 }
3657 }
3658 if (!var42) {
3659 fprintf(stderr, "Runtime error: %s", "Assert failed");
3660 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12907);
3661 exit(1);
3662 }
3663 var45 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3664 var46 = NULL;
3665 var47 = NULL;
3666 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var45->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var45, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var46, var47, var_listnode12, var_listnode14, var_tkwendnode15) /* init_astdclassdef on <var45:AStdClassdef>*/;
3667 CHECK_NEW_parser_nodes__AStdClassdef(var45);
3668 var_pclassdefnode1 = var45;
3669 var_node_list = var_pclassdefnode1;
3670 var48 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction279> */
3671 var49 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var48) /* go_to on <var_p:Parser>*/;
3672 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var49, var_node_list) /* push on <var_p:Parser>*/;
3673 RET_LABEL:;
3674 }
3675 /* method parser#ReduceAction279#action for (self: Object, Parser) */
3676 void VIRTUAL_parser__ReduceAction279__action(val* self, val* p0) {
3677 parser__ReduceAction279__action(self, p0);
3678 RET_LABEL:;
3679 }
3680 /* method parser#ReduceAction281#action for (self: ReduceAction281, Parser) */
3681 void parser__ReduceAction281__action(val* self, val* p0) {
3682 val* var_p /* var p: Parser */;
3683 val* var /* : null */;
3684 val* var_node_list /* var node_list: nullable Object */;
3685 val* var1 /* : nullable Object */;
3686 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
3687 val* var2 /* : nullable Object */;
3688 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3689 val* var3 /* : nullable Object */;
3690 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3691 val* var4 /* : nullable Object */;
3692 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3693 val* var5 /* : nullable Object */;
3694 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3695 val* var6 /* : nullable Object */;
3696 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3697 val* var7 /* : nullable Object */;
3698 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3699 val* var8 /* : nullable Object */;
3700 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3701 val* var9 /* : nullable Object */;
3702 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3703 val* var10 /* : nullable Object */;
3704 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3705 val* var11 /* : Array[Object] */;
3706 val* var_listnode7 /* var listnode7: Array[Object] */;
3707 val* var12 /* : Array[Object] */;
3708 val* var_listnode16 /* var listnode16: Array[Object] */;
3709 val* var13 /* : Array[Object] */;
3710 val* var_listnode18 /* var listnode18: Array[Object] */;
3711 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3712 short int var14 /* : Bool */;
3713 int cltype;
3714 int idtype;
3715 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3716 short int var15 /* : Bool */;
3717 int cltype16;
3718 int idtype17;
3719 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3720 short int var18 /* : Bool */;
3721 int cltype19;
3722 int idtype20;
3723 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3724 short int var21 /* : Bool */;
3725 int cltype22;
3726 int idtype23;
3727 val* var24 /* : Array[Object] */;
3728 val* var_listnode12 /* var listnode12: Array[Object] */;
3729 val* var_listnode11 /* var listnode11: nullable Object */;
3730 short int var25 /* : Bool */;
3731 int cltype26;
3732 int idtype27;
3733 val* var28 /* : Array[Object] */;
3734 val* var29 /* : AAnnotations */;
3735 val* var30 /* : null */;
3736 val* var31 /* : null */;
3737 val* var32 /* : null */;
3738 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
3739 val* var_listnode15 /* var listnode15: nullable Object */;
3740 short int var33 /* : Bool */;
3741 int cltype34;
3742 int idtype35;
3743 val* var36 /* : Array[Object] */;
3744 val* var_listnode17 /* var listnode17: nullable Object */;
3745 short int var37 /* : Bool */;
3746 int cltype38;
3747 int idtype39;
3748 val* var40 /* : Array[Object] */;
3749 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
3750 short int var41 /* : Bool */;
3751 int cltype42;
3752 int idtype43;
3753 val* var44 /* : AStdClassdef */;
3754 val* var45 /* : null */;
3755 val* var46 /* : null */;
3756 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3757 long var47 /* : Int */;
3758 long var48 /* : Int */;
3759 var_p = p0;
3760 var = NULL;
3761 var_node_list = var;
3762 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3763 var_nodearraylist10 = var1;
3764 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3765 var_nodearraylist9 = var2;
3766 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3767 var_nodearraylist8 = var3;
3768 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3769 var_nodearraylist7 = var4;
3770 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3771 var_nodearraylist6 = var5;
3772 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3773 var_nodearraylist5 = var6;
3774 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3775 var_nodearraylist4 = var7;
3776 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3777 var_nodearraylist3 = var8;
3778 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3779 var_nodearraylist2 = var9;
3780 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3781 var_nodearraylist1 = var10;
3782 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
3783 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
3784 CHECK_NEW_array__Array(var11);
3785 var_listnode7 = var11;
3786 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
3787 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
3788 CHECK_NEW_array__Array(var12);
3789 var_listnode16 = var12;
3790 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
3791 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
3792 CHECK_NEW_array__Array(var13);
3793 var_listnode18 = var13;
3794 var_pdocnode2 = var_nodearraylist1;
3795 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3796 cltype = type_nullable_parser_nodes__ADoc.color;
3797 idtype = type_nullable_parser_nodes__ADoc.id;
3798 if(var_pdocnode2 == NULL) {
3799 var14 = 1;
3800 } else {
3801 if(cltype >= var_pdocnode2->type->table_size) {
3802 var14 = 0;
3803 } else {
3804 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
3805 }
3806 }
3807 if (!var14) {
3808 fprintf(stderr, "Runtime error: %s", "Assert failed");
3809 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12944);
3810 exit(1);
3811 }
3812 var_pvisibilitynode4 = var_nodearraylist2;
3813 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3814 cltype16 = type_nullable_parser_nodes__AVisibility.color;
3815 idtype17 = type_nullable_parser_nodes__AVisibility.id;
3816 if(var_pvisibilitynode4 == NULL) {
3817 var15 = 1;
3818 } else {
3819 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
3820 var15 = 0;
3821 } else {
3822 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
3823 }
3824 }
3825 if (!var15) {
3826 fprintf(stderr, "Runtime error: %s", "Assert failed");
3827 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12946);
3828 exit(1);
3829 }
3830 var_pclasskindnode5 = var_nodearraylist3;
3831 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3832 cltype19 = type_nullable_parser_nodes__AClasskind.color;
3833 idtype20 = type_nullable_parser_nodes__AClasskind.id;
3834 if(var_pclasskindnode5 == NULL) {
3835 var18 = 1;
3836 } else {
3837 if(cltype19 >= var_pclasskindnode5->type->table_size) {
3838 var18 = 0;
3839 } else {
3840 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
3841 }
3842 }
3843 if (!var18) {
3844 fprintf(stderr, "Runtime error: %s", "Assert failed");
3845 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12948);
3846 exit(1);
3847 }
3848 var_tclassidnode6 = var_nodearraylist5;
3849 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3850 cltype22 = type_nullable_parser_nodes__TClassid.color;
3851 idtype23 = type_nullable_parser_nodes__TClassid.id;
3852 if(var_tclassidnode6 == NULL) {
3853 var21 = 1;
3854 } else {
3855 if(cltype22 >= var_tclassidnode6->type->table_size) {
3856 var21 = 0;
3857 } else {
3858 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
3859 }
3860 }
3861 if (!var21) {
3862 fprintf(stderr, "Runtime error: %s", "Assert failed");
3863 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12950);
3864 exit(1);
3865 }
3866 var24 = NEW_array__Array(&type_array__Arraykernel__Object);
3867 ((void (*)(val*))(var24->class->vft[COLOR_array__Array__init]))(var24) /* init on <var24:Array[Object]>*/;
3868 CHECK_NEW_array__Array(var24);
3869 var_listnode12 = var24;
3870 var_listnode11 = var_nodearraylist6;
3871 /* <var_listnode11:nullable Object> isa Array[Object] */
3872 cltype26 = type_array__Arraykernel__Object.color;
3873 idtype27 = type_array__Arraykernel__Object.id;
3874 if(var_listnode11 == NULL) {
3875 var25 = 0;
3876 } else {
3877 if(cltype26 >= var_listnode11->type->table_size) {
3878 var25 = 0;
3879 } else {
3880 var25 = var_listnode11->type->type_table[cltype26] == idtype27;
3881 }
3882 }
3883 if (!var25) {
3884 fprintf(stderr, "Runtime error: %s", "Assert failed");
3885 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12953);
3886 exit(1);
3887 }
3888 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction281>*/;
3889 var_listnode12 = var28;
3890 var29 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
3891 var30 = NULL;
3892 var31 = NULL;
3893 var32 = NULL;
3894 ((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>*/;
3895 CHECK_NEW_parser_nodes__AAnnotations(var29);
3896 var_pannotationsnode8 = var29;
3897 var_listnode15 = var_nodearraylist7;
3898 /* <var_listnode15:nullable Object> isa Array[Object] */
3899 cltype34 = type_array__Arraykernel__Object.color;
3900 idtype35 = type_array__Arraykernel__Object.id;
3901 if(var_listnode15 == NULL) {
3902 var33 = 0;
3903 } else {
3904 if(cltype34 >= var_listnode15->type->table_size) {
3905 var33 = 0;
3906 } else {
3907 var33 = var_listnode15->type->type_table[cltype34] == idtype35;
3908 }
3909 }
3910 if (!var33) {
3911 fprintf(stderr, "Runtime error: %s", "Assert failed");
3912 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12962);
3913 exit(1);
3914 }
3915 var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction281>*/;
3916 var_listnode16 = var36;
3917 var_listnode17 = var_nodearraylist8;
3918 /* <var_listnode17:nullable Object> isa Array[Object] */
3919 cltype38 = type_array__Arraykernel__Object.color;
3920 idtype39 = type_array__Arraykernel__Object.id;
3921 if(var_listnode17 == NULL) {
3922 var37 = 0;
3923 } else {
3924 if(cltype38 >= var_listnode17->type->table_size) {
3925 var37 = 0;
3926 } else {
3927 var37 = var_listnode17->type->type_table[cltype38] == idtype39;
3928 }
3929 }
3930 if (!var37) {
3931 fprintf(stderr, "Runtime error: %s", "Assert failed");
3932 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12965);
3933 exit(1);
3934 }
3935 var40 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction281>*/;
3936 var_listnode18 = var40;
3937 var_tkwendnode19 = var_nodearraylist10;
3938 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
3939 cltype42 = type_nullable_parser_nodes__TKwend.color;
3940 idtype43 = type_nullable_parser_nodes__TKwend.id;
3941 if(var_tkwendnode19 == NULL) {
3942 var41 = 1;
3943 } else {
3944 if(cltype42 >= var_tkwendnode19->type->table_size) {
3945 var41 = 0;
3946 } else {
3947 var41 = var_tkwendnode19->type->type_table[cltype42] == idtype43;
3948 }
3949 }
3950 if (!var41) {
3951 fprintf(stderr, "Runtime error: %s", "Assert failed");
3952 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 12968);
3953 exit(1);
3954 }
3955 var44 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3956 var45 = NULL;
3957 var46 = NULL;
3958 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var44->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var44, var_pdocnode2, var45, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var46, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var44:AStdClassdef>*/;
3959 CHECK_NEW_parser_nodes__AStdClassdef(var44);
3960 var_pclassdefnode1 = var44;
3961 var_node_list = var_pclassdefnode1;
3962 var47 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction281> */
3963 var48 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var47) /* go_to on <var_p:Parser>*/;
3964 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var48, var_node_list) /* push on <var_p:Parser>*/;
3965 RET_LABEL:;
3966 }
3967 /* method parser#ReduceAction281#action for (self: Object, Parser) */
3968 void VIRTUAL_parser__ReduceAction281__action(val* self, val* p0) {
3969 parser__ReduceAction281__action(self, p0);
3970 RET_LABEL:;
3971 }
3972 /* method parser#ReduceAction282#action for (self: ReduceAction282, Parser) */
3973 void parser__ReduceAction282__action(val* self, val* p0) {
3974 val* var_p /* var p: Parser */;
3975 val* var /* : null */;
3976 val* var_node_list /* var node_list: nullable Object */;
3977 val* var1 /* : nullable Object */;
3978 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
3979 val* var2 /* : nullable Object */;
3980 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
3981 val* var3 /* : nullable Object */;
3982 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3983 val* var4 /* : nullable Object */;
3984 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3985 val* var5 /* : nullable Object */;
3986 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3987 val* var6 /* : nullable Object */;
3988 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3989 val* var7 /* : nullable Object */;
3990 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3991 val* var8 /* : nullable Object */;
3992 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3993 val* var9 /* : nullable Object */;
3994 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3995 val* var10 /* : nullable Object */;
3996 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3997 val* var11 /* : nullable Object */;
3998 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3999 val* var12 /* : Array[Object] */;
4000 val* var_listnode7 /* var listnode7: Array[Object] */;
4001 val* var13 /* : Array[Object] */;
4002 val* var_listnode16 /* var listnode16: Array[Object] */;
4003 val* var14 /* : Array[Object] */;
4004 val* var_listnode18 /* var listnode18: Array[Object] */;
4005 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4006 short int var15 /* : Bool */;
4007 int cltype;
4008 int idtype;
4009 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
4010 short int var16 /* : Bool */;
4011 int cltype17;
4012 int idtype18;
4013 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4014 short int var19 /* : Bool */;
4015 int cltype20;
4016 int idtype21;
4017 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4018 short int var22 /* : Bool */;
4019 int cltype23;
4020 int idtype24;
4021 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4022 short int var25 /* : Bool */;
4023 int cltype26;
4024 int idtype27;
4025 val* var28 /* : Array[Object] */;
4026 val* var_listnode12 /* var listnode12: Array[Object] */;
4027 val* var_listnode11 /* var listnode11: nullable Object */;
4028 short int var29 /* : Bool */;
4029 int cltype30;
4030 int idtype31;
4031 val* var32 /* : Array[Object] */;
4032 val* var33 /* : AAnnotations */;
4033 val* var34 /* : null */;
4034 val* var35 /* : null */;
4035 val* var36 /* : null */;
4036 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
4037 val* var_listnode15 /* var listnode15: nullable Object */;
4038 short int var37 /* : Bool */;
4039 int cltype38;
4040 int idtype39;
4041 val* var40 /* : Array[Object] */;
4042 val* var_listnode17 /* var listnode17: nullable Object */;
4043 short int var41 /* : Bool */;
4044 int cltype42;
4045 int idtype43;
4046 val* var44 /* : Array[Object] */;
4047 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
4048 short int var45 /* : Bool */;
4049 int cltype46;
4050 int idtype47;
4051 val* var48 /* : AStdClassdef */;
4052 val* var49 /* : null */;
4053 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4054 long var50 /* : Int */;
4055 long var51 /* : Int */;
4056 var_p = p0;
4057 var = NULL;
4058 var_node_list = var;
4059 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4060 var_nodearraylist11 = var1;
4061 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4062 var_nodearraylist10 = var2;
4063 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4064 var_nodearraylist9 = var3;
4065 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4066 var_nodearraylist8 = var4;
4067 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4068 var_nodearraylist7 = var5;
4069 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4070 var_nodearraylist6 = var6;
4071 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4072 var_nodearraylist5 = var7;
4073 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4074 var_nodearraylist4 = var8;
4075 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4076 var_nodearraylist3 = var9;
4077 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4078 var_nodearraylist2 = var10;
4079 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4080 var_nodearraylist1 = var11;
4081 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
4082 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
4083 CHECK_NEW_array__Array(var12);
4084 var_listnode7 = var12;
4085 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
4086 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
4087 CHECK_NEW_array__Array(var13);
4088 var_listnode16 = var13;
4089 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
4090 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
4091 CHECK_NEW_array__Array(var14);
4092 var_listnode18 = var14;
4093 var_pdocnode2 = var_nodearraylist1;
4094 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4095 cltype = type_nullable_parser_nodes__ADoc.color;
4096 idtype = type_nullable_parser_nodes__ADoc.id;
4097 if(var_pdocnode2 == NULL) {
4098 var15 = 1;
4099 } else {
4100 if(cltype >= var_pdocnode2->type->table_size) {
4101 var15 = 0;
4102 } else {
4103 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
4104 }
4105 }
4106 if (!var15) {
4107 fprintf(stderr, "Runtime error: %s", "Assert failed");
4108 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13006);
4109 exit(1);
4110 }
4111 var_tkwredefnode3 = var_nodearraylist2;
4112 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4113 cltype17 = type_nullable_parser_nodes__TKwredef.color;
4114 idtype18 = type_nullable_parser_nodes__TKwredef.id;
4115 if(var_tkwredefnode3 == NULL) {
4116 var16 = 1;
4117 } else {
4118 if(cltype17 >= var_tkwredefnode3->type->table_size) {
4119 var16 = 0;
4120 } else {
4121 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
4122 }
4123 }
4124 if (!var16) {
4125 fprintf(stderr, "Runtime error: %s", "Assert failed");
4126 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13008);
4127 exit(1);
4128 }
4129 var_pvisibilitynode4 = var_nodearraylist3;
4130 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4131 cltype20 = type_nullable_parser_nodes__AVisibility.color;
4132 idtype21 = type_nullable_parser_nodes__AVisibility.id;
4133 if(var_pvisibilitynode4 == NULL) {
4134 var19 = 1;
4135 } else {
4136 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
4137 var19 = 0;
4138 } else {
4139 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
4140 }
4141 }
4142 if (!var19) {
4143 fprintf(stderr, "Runtime error: %s", "Assert failed");
4144 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13010);
4145 exit(1);
4146 }
4147 var_pclasskindnode5 = var_nodearraylist4;
4148 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4149 cltype23 = type_nullable_parser_nodes__AClasskind.color;
4150 idtype24 = type_nullable_parser_nodes__AClasskind.id;
4151 if(var_pclasskindnode5 == NULL) {
4152 var22 = 1;
4153 } else {
4154 if(cltype23 >= var_pclasskindnode5->type->table_size) {
4155 var22 = 0;
4156 } else {
4157 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
4158 }
4159 }
4160 if (!var22) {
4161 fprintf(stderr, "Runtime error: %s", "Assert failed");
4162 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13012);
4163 exit(1);
4164 }
4165 var_tclassidnode6 = var_nodearraylist6;
4166 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4167 cltype26 = type_nullable_parser_nodes__TClassid.color;
4168 idtype27 = type_nullable_parser_nodes__TClassid.id;
4169 if(var_tclassidnode6 == NULL) {
4170 var25 = 1;
4171 } else {
4172 if(cltype26 >= var_tclassidnode6->type->table_size) {
4173 var25 = 0;
4174 } else {
4175 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
4176 }
4177 }
4178 if (!var25) {
4179 fprintf(stderr, "Runtime error: %s", "Assert failed");
4180 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13014);
4181 exit(1);
4182 }
4183 var28 = NEW_array__Array(&type_array__Arraykernel__Object);
4184 ((void (*)(val*))(var28->class->vft[COLOR_array__Array__init]))(var28) /* init on <var28:Array[Object]>*/;
4185 CHECK_NEW_array__Array(var28);
4186 var_listnode12 = var28;
4187 var_listnode11 = var_nodearraylist7;
4188 /* <var_listnode11:nullable Object> isa Array[Object] */
4189 cltype30 = type_array__Arraykernel__Object.color;
4190 idtype31 = type_array__Arraykernel__Object.id;
4191 if(var_listnode11 == NULL) {
4192 var29 = 0;
4193 } else {
4194 if(cltype30 >= var_listnode11->type->table_size) {
4195 var29 = 0;
4196 } else {
4197 var29 = var_listnode11->type->type_table[cltype30] == idtype31;
4198 }
4199 }
4200 if (!var29) {
4201 fprintf(stderr, "Runtime error: %s", "Assert failed");
4202 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13017);
4203 exit(1);
4204 }
4205 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction282>*/;
4206 var_listnode12 = var32;
4207 var33 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
4208 var34 = NULL;
4209 var35 = NULL;
4210 var36 = NULL;
4211 ((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>*/;
4212 CHECK_NEW_parser_nodes__AAnnotations(var33);
4213 var_pannotationsnode8 = var33;
4214 var_listnode15 = var_nodearraylist8;
4215 /* <var_listnode15:nullable Object> isa Array[Object] */
4216 cltype38 = type_array__Arraykernel__Object.color;
4217 idtype39 = type_array__Arraykernel__Object.id;
4218 if(var_listnode15 == NULL) {
4219 var37 = 0;
4220 } else {
4221 if(cltype38 >= var_listnode15->type->table_size) {
4222 var37 = 0;
4223 } else {
4224 var37 = var_listnode15->type->type_table[cltype38] == idtype39;
4225 }
4226 }
4227 if (!var37) {
4228 fprintf(stderr, "Runtime error: %s", "Assert failed");
4229 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13026);
4230 exit(1);
4231 }
4232 var40 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction282>*/;
4233 var_listnode16 = var40;
4234 var_listnode17 = var_nodearraylist9;
4235 /* <var_listnode17:nullable Object> isa Array[Object] */
4236 cltype42 = type_array__Arraykernel__Object.color;
4237 idtype43 = type_array__Arraykernel__Object.id;
4238 if(var_listnode17 == NULL) {
4239 var41 = 0;
4240 } else {
4241 if(cltype42 >= var_listnode17->type->table_size) {
4242 var41 = 0;
4243 } else {
4244 var41 = var_listnode17->type->type_table[cltype42] == idtype43;
4245 }
4246 }
4247 if (!var41) {
4248 fprintf(stderr, "Runtime error: %s", "Assert failed");
4249 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13029);
4250 exit(1);
4251 }
4252 var44 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction282>*/;
4253 var_listnode18 = var44;
4254 var_tkwendnode19 = var_nodearraylist11;
4255 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
4256 cltype46 = type_nullable_parser_nodes__TKwend.color;
4257 idtype47 = type_nullable_parser_nodes__TKwend.id;
4258 if(var_tkwendnode19 == NULL) {
4259 var45 = 1;
4260 } else {
4261 if(cltype46 >= var_tkwendnode19->type->table_size) {
4262 var45 = 0;
4263 } else {
4264 var45 = var_tkwendnode19->type->type_table[cltype46] == idtype47;
4265 }
4266 }
4267 if (!var45) {
4268 fprintf(stderr, "Runtime error: %s", "Assert failed");
4269 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13032);
4270 exit(1);
4271 }
4272 var48 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4273 var49 = NULL;
4274 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var48->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var48, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var49, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var48:AStdClassdef>*/;
4275 CHECK_NEW_parser_nodes__AStdClassdef(var48);
4276 var_pclassdefnode1 = var48;
4277 var_node_list = var_pclassdefnode1;
4278 var50 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction282> */
4279 var51 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var50) /* go_to on <var_p:Parser>*/;
4280 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var51, var_node_list) /* push on <var_p:Parser>*/;
4281 RET_LABEL:;
4282 }
4283 /* method parser#ReduceAction282#action for (self: Object, Parser) */
4284 void VIRTUAL_parser__ReduceAction282__action(val* self, val* p0) {
4285 parser__ReduceAction282__action(self, p0);
4286 RET_LABEL:;
4287 }
4288 /* method parser#ReduceAction283#action for (self: ReduceAction283, Parser) */
4289 void parser__ReduceAction283__action(val* self, val* p0) {
4290 val* var_p /* var p: Parser */;
4291 val* var /* : null */;
4292 val* var_node_list /* var node_list: nullable Object */;
4293 val* var1 /* : nullable Object */;
4294 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
4295 val* var2 /* : nullable Object */;
4296 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4297 val* var3 /* : nullable Object */;
4298 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4299 val* var4 /* : nullable Object */;
4300 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4301 val* var5 /* : nullable Object */;
4302 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4303 val* var6 /* : nullable Object */;
4304 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4305 val* var7 /* : nullable Object */;
4306 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4307 val* var8 /* : nullable Object */;
4308 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4309 val* var9 /* : nullable Object */;
4310 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4311 val* var10 /* : nullable Object */;
4312 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4313 val* var11 /* : nullable Object */;
4314 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4315 val* var12 /* : Array[Object] */;
4316 val* var_listnode7 /* var listnode7: Array[Object] */;
4317 val* var13 /* : Array[Object] */;
4318 val* var_listnode16 /* var listnode16: Array[Object] */;
4319 val* var14 /* : Array[Object] */;
4320 val* var_listnode18 /* var listnode18: Array[Object] */;
4321 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4322 short int var15 /* : Bool */;
4323 int cltype;
4324 int idtype;
4325 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4326 short int var16 /* : Bool */;
4327 int cltype17;
4328 int idtype18;
4329 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4330 short int var19 /* : Bool */;
4331 int cltype20;
4332 int idtype21;
4333 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4334 short int var22 /* : Bool */;
4335 int cltype23;
4336 int idtype24;
4337 val* var25 /* : Array[Object] */;
4338 val* var_listnode12 /* var listnode12: Array[Object] */;
4339 val* var_listnode11 /* var listnode11: nullable Object */;
4340 short int var26 /* : Bool */;
4341 int cltype27;
4342 int idtype28;
4343 val* var29 /* : Array[Object] */;
4344 val* var30 /* : AAnnotations */;
4345 val* var31 /* : null */;
4346 val* var32 /* : null */;
4347 val* var33 /* : null */;
4348 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
4349 val* var_listnode15 /* var listnode15: nullable Object */;
4350 short int var34 /* : Bool */;
4351 int cltype35;
4352 int idtype36;
4353 val* var37 /* : Array[Object] */;
4354 val* var_listnode17 /* var listnode17: nullable Object */;
4355 short int var38 /* : Bool */;
4356 int cltype39;
4357 int idtype40;
4358 val* var41 /* : Array[Object] */;
4359 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
4360 short int var42 /* : Bool */;
4361 int cltype43;
4362 int idtype44;
4363 val* var45 /* : AStdClassdef */;
4364 val* var46 /* : null */;
4365 val* var47 /* : null */;
4366 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4367 long var48 /* : Int */;
4368 long var49 /* : Int */;
4369 var_p = p0;
4370 var = NULL;
4371 var_node_list = var;
4372 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4373 var_nodearraylist11 = var1;
4374 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4375 var_nodearraylist10 = var2;
4376 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4377 var_nodearraylist9 = var3;
4378 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4379 var_nodearraylist8 = var4;
4380 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4381 var_nodearraylist7 = var5;
4382 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4383 var_nodearraylist6 = var6;
4384 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4385 var_nodearraylist5 = var7;
4386 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4387 var_nodearraylist4 = var8;
4388 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4389 var_nodearraylist3 = var9;
4390 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4391 var_nodearraylist2 = var10;
4392 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4393 var_nodearraylist1 = var11;
4394 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
4395 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
4396 CHECK_NEW_array__Array(var12);
4397 var_listnode7 = var12;
4398 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
4399 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
4400 CHECK_NEW_array__Array(var13);
4401 var_listnode16 = var13;
4402 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
4403 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
4404 CHECK_NEW_array__Array(var14);
4405 var_listnode18 = var14;
4406 var_pdocnode2 = var_nodearraylist1;
4407 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4408 cltype = type_nullable_parser_nodes__ADoc.color;
4409 idtype = type_nullable_parser_nodes__ADoc.id;
4410 if(var_pdocnode2 == NULL) {
4411 var15 = 1;
4412 } else {
4413 if(cltype >= var_pdocnode2->type->table_size) {
4414 var15 = 0;
4415 } else {
4416 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
4417 }
4418 }
4419 if (!var15) {
4420 fprintf(stderr, "Runtime error: %s", "Assert failed");
4421 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13070);
4422 exit(1);
4423 }
4424 var_pvisibilitynode4 = var_nodearraylist2;
4425 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4426 cltype17 = type_nullable_parser_nodes__AVisibility.color;
4427 idtype18 = type_nullable_parser_nodes__AVisibility.id;
4428 if(var_pvisibilitynode4 == NULL) {
4429 var16 = 1;
4430 } else {
4431 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
4432 var16 = 0;
4433 } else {
4434 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
4435 }
4436 }
4437 if (!var16) {
4438 fprintf(stderr, "Runtime error: %s", "Assert failed");
4439 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13072);
4440 exit(1);
4441 }
4442 var_pclasskindnode5 = var_nodearraylist3;
4443 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4444 cltype20 = type_nullable_parser_nodes__AClasskind.color;
4445 idtype21 = type_nullable_parser_nodes__AClasskind.id;
4446 if(var_pclasskindnode5 == NULL) {
4447 var19 = 1;
4448 } else {
4449 if(cltype20 >= var_pclasskindnode5->type->table_size) {
4450 var19 = 0;
4451 } else {
4452 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
4453 }
4454 }
4455 if (!var19) {
4456 fprintf(stderr, "Runtime error: %s", "Assert failed");
4457 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13074);
4458 exit(1);
4459 }
4460 var_tclassidnode6 = var_nodearraylist6;
4461 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4462 cltype23 = type_nullable_parser_nodes__TClassid.color;
4463 idtype24 = type_nullable_parser_nodes__TClassid.id;
4464 if(var_tclassidnode6 == NULL) {
4465 var22 = 1;
4466 } else {
4467 if(cltype23 >= var_tclassidnode6->type->table_size) {
4468 var22 = 0;
4469 } else {
4470 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
4471 }
4472 }
4473 if (!var22) {
4474 fprintf(stderr, "Runtime error: %s", "Assert failed");
4475 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13076);
4476 exit(1);
4477 }
4478 var25 = NEW_array__Array(&type_array__Arraykernel__Object);
4479 ((void (*)(val*))(var25->class->vft[COLOR_array__Array__init]))(var25) /* init on <var25:Array[Object]>*/;
4480 CHECK_NEW_array__Array(var25);
4481 var_listnode12 = var25;
4482 var_listnode11 = var_nodearraylist7;
4483 /* <var_listnode11:nullable Object> isa Array[Object] */
4484 cltype27 = type_array__Arraykernel__Object.color;
4485 idtype28 = type_array__Arraykernel__Object.id;
4486 if(var_listnode11 == NULL) {
4487 var26 = 0;
4488 } else {
4489 if(cltype27 >= var_listnode11->type->table_size) {
4490 var26 = 0;
4491 } else {
4492 var26 = var_listnode11->type->type_table[cltype27] == idtype28;
4493 }
4494 }
4495 if (!var26) {
4496 fprintf(stderr, "Runtime error: %s", "Assert failed");
4497 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13079);
4498 exit(1);
4499 }
4500 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction283>*/;
4501 var_listnode12 = var29;
4502 var30 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
4503 var31 = NULL;
4504 var32 = NULL;
4505 var33 = NULL;
4506 ((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>*/;
4507 CHECK_NEW_parser_nodes__AAnnotations(var30);
4508 var_pannotationsnode8 = var30;
4509 var_listnode15 = var_nodearraylist8;
4510 /* <var_listnode15:nullable Object> isa Array[Object] */
4511 cltype35 = type_array__Arraykernel__Object.color;
4512 idtype36 = type_array__Arraykernel__Object.id;
4513 if(var_listnode15 == NULL) {
4514 var34 = 0;
4515 } else {
4516 if(cltype35 >= var_listnode15->type->table_size) {
4517 var34 = 0;
4518 } else {
4519 var34 = var_listnode15->type->type_table[cltype35] == idtype36;
4520 }
4521 }
4522 if (!var34) {
4523 fprintf(stderr, "Runtime error: %s", "Assert failed");
4524 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13088);
4525 exit(1);
4526 }
4527 var37 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction283>*/;
4528 var_listnode16 = var37;
4529 var_listnode17 = var_nodearraylist9;
4530 /* <var_listnode17:nullable Object> isa Array[Object] */
4531 cltype39 = type_array__Arraykernel__Object.color;
4532 idtype40 = type_array__Arraykernel__Object.id;
4533 if(var_listnode17 == NULL) {
4534 var38 = 0;
4535 } else {
4536 if(cltype39 >= var_listnode17->type->table_size) {
4537 var38 = 0;
4538 } else {
4539 var38 = var_listnode17->type->type_table[cltype39] == idtype40;
4540 }
4541 }
4542 if (!var38) {
4543 fprintf(stderr, "Runtime error: %s", "Assert failed");
4544 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13091);
4545 exit(1);
4546 }
4547 var41 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction283>*/;
4548 var_listnode18 = var41;
4549 var_tkwendnode19 = var_nodearraylist11;
4550 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
4551 cltype43 = type_nullable_parser_nodes__TKwend.color;
4552 idtype44 = type_nullable_parser_nodes__TKwend.id;
4553 if(var_tkwendnode19 == NULL) {
4554 var42 = 1;
4555 } else {
4556 if(cltype43 >= var_tkwendnode19->type->table_size) {
4557 var42 = 0;
4558 } else {
4559 var42 = var_tkwendnode19->type->type_table[cltype43] == idtype44;
4560 }
4561 }
4562 if (!var42) {
4563 fprintf(stderr, "Runtime error: %s", "Assert failed");
4564 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13094);
4565 exit(1);
4566 }
4567 var45 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4568 var46 = NULL;
4569 var47 = NULL;
4570 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var45->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var45, var_pdocnode2, var46, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var47, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var45:AStdClassdef>*/;
4571 CHECK_NEW_parser_nodes__AStdClassdef(var45);
4572 var_pclassdefnode1 = var45;
4573 var_node_list = var_pclassdefnode1;
4574 var48 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction283> */
4575 var49 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var48) /* go_to on <var_p:Parser>*/;
4576 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var49, var_node_list) /* push on <var_p:Parser>*/;
4577 RET_LABEL:;
4578 }
4579 /* method parser#ReduceAction283#action for (self: Object, Parser) */
4580 void VIRTUAL_parser__ReduceAction283__action(val* self, val* p0) {
4581 parser__ReduceAction283__action(self, p0);
4582 RET_LABEL:;
4583 }
4584 /* method parser#ReduceAction284#action for (self: ReduceAction284, Parser) */
4585 void parser__ReduceAction284__action(val* self, val* p0) {
4586 val* var_p /* var p: Parser */;
4587 val* var /* : null */;
4588 val* var_node_list /* var node_list: nullable Object */;
4589 val* var1 /* : nullable Object */;
4590 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
4591 val* var2 /* : nullable Object */;
4592 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
4593 val* var3 /* : nullable Object */;
4594 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4595 val* var4 /* : nullable Object */;
4596 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4597 val* var5 /* : nullable Object */;
4598 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4599 val* var6 /* : nullable Object */;
4600 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4601 val* var7 /* : nullable Object */;
4602 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4603 val* var8 /* : nullable Object */;
4604 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4605 val* var9 /* : nullable Object */;
4606 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4607 val* var10 /* : nullable Object */;
4608 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4609 val* var11 /* : nullable Object */;
4610 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4611 val* var12 /* : nullable Object */;
4612 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4613 val* var13 /* : Array[Object] */;
4614 val* var_listnode7 /* var listnode7: Array[Object] */;
4615 val* var14 /* : Array[Object] */;
4616 val* var_listnode16 /* var listnode16: Array[Object] */;
4617 val* var15 /* : Array[Object] */;
4618 val* var_listnode18 /* var listnode18: Array[Object] */;
4619 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4620 short int var16 /* : Bool */;
4621 int cltype;
4622 int idtype;
4623 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4624 short int var17 /* : Bool */;
4625 int cltype18;
4626 int idtype19;
4627 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4628 short int var20 /* : Bool */;
4629 int cltype21;
4630 int idtype22;
4631 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4632 short int var23 /* : Bool */;
4633 int cltype24;
4634 int idtype25;
4635 val* var26 /* : Array[Object] */;
4636 val* var_listnode12 /* var listnode12: Array[Object] */;
4637 val* var_listnode11 /* var listnode11: nullable Object */;
4638 short int var27 /* : Bool */;
4639 int cltype28;
4640 int idtype29;
4641 val* var30 /* : Array[Object] */;
4642 val* var31 /* : AAnnotations */;
4643 val* var32 /* : null */;
4644 val* var33 /* : null */;
4645 val* var34 /* : null */;
4646 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
4647 val* var_listnode15 /* var listnode15: nullable Object */;
4648 short int var35 /* : Bool */;
4649 int cltype36;
4650 int idtype37;
4651 val* var38 /* : Array[Object] */;
4652 val* var_listnode17 /* var listnode17: nullable Object */;
4653 short int var39 /* : Bool */;
4654 int cltype40;
4655 int idtype41;
4656 val* var42 /* : Array[Object] */;
4657 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
4658 short int var43 /* : Bool */;
4659 int cltype44;
4660 int idtype45;
4661 val* var46 /* : AStdClassdef */;
4662 val* var47 /* : null */;
4663 val* var48 /* : null */;
4664 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4665 long var49 /* : Int */;
4666 long var50 /* : Int */;
4667 var_p = p0;
4668 var = NULL;
4669 var_node_list = var;
4670 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4671 var_nodearraylist12 = var1;
4672 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4673 var_nodearraylist11 = var2;
4674 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4675 var_nodearraylist10 = var3;
4676 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4677 var_nodearraylist9 = var4;
4678 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4679 var_nodearraylist8 = var5;
4680 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4681 var_nodearraylist7 = var6;
4682 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4683 var_nodearraylist6 = var7;
4684 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4685 var_nodearraylist5 = var8;
4686 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4687 var_nodearraylist4 = var9;
4688 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4689 var_nodearraylist3 = var10;
4690 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4691 var_nodearraylist2 = var11;
4692 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4693 var_nodearraylist1 = var12;
4694 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
4695 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
4696 CHECK_NEW_array__Array(var13);
4697 var_listnode7 = var13;
4698 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
4699 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
4700 CHECK_NEW_array__Array(var14);
4701 var_listnode16 = var14;
4702 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
4703 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
4704 CHECK_NEW_array__Array(var15);
4705 var_listnode18 = var15;
4706 var_pdocnode2 = var_nodearraylist1;
4707 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4708 cltype = type_nullable_parser_nodes__ADoc.color;
4709 idtype = type_nullable_parser_nodes__ADoc.id;
4710 if(var_pdocnode2 == NULL) {
4711 var16 = 1;
4712 } else {
4713 if(cltype >= var_pdocnode2->type->table_size) {
4714 var16 = 0;
4715 } else {
4716 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
4717 }
4718 }
4719 if (!var16) {
4720 fprintf(stderr, "Runtime error: %s", "Assert failed");
4721 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13133);
4722 exit(1);
4723 }
4724 var_pvisibilitynode4 = var_nodearraylist2;
4725 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4726 cltype18 = type_nullable_parser_nodes__AVisibility.color;
4727 idtype19 = type_nullable_parser_nodes__AVisibility.id;
4728 if(var_pvisibilitynode4 == NULL) {
4729 var17 = 1;
4730 } else {
4731 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
4732 var17 = 0;
4733 } else {
4734 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
4735 }
4736 }
4737 if (!var17) {
4738 fprintf(stderr, "Runtime error: %s", "Assert failed");
4739 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13135);
4740 exit(1);
4741 }
4742 var_pclasskindnode5 = var_nodearraylist3;
4743 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4744 cltype21 = type_nullable_parser_nodes__AClasskind.color;
4745 idtype22 = type_nullable_parser_nodes__AClasskind.id;
4746 if(var_pclasskindnode5 == NULL) {
4747 var20 = 1;
4748 } else {
4749 if(cltype21 >= var_pclasskindnode5->type->table_size) {
4750 var20 = 0;
4751 } else {
4752 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
4753 }
4754 }
4755 if (!var20) {
4756 fprintf(stderr, "Runtime error: %s", "Assert failed");
4757 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13137);
4758 exit(1);
4759 }
4760 var_tclassidnode6 = var_nodearraylist7;
4761 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4762 cltype24 = type_nullable_parser_nodes__TClassid.color;
4763 idtype25 = type_nullable_parser_nodes__TClassid.id;
4764 if(var_tclassidnode6 == NULL) {
4765 var23 = 1;
4766 } else {
4767 if(cltype24 >= var_tclassidnode6->type->table_size) {
4768 var23 = 0;
4769 } else {
4770 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
4771 }
4772 }
4773 if (!var23) {
4774 fprintf(stderr, "Runtime error: %s", "Assert failed");
4775 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13139);
4776 exit(1);
4777 }
4778 var26 = NEW_array__Array(&type_array__Arraykernel__Object);
4779 ((void (*)(val*))(var26->class->vft[COLOR_array__Array__init]))(var26) /* init on <var26:Array[Object]>*/;
4780 CHECK_NEW_array__Array(var26);
4781 var_listnode12 = var26;
4782 var_listnode11 = var_nodearraylist8;
4783 /* <var_listnode11:nullable Object> isa Array[Object] */
4784 cltype28 = type_array__Arraykernel__Object.color;
4785 idtype29 = type_array__Arraykernel__Object.id;
4786 if(var_listnode11 == NULL) {
4787 var27 = 0;
4788 } else {
4789 if(cltype28 >= var_listnode11->type->table_size) {
4790 var27 = 0;
4791 } else {
4792 var27 = var_listnode11->type->type_table[cltype28] == idtype29;
4793 }
4794 }
4795 if (!var27) {
4796 fprintf(stderr, "Runtime error: %s", "Assert failed");
4797 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13142);
4798 exit(1);
4799 }
4800 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction284>*/;
4801 var_listnode12 = var30;
4802 var31 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
4803 var32 = NULL;
4804 var33 = NULL;
4805 var34 = NULL;
4806 ((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>*/;
4807 CHECK_NEW_parser_nodes__AAnnotations(var31);
4808 var_pannotationsnode8 = var31;
4809 var_listnode15 = var_nodearraylist9;
4810 /* <var_listnode15:nullable Object> isa Array[Object] */
4811 cltype36 = type_array__Arraykernel__Object.color;
4812 idtype37 = type_array__Arraykernel__Object.id;
4813 if(var_listnode15 == NULL) {
4814 var35 = 0;
4815 } else {
4816 if(cltype36 >= var_listnode15->type->table_size) {
4817 var35 = 0;
4818 } else {
4819 var35 = var_listnode15->type->type_table[cltype36] == idtype37;
4820 }
4821 }
4822 if (!var35) {
4823 fprintf(stderr, "Runtime error: %s", "Assert failed");
4824 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13151);
4825 exit(1);
4826 }
4827 var38 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction284>*/;
4828 var_listnode16 = var38;
4829 var_listnode17 = var_nodearraylist10;
4830 /* <var_listnode17:nullable Object> isa Array[Object] */
4831 cltype40 = type_array__Arraykernel__Object.color;
4832 idtype41 = type_array__Arraykernel__Object.id;
4833 if(var_listnode17 == NULL) {
4834 var39 = 0;
4835 } else {
4836 if(cltype40 >= var_listnode17->type->table_size) {
4837 var39 = 0;
4838 } else {
4839 var39 = var_listnode17->type->type_table[cltype40] == idtype41;
4840 }
4841 }
4842 if (!var39) {
4843 fprintf(stderr, "Runtime error: %s", "Assert failed");
4844 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13154);
4845 exit(1);
4846 }
4847 var42 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction284>*/;
4848 var_listnode18 = var42;
4849 var_tkwendnode19 = var_nodearraylist12;
4850 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
4851 cltype44 = type_nullable_parser_nodes__TKwend.color;
4852 idtype45 = type_nullable_parser_nodes__TKwend.id;
4853 if(var_tkwendnode19 == NULL) {
4854 var43 = 1;
4855 } else {
4856 if(cltype44 >= var_tkwendnode19->type->table_size) {
4857 var43 = 0;
4858 } else {
4859 var43 = var_tkwendnode19->type->type_table[cltype44] == idtype45;
4860 }
4861 }
4862 if (!var43) {
4863 fprintf(stderr, "Runtime error: %s", "Assert failed");
4864 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13157);
4865 exit(1);
4866 }
4867 var46 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4868 var47 = NULL;
4869 var48 = NULL;
4870 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var46->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var46, var_pdocnode2, var47, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var48, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var46:AStdClassdef>*/;
4871 CHECK_NEW_parser_nodes__AStdClassdef(var46);
4872 var_pclassdefnode1 = var46;
4873 var_node_list = var_pclassdefnode1;
4874 var49 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction284> */
4875 var50 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var49) /* go_to on <var_p:Parser>*/;
4876 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var50, var_node_list) /* push on <var_p:Parser>*/;
4877 RET_LABEL:;
4878 }
4879 /* method parser#ReduceAction284#action for (self: Object, Parser) */
4880 void VIRTUAL_parser__ReduceAction284__action(val* self, val* p0) {
4881 parser__ReduceAction284__action(self, p0);
4882 RET_LABEL:;
4883 }
4884 /* method parser#ReduceAction286#action for (self: ReduceAction286, Parser) */
4885 void parser__ReduceAction286__action(val* self, val* p0) {
4886 val* var_p /* var p: Parser */;
4887 val* var /* : null */;
4888 val* var_node_list /* var node_list: nullable Object */;
4889 val* var1 /* : nullable Object */;
4890 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
4891 val* var2 /* : nullable Object */;
4892 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
4893 val* var3 /* : nullable Object */;
4894 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4895 val* var4 /* : nullable Object */;
4896 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4897 val* var5 /* : nullable Object */;
4898 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4899 val* var6 /* : nullable Object */;
4900 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4901 val* var7 /* : nullable Object */;
4902 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4903 val* var8 /* : nullable Object */;
4904 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4905 val* var9 /* : nullable Object */;
4906 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4907 val* var10 /* : nullable Object */;
4908 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4909 val* var11 /* : nullable Object */;
4910 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4911 val* var12 /* : nullable Object */;
4912 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4913 val* var13 /* : Array[Object] */;
4914 val* var_listnode7 /* var listnode7: Array[Object] */;
4915 val* var14 /* : Array[Object] */;
4916 val* var_listnode16 /* var listnode16: Array[Object] */;
4917 val* var15 /* : Array[Object] */;
4918 val* var_listnode18 /* var listnode18: Array[Object] */;
4919 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4920 short int var16 /* : Bool */;
4921 int cltype;
4922 int idtype;
4923 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
4924 short int var17 /* : Bool */;
4925 int cltype18;
4926 int idtype19;
4927 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4928 short int var20 /* : Bool */;
4929 int cltype21;
4930 int idtype22;
4931 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4932 short int var23 /* : Bool */;
4933 int cltype24;
4934 int idtype25;
4935 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4936 short int var26 /* : Bool */;
4937 int cltype27;
4938 int idtype28;
4939 val* var29 /* : Array[Object] */;
4940 val* var_listnode12 /* var listnode12: Array[Object] */;
4941 val* var_listnode11 /* var listnode11: nullable Object */;
4942 short int var30 /* : Bool */;
4943 int cltype31;
4944 int idtype32;
4945 val* var33 /* : Array[Object] */;
4946 val* var34 /* : AAnnotations */;
4947 val* var35 /* : null */;
4948 val* var36 /* : null */;
4949 val* var37 /* : null */;
4950 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
4951 val* var_listnode15 /* var listnode15: nullable Object */;
4952 short int var38 /* : Bool */;
4953 int cltype39;
4954 int idtype40;
4955 val* var41 /* : Array[Object] */;
4956 val* var_listnode17 /* var listnode17: nullable Object */;
4957 short int var42 /* : Bool */;
4958 int cltype43;
4959 int idtype44;
4960 val* var45 /* : Array[Object] */;
4961 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
4962 short int var46 /* : Bool */;
4963 int cltype47;
4964 int idtype48;
4965 val* var49 /* : AStdClassdef */;
4966 val* var50 /* : null */;
4967 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4968 long var51 /* : Int */;
4969 long var52 /* : Int */;
4970 var_p = p0;
4971 var = NULL;
4972 var_node_list = var;
4973 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4974 var_nodearraylist12 = var1;
4975 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4976 var_nodearraylist11 = var2;
4977 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4978 var_nodearraylist10 = var3;
4979 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4980 var_nodearraylist9 = var4;
4981 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4982 var_nodearraylist8 = var5;
4983 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4984 var_nodearraylist7 = var6;
4985 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4986 var_nodearraylist6 = var7;
4987 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4988 var_nodearraylist5 = var8;
4989 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4990 var_nodearraylist4 = var9;
4991 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4992 var_nodearraylist3 = var10;
4993 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4994 var_nodearraylist2 = var11;
4995 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4996 var_nodearraylist1 = var12;
4997 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
4998 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
4999 CHECK_NEW_array__Array(var13);
5000 var_listnode7 = var13;
5001 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
5002 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
5003 CHECK_NEW_array__Array(var14);
5004 var_listnode16 = var14;
5005 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
5006 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
5007 CHECK_NEW_array__Array(var15);
5008 var_listnode18 = var15;
5009 var_pdocnode2 = var_nodearraylist1;
5010 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5011 cltype = type_nullable_parser_nodes__ADoc.color;
5012 idtype = type_nullable_parser_nodes__ADoc.id;
5013 if(var_pdocnode2 == NULL) {
5014 var16 = 1;
5015 } else {
5016 if(cltype >= var_pdocnode2->type->table_size) {
5017 var16 = 0;
5018 } else {
5019 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
5020 }
5021 }
5022 if (!var16) {
5023 fprintf(stderr, "Runtime error: %s", "Assert failed");
5024 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13196);
5025 exit(1);
5026 }
5027 var_tkwredefnode3 = var_nodearraylist2;
5028 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
5029 cltype18 = type_nullable_parser_nodes__TKwredef.color;
5030 idtype19 = type_nullable_parser_nodes__TKwredef.id;
5031 if(var_tkwredefnode3 == NULL) {
5032 var17 = 1;
5033 } else {
5034 if(cltype18 >= var_tkwredefnode3->type->table_size) {
5035 var17 = 0;
5036 } else {
5037 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
5038 }
5039 }
5040 if (!var17) {
5041 fprintf(stderr, "Runtime error: %s", "Assert failed");
5042 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13198);
5043 exit(1);
5044 }
5045 var_pvisibilitynode4 = var_nodearraylist3;
5046 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5047 cltype21 = type_nullable_parser_nodes__AVisibility.color;
5048 idtype22 = type_nullable_parser_nodes__AVisibility.id;
5049 if(var_pvisibilitynode4 == NULL) {
5050 var20 = 1;
5051 } else {
5052 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
5053 var20 = 0;
5054 } else {
5055 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
5056 }
5057 }
5058 if (!var20) {
5059 fprintf(stderr, "Runtime error: %s", "Assert failed");
5060 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13200);
5061 exit(1);
5062 }
5063 var_pclasskindnode5 = var_nodearraylist4;
5064 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5065 cltype24 = type_nullable_parser_nodes__AClasskind.color;
5066 idtype25 = type_nullable_parser_nodes__AClasskind.id;
5067 if(var_pclasskindnode5 == NULL) {
5068 var23 = 1;
5069 } else {
5070 if(cltype24 >= var_pclasskindnode5->type->table_size) {
5071 var23 = 0;
5072 } else {
5073 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
5074 }
5075 }
5076 if (!var23) {
5077 fprintf(stderr, "Runtime error: %s", "Assert failed");
5078 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13202);
5079 exit(1);
5080 }
5081 var_tclassidnode6 = var_nodearraylist7;
5082 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5083 cltype27 = type_nullable_parser_nodes__TClassid.color;
5084 idtype28 = type_nullable_parser_nodes__TClassid.id;
5085 if(var_tclassidnode6 == NULL) {
5086 var26 = 1;
5087 } else {
5088 if(cltype27 >= var_tclassidnode6->type->table_size) {
5089 var26 = 0;
5090 } else {
5091 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
5092 }
5093 }
5094 if (!var26) {
5095 fprintf(stderr, "Runtime error: %s", "Assert failed");
5096 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13204);
5097 exit(1);
5098 }
5099 var29 = NEW_array__Array(&type_array__Arraykernel__Object);
5100 ((void (*)(val*))(var29->class->vft[COLOR_array__Array__init]))(var29) /* init on <var29:Array[Object]>*/;
5101 CHECK_NEW_array__Array(var29);
5102 var_listnode12 = var29;
5103 var_listnode11 = var_nodearraylist8;
5104 /* <var_listnode11:nullable Object> isa Array[Object] */
5105 cltype31 = type_array__Arraykernel__Object.color;
5106 idtype32 = type_array__Arraykernel__Object.id;
5107 if(var_listnode11 == NULL) {
5108 var30 = 0;
5109 } else {
5110 if(cltype31 >= var_listnode11->type->table_size) {
5111 var30 = 0;
5112 } else {
5113 var30 = var_listnode11->type->type_table[cltype31] == idtype32;
5114 }
5115 }
5116 if (!var30) {
5117 fprintf(stderr, "Runtime error: %s", "Assert failed");
5118 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13207);
5119 exit(1);
5120 }
5121 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction286>*/;
5122 var_listnode12 = var33;
5123 var34 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
5124 var35 = NULL;
5125 var36 = NULL;
5126 var37 = NULL;
5127 ((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>*/;
5128 CHECK_NEW_parser_nodes__AAnnotations(var34);
5129 var_pannotationsnode8 = var34;
5130 var_listnode15 = var_nodearraylist9;
5131 /* <var_listnode15:nullable Object> isa Array[Object] */
5132 cltype39 = type_array__Arraykernel__Object.color;
5133 idtype40 = type_array__Arraykernel__Object.id;
5134 if(var_listnode15 == NULL) {
5135 var38 = 0;
5136 } else {
5137 if(cltype39 >= var_listnode15->type->table_size) {
5138 var38 = 0;
5139 } else {
5140 var38 = var_listnode15->type->type_table[cltype39] == idtype40;
5141 }
5142 }
5143 if (!var38) {
5144 fprintf(stderr, "Runtime error: %s", "Assert failed");
5145 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13216);
5146 exit(1);
5147 }
5148 var41 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction286>*/;
5149 var_listnode16 = var41;
5150 var_listnode17 = var_nodearraylist10;
5151 /* <var_listnode17:nullable Object> isa Array[Object] */
5152 cltype43 = type_array__Arraykernel__Object.color;
5153 idtype44 = type_array__Arraykernel__Object.id;
5154 if(var_listnode17 == NULL) {
5155 var42 = 0;
5156 } else {
5157 if(cltype43 >= var_listnode17->type->table_size) {
5158 var42 = 0;
5159 } else {
5160 var42 = var_listnode17->type->type_table[cltype43] == idtype44;
5161 }
5162 }
5163 if (!var42) {
5164 fprintf(stderr, "Runtime error: %s", "Assert failed");
5165 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13219);
5166 exit(1);
5167 }
5168 var45 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction286>*/;
5169 var_listnode18 = var45;
5170 var_tkwendnode19 = var_nodearraylist12;
5171 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
5172 cltype47 = type_nullable_parser_nodes__TKwend.color;
5173 idtype48 = type_nullable_parser_nodes__TKwend.id;
5174 if(var_tkwendnode19 == NULL) {
5175 var46 = 1;
5176 } else {
5177 if(cltype47 >= var_tkwendnode19->type->table_size) {
5178 var46 = 0;
5179 } else {
5180 var46 = var_tkwendnode19->type->type_table[cltype47] == idtype48;
5181 }
5182 }
5183 if (!var46) {
5184 fprintf(stderr, "Runtime error: %s", "Assert failed");
5185 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13222);
5186 exit(1);
5187 }
5188 var49 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5189 var50 = NULL;
5190 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var49->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var49, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var50, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var49:AStdClassdef>*/;
5191 CHECK_NEW_parser_nodes__AStdClassdef(var49);
5192 var_pclassdefnode1 = var49;
5193 var_node_list = var_pclassdefnode1;
5194 var51 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction286> */
5195 var52 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var51) /* go_to on <var_p:Parser>*/;
5196 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var52, var_node_list) /* push on <var_p:Parser>*/;
5197 RET_LABEL:;
5198 }
5199 /* method parser#ReduceAction286#action for (self: Object, Parser) */
5200 void VIRTUAL_parser__ReduceAction286__action(val* self, val* p0) {
5201 parser__ReduceAction286__action(self, p0);
5202 RET_LABEL:;
5203 }
5204 /* method parser#ReduceAction287#action for (self: ReduceAction287, Parser) */
5205 void parser__ReduceAction287__action(val* self, val* p0) {
5206 val* var_p /* var p: Parser */;
5207 val* var /* : null */;
5208 val* var_node_list /* var node_list: nullable Object */;
5209 val* var1 /* : nullable Object */;
5210 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
5211 val* var2 /* : nullable Object */;
5212 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
5213 val* var3 /* : nullable Object */;
5214 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
5215 val* var4 /* : nullable Object */;
5216 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5217 val* var5 /* : nullable Object */;
5218 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5219 val* var6 /* : nullable Object */;
5220 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5221 val* var7 /* : nullable Object */;
5222 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5223 val* var8 /* : nullable Object */;
5224 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5225 val* var9 /* : nullable Object */;
5226 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5227 val* var10 /* : nullable Object */;
5228 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5229 val* var11 /* : nullable Object */;
5230 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5231 val* var12 /* : nullable Object */;
5232 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5233 val* var13 /* : nullable Object */;
5234 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5235 val* var14 /* : Array[Object] */;
5236 val* var_listnode7 /* var listnode7: Array[Object] */;
5237 val* var15 /* : Array[Object] */;
5238 val* var_listnode16 /* var listnode16: Array[Object] */;
5239 val* var16 /* : Array[Object] */;
5240 val* var_listnode18 /* var listnode18: Array[Object] */;
5241 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5242 short int var17 /* : Bool */;
5243 int cltype;
5244 int idtype;
5245 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
5246 short int var18 /* : Bool */;
5247 int cltype19;
5248 int idtype20;
5249 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5250 short int var21 /* : Bool */;
5251 int cltype22;
5252 int idtype23;
5253 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5254 short int var24 /* : Bool */;
5255 int cltype25;
5256 int idtype26;
5257 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5258 short int var27 /* : Bool */;
5259 int cltype28;
5260 int idtype29;
5261 val* var30 /* : Array[Object] */;
5262 val* var_listnode12 /* var listnode12: Array[Object] */;
5263 val* var_listnode11 /* var listnode11: nullable Object */;
5264 short int var31 /* : Bool */;
5265 int cltype32;
5266 int idtype33;
5267 val* var34 /* : Array[Object] */;
5268 val* var35 /* : AAnnotations */;
5269 val* var36 /* : null */;
5270 val* var37 /* : null */;
5271 val* var38 /* : null */;
5272 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
5273 val* var_listnode15 /* var listnode15: nullable Object */;
5274 short int var39 /* : Bool */;
5275 int cltype40;
5276 int idtype41;
5277 val* var42 /* : Array[Object] */;
5278 val* var_listnode17 /* var listnode17: nullable Object */;
5279 short int var43 /* : Bool */;
5280 int cltype44;
5281 int idtype45;
5282 val* var46 /* : Array[Object] */;
5283 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
5284 short int var47 /* : Bool */;
5285 int cltype48;
5286 int idtype49;
5287 val* var50 /* : AStdClassdef */;
5288 val* var51 /* : null */;
5289 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5290 long var52 /* : Int */;
5291 long var53 /* : Int */;
5292 var_p = p0;
5293 var = NULL;
5294 var_node_list = var;
5295 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5296 var_nodearraylist13 = var1;
5297 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5298 var_nodearraylist12 = var2;
5299 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5300 var_nodearraylist11 = var3;
5301 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5302 var_nodearraylist10 = var4;
5303 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5304 var_nodearraylist9 = var5;
5305 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5306 var_nodearraylist8 = var6;
5307 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5308 var_nodearraylist7 = var7;
5309 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5310 var_nodearraylist6 = var8;
5311 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5312 var_nodearraylist5 = var9;
5313 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5314 var_nodearraylist4 = var10;
5315 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5316 var_nodearraylist3 = var11;
5317 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5318 var_nodearraylist2 = var12;
5319 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5320 var_nodearraylist1 = var13;
5321 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
5322 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
5323 CHECK_NEW_array__Array(var14);
5324 var_listnode7 = var14;
5325 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
5326 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
5327 CHECK_NEW_array__Array(var15);
5328 var_listnode16 = var15;
5329 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
5330 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
5331 CHECK_NEW_array__Array(var16);
5332 var_listnode18 = var16;
5333 var_pdocnode2 = var_nodearraylist1;
5334 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5335 cltype = type_nullable_parser_nodes__ADoc.color;
5336 idtype = type_nullable_parser_nodes__ADoc.id;
5337 if(var_pdocnode2 == NULL) {
5338 var17 = 1;
5339 } else {
5340 if(cltype >= var_pdocnode2->type->table_size) {
5341 var17 = 0;
5342 } else {
5343 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
5344 }
5345 }
5346 if (!var17) {
5347 fprintf(stderr, "Runtime error: %s", "Assert failed");
5348 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13262);
5349 exit(1);
5350 }
5351 var_tkwredefnode3 = var_nodearraylist2;
5352 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
5353 cltype19 = type_nullable_parser_nodes__TKwredef.color;
5354 idtype20 = type_nullable_parser_nodes__TKwredef.id;
5355 if(var_tkwredefnode3 == NULL) {
5356 var18 = 1;
5357 } else {
5358 if(cltype19 >= var_tkwredefnode3->type->table_size) {
5359 var18 = 0;
5360 } else {
5361 var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20;
5362 }
5363 }
5364 if (!var18) {
5365 fprintf(stderr, "Runtime error: %s", "Assert failed");
5366 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13264);
5367 exit(1);
5368 }
5369 var_pvisibilitynode4 = var_nodearraylist3;
5370 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5371 cltype22 = type_nullable_parser_nodes__AVisibility.color;
5372 idtype23 = type_nullable_parser_nodes__AVisibility.id;
5373 if(var_pvisibilitynode4 == NULL) {
5374 var21 = 1;
5375 } else {
5376 if(cltype22 >= var_pvisibilitynode4->type->table_size) {
5377 var21 = 0;
5378 } else {
5379 var21 = var_pvisibilitynode4->type->type_table[cltype22] == idtype23;
5380 }
5381 }
5382 if (!var21) {
5383 fprintf(stderr, "Runtime error: %s", "Assert failed");
5384 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13266);
5385 exit(1);
5386 }
5387 var_pclasskindnode5 = var_nodearraylist4;
5388 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5389 cltype25 = type_nullable_parser_nodes__AClasskind.color;
5390 idtype26 = type_nullable_parser_nodes__AClasskind.id;
5391 if(var_pclasskindnode5 == NULL) {
5392 var24 = 1;
5393 } else {
5394 if(cltype25 >= var_pclasskindnode5->type->table_size) {
5395 var24 = 0;
5396 } else {
5397 var24 = var_pclasskindnode5->type->type_table[cltype25] == idtype26;
5398 }
5399 }
5400 if (!var24) {
5401 fprintf(stderr, "Runtime error: %s", "Assert failed");
5402 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13268);
5403 exit(1);
5404 }
5405 var_tclassidnode6 = var_nodearraylist8;
5406 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5407 cltype28 = type_nullable_parser_nodes__TClassid.color;
5408 idtype29 = type_nullable_parser_nodes__TClassid.id;
5409 if(var_tclassidnode6 == NULL) {
5410 var27 = 1;
5411 } else {
5412 if(cltype28 >= var_tclassidnode6->type->table_size) {
5413 var27 = 0;
5414 } else {
5415 var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29;
5416 }
5417 }
5418 if (!var27) {
5419 fprintf(stderr, "Runtime error: %s", "Assert failed");
5420 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13270);
5421 exit(1);
5422 }
5423 var30 = NEW_array__Array(&type_array__Arraykernel__Object);
5424 ((void (*)(val*))(var30->class->vft[COLOR_array__Array__init]))(var30) /* init on <var30:Array[Object]>*/;
5425 CHECK_NEW_array__Array(var30);
5426 var_listnode12 = var30;
5427 var_listnode11 = var_nodearraylist9;
5428 /* <var_listnode11:nullable Object> isa Array[Object] */
5429 cltype32 = type_array__Arraykernel__Object.color;
5430 idtype33 = type_array__Arraykernel__Object.id;
5431 if(var_listnode11 == NULL) {
5432 var31 = 0;
5433 } else {
5434 if(cltype32 >= var_listnode11->type->table_size) {
5435 var31 = 0;
5436 } else {
5437 var31 = var_listnode11->type->type_table[cltype32] == idtype33;
5438 }
5439 }
5440 if (!var31) {
5441 fprintf(stderr, "Runtime error: %s", "Assert failed");
5442 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13273);
5443 exit(1);
5444 }
5445 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction287>*/;
5446 var_listnode12 = var34;
5447 var35 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
5448 var36 = NULL;
5449 var37 = NULL;
5450 var38 = NULL;
5451 ((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>*/;
5452 CHECK_NEW_parser_nodes__AAnnotations(var35);
5453 var_pannotationsnode8 = var35;
5454 var_listnode15 = var_nodearraylist10;
5455 /* <var_listnode15:nullable Object> isa Array[Object] */
5456 cltype40 = type_array__Arraykernel__Object.color;
5457 idtype41 = type_array__Arraykernel__Object.id;
5458 if(var_listnode15 == NULL) {
5459 var39 = 0;
5460 } else {
5461 if(cltype40 >= var_listnode15->type->table_size) {
5462 var39 = 0;
5463 } else {
5464 var39 = var_listnode15->type->type_table[cltype40] == idtype41;
5465 }
5466 }
5467 if (!var39) {
5468 fprintf(stderr, "Runtime error: %s", "Assert failed");
5469 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13282);
5470 exit(1);
5471 }
5472 var42 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction287>*/;
5473 var_listnode16 = var42;
5474 var_listnode17 = var_nodearraylist11;
5475 /* <var_listnode17:nullable Object> isa Array[Object] */
5476 cltype44 = type_array__Arraykernel__Object.color;
5477 idtype45 = type_array__Arraykernel__Object.id;
5478 if(var_listnode17 == NULL) {
5479 var43 = 0;
5480 } else {
5481 if(cltype44 >= var_listnode17->type->table_size) {
5482 var43 = 0;
5483 } else {
5484 var43 = var_listnode17->type->type_table[cltype44] == idtype45;
5485 }
5486 }
5487 if (!var43) {
5488 fprintf(stderr, "Runtime error: %s", "Assert failed");
5489 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13285);
5490 exit(1);
5491 }
5492 var46 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode18, var_listnode17) /* concat on <self:ReduceAction287>*/;
5493 var_listnode18 = var46;
5494 var_tkwendnode19 = var_nodearraylist13;
5495 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
5496 cltype48 = type_nullable_parser_nodes__TKwend.color;
5497 idtype49 = type_nullable_parser_nodes__TKwend.id;
5498 if(var_tkwendnode19 == NULL) {
5499 var47 = 1;
5500 } else {
5501 if(cltype48 >= var_tkwendnode19->type->table_size) {
5502 var47 = 0;
5503 } else {
5504 var47 = var_tkwendnode19->type->type_table[cltype48] == idtype49;
5505 }
5506 }
5507 if (!var47) {
5508 fprintf(stderr, "Runtime error: %s", "Assert failed");
5509 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13288);
5510 exit(1);
5511 }
5512 var50 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5513 var51 = NULL;
5514 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var50->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var50, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var51, var_listnode16, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var50:AStdClassdef>*/;
5515 CHECK_NEW_parser_nodes__AStdClassdef(var50);
5516 var_pclassdefnode1 = var50;
5517 var_node_list = var_pclassdefnode1;
5518 var52 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction287> */
5519 var53 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var52) /* go_to on <var_p:Parser>*/;
5520 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var53, var_node_list) /* push on <var_p:Parser>*/;
5521 RET_LABEL:;
5522 }
5523 /* method parser#ReduceAction287#action for (self: Object, Parser) */
5524 void VIRTUAL_parser__ReduceAction287__action(val* self, val* p0) {
5525 parser__ReduceAction287__action(self, p0);
5526 RET_LABEL:;
5527 }
5528 /* method parser#ReduceAction289#action for (self: ReduceAction289, Parser) */
5529 void parser__ReduceAction289__action(val* self, val* p0) {
5530 val* var_p /* var p: Parser */;
5531 val* var /* : null */;
5532 val* var_node_list /* var node_list: nullable Object */;
5533 val* var1 /* : nullable Object */;
5534 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
5535 val* var2 /* : nullable Object */;
5536 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5537 val* var3 /* : nullable Object */;
5538 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5539 val* var4 /* : nullable Object */;
5540 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5541 val* var5 /* : nullable Object */;
5542 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5543 val* var6 /* : nullable Object */;
5544 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5545 val* var7 /* : nullable Object */;
5546 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5547 val* var8 /* : nullable Object */;
5548 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5549 val* var9 /* : nullable Object */;
5550 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5551 val* var10 /* : nullable Object */;
5552 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5553 val* var11 /* : nullable Object */;
5554 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5555 val* var12 /* : Array[Object] */;
5556 val* var_listnode8 /* var listnode8: Array[Object] */;
5557 val* var13 /* : Array[Object] */;
5558 val* var_listnode17 /* var listnode17: Array[Object] */;
5559 val* var14 /* : Array[Object] */;
5560 val* var_listnode19 /* var listnode19: Array[Object] */;
5561 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5562 short int var15 /* : Bool */;
5563 int cltype;
5564 int idtype;
5565 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5566 short int var16 /* : Bool */;
5567 int cltype17;
5568 int idtype18;
5569 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5570 short int var19 /* : Bool */;
5571 int cltype20;
5572 int idtype21;
5573 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5574 short int var22 /* : Bool */;
5575 int cltype23;
5576 int idtype24;
5577 val* var_listnode7 /* var listnode7: nullable Object */;
5578 short int var25 /* : Bool */;
5579 int cltype26;
5580 int idtype27;
5581 val* var28 /* : Array[Object] */;
5582 val* var29 /* : Array[Object] */;
5583 val* var_listnode13 /* var listnode13: Array[Object] */;
5584 val* var_listnode12 /* var listnode12: nullable Object */;
5585 short int var30 /* : Bool */;
5586 int cltype31;
5587 int idtype32;
5588 val* var33 /* : Array[Object] */;
5589 val* var34 /* : AAnnotations */;
5590 val* var35 /* : null */;
5591 val* var36 /* : null */;
5592 val* var37 /* : null */;
5593 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
5594 val* var_listnode16 /* var listnode16: nullable Object */;
5595 short int var38 /* : Bool */;
5596 int cltype39;
5597 int idtype40;
5598 val* var41 /* : Array[Object] */;
5599 val* var_listnode18 /* var listnode18: nullable Object */;
5600 short int var42 /* : Bool */;
5601 int cltype43;
5602 int idtype44;
5603 val* var45 /* : Array[Object] */;
5604 val* var_tkwendnode20 /* var tkwendnode20: nullable Object */;
5605 short int var46 /* : Bool */;
5606 int cltype47;
5607 int idtype48;
5608 val* var49 /* : AStdClassdef */;
5609 val* var50 /* : null */;
5610 val* var51 /* : null */;
5611 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5612 long var52 /* : Int */;
5613 long var53 /* : Int */;
5614 var_p = p0;
5615 var = NULL;
5616 var_node_list = var;
5617 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5618 var_nodearraylist11 = var1;
5619 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5620 var_nodearraylist10 = var2;
5621 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5622 var_nodearraylist9 = var3;
5623 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5624 var_nodearraylist8 = var4;
5625 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5626 var_nodearraylist7 = var5;
5627 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5628 var_nodearraylist6 = var6;
5629 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5630 var_nodearraylist5 = var7;
5631 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5632 var_nodearraylist4 = var8;
5633 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5634 var_nodearraylist3 = var9;
5635 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5636 var_nodearraylist2 = var10;
5637 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5638 var_nodearraylist1 = var11;
5639 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
5640 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
5641 CHECK_NEW_array__Array(var12);
5642 var_listnode8 = var12;
5643 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
5644 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
5645 CHECK_NEW_array__Array(var13);
5646 var_listnode17 = var13;
5647 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
5648 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
5649 CHECK_NEW_array__Array(var14);
5650 var_listnode19 = var14;
5651 var_pdocnode2 = var_nodearraylist1;
5652 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5653 cltype = type_nullable_parser_nodes__ADoc.color;
5654 idtype = type_nullable_parser_nodes__ADoc.id;
5655 if(var_pdocnode2 == NULL) {
5656 var15 = 1;
5657 } else {
5658 if(cltype >= var_pdocnode2->type->table_size) {
5659 var15 = 0;
5660 } else {
5661 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
5662 }
5663 }
5664 if (!var15) {
5665 fprintf(stderr, "Runtime error: %s", "Assert failed");
5666 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13326);
5667 exit(1);
5668 }
5669 var_pvisibilitynode4 = var_nodearraylist2;
5670 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5671 cltype17 = type_nullable_parser_nodes__AVisibility.color;
5672 idtype18 = type_nullable_parser_nodes__AVisibility.id;
5673 if(var_pvisibilitynode4 == NULL) {
5674 var16 = 1;
5675 } else {
5676 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
5677 var16 = 0;
5678 } else {
5679 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
5680 }
5681 }
5682 if (!var16) {
5683 fprintf(stderr, "Runtime error: %s", "Assert failed");
5684 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13328);
5685 exit(1);
5686 }
5687 var_pclasskindnode5 = var_nodearraylist3;
5688 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5689 cltype20 = type_nullable_parser_nodes__AClasskind.color;
5690 idtype21 = type_nullable_parser_nodes__AClasskind.id;
5691 if(var_pclasskindnode5 == NULL) {
5692 var19 = 1;
5693 } else {
5694 if(cltype20 >= var_pclasskindnode5->type->table_size) {
5695 var19 = 0;
5696 } else {
5697 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
5698 }
5699 }
5700 if (!var19) {
5701 fprintf(stderr, "Runtime error: %s", "Assert failed");
5702 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13330);
5703 exit(1);
5704 }
5705 var_tclassidnode6 = var_nodearraylist5;
5706 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5707 cltype23 = type_nullable_parser_nodes__TClassid.color;
5708 idtype24 = type_nullable_parser_nodes__TClassid.id;
5709 if(var_tclassidnode6 == NULL) {
5710 var22 = 1;
5711 } else {
5712 if(cltype23 >= var_tclassidnode6->type->table_size) {
5713 var22 = 0;
5714 } else {
5715 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
5716 }
5717 }
5718 if (!var22) {
5719 fprintf(stderr, "Runtime error: %s", "Assert failed");
5720 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13332);
5721 exit(1);
5722 }
5723 var_listnode7 = var_nodearraylist6;
5724 /* <var_listnode7:nullable Object> isa Array[Object] */
5725 cltype26 = type_array__Arraykernel__Object.color;
5726 idtype27 = type_array__Arraykernel__Object.id;
5727 if(var_listnode7 == NULL) {
5728 var25 = 0;
5729 } else {
5730 if(cltype26 >= var_listnode7->type->table_size) {
5731 var25 = 0;
5732 } else {
5733 var25 = var_listnode7->type->type_table[cltype26] == idtype27;
5734 }
5735 }
5736 if (!var25) {
5737 fprintf(stderr, "Runtime error: %s", "Assert failed");
5738 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13334);
5739 exit(1);
5740 }
5741 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction289>*/;
5742 var_listnode8 = var28;
5743 var29 = NEW_array__Array(&type_array__Arraykernel__Object);
5744 ((void (*)(val*))(var29->class->vft[COLOR_array__Array__init]))(var29) /* init on <var29:Array[Object]>*/;
5745 CHECK_NEW_array__Array(var29);
5746 var_listnode13 = var29;
5747 var_listnode12 = var_nodearraylist7;
5748 /* <var_listnode12:nullable Object> isa Array[Object] */
5749 cltype31 = type_array__Arraykernel__Object.color;
5750 idtype32 = type_array__Arraykernel__Object.id;
5751 if(var_listnode12 == NULL) {
5752 var30 = 0;
5753 } else {
5754 if(cltype31 >= var_listnode12->type->table_size) {
5755 var30 = 0;
5756 } else {
5757 var30 = var_listnode12->type->type_table[cltype31] == idtype32;
5758 }
5759 }
5760 if (!var30) {
5761 fprintf(stderr, "Runtime error: %s", "Assert failed");
5762 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13338);
5763 exit(1);
5764 }
5765 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction289>*/;
5766 var_listnode13 = var33;
5767 var34 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
5768 var35 = NULL;
5769 var36 = NULL;
5770 var37 = NULL;
5771 ((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>*/;
5772 CHECK_NEW_parser_nodes__AAnnotations(var34);
5773 var_pannotationsnode9 = var34;
5774 var_listnode16 = var_nodearraylist8;
5775 /* <var_listnode16:nullable Object> isa Array[Object] */
5776 cltype39 = type_array__Arraykernel__Object.color;
5777 idtype40 = type_array__Arraykernel__Object.id;
5778 if(var_listnode16 == NULL) {
5779 var38 = 0;
5780 } else {
5781 if(cltype39 >= var_listnode16->type->table_size) {
5782 var38 = 0;
5783 } else {
5784 var38 = var_listnode16->type->type_table[cltype39] == idtype40;
5785 }
5786 }
5787 if (!var38) {
5788 fprintf(stderr, "Runtime error: %s", "Assert failed");
5789 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13347);
5790 exit(1);
5791 }
5792 var41 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction289>*/;
5793 var_listnode17 = var41;
5794 var_listnode18 = var_nodearraylist9;
5795 /* <var_listnode18:nullable Object> isa Array[Object] */
5796 cltype43 = type_array__Arraykernel__Object.color;
5797 idtype44 = type_array__Arraykernel__Object.id;
5798 if(var_listnode18 == NULL) {
5799 var42 = 0;
5800 } else {
5801 if(cltype43 >= var_listnode18->type->table_size) {
5802 var42 = 0;
5803 } else {
5804 var42 = var_listnode18->type->type_table[cltype43] == idtype44;
5805 }
5806 }
5807 if (!var42) {
5808 fprintf(stderr, "Runtime error: %s", "Assert failed");
5809 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13350);
5810 exit(1);
5811 }
5812 var45 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode19, var_listnode18) /* concat on <self:ReduceAction289>*/;
5813 var_listnode19 = var45;
5814 var_tkwendnode20 = var_nodearraylist11;
5815 /* <var_tkwendnode20:nullable Object> isa nullable TKwend */
5816 cltype47 = type_nullable_parser_nodes__TKwend.color;
5817 idtype48 = type_nullable_parser_nodes__TKwend.id;
5818 if(var_tkwendnode20 == NULL) {
5819 var46 = 1;
5820 } else {
5821 if(cltype47 >= var_tkwendnode20->type->table_size) {
5822 var46 = 0;
5823 } else {
5824 var46 = var_tkwendnode20->type->type_table[cltype47] == idtype48;
5825 }
5826 }
5827 if (!var46) {
5828 fprintf(stderr, "Runtime error: %s", "Assert failed");
5829 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13353);
5830 exit(1);
5831 }
5832 var49 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5833 var50 = NULL;
5834 var51 = NULL;
5835 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var49->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var49, var_pdocnode2, var50, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var51, var_listnode17, var_listnode19, var_tkwendnode20) /* init_astdclassdef on <var49:AStdClassdef>*/;
5836 CHECK_NEW_parser_nodes__AStdClassdef(var49);
5837 var_pclassdefnode1 = var49;
5838 var_node_list = var_pclassdefnode1;
5839 var52 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction289> */
5840 var53 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var52) /* go_to on <var_p:Parser>*/;
5841 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var53, var_node_list) /* push on <var_p:Parser>*/;
5842 RET_LABEL:;
5843 }
5844 /* method parser#ReduceAction289#action for (self: Object, Parser) */
5845 void VIRTUAL_parser__ReduceAction289__action(val* self, val* p0) {
5846 parser__ReduceAction289__action(self, p0);
5847 RET_LABEL:;
5848 }
5849 /* method parser#ReduceAction290#action for (self: ReduceAction290, Parser) */
5850 void parser__ReduceAction290__action(val* self, val* p0) {
5851 val* var_p /* var p: Parser */;
5852 val* var /* : null */;
5853 val* var_node_list /* var node_list: nullable Object */;
5854 val* var1 /* : nullable Object */;
5855 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
5856 val* var2 /* : nullable Object */;
5857 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
5858 val* var3 /* : nullable Object */;
5859 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5860 val* var4 /* : nullable Object */;
5861 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5862 val* var5 /* : nullable Object */;
5863 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5864 val* var6 /* : nullable Object */;
5865 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5866 val* var7 /* : nullable Object */;
5867 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5868 val* var8 /* : nullable Object */;
5869 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5870 val* var9 /* : nullable Object */;
5871 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5872 val* var10 /* : nullable Object */;
5873 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5874 val* var11 /* : nullable Object */;
5875 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5876 val* var12 /* : nullable Object */;
5877 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5878 val* var13 /* : Array[Object] */;
5879 val* var_listnode8 /* var listnode8: Array[Object] */;
5880 val* var14 /* : Array[Object] */;
5881 val* var_listnode17 /* var listnode17: Array[Object] */;
5882 val* var15 /* : Array[Object] */;
5883 val* var_listnode19 /* var listnode19: Array[Object] */;
5884 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5885 short int var16 /* : Bool */;
5886 int cltype;
5887 int idtype;
5888 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
5889 short int var17 /* : Bool */;
5890 int cltype18;
5891 int idtype19;
5892 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5893 short int var20 /* : Bool */;
5894 int cltype21;
5895 int idtype22;
5896 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5897 short int var23 /* : Bool */;
5898 int cltype24;
5899 int idtype25;
5900 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5901 short int var26 /* : Bool */;
5902 int cltype27;
5903 int idtype28;
5904 val* var_listnode7 /* var listnode7: nullable Object */;
5905 short int var29 /* : Bool */;
5906 int cltype30;
5907 int idtype31;
5908 val* var32 /* : Array[Object] */;
5909 val* var33 /* : Array[Object] */;
5910 val* var_listnode13 /* var listnode13: Array[Object] */;
5911 val* var_listnode12 /* var listnode12: nullable Object */;
5912 short int var34 /* : Bool */;
5913 int cltype35;
5914 int idtype36;
5915 val* var37 /* : Array[Object] */;
5916 val* var38 /* : AAnnotations */;
5917 val* var39 /* : null */;
5918 val* var40 /* : null */;
5919 val* var41 /* : null */;
5920 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
5921 val* var_listnode16 /* var listnode16: nullable Object */;
5922 short int var42 /* : Bool */;
5923 int cltype43;
5924 int idtype44;
5925 val* var45 /* : Array[Object] */;
5926 val* var_listnode18 /* var listnode18: nullable Object */;
5927 short int var46 /* : Bool */;
5928 int cltype47;
5929 int idtype48;
5930 val* var49 /* : Array[Object] */;
5931 val* var_tkwendnode20 /* var tkwendnode20: nullable Object */;
5932 short int var50 /* : Bool */;
5933 int cltype51;
5934 int idtype52;
5935 val* var53 /* : AStdClassdef */;
5936 val* var54 /* : null */;
5937 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5938 long var55 /* : Int */;
5939 long var56 /* : Int */;
5940 var_p = p0;
5941 var = NULL;
5942 var_node_list = var;
5943 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5944 var_nodearraylist12 = var1;
5945 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5946 var_nodearraylist11 = var2;
5947 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5948 var_nodearraylist10 = var3;
5949 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5950 var_nodearraylist9 = var4;
5951 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5952 var_nodearraylist8 = var5;
5953 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5954 var_nodearraylist7 = var6;
5955 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5956 var_nodearraylist6 = var7;
5957 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5958 var_nodearraylist5 = var8;
5959 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5960 var_nodearraylist4 = var9;
5961 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5962 var_nodearraylist3 = var10;
5963 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5964 var_nodearraylist2 = var11;
5965 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5966 var_nodearraylist1 = var12;
5967 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
5968 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
5969 CHECK_NEW_array__Array(var13);
5970 var_listnode8 = var13;
5971 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
5972 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
5973 CHECK_NEW_array__Array(var14);
5974 var_listnode17 = var14;
5975 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
5976 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
5977 CHECK_NEW_array__Array(var15);
5978 var_listnode19 = var15;
5979 var_pdocnode2 = var_nodearraylist1;
5980 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5981 cltype = type_nullable_parser_nodes__ADoc.color;
5982 idtype = type_nullable_parser_nodes__ADoc.id;
5983 if(var_pdocnode2 == NULL) {
5984 var16 = 1;
5985 } else {
5986 if(cltype >= var_pdocnode2->type->table_size) {
5987 var16 = 0;
5988 } else {
5989 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
5990 }
5991 }
5992 if (!var16) {
5993 fprintf(stderr, "Runtime error: %s", "Assert failed");
5994 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13392);
5995 exit(1);
5996 }
5997 var_tkwredefnode3 = var_nodearraylist2;
5998 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
5999 cltype18 = type_nullable_parser_nodes__TKwredef.color;
6000 idtype19 = type_nullable_parser_nodes__TKwredef.id;
6001 if(var_tkwredefnode3 == NULL) {
6002 var17 = 1;
6003 } else {
6004 if(cltype18 >= var_tkwredefnode3->type->table_size) {
6005 var17 = 0;
6006 } else {
6007 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
6008 }
6009 }
6010 if (!var17) {
6011 fprintf(stderr, "Runtime error: %s", "Assert failed");
6012 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13394);
6013 exit(1);
6014 }
6015 var_pvisibilitynode4 = var_nodearraylist3;
6016 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6017 cltype21 = type_nullable_parser_nodes__AVisibility.color;
6018 idtype22 = type_nullable_parser_nodes__AVisibility.id;
6019 if(var_pvisibilitynode4 == NULL) {
6020 var20 = 1;
6021 } else {
6022 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
6023 var20 = 0;
6024 } else {
6025 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
6026 }
6027 }
6028 if (!var20) {
6029 fprintf(stderr, "Runtime error: %s", "Assert failed");
6030 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13396);
6031 exit(1);
6032 }
6033 var_pclasskindnode5 = var_nodearraylist4;
6034 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6035 cltype24 = type_nullable_parser_nodes__AClasskind.color;
6036 idtype25 = type_nullable_parser_nodes__AClasskind.id;
6037 if(var_pclasskindnode5 == NULL) {
6038 var23 = 1;
6039 } else {
6040 if(cltype24 >= var_pclasskindnode5->type->table_size) {
6041 var23 = 0;
6042 } else {
6043 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
6044 }
6045 }
6046 if (!var23) {
6047 fprintf(stderr, "Runtime error: %s", "Assert failed");
6048 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13398);
6049 exit(1);
6050 }
6051 var_tclassidnode6 = var_nodearraylist6;
6052 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6053 cltype27 = type_nullable_parser_nodes__TClassid.color;
6054 idtype28 = type_nullable_parser_nodes__TClassid.id;
6055 if(var_tclassidnode6 == NULL) {
6056 var26 = 1;
6057 } else {
6058 if(cltype27 >= var_tclassidnode6->type->table_size) {
6059 var26 = 0;
6060 } else {
6061 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
6062 }
6063 }
6064 if (!var26) {
6065 fprintf(stderr, "Runtime error: %s", "Assert failed");
6066 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13400);
6067 exit(1);
6068 }
6069 var_listnode7 = var_nodearraylist7;
6070 /* <var_listnode7:nullable Object> isa Array[Object] */
6071 cltype30 = type_array__Arraykernel__Object.color;
6072 idtype31 = type_array__Arraykernel__Object.id;
6073 if(var_listnode7 == NULL) {
6074 var29 = 0;
6075 } else {
6076 if(cltype30 >= var_listnode7->type->table_size) {
6077 var29 = 0;
6078 } else {
6079 var29 = var_listnode7->type->type_table[cltype30] == idtype31;
6080 }
6081 }
6082 if (!var29) {
6083 fprintf(stderr, "Runtime error: %s", "Assert failed");
6084 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13402);
6085 exit(1);
6086 }
6087 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction290>*/;
6088 var_listnode8 = var32;
6089 var33 = NEW_array__Array(&type_array__Arraykernel__Object);
6090 ((void (*)(val*))(var33->class->vft[COLOR_array__Array__init]))(var33) /* init on <var33:Array[Object]>*/;
6091 CHECK_NEW_array__Array(var33);
6092 var_listnode13 = var33;
6093 var_listnode12 = var_nodearraylist8;
6094 /* <var_listnode12:nullable Object> isa Array[Object] */
6095 cltype35 = type_array__Arraykernel__Object.color;
6096 idtype36 = type_array__Arraykernel__Object.id;
6097 if(var_listnode12 == NULL) {
6098 var34 = 0;
6099 } else {
6100 if(cltype35 >= var_listnode12->type->table_size) {
6101 var34 = 0;
6102 } else {
6103 var34 = var_listnode12->type->type_table[cltype35] == idtype36;
6104 }
6105 }
6106 if (!var34) {
6107 fprintf(stderr, "Runtime error: %s", "Assert failed");
6108 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13406);
6109 exit(1);
6110 }
6111 var37 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction290>*/;
6112 var_listnode13 = var37;
6113 var38 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
6114 var39 = NULL;
6115 var40 = NULL;
6116 var41 = NULL;
6117 ((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>*/;
6118 CHECK_NEW_parser_nodes__AAnnotations(var38);
6119 var_pannotationsnode9 = var38;
6120 var_listnode16 = var_nodearraylist9;
6121 /* <var_listnode16:nullable Object> isa Array[Object] */
6122 cltype43 = type_array__Arraykernel__Object.color;
6123 idtype44 = type_array__Arraykernel__Object.id;
6124 if(var_listnode16 == NULL) {
6125 var42 = 0;
6126 } else {
6127 if(cltype43 >= var_listnode16->type->table_size) {
6128 var42 = 0;
6129 } else {
6130 var42 = var_listnode16->type->type_table[cltype43] == idtype44;
6131 }
6132 }
6133 if (!var42) {
6134 fprintf(stderr, "Runtime error: %s", "Assert failed");
6135 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13415);
6136 exit(1);
6137 }
6138 var45 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction290>*/;
6139 var_listnode17 = var45;
6140 var_listnode18 = var_nodearraylist10;
6141 /* <var_listnode18:nullable Object> isa Array[Object] */
6142 cltype47 = type_array__Arraykernel__Object.color;
6143 idtype48 = type_array__Arraykernel__Object.id;
6144 if(var_listnode18 == NULL) {
6145 var46 = 0;
6146 } else {
6147 if(cltype47 >= var_listnode18->type->table_size) {
6148 var46 = 0;
6149 } else {
6150 var46 = var_listnode18->type->type_table[cltype47] == idtype48;
6151 }
6152 }
6153 if (!var46) {
6154 fprintf(stderr, "Runtime error: %s", "Assert failed");
6155 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13418);
6156 exit(1);
6157 }
6158 var49 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode19, var_listnode18) /* concat on <self:ReduceAction290>*/;
6159 var_listnode19 = var49;
6160 var_tkwendnode20 = var_nodearraylist12;
6161 /* <var_tkwendnode20:nullable Object> isa nullable TKwend */
6162 cltype51 = type_nullable_parser_nodes__TKwend.color;
6163 idtype52 = type_nullable_parser_nodes__TKwend.id;
6164 if(var_tkwendnode20 == NULL) {
6165 var50 = 1;
6166 } else {
6167 if(cltype51 >= var_tkwendnode20->type->table_size) {
6168 var50 = 0;
6169 } else {
6170 var50 = var_tkwendnode20->type->type_table[cltype51] == idtype52;
6171 }
6172 }
6173 if (!var50) {
6174 fprintf(stderr, "Runtime error: %s", "Assert failed");
6175 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13421);
6176 exit(1);
6177 }
6178 var53 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6179 var54 = NULL;
6180 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var53->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var53, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var54, var_listnode17, var_listnode19, var_tkwendnode20) /* init_astdclassdef on <var53:AStdClassdef>*/;
6181 CHECK_NEW_parser_nodes__AStdClassdef(var53);
6182 var_pclassdefnode1 = var53;
6183 var_node_list = var_pclassdefnode1;
6184 var55 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction290> */
6185 var56 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var55) /* go_to on <var_p:Parser>*/;
6186 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var56, var_node_list) /* push on <var_p:Parser>*/;
6187 RET_LABEL:;
6188 }
6189 /* method parser#ReduceAction290#action for (self: Object, Parser) */
6190 void VIRTUAL_parser__ReduceAction290__action(val* self, val* p0) {
6191 parser__ReduceAction290__action(self, p0);
6192 RET_LABEL:;
6193 }
6194 /* method parser#ReduceAction291#action for (self: ReduceAction291, Parser) */
6195 void parser__ReduceAction291__action(val* self, val* p0) {
6196 val* var_p /* var p: Parser */;
6197 val* var /* : null */;
6198 val* var_node_list /* var node_list: nullable Object */;
6199 val* var1 /* : nullable Object */;
6200 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
6201 val* var2 /* : nullable Object */;
6202 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
6203 val* var3 /* : nullable Object */;
6204 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6205 val* var4 /* : nullable Object */;
6206 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6207 val* var5 /* : nullable Object */;
6208 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6209 val* var6 /* : nullable Object */;
6210 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6211 val* var7 /* : nullable Object */;
6212 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6213 val* var8 /* : nullable Object */;
6214 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6215 val* var9 /* : nullable Object */;
6216 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6217 val* var10 /* : nullable Object */;
6218 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6219 val* var11 /* : nullable Object */;
6220 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6221 val* var12 /* : nullable Object */;
6222 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6223 val* var13 /* : Array[Object] */;
6224 val* var_listnode8 /* var listnode8: Array[Object] */;
6225 val* var14 /* : Array[Object] */;
6226 val* var_listnode17 /* var listnode17: Array[Object] */;
6227 val* var15 /* : Array[Object] */;
6228 val* var_listnode19 /* var listnode19: Array[Object] */;
6229 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6230 short int var16 /* : Bool */;
6231 int cltype;
6232 int idtype;
6233 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6234 short int var17 /* : Bool */;
6235 int cltype18;
6236 int idtype19;
6237 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6238 short int var20 /* : Bool */;
6239 int cltype21;
6240 int idtype22;
6241 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6242 short int var23 /* : Bool */;
6243 int cltype24;
6244 int idtype25;
6245 val* var_listnode7 /* var listnode7: nullable Object */;
6246 short int var26 /* : Bool */;
6247 int cltype27;
6248 int idtype28;
6249 val* var29 /* : Array[Object] */;
6250 val* var30 /* : Array[Object] */;
6251 val* var_listnode13 /* var listnode13: Array[Object] */;
6252 val* var_listnode12 /* var listnode12: nullable Object */;
6253 short int var31 /* : Bool */;
6254 int cltype32;
6255 int idtype33;
6256 val* var34 /* : Array[Object] */;
6257 val* var35 /* : AAnnotations */;
6258 val* var36 /* : null */;
6259 val* var37 /* : null */;
6260 val* var38 /* : null */;
6261 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
6262 val* var_listnode16 /* var listnode16: nullable Object */;
6263 short int var39 /* : Bool */;
6264 int cltype40;
6265 int idtype41;
6266 val* var42 /* : Array[Object] */;
6267 val* var_listnode18 /* var listnode18: nullable Object */;
6268 short int var43 /* : Bool */;
6269 int cltype44;
6270 int idtype45;
6271 val* var46 /* : Array[Object] */;
6272 val* var_tkwendnode20 /* var tkwendnode20: nullable Object */;
6273 short int var47 /* : Bool */;
6274 int cltype48;
6275 int idtype49;
6276 val* var50 /* : AStdClassdef */;
6277 val* var51 /* : null */;
6278 val* var52 /* : null */;
6279 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6280 long var53 /* : Int */;
6281 long var54 /* : Int */;
6282 var_p = p0;
6283 var = NULL;
6284 var_node_list = var;
6285 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6286 var_nodearraylist12 = var1;
6287 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6288 var_nodearraylist11 = var2;
6289 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6290 var_nodearraylist10 = var3;
6291 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6292 var_nodearraylist9 = var4;
6293 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6294 var_nodearraylist8 = var5;
6295 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6296 var_nodearraylist7 = var6;
6297 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6298 var_nodearraylist6 = var7;
6299 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6300 var_nodearraylist5 = var8;
6301 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6302 var_nodearraylist4 = var9;
6303 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6304 var_nodearraylist3 = var10;
6305 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6306 var_nodearraylist2 = var11;
6307 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6308 var_nodearraylist1 = var12;
6309 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
6310 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
6311 CHECK_NEW_array__Array(var13);
6312 var_listnode8 = var13;
6313 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
6314 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
6315 CHECK_NEW_array__Array(var14);
6316 var_listnode17 = var14;
6317 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
6318 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
6319 CHECK_NEW_array__Array(var15);
6320 var_listnode19 = var15;
6321 var_pdocnode2 = var_nodearraylist1;
6322 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6323 cltype = type_nullable_parser_nodes__ADoc.color;
6324 idtype = type_nullable_parser_nodes__ADoc.id;
6325 if(var_pdocnode2 == NULL) {
6326 var16 = 1;
6327 } else {
6328 if(cltype >= var_pdocnode2->type->table_size) {
6329 var16 = 0;
6330 } else {
6331 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
6332 }
6333 }
6334 if (!var16) {
6335 fprintf(stderr, "Runtime error: %s", "Assert failed");
6336 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13460);
6337 exit(1);
6338 }
6339 var_pvisibilitynode4 = var_nodearraylist2;
6340 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6341 cltype18 = type_nullable_parser_nodes__AVisibility.color;
6342 idtype19 = type_nullable_parser_nodes__AVisibility.id;
6343 if(var_pvisibilitynode4 == NULL) {
6344 var17 = 1;
6345 } else {
6346 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
6347 var17 = 0;
6348 } else {
6349 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
6350 }
6351 }
6352 if (!var17) {
6353 fprintf(stderr, "Runtime error: %s", "Assert failed");
6354 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13462);
6355 exit(1);
6356 }
6357 var_pclasskindnode5 = var_nodearraylist3;
6358 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6359 cltype21 = type_nullable_parser_nodes__AClasskind.color;
6360 idtype22 = type_nullable_parser_nodes__AClasskind.id;
6361 if(var_pclasskindnode5 == NULL) {
6362 var20 = 1;
6363 } else {
6364 if(cltype21 >= var_pclasskindnode5->type->table_size) {
6365 var20 = 0;
6366 } else {
6367 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
6368 }
6369 }
6370 if (!var20) {
6371 fprintf(stderr, "Runtime error: %s", "Assert failed");
6372 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13464);
6373 exit(1);
6374 }
6375 var_tclassidnode6 = var_nodearraylist6;
6376 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6377 cltype24 = type_nullable_parser_nodes__TClassid.color;
6378 idtype25 = type_nullable_parser_nodes__TClassid.id;
6379 if(var_tclassidnode6 == NULL) {
6380 var23 = 1;
6381 } else {
6382 if(cltype24 >= var_tclassidnode6->type->table_size) {
6383 var23 = 0;
6384 } else {
6385 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
6386 }
6387 }
6388 if (!var23) {
6389 fprintf(stderr, "Runtime error: %s", "Assert failed");
6390 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13466);
6391 exit(1);
6392 }
6393 var_listnode7 = var_nodearraylist7;
6394 /* <var_listnode7:nullable Object> isa Array[Object] */
6395 cltype27 = type_array__Arraykernel__Object.color;
6396 idtype28 = type_array__Arraykernel__Object.id;
6397 if(var_listnode7 == NULL) {
6398 var26 = 0;
6399 } else {
6400 if(cltype27 >= var_listnode7->type->table_size) {
6401 var26 = 0;
6402 } else {
6403 var26 = var_listnode7->type->type_table[cltype27] == idtype28;
6404 }
6405 }
6406 if (!var26) {
6407 fprintf(stderr, "Runtime error: %s", "Assert failed");
6408 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13468);
6409 exit(1);
6410 }
6411 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction291>*/;
6412 var_listnode8 = var29;
6413 var30 = NEW_array__Array(&type_array__Arraykernel__Object);
6414 ((void (*)(val*))(var30->class->vft[COLOR_array__Array__init]))(var30) /* init on <var30:Array[Object]>*/;
6415 CHECK_NEW_array__Array(var30);
6416 var_listnode13 = var30;
6417 var_listnode12 = var_nodearraylist8;
6418 /* <var_listnode12:nullable Object> isa Array[Object] */
6419 cltype32 = type_array__Arraykernel__Object.color;
6420 idtype33 = type_array__Arraykernel__Object.id;
6421 if(var_listnode12 == NULL) {
6422 var31 = 0;
6423 } else {
6424 if(cltype32 >= var_listnode12->type->table_size) {
6425 var31 = 0;
6426 } else {
6427 var31 = var_listnode12->type->type_table[cltype32] == idtype33;
6428 }
6429 }
6430 if (!var31) {
6431 fprintf(stderr, "Runtime error: %s", "Assert failed");
6432 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13472);
6433 exit(1);
6434 }
6435 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction291>*/;
6436 var_listnode13 = var34;
6437 var35 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
6438 var36 = NULL;
6439 var37 = NULL;
6440 var38 = NULL;
6441 ((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>*/;
6442 CHECK_NEW_parser_nodes__AAnnotations(var35);
6443 var_pannotationsnode9 = var35;
6444 var_listnode16 = var_nodearraylist9;
6445 /* <var_listnode16:nullable Object> isa Array[Object] */
6446 cltype40 = type_array__Arraykernel__Object.color;
6447 idtype41 = type_array__Arraykernel__Object.id;
6448 if(var_listnode16 == NULL) {
6449 var39 = 0;
6450 } else {
6451 if(cltype40 >= var_listnode16->type->table_size) {
6452 var39 = 0;
6453 } else {
6454 var39 = var_listnode16->type->type_table[cltype40] == idtype41;
6455 }
6456 }
6457 if (!var39) {
6458 fprintf(stderr, "Runtime error: %s", "Assert failed");
6459 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13481);
6460 exit(1);
6461 }
6462 var42 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction291>*/;
6463 var_listnode17 = var42;
6464 var_listnode18 = var_nodearraylist10;
6465 /* <var_listnode18:nullable Object> isa Array[Object] */
6466 cltype44 = type_array__Arraykernel__Object.color;
6467 idtype45 = type_array__Arraykernel__Object.id;
6468 if(var_listnode18 == NULL) {
6469 var43 = 0;
6470 } else {
6471 if(cltype44 >= var_listnode18->type->table_size) {
6472 var43 = 0;
6473 } else {
6474 var43 = var_listnode18->type->type_table[cltype44] == idtype45;
6475 }
6476 }
6477 if (!var43) {
6478 fprintf(stderr, "Runtime error: %s", "Assert failed");
6479 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13484);
6480 exit(1);
6481 }
6482 var46 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode19, var_listnode18) /* concat on <self:ReduceAction291>*/;
6483 var_listnode19 = var46;
6484 var_tkwendnode20 = var_nodearraylist12;
6485 /* <var_tkwendnode20:nullable Object> isa nullable TKwend */
6486 cltype48 = type_nullable_parser_nodes__TKwend.color;
6487 idtype49 = type_nullable_parser_nodes__TKwend.id;
6488 if(var_tkwendnode20 == NULL) {
6489 var47 = 1;
6490 } else {
6491 if(cltype48 >= var_tkwendnode20->type->table_size) {
6492 var47 = 0;
6493 } else {
6494 var47 = var_tkwendnode20->type->type_table[cltype48] == idtype49;
6495 }
6496 }
6497 if (!var47) {
6498 fprintf(stderr, "Runtime error: %s", "Assert failed");
6499 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13487);
6500 exit(1);
6501 }
6502 var50 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6503 var51 = NULL;
6504 var52 = NULL;
6505 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var50->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var50, var_pdocnode2, var51, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var52, var_listnode17, var_listnode19, var_tkwendnode20) /* init_astdclassdef on <var50:AStdClassdef>*/;
6506 CHECK_NEW_parser_nodes__AStdClassdef(var50);
6507 var_pclassdefnode1 = var50;
6508 var_node_list = var_pclassdefnode1;
6509 var53 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction291> */
6510 var54 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var53) /* go_to on <var_p:Parser>*/;
6511 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var54, var_node_list) /* push on <var_p:Parser>*/;
6512 RET_LABEL:;
6513 }
6514 /* method parser#ReduceAction291#action for (self: Object, Parser) */
6515 void VIRTUAL_parser__ReduceAction291__action(val* self, val* p0) {
6516 parser__ReduceAction291__action(self, p0);
6517 RET_LABEL:;
6518 }
6519 /* method parser#ReduceAction292#action for (self: ReduceAction292, Parser) */
6520 void parser__ReduceAction292__action(val* self, val* p0) {
6521 val* var_p /* var p: Parser */;
6522 val* var /* : null */;
6523 val* var_node_list /* var node_list: nullable Object */;
6524 val* var1 /* : nullable Object */;
6525 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
6526 val* var2 /* : nullable Object */;
6527 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
6528 val* var3 /* : nullable Object */;
6529 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
6530 val* var4 /* : nullable Object */;
6531 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6532 val* var5 /* : nullable Object */;
6533 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6534 val* var6 /* : nullable Object */;
6535 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6536 val* var7 /* : nullable Object */;
6537 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6538 val* var8 /* : nullable Object */;
6539 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6540 val* var9 /* : nullable Object */;
6541 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6542 val* var10 /* : nullable Object */;
6543 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6544 val* var11 /* : nullable Object */;
6545 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6546 val* var12 /* : nullable Object */;
6547 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6548 val* var13 /* : nullable Object */;
6549 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6550 val* var14 /* : Array[Object] */;
6551 val* var_listnode8 /* var listnode8: Array[Object] */;
6552 val* var15 /* : Array[Object] */;
6553 val* var_listnode17 /* var listnode17: Array[Object] */;
6554 val* var16 /* : Array[Object] */;
6555 val* var_listnode19 /* var listnode19: Array[Object] */;
6556 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6557 short int var17 /* : Bool */;
6558 int cltype;
6559 int idtype;
6560 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6561 short int var18 /* : Bool */;
6562 int cltype19;
6563 int idtype20;
6564 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6565 short int var21 /* : Bool */;
6566 int cltype22;
6567 int idtype23;
6568 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6569 short int var24 /* : Bool */;
6570 int cltype25;
6571 int idtype26;
6572 val* var_listnode7 /* var listnode7: nullable Object */;
6573 short int var27 /* : Bool */;
6574 int cltype28;
6575 int idtype29;
6576 val* var30 /* : Array[Object] */;
6577 val* var31 /* : Array[Object] */;
6578 val* var_listnode13 /* var listnode13: Array[Object] */;
6579 val* var_listnode12 /* var listnode12: nullable Object */;
6580 short int var32 /* : Bool */;
6581 int cltype33;
6582 int idtype34;
6583 val* var35 /* : Array[Object] */;
6584 val* var36 /* : AAnnotations */;
6585 val* var37 /* : null */;
6586 val* var38 /* : null */;
6587 val* var39 /* : null */;
6588 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
6589 val* var_listnode16 /* var listnode16: nullable Object */;
6590 short int var40 /* : Bool */;
6591 int cltype41;
6592 int idtype42;
6593 val* var43 /* : Array[Object] */;
6594 val* var_listnode18 /* var listnode18: nullable Object */;
6595 short int var44 /* : Bool */;
6596 int cltype45;
6597 int idtype46;
6598 val* var47 /* : Array[Object] */;
6599 val* var_tkwendnode20 /* var tkwendnode20: nullable Object */;
6600 short int var48 /* : Bool */;
6601 int cltype49;
6602 int idtype50;
6603 val* var51 /* : AStdClassdef */;
6604 val* var52 /* : null */;
6605 val* var53 /* : null */;
6606 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6607 long var54 /* : Int */;
6608 long var55 /* : Int */;
6609 var_p = p0;
6610 var = NULL;
6611 var_node_list = var;
6612 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6613 var_nodearraylist13 = var1;
6614 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6615 var_nodearraylist12 = var2;
6616 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6617 var_nodearraylist11 = var3;
6618 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6619 var_nodearraylist10 = var4;
6620 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6621 var_nodearraylist9 = var5;
6622 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6623 var_nodearraylist8 = var6;
6624 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6625 var_nodearraylist7 = var7;
6626 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6627 var_nodearraylist6 = var8;
6628 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6629 var_nodearraylist5 = var9;
6630 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6631 var_nodearraylist4 = var10;
6632 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6633 var_nodearraylist3 = var11;
6634 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6635 var_nodearraylist2 = var12;
6636 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6637 var_nodearraylist1 = var13;
6638 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
6639 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
6640 CHECK_NEW_array__Array(var14);
6641 var_listnode8 = var14;
6642 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
6643 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
6644 CHECK_NEW_array__Array(var15);
6645 var_listnode17 = var15;
6646 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
6647 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
6648 CHECK_NEW_array__Array(var16);
6649 var_listnode19 = var16;
6650 var_pdocnode2 = var_nodearraylist1;
6651 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6652 cltype = type_nullable_parser_nodes__ADoc.color;
6653 idtype = type_nullable_parser_nodes__ADoc.id;
6654 if(var_pdocnode2 == NULL) {
6655 var17 = 1;
6656 } else {
6657 if(cltype >= var_pdocnode2->type->table_size) {
6658 var17 = 0;
6659 } else {
6660 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
6661 }
6662 }
6663 if (!var17) {
6664 fprintf(stderr, "Runtime error: %s", "Assert failed");
6665 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13527);
6666 exit(1);
6667 }
6668 var_pvisibilitynode4 = var_nodearraylist2;
6669 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6670 cltype19 = type_nullable_parser_nodes__AVisibility.color;
6671 idtype20 = type_nullable_parser_nodes__AVisibility.id;
6672 if(var_pvisibilitynode4 == NULL) {
6673 var18 = 1;
6674 } else {
6675 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
6676 var18 = 0;
6677 } else {
6678 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
6679 }
6680 }
6681 if (!var18) {
6682 fprintf(stderr, "Runtime error: %s", "Assert failed");
6683 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13529);
6684 exit(1);
6685 }
6686 var_pclasskindnode5 = var_nodearraylist3;
6687 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6688 cltype22 = type_nullable_parser_nodes__AClasskind.color;
6689 idtype23 = type_nullable_parser_nodes__AClasskind.id;
6690 if(var_pclasskindnode5 == NULL) {
6691 var21 = 1;
6692 } else {
6693 if(cltype22 >= var_pclasskindnode5->type->table_size) {
6694 var21 = 0;
6695 } else {
6696 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
6697 }
6698 }
6699 if (!var21) {
6700 fprintf(stderr, "Runtime error: %s", "Assert failed");
6701 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13531);
6702 exit(1);
6703 }
6704 var_tclassidnode6 = var_nodearraylist7;
6705 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6706 cltype25 = type_nullable_parser_nodes__TClassid.color;
6707 idtype26 = type_nullable_parser_nodes__TClassid.id;
6708 if(var_tclassidnode6 == NULL) {
6709 var24 = 1;
6710 } else {
6711 if(cltype25 >= var_tclassidnode6->type->table_size) {
6712 var24 = 0;
6713 } else {
6714 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
6715 }
6716 }
6717 if (!var24) {
6718 fprintf(stderr, "Runtime error: %s", "Assert failed");
6719 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13533);
6720 exit(1);
6721 }
6722 var_listnode7 = var_nodearraylist8;
6723 /* <var_listnode7:nullable Object> isa Array[Object] */
6724 cltype28 = type_array__Arraykernel__Object.color;
6725 idtype29 = type_array__Arraykernel__Object.id;
6726 if(var_listnode7 == NULL) {
6727 var27 = 0;
6728 } else {
6729 if(cltype28 >= var_listnode7->type->table_size) {
6730 var27 = 0;
6731 } else {
6732 var27 = var_listnode7->type->type_table[cltype28] == idtype29;
6733 }
6734 }
6735 if (!var27) {
6736 fprintf(stderr, "Runtime error: %s", "Assert failed");
6737 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13535);
6738 exit(1);
6739 }
6740 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction292>*/;
6741 var_listnode8 = var30;
6742 var31 = NEW_array__Array(&type_array__Arraykernel__Object);
6743 ((void (*)(val*))(var31->class->vft[COLOR_array__Array__init]))(var31) /* init on <var31:Array[Object]>*/;
6744 CHECK_NEW_array__Array(var31);
6745 var_listnode13 = var31;
6746 var_listnode12 = var_nodearraylist9;
6747 /* <var_listnode12:nullable Object> isa Array[Object] */
6748 cltype33 = type_array__Arraykernel__Object.color;
6749 idtype34 = type_array__Arraykernel__Object.id;
6750 if(var_listnode12 == NULL) {
6751 var32 = 0;
6752 } else {
6753 if(cltype33 >= var_listnode12->type->table_size) {
6754 var32 = 0;
6755 } else {
6756 var32 = var_listnode12->type->type_table[cltype33] == idtype34;
6757 }
6758 }
6759 if (!var32) {
6760 fprintf(stderr, "Runtime error: %s", "Assert failed");
6761 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13539);
6762 exit(1);
6763 }
6764 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction292>*/;
6765 var_listnode13 = var35;
6766 var36 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
6767 var37 = NULL;
6768 var38 = NULL;
6769 var39 = NULL;
6770 ((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>*/;
6771 CHECK_NEW_parser_nodes__AAnnotations(var36);
6772 var_pannotationsnode9 = var36;
6773 var_listnode16 = var_nodearraylist10;
6774 /* <var_listnode16:nullable Object> isa Array[Object] */
6775 cltype41 = type_array__Arraykernel__Object.color;
6776 idtype42 = type_array__Arraykernel__Object.id;
6777 if(var_listnode16 == NULL) {
6778 var40 = 0;
6779 } else {
6780 if(cltype41 >= var_listnode16->type->table_size) {
6781 var40 = 0;
6782 } else {
6783 var40 = var_listnode16->type->type_table[cltype41] == idtype42;
6784 }
6785 }
6786 if (!var40) {
6787 fprintf(stderr, "Runtime error: %s", "Assert failed");
6788 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13548);
6789 exit(1);
6790 }
6791 var43 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction292>*/;
6792 var_listnode17 = var43;
6793 var_listnode18 = var_nodearraylist11;
6794 /* <var_listnode18:nullable Object> isa Array[Object] */
6795 cltype45 = type_array__Arraykernel__Object.color;
6796 idtype46 = type_array__Arraykernel__Object.id;
6797 if(var_listnode18 == NULL) {
6798 var44 = 0;
6799 } else {
6800 if(cltype45 >= var_listnode18->type->table_size) {
6801 var44 = 0;
6802 } else {
6803 var44 = var_listnode18->type->type_table[cltype45] == idtype46;
6804 }
6805 }
6806 if (!var44) {
6807 fprintf(stderr, "Runtime error: %s", "Assert failed");
6808 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13551);
6809 exit(1);
6810 }
6811 var47 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode19, var_listnode18) /* concat on <self:ReduceAction292>*/;
6812 var_listnode19 = var47;
6813 var_tkwendnode20 = var_nodearraylist13;
6814 /* <var_tkwendnode20:nullable Object> isa nullable TKwend */
6815 cltype49 = type_nullable_parser_nodes__TKwend.color;
6816 idtype50 = type_nullable_parser_nodes__TKwend.id;
6817 if(var_tkwendnode20 == NULL) {
6818 var48 = 1;
6819 } else {
6820 if(cltype49 >= var_tkwendnode20->type->table_size) {
6821 var48 = 0;
6822 } else {
6823 var48 = var_tkwendnode20->type->type_table[cltype49] == idtype50;
6824 }
6825 }
6826 if (!var48) {
6827 fprintf(stderr, "Runtime error: %s", "Assert failed");
6828 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13554);
6829 exit(1);
6830 }
6831 var51 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6832 var52 = NULL;
6833 var53 = NULL;
6834 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var51->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var51, var_pdocnode2, var52, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var53, var_listnode17, var_listnode19, var_tkwendnode20) /* init_astdclassdef on <var51:AStdClassdef>*/;
6835 CHECK_NEW_parser_nodes__AStdClassdef(var51);
6836 var_pclassdefnode1 = var51;
6837 var_node_list = var_pclassdefnode1;
6838 var54 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction292> */
6839 var55 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var54) /* go_to on <var_p:Parser>*/;
6840 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var55, var_node_list) /* push on <var_p:Parser>*/;
6841 RET_LABEL:;
6842 }
6843 /* method parser#ReduceAction292#action for (self: Object, Parser) */
6844 void VIRTUAL_parser__ReduceAction292__action(val* self, val* p0) {
6845 parser__ReduceAction292__action(self, p0);
6846 RET_LABEL:;
6847 }
6848 /* method parser#ReduceAction294#action for (self: ReduceAction294, Parser) */
6849 void parser__ReduceAction294__action(val* self, val* p0) {
6850 val* var_p /* var p: Parser */;
6851 val* var /* : null */;
6852 val* var_node_list /* var node_list: nullable Object */;
6853 val* var1 /* : nullable Object */;
6854 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
6855 val* var2 /* : nullable Object */;
6856 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
6857 val* var3 /* : nullable Object */;
6858 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
6859 val* var4 /* : nullable Object */;
6860 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6861 val* var5 /* : nullable Object */;
6862 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6863 val* var6 /* : nullable Object */;
6864 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6865 val* var7 /* : nullable Object */;
6866 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6867 val* var8 /* : nullable Object */;
6868 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6869 val* var9 /* : nullable Object */;
6870 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6871 val* var10 /* : nullable Object */;
6872 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6873 val* var11 /* : nullable Object */;
6874 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6875 val* var12 /* : nullable Object */;
6876 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6877 val* var13 /* : nullable Object */;
6878 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6879 val* var14 /* : Array[Object] */;
6880 val* var_listnode8 /* var listnode8: Array[Object] */;
6881 val* var15 /* : Array[Object] */;
6882 val* var_listnode17 /* var listnode17: Array[Object] */;
6883 val* var16 /* : Array[Object] */;
6884 val* var_listnode19 /* var listnode19: Array[Object] */;
6885 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6886 short int var17 /* : Bool */;
6887 int cltype;
6888 int idtype;
6889 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
6890 short int var18 /* : Bool */;
6891 int cltype19;
6892 int idtype20;
6893 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6894 short int var21 /* : Bool */;
6895 int cltype22;
6896 int idtype23;
6897 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6898 short int var24 /* : Bool */;
6899 int cltype25;
6900 int idtype26;
6901 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6902 short int var27 /* : Bool */;
6903 int cltype28;
6904 int idtype29;
6905 val* var_listnode7 /* var listnode7: nullable Object */;
6906 short int var30 /* : Bool */;
6907 int cltype31;
6908 int idtype32;
6909 val* var33 /* : Array[Object] */;
6910 val* var34 /* : Array[Object] */;
6911 val* var_listnode13 /* var listnode13: Array[Object] */;
6912 val* var_listnode12 /* var listnode12: nullable Object */;
6913 short int var35 /* : Bool */;
6914 int cltype36;
6915 int idtype37;
6916 val* var38 /* : Array[Object] */;
6917 val* var39 /* : AAnnotations */;
6918 val* var40 /* : null */;
6919 val* var41 /* : null */;
6920 val* var42 /* : null */;
6921 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
6922 val* var_listnode16 /* var listnode16: nullable Object */;
6923 short int var43 /* : Bool */;
6924 int cltype44;
6925 int idtype45;
6926 val* var46 /* : Array[Object] */;
6927 val* var_listnode18 /* var listnode18: nullable Object */;
6928 short int var47 /* : Bool */;
6929 int cltype48;
6930 int idtype49;
6931 val* var50 /* : Array[Object] */;
6932 val* var_tkwendnode20 /* var tkwendnode20: nullable Object */;
6933 short int var51 /* : Bool */;
6934 int cltype52;
6935 int idtype53;
6936 val* var54 /* : AStdClassdef */;
6937 val* var55 /* : null */;
6938 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6939 long var56 /* : Int */;
6940 long var57 /* : Int */;
6941 var_p = p0;
6942 var = NULL;
6943 var_node_list = var;
6944 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6945 var_nodearraylist13 = var1;
6946 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6947 var_nodearraylist12 = var2;
6948 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6949 var_nodearraylist11 = var3;
6950 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6951 var_nodearraylist10 = var4;
6952 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6953 var_nodearraylist9 = var5;
6954 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6955 var_nodearraylist8 = var6;
6956 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6957 var_nodearraylist7 = var7;
6958 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6959 var_nodearraylist6 = var8;
6960 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6961 var_nodearraylist5 = var9;
6962 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6963 var_nodearraylist4 = var10;
6964 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6965 var_nodearraylist3 = var11;
6966 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6967 var_nodearraylist2 = var12;
6968 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6969 var_nodearraylist1 = var13;
6970 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
6971 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
6972 CHECK_NEW_array__Array(var14);
6973 var_listnode8 = var14;
6974 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
6975 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
6976 CHECK_NEW_array__Array(var15);
6977 var_listnode17 = var15;
6978 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
6979 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
6980 CHECK_NEW_array__Array(var16);
6981 var_listnode19 = var16;
6982 var_pdocnode2 = var_nodearraylist1;
6983 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6984 cltype = type_nullable_parser_nodes__ADoc.color;
6985 idtype = type_nullable_parser_nodes__ADoc.id;
6986 if(var_pdocnode2 == NULL) {
6987 var17 = 1;
6988 } else {
6989 if(cltype >= var_pdocnode2->type->table_size) {
6990 var17 = 0;
6991 } else {
6992 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
6993 }
6994 }
6995 if (!var17) {
6996 fprintf(stderr, "Runtime error: %s", "Assert failed");
6997 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13594);
6998 exit(1);
6999 }
7000 var_tkwredefnode3 = var_nodearraylist2;
7001 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7002 cltype19 = type_nullable_parser_nodes__TKwredef.color;
7003 idtype20 = type_nullable_parser_nodes__TKwredef.id;
7004 if(var_tkwredefnode3 == NULL) {
7005 var18 = 1;
7006 } else {
7007 if(cltype19 >= var_tkwredefnode3->type->table_size) {
7008 var18 = 0;
7009 } else {
7010 var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20;
7011 }
7012 }
7013 if (!var18) {
7014 fprintf(stderr, "Runtime error: %s", "Assert failed");
7015 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13596);
7016 exit(1);
7017 }
7018 var_pvisibilitynode4 = var_nodearraylist3;
7019 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7020 cltype22 = type_nullable_parser_nodes__AVisibility.color;
7021 idtype23 = type_nullable_parser_nodes__AVisibility.id;
7022 if(var_pvisibilitynode4 == NULL) {
7023 var21 = 1;
7024 } else {
7025 if(cltype22 >= var_pvisibilitynode4->type->table_size) {
7026 var21 = 0;
7027 } else {
7028 var21 = var_pvisibilitynode4->type->type_table[cltype22] == idtype23;
7029 }
7030 }
7031 if (!var21) {
7032 fprintf(stderr, "Runtime error: %s", "Assert failed");
7033 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13598);
7034 exit(1);
7035 }
7036 var_pclasskindnode5 = var_nodearraylist4;
7037 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7038 cltype25 = type_nullable_parser_nodes__AClasskind.color;
7039 idtype26 = type_nullable_parser_nodes__AClasskind.id;
7040 if(var_pclasskindnode5 == NULL) {
7041 var24 = 1;
7042 } else {
7043 if(cltype25 >= var_pclasskindnode5->type->table_size) {
7044 var24 = 0;
7045 } else {
7046 var24 = var_pclasskindnode5->type->type_table[cltype25] == idtype26;
7047 }
7048 }
7049 if (!var24) {
7050 fprintf(stderr, "Runtime error: %s", "Assert failed");
7051 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13600);
7052 exit(1);
7053 }
7054 var_tclassidnode6 = var_nodearraylist7;
7055 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7056 cltype28 = type_nullable_parser_nodes__TClassid.color;
7057 idtype29 = type_nullable_parser_nodes__TClassid.id;
7058 if(var_tclassidnode6 == NULL) {
7059 var27 = 1;
7060 } else {
7061 if(cltype28 >= var_tclassidnode6->type->table_size) {
7062 var27 = 0;
7063 } else {
7064 var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29;
7065 }
7066 }
7067 if (!var27) {
7068 fprintf(stderr, "Runtime error: %s", "Assert failed");
7069 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13602);
7070 exit(1);
7071 }
7072 var_listnode7 = var_nodearraylist8;
7073 /* <var_listnode7:nullable Object> isa Array[Object] */
7074 cltype31 = type_array__Arraykernel__Object.color;
7075 idtype32 = type_array__Arraykernel__Object.id;
7076 if(var_listnode7 == NULL) {
7077 var30 = 0;
7078 } else {
7079 if(cltype31 >= var_listnode7->type->table_size) {
7080 var30 = 0;
7081 } else {
7082 var30 = var_listnode7->type->type_table[cltype31] == idtype32;
7083 }
7084 }
7085 if (!var30) {
7086 fprintf(stderr, "Runtime error: %s", "Assert failed");
7087 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13604);
7088 exit(1);
7089 }
7090 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction294>*/;
7091 var_listnode8 = var33;
7092 var34 = NEW_array__Array(&type_array__Arraykernel__Object);
7093 ((void (*)(val*))(var34->class->vft[COLOR_array__Array__init]))(var34) /* init on <var34:Array[Object]>*/;
7094 CHECK_NEW_array__Array(var34);
7095 var_listnode13 = var34;
7096 var_listnode12 = var_nodearraylist9;
7097 /* <var_listnode12:nullable Object> isa Array[Object] */
7098 cltype36 = type_array__Arraykernel__Object.color;
7099 idtype37 = type_array__Arraykernel__Object.id;
7100 if(var_listnode12 == NULL) {
7101 var35 = 0;
7102 } else {
7103 if(cltype36 >= var_listnode12->type->table_size) {
7104 var35 = 0;
7105 } else {
7106 var35 = var_listnode12->type->type_table[cltype36] == idtype37;
7107 }
7108 }
7109 if (!var35) {
7110 fprintf(stderr, "Runtime error: %s", "Assert failed");
7111 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13608);
7112 exit(1);
7113 }
7114 var38 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction294>*/;
7115 var_listnode13 = var38;
7116 var39 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
7117 var40 = NULL;
7118 var41 = NULL;
7119 var42 = NULL;
7120 ((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>*/;
7121 CHECK_NEW_parser_nodes__AAnnotations(var39);
7122 var_pannotationsnode9 = var39;
7123 var_listnode16 = var_nodearraylist10;
7124 /* <var_listnode16:nullable Object> isa Array[Object] */
7125 cltype44 = type_array__Arraykernel__Object.color;
7126 idtype45 = type_array__Arraykernel__Object.id;
7127 if(var_listnode16 == NULL) {
7128 var43 = 0;
7129 } else {
7130 if(cltype44 >= var_listnode16->type->table_size) {
7131 var43 = 0;
7132 } else {
7133 var43 = var_listnode16->type->type_table[cltype44] == idtype45;
7134 }
7135 }
7136 if (!var43) {
7137 fprintf(stderr, "Runtime error: %s", "Assert failed");
7138 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13617);
7139 exit(1);
7140 }
7141 var46 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction294>*/;
7142 var_listnode17 = var46;
7143 var_listnode18 = var_nodearraylist11;
7144 /* <var_listnode18:nullable Object> isa Array[Object] */
7145 cltype48 = type_array__Arraykernel__Object.color;
7146 idtype49 = type_array__Arraykernel__Object.id;
7147 if(var_listnode18 == NULL) {
7148 var47 = 0;
7149 } else {
7150 if(cltype48 >= var_listnode18->type->table_size) {
7151 var47 = 0;
7152 } else {
7153 var47 = var_listnode18->type->type_table[cltype48] == idtype49;
7154 }
7155 }
7156 if (!var47) {
7157 fprintf(stderr, "Runtime error: %s", "Assert failed");
7158 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13620);
7159 exit(1);
7160 }
7161 var50 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode19, var_listnode18) /* concat on <self:ReduceAction294>*/;
7162 var_listnode19 = var50;
7163 var_tkwendnode20 = var_nodearraylist13;
7164 /* <var_tkwendnode20:nullable Object> isa nullable TKwend */
7165 cltype52 = type_nullable_parser_nodes__TKwend.color;
7166 idtype53 = type_nullable_parser_nodes__TKwend.id;
7167 if(var_tkwendnode20 == NULL) {
7168 var51 = 1;
7169 } else {
7170 if(cltype52 >= var_tkwendnode20->type->table_size) {
7171 var51 = 0;
7172 } else {
7173 var51 = var_tkwendnode20->type->type_table[cltype52] == idtype53;
7174 }
7175 }
7176 if (!var51) {
7177 fprintf(stderr, "Runtime error: %s", "Assert failed");
7178 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13623);
7179 exit(1);
7180 }
7181 var54 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7182 var55 = NULL;
7183 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var54->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var54, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var55, var_listnode17, var_listnode19, var_tkwendnode20) /* init_astdclassdef on <var54:AStdClassdef>*/;
7184 CHECK_NEW_parser_nodes__AStdClassdef(var54);
7185 var_pclassdefnode1 = var54;
7186 var_node_list = var_pclassdefnode1;
7187 var56 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction294> */
7188 var57 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var56) /* go_to on <var_p:Parser>*/;
7189 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var57, var_node_list) /* push on <var_p:Parser>*/;
7190 RET_LABEL:;
7191 }
7192 /* method parser#ReduceAction294#action for (self: Object, Parser) */
7193 void VIRTUAL_parser__ReduceAction294__action(val* self, val* p0) {
7194 parser__ReduceAction294__action(self, p0);
7195 RET_LABEL:;
7196 }
7197 /* method parser#ReduceAction295#action for (self: ReduceAction295, Parser) */
7198 void parser__ReduceAction295__action(val* self, val* p0) {
7199 val* var_p /* var p: Parser */;
7200 val* var /* : null */;
7201 val* var_node_list /* var node_list: nullable Object */;
7202 val* var1 /* : nullable Object */;
7203 val* var_nodearraylist14 /* var nodearraylist14: nullable Object */;
7204 val* var2 /* : nullable Object */;
7205 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
7206 val* var3 /* : nullable Object */;
7207 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
7208 val* var4 /* : nullable Object */;
7209 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
7210 val* var5 /* : nullable Object */;
7211 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7212 val* var6 /* : nullable Object */;
7213 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7214 val* var7 /* : nullable Object */;
7215 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7216 val* var8 /* : nullable Object */;
7217 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7218 val* var9 /* : nullable Object */;
7219 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7220 val* var10 /* : nullable Object */;
7221 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7222 val* var11 /* : nullable Object */;
7223 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7224 val* var12 /* : nullable Object */;
7225 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7226 val* var13 /* : nullable Object */;
7227 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7228 val* var14 /* : nullable Object */;
7229 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7230 val* var15 /* : Array[Object] */;
7231 val* var_listnode8 /* var listnode8: Array[Object] */;
7232 val* var16 /* : Array[Object] */;
7233 val* var_listnode17 /* var listnode17: Array[Object] */;
7234 val* var17 /* : Array[Object] */;
7235 val* var_listnode19 /* var listnode19: Array[Object] */;
7236 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7237 short int var18 /* : Bool */;
7238 int cltype;
7239 int idtype;
7240 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
7241 short int var19 /* : Bool */;
7242 int cltype20;
7243 int idtype21;
7244 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7245 short int var22 /* : Bool */;
7246 int cltype23;
7247 int idtype24;
7248 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7249 short int var25 /* : Bool */;
7250 int cltype26;
7251 int idtype27;
7252 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7253 short int var28 /* : Bool */;
7254 int cltype29;
7255 int idtype30;
7256 val* var_listnode7 /* var listnode7: nullable Object */;
7257 short int var31 /* : Bool */;
7258 int cltype32;
7259 int idtype33;
7260 val* var34 /* : Array[Object] */;
7261 val* var35 /* : Array[Object] */;
7262 val* var_listnode13 /* var listnode13: Array[Object] */;
7263 val* var_listnode12 /* var listnode12: nullable Object */;
7264 short int var36 /* : Bool */;
7265 int cltype37;
7266 int idtype38;
7267 val* var39 /* : Array[Object] */;
7268 val* var40 /* : AAnnotations */;
7269 val* var41 /* : null */;
7270 val* var42 /* : null */;
7271 val* var43 /* : null */;
7272 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
7273 val* var_listnode16 /* var listnode16: nullable Object */;
7274 short int var44 /* : Bool */;
7275 int cltype45;
7276 int idtype46;
7277 val* var47 /* : Array[Object] */;
7278 val* var_listnode18 /* var listnode18: nullable Object */;
7279 short int var48 /* : Bool */;
7280 int cltype49;
7281 int idtype50;
7282 val* var51 /* : Array[Object] */;
7283 val* var_tkwendnode20 /* var tkwendnode20: nullable Object */;
7284 short int var52 /* : Bool */;
7285 int cltype53;
7286 int idtype54;
7287 val* var55 /* : AStdClassdef */;
7288 val* var56 /* : null */;
7289 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7290 long var57 /* : Int */;
7291 long var58 /* : Int */;
7292 var_p = p0;
7293 var = NULL;
7294 var_node_list = var;
7295 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7296 var_nodearraylist14 = var1;
7297 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7298 var_nodearraylist13 = var2;
7299 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7300 var_nodearraylist12 = var3;
7301 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7302 var_nodearraylist11 = var4;
7303 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7304 var_nodearraylist10 = var5;
7305 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7306 var_nodearraylist9 = var6;
7307 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7308 var_nodearraylist8 = var7;
7309 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7310 var_nodearraylist7 = var8;
7311 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7312 var_nodearraylist6 = var9;
7313 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7314 var_nodearraylist5 = var10;
7315 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7316 var_nodearraylist4 = var11;
7317 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7318 var_nodearraylist3 = var12;
7319 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7320 var_nodearraylist2 = var13;
7321 var14 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7322 var_nodearraylist1 = var14;
7323 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
7324 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
7325 CHECK_NEW_array__Array(var15);
7326 var_listnode8 = var15;
7327 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
7328 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
7329 CHECK_NEW_array__Array(var16);
7330 var_listnode17 = var16;
7331 var17 = NEW_array__Array(&type_array__Arraykernel__Object);
7332 ((void (*)(val*))(var17->class->vft[COLOR_array__Array__init]))(var17) /* init on <var17:Array[Object]>*/;
7333 CHECK_NEW_array__Array(var17);
7334 var_listnode19 = var17;
7335 var_pdocnode2 = var_nodearraylist1;
7336 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7337 cltype = type_nullable_parser_nodes__ADoc.color;
7338 idtype = type_nullable_parser_nodes__ADoc.id;
7339 if(var_pdocnode2 == NULL) {
7340 var18 = 1;
7341 } else {
7342 if(cltype >= var_pdocnode2->type->table_size) {
7343 var18 = 0;
7344 } else {
7345 var18 = var_pdocnode2->type->type_table[cltype] == idtype;
7346 }
7347 }
7348 if (!var18) {
7349 fprintf(stderr, "Runtime error: %s", "Assert failed");
7350 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13664);
7351 exit(1);
7352 }
7353 var_tkwredefnode3 = var_nodearraylist2;
7354 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7355 cltype20 = type_nullable_parser_nodes__TKwredef.color;
7356 idtype21 = type_nullable_parser_nodes__TKwredef.id;
7357 if(var_tkwredefnode3 == NULL) {
7358 var19 = 1;
7359 } else {
7360 if(cltype20 >= var_tkwredefnode3->type->table_size) {
7361 var19 = 0;
7362 } else {
7363 var19 = var_tkwredefnode3->type->type_table[cltype20] == idtype21;
7364 }
7365 }
7366 if (!var19) {
7367 fprintf(stderr, "Runtime error: %s", "Assert failed");
7368 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13666);
7369 exit(1);
7370 }
7371 var_pvisibilitynode4 = var_nodearraylist3;
7372 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7373 cltype23 = type_nullable_parser_nodes__AVisibility.color;
7374 idtype24 = type_nullable_parser_nodes__AVisibility.id;
7375 if(var_pvisibilitynode4 == NULL) {
7376 var22 = 1;
7377 } else {
7378 if(cltype23 >= var_pvisibilitynode4->type->table_size) {
7379 var22 = 0;
7380 } else {
7381 var22 = var_pvisibilitynode4->type->type_table[cltype23] == idtype24;
7382 }
7383 }
7384 if (!var22) {
7385 fprintf(stderr, "Runtime error: %s", "Assert failed");
7386 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13668);
7387 exit(1);
7388 }
7389 var_pclasskindnode5 = var_nodearraylist4;
7390 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7391 cltype26 = type_nullable_parser_nodes__AClasskind.color;
7392 idtype27 = type_nullable_parser_nodes__AClasskind.id;
7393 if(var_pclasskindnode5 == NULL) {
7394 var25 = 1;
7395 } else {
7396 if(cltype26 >= var_pclasskindnode5->type->table_size) {
7397 var25 = 0;
7398 } else {
7399 var25 = var_pclasskindnode5->type->type_table[cltype26] == idtype27;
7400 }
7401 }
7402 if (!var25) {
7403 fprintf(stderr, "Runtime error: %s", "Assert failed");
7404 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13670);
7405 exit(1);
7406 }
7407 var_tclassidnode6 = var_nodearraylist8;
7408 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7409 cltype29 = type_nullable_parser_nodes__TClassid.color;
7410 idtype30 = type_nullable_parser_nodes__TClassid.id;
7411 if(var_tclassidnode6 == NULL) {
7412 var28 = 1;
7413 } else {
7414 if(cltype29 >= var_tclassidnode6->type->table_size) {
7415 var28 = 0;
7416 } else {
7417 var28 = var_tclassidnode6->type->type_table[cltype29] == idtype30;
7418 }
7419 }
7420 if (!var28) {
7421 fprintf(stderr, "Runtime error: %s", "Assert failed");
7422 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13672);
7423 exit(1);
7424 }
7425 var_listnode7 = var_nodearraylist9;
7426 /* <var_listnode7:nullable Object> isa Array[Object] */
7427 cltype32 = type_array__Arraykernel__Object.color;
7428 idtype33 = type_array__Arraykernel__Object.id;
7429 if(var_listnode7 == NULL) {
7430 var31 = 0;
7431 } else {
7432 if(cltype32 >= var_listnode7->type->table_size) {
7433 var31 = 0;
7434 } else {
7435 var31 = var_listnode7->type->type_table[cltype32] == idtype33;
7436 }
7437 }
7438 if (!var31) {
7439 fprintf(stderr, "Runtime error: %s", "Assert failed");
7440 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13674);
7441 exit(1);
7442 }
7443 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction295>*/;
7444 var_listnode8 = var34;
7445 var35 = NEW_array__Array(&type_array__Arraykernel__Object);
7446 ((void (*)(val*))(var35->class->vft[COLOR_array__Array__init]))(var35) /* init on <var35:Array[Object]>*/;
7447 CHECK_NEW_array__Array(var35);
7448 var_listnode13 = var35;
7449 var_listnode12 = var_nodearraylist10;
7450 /* <var_listnode12:nullable Object> isa Array[Object] */
7451 cltype37 = type_array__Arraykernel__Object.color;
7452 idtype38 = type_array__Arraykernel__Object.id;
7453 if(var_listnode12 == NULL) {
7454 var36 = 0;
7455 } else {
7456 if(cltype37 >= var_listnode12->type->table_size) {
7457 var36 = 0;
7458 } else {
7459 var36 = var_listnode12->type->type_table[cltype37] == idtype38;
7460 }
7461 }
7462 if (!var36) {
7463 fprintf(stderr, "Runtime error: %s", "Assert failed");
7464 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13678);
7465 exit(1);
7466 }
7467 var39 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction295>*/;
7468 var_listnode13 = var39;
7469 var40 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
7470 var41 = NULL;
7471 var42 = NULL;
7472 var43 = NULL;
7473 ((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>*/;
7474 CHECK_NEW_parser_nodes__AAnnotations(var40);
7475 var_pannotationsnode9 = var40;
7476 var_listnode16 = var_nodearraylist11;
7477 /* <var_listnode16:nullable Object> isa Array[Object] */
7478 cltype45 = type_array__Arraykernel__Object.color;
7479 idtype46 = type_array__Arraykernel__Object.id;
7480 if(var_listnode16 == NULL) {
7481 var44 = 0;
7482 } else {
7483 if(cltype45 >= var_listnode16->type->table_size) {
7484 var44 = 0;
7485 } else {
7486 var44 = var_listnode16->type->type_table[cltype45] == idtype46;
7487 }
7488 }
7489 if (!var44) {
7490 fprintf(stderr, "Runtime error: %s", "Assert failed");
7491 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13687);
7492 exit(1);
7493 }
7494 var47 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction295>*/;
7495 var_listnode17 = var47;
7496 var_listnode18 = var_nodearraylist12;
7497 /* <var_listnode18:nullable Object> isa Array[Object] */
7498 cltype49 = type_array__Arraykernel__Object.color;
7499 idtype50 = type_array__Arraykernel__Object.id;
7500 if(var_listnode18 == NULL) {
7501 var48 = 0;
7502 } else {
7503 if(cltype49 >= var_listnode18->type->table_size) {
7504 var48 = 0;
7505 } else {
7506 var48 = var_listnode18->type->type_table[cltype49] == idtype50;
7507 }
7508 }
7509 if (!var48) {
7510 fprintf(stderr, "Runtime error: %s", "Assert failed");
7511 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13690);
7512 exit(1);
7513 }
7514 var51 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode19, var_listnode18) /* concat on <self:ReduceAction295>*/;
7515 var_listnode19 = var51;
7516 var_tkwendnode20 = var_nodearraylist14;
7517 /* <var_tkwendnode20:nullable Object> isa nullable TKwend */
7518 cltype53 = type_nullable_parser_nodes__TKwend.color;
7519 idtype54 = type_nullable_parser_nodes__TKwend.id;
7520 if(var_tkwendnode20 == NULL) {
7521 var52 = 1;
7522 } else {
7523 if(cltype53 >= var_tkwendnode20->type->table_size) {
7524 var52 = 0;
7525 } else {
7526 var52 = var_tkwendnode20->type->type_table[cltype53] == idtype54;
7527 }
7528 }
7529 if (!var52) {
7530 fprintf(stderr, "Runtime error: %s", "Assert failed");
7531 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13693);
7532 exit(1);
7533 }
7534 var55 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7535 var56 = NULL;
7536 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var55->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var55, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var56, var_listnode17, var_listnode19, var_tkwendnode20) /* init_astdclassdef on <var55:AStdClassdef>*/;
7537 CHECK_NEW_parser_nodes__AStdClassdef(var55);
7538 var_pclassdefnode1 = var55;
7539 var_node_list = var_pclassdefnode1;
7540 var57 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction295> */
7541 var58 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var57) /* go_to on <var_p:Parser>*/;
7542 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var58, var_node_list) /* push on <var_p:Parser>*/;
7543 RET_LABEL:;
7544 }
7545 /* method parser#ReduceAction295#action for (self: Object, Parser) */
7546 void VIRTUAL_parser__ReduceAction295__action(val* self, val* p0) {
7547 parser__ReduceAction295__action(self, p0);
7548 RET_LABEL:;
7549 }
7550 /* method parser#ReduceAction297#action for (self: ReduceAction297, Parser) */
7551 void parser__ReduceAction297__action(val* self, val* p0) {
7552 val* var_p /* var p: Parser */;
7553 val* var /* : null */;
7554 val* var_node_list /* var node_list: nullable Object */;
7555 val* var1 /* : nullable Object */;
7556 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7557 val* var2 /* : nullable Object */;
7558 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7559 val* var3 /* : nullable Object */;
7560 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7561 val* var4 /* : nullable Object */;
7562 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7563 val* var5 /* : nullable Object */;
7564 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7565 val* var6 /* : nullable Object */;
7566 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7567 val* var7 /* : nullable Object */;
7568 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7569 val* var8 /* : nullable Object */;
7570 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7571 val* var9 /* : nullable Object */;
7572 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7573 val* var10 /* : nullable Object */;
7574 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7575 val* var11 /* : Array[Object] */;
7576 val* var_listnode7 /* var listnode7: Array[Object] */;
7577 val* var12 /* : Array[Object] */;
7578 val* var_listnode11 /* var listnode11: Array[Object] */;
7579 val* var13 /* : Array[Object] */;
7580 val* var_listnode13 /* var listnode13: Array[Object] */;
7581 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7582 short int var14 /* : Bool */;
7583 int cltype;
7584 int idtype;
7585 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7586 short int var15 /* : Bool */;
7587 int cltype16;
7588 int idtype17;
7589 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7590 short int var18 /* : Bool */;
7591 int cltype19;
7592 int idtype20;
7593 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7594 short int var21 /* : Bool */;
7595 int cltype22;
7596 int idtype23;
7597 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
7598 short int var24 /* : Bool */;
7599 int cltype25;
7600 int idtype26;
7601 val* var_listnode10 /* var listnode10: nullable Object */;
7602 short int var27 /* : Bool */;
7603 int cltype28;
7604 int idtype29;
7605 val* var30 /* : Array[Object] */;
7606 val* var_listnode12 /* var listnode12: nullable Object */;
7607 short int var31 /* : Bool */;
7608 int cltype32;
7609 int idtype33;
7610 val* var34 /* : Array[Object] */;
7611 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
7612 short int var35 /* : Bool */;
7613 int cltype36;
7614 int idtype37;
7615 val* var38 /* : AStdClassdef */;
7616 val* var39 /* : null */;
7617 val* var40 /* : null */;
7618 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7619 long var41 /* : Int */;
7620 long var42 /* : Int */;
7621 var_p = p0;
7622 var = NULL;
7623 var_node_list = var;
7624 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7625 var_nodearraylist10 = var1;
7626 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7627 var_nodearraylist9 = var2;
7628 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7629 var_nodearraylist8 = var3;
7630 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7631 var_nodearraylist7 = var4;
7632 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7633 var_nodearraylist6 = var5;
7634 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7635 var_nodearraylist5 = var6;
7636 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7637 var_nodearraylist4 = var7;
7638 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7639 var_nodearraylist3 = var8;
7640 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7641 var_nodearraylist2 = var9;
7642 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7643 var_nodearraylist1 = var10;
7644 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
7645 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
7646 CHECK_NEW_array__Array(var11);
7647 var_listnode7 = var11;
7648 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
7649 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
7650 CHECK_NEW_array__Array(var12);
7651 var_listnode11 = var12;
7652 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
7653 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
7654 CHECK_NEW_array__Array(var13);
7655 var_listnode13 = var13;
7656 var_pdocnode2 = var_nodearraylist1;
7657 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7658 cltype = type_nullable_parser_nodes__ADoc.color;
7659 idtype = type_nullable_parser_nodes__ADoc.id;
7660 if(var_pdocnode2 == NULL) {
7661 var14 = 1;
7662 } else {
7663 if(cltype >= var_pdocnode2->type->table_size) {
7664 var14 = 0;
7665 } else {
7666 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
7667 }
7668 }
7669 if (!var14) {
7670 fprintf(stderr, "Runtime error: %s", "Assert failed");
7671 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13730);
7672 exit(1);
7673 }
7674 var_pvisibilitynode4 = var_nodearraylist2;
7675 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7676 cltype16 = type_nullable_parser_nodes__AVisibility.color;
7677 idtype17 = type_nullable_parser_nodes__AVisibility.id;
7678 if(var_pvisibilitynode4 == NULL) {
7679 var15 = 1;
7680 } else {
7681 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
7682 var15 = 0;
7683 } else {
7684 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
7685 }
7686 }
7687 if (!var15) {
7688 fprintf(stderr, "Runtime error: %s", "Assert failed");
7689 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13732);
7690 exit(1);
7691 }
7692 var_pclasskindnode5 = var_nodearraylist3;
7693 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7694 cltype19 = type_nullable_parser_nodes__AClasskind.color;
7695 idtype20 = type_nullable_parser_nodes__AClasskind.id;
7696 if(var_pclasskindnode5 == NULL) {
7697 var18 = 1;
7698 } else {
7699 if(cltype19 >= var_pclasskindnode5->type->table_size) {
7700 var18 = 0;
7701 } else {
7702 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
7703 }
7704 }
7705 if (!var18) {
7706 fprintf(stderr, "Runtime error: %s", "Assert failed");
7707 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13734);
7708 exit(1);
7709 }
7710 var_tclassidnode6 = var_nodearraylist5;
7711 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7712 cltype22 = type_nullable_parser_nodes__TClassid.color;
7713 idtype23 = type_nullable_parser_nodes__TClassid.id;
7714 if(var_tclassidnode6 == NULL) {
7715 var21 = 1;
7716 } else {
7717 if(cltype22 >= var_tclassidnode6->type->table_size) {
7718 var21 = 0;
7719 } else {
7720 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
7721 }
7722 }
7723 if (!var21) {
7724 fprintf(stderr, "Runtime error: %s", "Assert failed");
7725 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13736);
7726 exit(1);
7727 }
7728 var_pexterncodeblocknode9 = var_nodearraylist6;
7729 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
7730 cltype25 = type_nullable_parser_nodes__AExternCodeBlock.color;
7731 idtype26 = type_nullable_parser_nodes__AExternCodeBlock.id;
7732 if(var_pexterncodeblocknode9 == NULL) {
7733 var24 = 1;
7734 } else {
7735 if(cltype25 >= var_pexterncodeblocknode9->type->table_size) {
7736 var24 = 0;
7737 } else {
7738 var24 = var_pexterncodeblocknode9->type->type_table[cltype25] == idtype26;
7739 }
7740 }
7741 if (!var24) {
7742 fprintf(stderr, "Runtime error: %s", "Assert failed");
7743 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13738);
7744 exit(1);
7745 }
7746 var_listnode10 = var_nodearraylist7;
7747 /* <var_listnode10:nullable Object> isa Array[Object] */
7748 cltype28 = type_array__Arraykernel__Object.color;
7749 idtype29 = type_array__Arraykernel__Object.id;
7750 if(var_listnode10 == NULL) {
7751 var27 = 0;
7752 } else {
7753 if(cltype28 >= var_listnode10->type->table_size) {
7754 var27 = 0;
7755 } else {
7756 var27 = var_listnode10->type->type_table[cltype28] == idtype29;
7757 }
7758 }
7759 if (!var27) {
7760 fprintf(stderr, "Runtime error: %s", "Assert failed");
7761 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13740);
7762 exit(1);
7763 }
7764 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction297>*/;
7765 var_listnode11 = var30;
7766 var_listnode12 = var_nodearraylist8;
7767 /* <var_listnode12:nullable Object> isa Array[Object] */
7768 cltype32 = type_array__Arraykernel__Object.color;
7769 idtype33 = type_array__Arraykernel__Object.id;
7770 if(var_listnode12 == NULL) {
7771 var31 = 0;
7772 } else {
7773 if(cltype32 >= var_listnode12->type->table_size) {
7774 var31 = 0;
7775 } else {
7776 var31 = var_listnode12->type->type_table[cltype32] == idtype33;
7777 }
7778 }
7779 if (!var31) {
7780 fprintf(stderr, "Runtime error: %s", "Assert failed");
7781 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13743);
7782 exit(1);
7783 }
7784 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction297>*/;
7785 var_listnode13 = var34;
7786 var_tkwendnode14 = var_nodearraylist10;
7787 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
7788 cltype36 = type_nullable_parser_nodes__TKwend.color;
7789 idtype37 = type_nullable_parser_nodes__TKwend.id;
7790 if(var_tkwendnode14 == NULL) {
7791 var35 = 1;
7792 } else {
7793 if(cltype36 >= var_tkwendnode14->type->table_size) {
7794 var35 = 0;
7795 } else {
7796 var35 = var_tkwendnode14->type->type_table[cltype36] == idtype37;
7797 }
7798 }
7799 if (!var35) {
7800 fprintf(stderr, "Runtime error: %s", "Assert failed");
7801 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13746);
7802 exit(1);
7803 }
7804 var38 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7805 var39 = NULL;
7806 var40 = NULL;
7807 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var38->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var38, var_pdocnode2, var39, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var40, var_pexterncodeblocknode9, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var38:AStdClassdef>*/;
7808 CHECK_NEW_parser_nodes__AStdClassdef(var38);
7809 var_pclassdefnode1 = var38;
7810 var_node_list = var_pclassdefnode1;
7811 var41 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction297> */
7812 var42 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var41) /* go_to on <var_p:Parser>*/;
7813 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var42, var_node_list) /* push on <var_p:Parser>*/;
7814 RET_LABEL:;
7815 }
7816 /* method parser#ReduceAction297#action for (self: Object, Parser) */
7817 void VIRTUAL_parser__ReduceAction297__action(val* self, val* p0) {
7818 parser__ReduceAction297__action(self, p0);
7819 RET_LABEL:;
7820 }
7821 /* method parser#ReduceAction298#action for (self: ReduceAction298, Parser) */
7822 void parser__ReduceAction298__action(val* self, val* p0) {
7823 val* var_p /* var p: Parser */;
7824 val* var /* : null */;
7825 val* var_node_list /* var node_list: nullable Object */;
7826 val* var1 /* : nullable Object */;
7827 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
7828 val* var2 /* : nullable Object */;
7829 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7830 val* var3 /* : nullable Object */;
7831 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7832 val* var4 /* : nullable Object */;
7833 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7834 val* var5 /* : nullable Object */;
7835 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7836 val* var6 /* : nullable Object */;
7837 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7838 val* var7 /* : nullable Object */;
7839 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7840 val* var8 /* : nullable Object */;
7841 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7842 val* var9 /* : nullable Object */;
7843 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7844 val* var10 /* : nullable Object */;
7845 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7846 val* var11 /* : nullable Object */;
7847 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7848 val* var12 /* : Array[Object] */;
7849 val* var_listnode7 /* var listnode7: Array[Object] */;
7850 val* var13 /* : Array[Object] */;
7851 val* var_listnode11 /* var listnode11: Array[Object] */;
7852 val* var14 /* : Array[Object] */;
7853 val* var_listnode13 /* var listnode13: Array[Object] */;
7854 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7855 short int var15 /* : Bool */;
7856 int cltype;
7857 int idtype;
7858 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
7859 short int var16 /* : Bool */;
7860 int cltype17;
7861 int idtype18;
7862 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7863 short int var19 /* : Bool */;
7864 int cltype20;
7865 int idtype21;
7866 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7867 short int var22 /* : Bool */;
7868 int cltype23;
7869 int idtype24;
7870 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7871 short int var25 /* : Bool */;
7872 int cltype26;
7873 int idtype27;
7874 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
7875 short int var28 /* : Bool */;
7876 int cltype29;
7877 int idtype30;
7878 val* var_listnode10 /* var listnode10: nullable Object */;
7879 short int var31 /* : Bool */;
7880 int cltype32;
7881 int idtype33;
7882 val* var34 /* : Array[Object] */;
7883 val* var_listnode12 /* var listnode12: nullable Object */;
7884 short int var35 /* : Bool */;
7885 int cltype36;
7886 int idtype37;
7887 val* var38 /* : Array[Object] */;
7888 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
7889 short int var39 /* : Bool */;
7890 int cltype40;
7891 int idtype41;
7892 val* var42 /* : AStdClassdef */;
7893 val* var43 /* : null */;
7894 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7895 long var44 /* : Int */;
7896 long var45 /* : Int */;
7897 var_p = p0;
7898 var = NULL;
7899 var_node_list = var;
7900 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7901 var_nodearraylist11 = var1;
7902 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7903 var_nodearraylist10 = var2;
7904 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7905 var_nodearraylist9 = var3;
7906 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7907 var_nodearraylist8 = var4;
7908 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7909 var_nodearraylist7 = var5;
7910 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7911 var_nodearraylist6 = var6;
7912 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7913 var_nodearraylist5 = var7;
7914 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7915 var_nodearraylist4 = var8;
7916 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7917 var_nodearraylist3 = var9;
7918 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7919 var_nodearraylist2 = var10;
7920 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7921 var_nodearraylist1 = var11;
7922 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
7923 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
7924 CHECK_NEW_array__Array(var12);
7925 var_listnode7 = var12;
7926 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
7927 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
7928 CHECK_NEW_array__Array(var13);
7929 var_listnode11 = var13;
7930 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
7931 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
7932 CHECK_NEW_array__Array(var14);
7933 var_listnode13 = var14;
7934 var_pdocnode2 = var_nodearraylist1;
7935 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7936 cltype = type_nullable_parser_nodes__ADoc.color;
7937 idtype = type_nullable_parser_nodes__ADoc.id;
7938 if(var_pdocnode2 == NULL) {
7939 var15 = 1;
7940 } else {
7941 if(cltype >= var_pdocnode2->type->table_size) {
7942 var15 = 0;
7943 } else {
7944 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
7945 }
7946 }
7947 if (!var15) {
7948 fprintf(stderr, "Runtime error: %s", "Assert failed");
7949 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13784);
7950 exit(1);
7951 }
7952 var_tkwredefnode3 = var_nodearraylist2;
7953 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7954 cltype17 = type_nullable_parser_nodes__TKwredef.color;
7955 idtype18 = type_nullable_parser_nodes__TKwredef.id;
7956 if(var_tkwredefnode3 == NULL) {
7957 var16 = 1;
7958 } else {
7959 if(cltype17 >= var_tkwredefnode3->type->table_size) {
7960 var16 = 0;
7961 } else {
7962 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
7963 }
7964 }
7965 if (!var16) {
7966 fprintf(stderr, "Runtime error: %s", "Assert failed");
7967 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13786);
7968 exit(1);
7969 }
7970 var_pvisibilitynode4 = var_nodearraylist3;
7971 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7972 cltype20 = type_nullable_parser_nodes__AVisibility.color;
7973 idtype21 = type_nullable_parser_nodes__AVisibility.id;
7974 if(var_pvisibilitynode4 == NULL) {
7975 var19 = 1;
7976 } else {
7977 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
7978 var19 = 0;
7979 } else {
7980 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
7981 }
7982 }
7983 if (!var19) {
7984 fprintf(stderr, "Runtime error: %s", "Assert failed");
7985 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13788);
7986 exit(1);
7987 }
7988 var_pclasskindnode5 = var_nodearraylist4;
7989 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7990 cltype23 = type_nullable_parser_nodes__AClasskind.color;
7991 idtype24 = type_nullable_parser_nodes__AClasskind.id;
7992 if(var_pclasskindnode5 == NULL) {
7993 var22 = 1;
7994 } else {
7995 if(cltype23 >= var_pclasskindnode5->type->table_size) {
7996 var22 = 0;
7997 } else {
7998 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
7999 }
8000 }
8001 if (!var22) {
8002 fprintf(stderr, "Runtime error: %s", "Assert failed");
8003 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13790);
8004 exit(1);
8005 }
8006 var_tclassidnode6 = var_nodearraylist6;
8007 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8008 cltype26 = type_nullable_parser_nodes__TClassid.color;
8009 idtype27 = type_nullable_parser_nodes__TClassid.id;
8010 if(var_tclassidnode6 == NULL) {
8011 var25 = 1;
8012 } else {
8013 if(cltype26 >= var_tclassidnode6->type->table_size) {
8014 var25 = 0;
8015 } else {
8016 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
8017 }
8018 }
8019 if (!var25) {
8020 fprintf(stderr, "Runtime error: %s", "Assert failed");
8021 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13792);
8022 exit(1);
8023 }
8024 var_pexterncodeblocknode9 = var_nodearraylist7;
8025 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
8026 cltype29 = type_nullable_parser_nodes__AExternCodeBlock.color;
8027 idtype30 = type_nullable_parser_nodes__AExternCodeBlock.id;
8028 if(var_pexterncodeblocknode9 == NULL) {
8029 var28 = 1;
8030 } else {
8031 if(cltype29 >= var_pexterncodeblocknode9->type->table_size) {
8032 var28 = 0;
8033 } else {
8034 var28 = var_pexterncodeblocknode9->type->type_table[cltype29] == idtype30;
8035 }
8036 }
8037 if (!var28) {
8038 fprintf(stderr, "Runtime error: %s", "Assert failed");
8039 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13794);
8040 exit(1);
8041 }
8042 var_listnode10 = var_nodearraylist8;
8043 /* <var_listnode10:nullable Object> isa Array[Object] */
8044 cltype32 = type_array__Arraykernel__Object.color;
8045 idtype33 = type_array__Arraykernel__Object.id;
8046 if(var_listnode10 == NULL) {
8047 var31 = 0;
8048 } else {
8049 if(cltype32 >= var_listnode10->type->table_size) {
8050 var31 = 0;
8051 } else {
8052 var31 = var_listnode10->type->type_table[cltype32] == idtype33;
8053 }
8054 }
8055 if (!var31) {
8056 fprintf(stderr, "Runtime error: %s", "Assert failed");
8057 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13796);
8058 exit(1);
8059 }
8060 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction298>*/;
8061 var_listnode11 = var34;
8062 var_listnode12 = var_nodearraylist9;
8063 /* <var_listnode12:nullable Object> isa Array[Object] */
8064 cltype36 = type_array__Arraykernel__Object.color;
8065 idtype37 = type_array__Arraykernel__Object.id;
8066 if(var_listnode12 == NULL) {
8067 var35 = 0;
8068 } else {
8069 if(cltype36 >= var_listnode12->type->table_size) {
8070 var35 = 0;
8071 } else {
8072 var35 = var_listnode12->type->type_table[cltype36] == idtype37;
8073 }
8074 }
8075 if (!var35) {
8076 fprintf(stderr, "Runtime error: %s", "Assert failed");
8077 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13799);
8078 exit(1);
8079 }
8080 var38 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction298>*/;
8081 var_listnode13 = var38;
8082 var_tkwendnode14 = var_nodearraylist11;
8083 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
8084 cltype40 = type_nullable_parser_nodes__TKwend.color;
8085 idtype41 = type_nullable_parser_nodes__TKwend.id;
8086 if(var_tkwendnode14 == NULL) {
8087 var39 = 1;
8088 } else {
8089 if(cltype40 >= var_tkwendnode14->type->table_size) {
8090 var39 = 0;
8091 } else {
8092 var39 = var_tkwendnode14->type->type_table[cltype40] == idtype41;
8093 }
8094 }
8095 if (!var39) {
8096 fprintf(stderr, "Runtime error: %s", "Assert failed");
8097 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13802);
8098 exit(1);
8099 }
8100 var42 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8101 var43 = NULL;
8102 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var42->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var42, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var43, var_pexterncodeblocknode9, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var42:AStdClassdef>*/;
8103 CHECK_NEW_parser_nodes__AStdClassdef(var42);
8104 var_pclassdefnode1 = var42;
8105 var_node_list = var_pclassdefnode1;
8106 var44 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction298> */
8107 var45 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var44) /* go_to on <var_p:Parser>*/;
8108 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var45, var_node_list) /* push on <var_p:Parser>*/;
8109 RET_LABEL:;
8110 }
8111 /* method parser#ReduceAction298#action for (self: Object, Parser) */
8112 void VIRTUAL_parser__ReduceAction298__action(val* self, val* p0) {
8113 parser__ReduceAction298__action(self, p0);
8114 RET_LABEL:;
8115 }
8116 /* method parser#ReduceAction299#action for (self: ReduceAction299, Parser) */
8117 void parser__ReduceAction299__action(val* self, val* p0) {
8118 val* var_p /* var p: Parser */;
8119 val* var /* : null */;
8120 val* var_node_list /* var node_list: nullable Object */;
8121 val* var1 /* : nullable Object */;
8122 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
8123 val* var2 /* : nullable Object */;
8124 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8125 val* var3 /* : nullable Object */;
8126 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8127 val* var4 /* : nullable Object */;
8128 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8129 val* var5 /* : nullable Object */;
8130 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8131 val* var6 /* : nullable Object */;
8132 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8133 val* var7 /* : nullable Object */;
8134 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8135 val* var8 /* : nullable Object */;
8136 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8137 val* var9 /* : nullable Object */;
8138 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8139 val* var10 /* : nullable Object */;
8140 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8141 val* var11 /* : nullable Object */;
8142 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8143 val* var12 /* : Array[Object] */;
8144 val* var_listnode7 /* var listnode7: Array[Object] */;
8145 val* var13 /* : Array[Object] */;
8146 val* var_listnode11 /* var listnode11: Array[Object] */;
8147 val* var14 /* : Array[Object] */;
8148 val* var_listnode13 /* var listnode13: Array[Object] */;
8149 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8150 short int var15 /* : Bool */;
8151 int cltype;
8152 int idtype;
8153 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8154 short int var16 /* : Bool */;
8155 int cltype17;
8156 int idtype18;
8157 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8158 short int var19 /* : Bool */;
8159 int cltype20;
8160 int idtype21;
8161 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8162 short int var22 /* : Bool */;
8163 int cltype23;
8164 int idtype24;
8165 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
8166 short int var25 /* : Bool */;
8167 int cltype26;
8168 int idtype27;
8169 val* var_listnode10 /* var listnode10: nullable Object */;
8170 short int var28 /* : Bool */;
8171 int cltype29;
8172 int idtype30;
8173 val* var31 /* : Array[Object] */;
8174 val* var_listnode12 /* var listnode12: nullable Object */;
8175 short int var32 /* : Bool */;
8176 int cltype33;
8177 int idtype34;
8178 val* var35 /* : Array[Object] */;
8179 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
8180 short int var36 /* : Bool */;
8181 int cltype37;
8182 int idtype38;
8183 val* var39 /* : AStdClassdef */;
8184 val* var40 /* : null */;
8185 val* var41 /* : null */;
8186 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8187 long var42 /* : Int */;
8188 long var43 /* : Int */;
8189 var_p = p0;
8190 var = NULL;
8191 var_node_list = var;
8192 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8193 var_nodearraylist11 = var1;
8194 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8195 var_nodearraylist10 = var2;
8196 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8197 var_nodearraylist9 = var3;
8198 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8199 var_nodearraylist8 = var4;
8200 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8201 var_nodearraylist7 = var5;
8202 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8203 var_nodearraylist6 = var6;
8204 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8205 var_nodearraylist5 = var7;
8206 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8207 var_nodearraylist4 = var8;
8208 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8209 var_nodearraylist3 = var9;
8210 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8211 var_nodearraylist2 = var10;
8212 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8213 var_nodearraylist1 = var11;
8214 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
8215 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
8216 CHECK_NEW_array__Array(var12);
8217 var_listnode7 = var12;
8218 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
8219 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
8220 CHECK_NEW_array__Array(var13);
8221 var_listnode11 = var13;
8222 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
8223 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
8224 CHECK_NEW_array__Array(var14);
8225 var_listnode13 = var14;
8226 var_pdocnode2 = var_nodearraylist1;
8227 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8228 cltype = type_nullable_parser_nodes__ADoc.color;
8229 idtype = type_nullable_parser_nodes__ADoc.id;
8230 if(var_pdocnode2 == NULL) {
8231 var15 = 1;
8232 } else {
8233 if(cltype >= var_pdocnode2->type->table_size) {
8234 var15 = 0;
8235 } else {
8236 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
8237 }
8238 }
8239 if (!var15) {
8240 fprintf(stderr, "Runtime error: %s", "Assert failed");
8241 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13840);
8242 exit(1);
8243 }
8244 var_pvisibilitynode4 = var_nodearraylist2;
8245 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8246 cltype17 = type_nullable_parser_nodes__AVisibility.color;
8247 idtype18 = type_nullable_parser_nodes__AVisibility.id;
8248 if(var_pvisibilitynode4 == NULL) {
8249 var16 = 1;
8250 } else {
8251 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
8252 var16 = 0;
8253 } else {
8254 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
8255 }
8256 }
8257 if (!var16) {
8258 fprintf(stderr, "Runtime error: %s", "Assert failed");
8259 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13842);
8260 exit(1);
8261 }
8262 var_pclasskindnode5 = var_nodearraylist3;
8263 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8264 cltype20 = type_nullable_parser_nodes__AClasskind.color;
8265 idtype21 = type_nullable_parser_nodes__AClasskind.id;
8266 if(var_pclasskindnode5 == NULL) {
8267 var19 = 1;
8268 } else {
8269 if(cltype20 >= var_pclasskindnode5->type->table_size) {
8270 var19 = 0;
8271 } else {
8272 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
8273 }
8274 }
8275 if (!var19) {
8276 fprintf(stderr, "Runtime error: %s", "Assert failed");
8277 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13844);
8278 exit(1);
8279 }
8280 var_tclassidnode6 = var_nodearraylist6;
8281 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8282 cltype23 = type_nullable_parser_nodes__TClassid.color;
8283 idtype24 = type_nullable_parser_nodes__TClassid.id;
8284 if(var_tclassidnode6 == NULL) {
8285 var22 = 1;
8286 } else {
8287 if(cltype23 >= var_tclassidnode6->type->table_size) {
8288 var22 = 0;
8289 } else {
8290 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
8291 }
8292 }
8293 if (!var22) {
8294 fprintf(stderr, "Runtime error: %s", "Assert failed");
8295 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13846);
8296 exit(1);
8297 }
8298 var_pexterncodeblocknode9 = var_nodearraylist7;
8299 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
8300 cltype26 = type_nullable_parser_nodes__AExternCodeBlock.color;
8301 idtype27 = type_nullable_parser_nodes__AExternCodeBlock.id;
8302 if(var_pexterncodeblocknode9 == NULL) {
8303 var25 = 1;
8304 } else {
8305 if(cltype26 >= var_pexterncodeblocknode9->type->table_size) {
8306 var25 = 0;
8307 } else {
8308 var25 = var_pexterncodeblocknode9->type->type_table[cltype26] == idtype27;
8309 }
8310 }
8311 if (!var25) {
8312 fprintf(stderr, "Runtime error: %s", "Assert failed");
8313 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13848);
8314 exit(1);
8315 }
8316 var_listnode10 = var_nodearraylist8;
8317 /* <var_listnode10:nullable Object> isa Array[Object] */
8318 cltype29 = type_array__Arraykernel__Object.color;
8319 idtype30 = type_array__Arraykernel__Object.id;
8320 if(var_listnode10 == NULL) {
8321 var28 = 0;
8322 } else {
8323 if(cltype29 >= var_listnode10->type->table_size) {
8324 var28 = 0;
8325 } else {
8326 var28 = var_listnode10->type->type_table[cltype29] == idtype30;
8327 }
8328 }
8329 if (!var28) {
8330 fprintf(stderr, "Runtime error: %s", "Assert failed");
8331 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13850);
8332 exit(1);
8333 }
8334 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction299>*/;
8335 var_listnode11 = var31;
8336 var_listnode12 = var_nodearraylist9;
8337 /* <var_listnode12:nullable Object> isa Array[Object] */
8338 cltype33 = type_array__Arraykernel__Object.color;
8339 idtype34 = type_array__Arraykernel__Object.id;
8340 if(var_listnode12 == NULL) {
8341 var32 = 0;
8342 } else {
8343 if(cltype33 >= var_listnode12->type->table_size) {
8344 var32 = 0;
8345 } else {
8346 var32 = var_listnode12->type->type_table[cltype33] == idtype34;
8347 }
8348 }
8349 if (!var32) {
8350 fprintf(stderr, "Runtime error: %s", "Assert failed");
8351 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13853);
8352 exit(1);
8353 }
8354 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction299>*/;
8355 var_listnode13 = var35;
8356 var_tkwendnode14 = var_nodearraylist11;
8357 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
8358 cltype37 = type_nullable_parser_nodes__TKwend.color;
8359 idtype38 = type_nullable_parser_nodes__TKwend.id;
8360 if(var_tkwendnode14 == NULL) {
8361 var36 = 1;
8362 } else {
8363 if(cltype37 >= var_tkwendnode14->type->table_size) {
8364 var36 = 0;
8365 } else {
8366 var36 = var_tkwendnode14->type->type_table[cltype37] == idtype38;
8367 }
8368 }
8369 if (!var36) {
8370 fprintf(stderr, "Runtime error: %s", "Assert failed");
8371 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13856);
8372 exit(1);
8373 }
8374 var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8375 var40 = NULL;
8376 var41 = NULL;
8377 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var39->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var39, var_pdocnode2, var40, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var41, var_pexterncodeblocknode9, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var39:AStdClassdef>*/;
8378 CHECK_NEW_parser_nodes__AStdClassdef(var39);
8379 var_pclassdefnode1 = var39;
8380 var_node_list = var_pclassdefnode1;
8381 var42 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction299> */
8382 var43 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var42) /* go_to on <var_p:Parser>*/;
8383 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var43, var_node_list) /* push on <var_p:Parser>*/;
8384 RET_LABEL:;
8385 }
8386 /* method parser#ReduceAction299#action for (self: Object, Parser) */
8387 void VIRTUAL_parser__ReduceAction299__action(val* self, val* p0) {
8388 parser__ReduceAction299__action(self, p0);
8389 RET_LABEL:;
8390 }
8391 /* method parser#ReduceAction300#action for (self: ReduceAction300, Parser) */
8392 void parser__ReduceAction300__action(val* self, val* p0) {
8393 val* var_p /* var p: Parser */;
8394 val* var /* : null */;
8395 val* var_node_list /* var node_list: nullable Object */;
8396 val* var1 /* : nullable Object */;
8397 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
8398 val* var2 /* : nullable Object */;
8399 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
8400 val* var3 /* : nullable Object */;
8401 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8402 val* var4 /* : nullable Object */;
8403 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8404 val* var5 /* : nullable Object */;
8405 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8406 val* var6 /* : nullable Object */;
8407 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8408 val* var7 /* : nullable Object */;
8409 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8410 val* var8 /* : nullable Object */;
8411 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8412 val* var9 /* : nullable Object */;
8413 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8414 val* var10 /* : nullable Object */;
8415 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8416 val* var11 /* : nullable Object */;
8417 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8418 val* var12 /* : nullable Object */;
8419 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8420 val* var13 /* : Array[Object] */;
8421 val* var_listnode7 /* var listnode7: Array[Object] */;
8422 val* var14 /* : Array[Object] */;
8423 val* var_listnode11 /* var listnode11: Array[Object] */;
8424 val* var15 /* : Array[Object] */;
8425 val* var_listnode13 /* var listnode13: Array[Object] */;
8426 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8427 short int var16 /* : Bool */;
8428 int cltype;
8429 int idtype;
8430 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8431 short int var17 /* : Bool */;
8432 int cltype18;
8433 int idtype19;
8434 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8435 short int var20 /* : Bool */;
8436 int cltype21;
8437 int idtype22;
8438 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8439 short int var23 /* : Bool */;
8440 int cltype24;
8441 int idtype25;
8442 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
8443 short int var26 /* : Bool */;
8444 int cltype27;
8445 int idtype28;
8446 val* var_listnode10 /* var listnode10: nullable Object */;
8447 short int var29 /* : Bool */;
8448 int cltype30;
8449 int idtype31;
8450 val* var32 /* : Array[Object] */;
8451 val* var_listnode12 /* var listnode12: nullable Object */;
8452 short int var33 /* : Bool */;
8453 int cltype34;
8454 int idtype35;
8455 val* var36 /* : Array[Object] */;
8456 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
8457 short int var37 /* : Bool */;
8458 int cltype38;
8459 int idtype39;
8460 val* var40 /* : AStdClassdef */;
8461 val* var41 /* : null */;
8462 val* var42 /* : null */;
8463 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8464 long var43 /* : Int */;
8465 long var44 /* : Int */;
8466 var_p = p0;
8467 var = NULL;
8468 var_node_list = var;
8469 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8470 var_nodearraylist12 = var1;
8471 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8472 var_nodearraylist11 = var2;
8473 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8474 var_nodearraylist10 = var3;
8475 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8476 var_nodearraylist9 = var4;
8477 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8478 var_nodearraylist8 = var5;
8479 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8480 var_nodearraylist7 = var6;
8481 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8482 var_nodearraylist6 = var7;
8483 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8484 var_nodearraylist5 = var8;
8485 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8486 var_nodearraylist4 = var9;
8487 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8488 var_nodearraylist3 = var10;
8489 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8490 var_nodearraylist2 = var11;
8491 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8492 var_nodearraylist1 = var12;
8493 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
8494 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
8495 CHECK_NEW_array__Array(var13);
8496 var_listnode7 = var13;
8497 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
8498 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
8499 CHECK_NEW_array__Array(var14);
8500 var_listnode11 = var14;
8501 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
8502 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
8503 CHECK_NEW_array__Array(var15);
8504 var_listnode13 = var15;
8505 var_pdocnode2 = var_nodearraylist1;
8506 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8507 cltype = type_nullable_parser_nodes__ADoc.color;
8508 idtype = type_nullable_parser_nodes__ADoc.id;
8509 if(var_pdocnode2 == NULL) {
8510 var16 = 1;
8511 } else {
8512 if(cltype >= var_pdocnode2->type->table_size) {
8513 var16 = 0;
8514 } else {
8515 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
8516 }
8517 }
8518 if (!var16) {
8519 fprintf(stderr, "Runtime error: %s", "Assert failed");
8520 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13895);
8521 exit(1);
8522 }
8523 var_pvisibilitynode4 = var_nodearraylist2;
8524 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8525 cltype18 = type_nullable_parser_nodes__AVisibility.color;
8526 idtype19 = type_nullable_parser_nodes__AVisibility.id;
8527 if(var_pvisibilitynode4 == NULL) {
8528 var17 = 1;
8529 } else {
8530 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
8531 var17 = 0;
8532 } else {
8533 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
8534 }
8535 }
8536 if (!var17) {
8537 fprintf(stderr, "Runtime error: %s", "Assert failed");
8538 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13897);
8539 exit(1);
8540 }
8541 var_pclasskindnode5 = var_nodearraylist3;
8542 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8543 cltype21 = type_nullable_parser_nodes__AClasskind.color;
8544 idtype22 = type_nullable_parser_nodes__AClasskind.id;
8545 if(var_pclasskindnode5 == NULL) {
8546 var20 = 1;
8547 } else {
8548 if(cltype21 >= var_pclasskindnode5->type->table_size) {
8549 var20 = 0;
8550 } else {
8551 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
8552 }
8553 }
8554 if (!var20) {
8555 fprintf(stderr, "Runtime error: %s", "Assert failed");
8556 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13899);
8557 exit(1);
8558 }
8559 var_tclassidnode6 = var_nodearraylist7;
8560 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8561 cltype24 = type_nullable_parser_nodes__TClassid.color;
8562 idtype25 = type_nullable_parser_nodes__TClassid.id;
8563 if(var_tclassidnode6 == NULL) {
8564 var23 = 1;
8565 } else {
8566 if(cltype24 >= var_tclassidnode6->type->table_size) {
8567 var23 = 0;
8568 } else {
8569 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
8570 }
8571 }
8572 if (!var23) {
8573 fprintf(stderr, "Runtime error: %s", "Assert failed");
8574 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13901);
8575 exit(1);
8576 }
8577 var_pexterncodeblocknode9 = var_nodearraylist8;
8578 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
8579 cltype27 = type_nullable_parser_nodes__AExternCodeBlock.color;
8580 idtype28 = type_nullable_parser_nodes__AExternCodeBlock.id;
8581 if(var_pexterncodeblocknode9 == NULL) {
8582 var26 = 1;
8583 } else {
8584 if(cltype27 >= var_pexterncodeblocknode9->type->table_size) {
8585 var26 = 0;
8586 } else {
8587 var26 = var_pexterncodeblocknode9->type->type_table[cltype27] == idtype28;
8588 }
8589 }
8590 if (!var26) {
8591 fprintf(stderr, "Runtime error: %s", "Assert failed");
8592 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13903);
8593 exit(1);
8594 }
8595 var_listnode10 = var_nodearraylist9;
8596 /* <var_listnode10:nullable Object> isa Array[Object] */
8597 cltype30 = type_array__Arraykernel__Object.color;
8598 idtype31 = type_array__Arraykernel__Object.id;
8599 if(var_listnode10 == NULL) {
8600 var29 = 0;
8601 } else {
8602 if(cltype30 >= var_listnode10->type->table_size) {
8603 var29 = 0;
8604 } else {
8605 var29 = var_listnode10->type->type_table[cltype30] == idtype31;
8606 }
8607 }
8608 if (!var29) {
8609 fprintf(stderr, "Runtime error: %s", "Assert failed");
8610 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13905);
8611 exit(1);
8612 }
8613 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction300>*/;
8614 var_listnode11 = var32;
8615 var_listnode12 = var_nodearraylist10;
8616 /* <var_listnode12:nullable Object> isa Array[Object] */
8617 cltype34 = type_array__Arraykernel__Object.color;
8618 idtype35 = type_array__Arraykernel__Object.id;
8619 if(var_listnode12 == NULL) {
8620 var33 = 0;
8621 } else {
8622 if(cltype34 >= var_listnode12->type->table_size) {
8623 var33 = 0;
8624 } else {
8625 var33 = var_listnode12->type->type_table[cltype34] == idtype35;
8626 }
8627 }
8628 if (!var33) {
8629 fprintf(stderr, "Runtime error: %s", "Assert failed");
8630 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13908);
8631 exit(1);
8632 }
8633 var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction300>*/;
8634 var_listnode13 = var36;
8635 var_tkwendnode14 = var_nodearraylist12;
8636 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
8637 cltype38 = type_nullable_parser_nodes__TKwend.color;
8638 idtype39 = type_nullable_parser_nodes__TKwend.id;
8639 if(var_tkwendnode14 == NULL) {
8640 var37 = 1;
8641 } else {
8642 if(cltype38 >= var_tkwendnode14->type->table_size) {
8643 var37 = 0;
8644 } else {
8645 var37 = var_tkwendnode14->type->type_table[cltype38] == idtype39;
8646 }
8647 }
8648 if (!var37) {
8649 fprintf(stderr, "Runtime error: %s", "Assert failed");
8650 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13911);
8651 exit(1);
8652 }
8653 var40 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8654 var41 = NULL;
8655 var42 = NULL;
8656 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var40->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var40, var_pdocnode2, var41, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var42, var_pexterncodeblocknode9, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var40:AStdClassdef>*/;
8657 CHECK_NEW_parser_nodes__AStdClassdef(var40);
8658 var_pclassdefnode1 = var40;
8659 var_node_list = var_pclassdefnode1;
8660 var43 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction300> */
8661 var44 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var43) /* go_to on <var_p:Parser>*/;
8662 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var44, var_node_list) /* push on <var_p:Parser>*/;
8663 RET_LABEL:;
8664 }
8665 /* method parser#ReduceAction300#action for (self: Object, Parser) */
8666 void VIRTUAL_parser__ReduceAction300__action(val* self, val* p0) {
8667 parser__ReduceAction300__action(self, p0);
8668 RET_LABEL:;
8669 }
8670 /* method parser#ReduceAction302#action for (self: ReduceAction302, Parser) */
8671 void parser__ReduceAction302__action(val* self, val* p0) {
8672 val* var_p /* var p: Parser */;
8673 val* var /* : null */;
8674 val* var_node_list /* var node_list: nullable Object */;
8675 val* var1 /* : nullable Object */;
8676 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
8677 val* var2 /* : nullable Object */;
8678 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
8679 val* var3 /* : nullable Object */;
8680 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8681 val* var4 /* : nullable Object */;
8682 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8683 val* var5 /* : nullable Object */;
8684 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8685 val* var6 /* : nullable Object */;
8686 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8687 val* var7 /* : nullable Object */;
8688 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8689 val* var8 /* : nullable Object */;
8690 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8691 val* var9 /* : nullable Object */;
8692 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8693 val* var10 /* : nullable Object */;
8694 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8695 val* var11 /* : nullable Object */;
8696 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8697 val* var12 /* : nullable Object */;
8698 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8699 val* var13 /* : Array[Object] */;
8700 val* var_listnode7 /* var listnode7: Array[Object] */;
8701 val* var14 /* : Array[Object] */;
8702 val* var_listnode11 /* var listnode11: Array[Object] */;
8703 val* var15 /* : Array[Object] */;
8704 val* var_listnode13 /* var listnode13: Array[Object] */;
8705 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8706 short int var16 /* : Bool */;
8707 int cltype;
8708 int idtype;
8709 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
8710 short int var17 /* : Bool */;
8711 int cltype18;
8712 int idtype19;
8713 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8714 short int var20 /* : Bool */;
8715 int cltype21;
8716 int idtype22;
8717 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8718 short int var23 /* : Bool */;
8719 int cltype24;
8720 int idtype25;
8721 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8722 short int var26 /* : Bool */;
8723 int cltype27;
8724 int idtype28;
8725 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
8726 short int var29 /* : Bool */;
8727 int cltype30;
8728 int idtype31;
8729 val* var_listnode10 /* var listnode10: nullable Object */;
8730 short int var32 /* : Bool */;
8731 int cltype33;
8732 int idtype34;
8733 val* var35 /* : Array[Object] */;
8734 val* var_listnode12 /* var listnode12: nullable Object */;
8735 short int var36 /* : Bool */;
8736 int cltype37;
8737 int idtype38;
8738 val* var39 /* : Array[Object] */;
8739 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
8740 short int var40 /* : Bool */;
8741 int cltype41;
8742 int idtype42;
8743 val* var43 /* : AStdClassdef */;
8744 val* var44 /* : null */;
8745 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8746 long var45 /* : Int */;
8747 long var46 /* : Int */;
8748 var_p = p0;
8749 var = NULL;
8750 var_node_list = var;
8751 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8752 var_nodearraylist12 = var1;
8753 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8754 var_nodearraylist11 = var2;
8755 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8756 var_nodearraylist10 = var3;
8757 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8758 var_nodearraylist9 = var4;
8759 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8760 var_nodearraylist8 = var5;
8761 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8762 var_nodearraylist7 = var6;
8763 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8764 var_nodearraylist6 = var7;
8765 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8766 var_nodearraylist5 = var8;
8767 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8768 var_nodearraylist4 = var9;
8769 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8770 var_nodearraylist3 = var10;
8771 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8772 var_nodearraylist2 = var11;
8773 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8774 var_nodearraylist1 = var12;
8775 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
8776 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
8777 CHECK_NEW_array__Array(var13);
8778 var_listnode7 = var13;
8779 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
8780 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
8781 CHECK_NEW_array__Array(var14);
8782 var_listnode11 = var14;
8783 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
8784 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
8785 CHECK_NEW_array__Array(var15);
8786 var_listnode13 = var15;
8787 var_pdocnode2 = var_nodearraylist1;
8788 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8789 cltype = type_nullable_parser_nodes__ADoc.color;
8790 idtype = type_nullable_parser_nodes__ADoc.id;
8791 if(var_pdocnode2 == NULL) {
8792 var16 = 1;
8793 } else {
8794 if(cltype >= var_pdocnode2->type->table_size) {
8795 var16 = 0;
8796 } else {
8797 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
8798 }
8799 }
8800 if (!var16) {
8801 fprintf(stderr, "Runtime error: %s", "Assert failed");
8802 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13950);
8803 exit(1);
8804 }
8805 var_tkwredefnode3 = var_nodearraylist2;
8806 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8807 cltype18 = type_nullable_parser_nodes__TKwredef.color;
8808 idtype19 = type_nullable_parser_nodes__TKwredef.id;
8809 if(var_tkwredefnode3 == NULL) {
8810 var17 = 1;
8811 } else {
8812 if(cltype18 >= var_tkwredefnode3->type->table_size) {
8813 var17 = 0;
8814 } else {
8815 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
8816 }
8817 }
8818 if (!var17) {
8819 fprintf(stderr, "Runtime error: %s", "Assert failed");
8820 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13952);
8821 exit(1);
8822 }
8823 var_pvisibilitynode4 = var_nodearraylist3;
8824 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8825 cltype21 = type_nullable_parser_nodes__AVisibility.color;
8826 idtype22 = type_nullable_parser_nodes__AVisibility.id;
8827 if(var_pvisibilitynode4 == NULL) {
8828 var20 = 1;
8829 } else {
8830 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
8831 var20 = 0;
8832 } else {
8833 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
8834 }
8835 }
8836 if (!var20) {
8837 fprintf(stderr, "Runtime error: %s", "Assert failed");
8838 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13954);
8839 exit(1);
8840 }
8841 var_pclasskindnode5 = var_nodearraylist4;
8842 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8843 cltype24 = type_nullable_parser_nodes__AClasskind.color;
8844 idtype25 = type_nullable_parser_nodes__AClasskind.id;
8845 if(var_pclasskindnode5 == NULL) {
8846 var23 = 1;
8847 } else {
8848 if(cltype24 >= var_pclasskindnode5->type->table_size) {
8849 var23 = 0;
8850 } else {
8851 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
8852 }
8853 }
8854 if (!var23) {
8855 fprintf(stderr, "Runtime error: %s", "Assert failed");
8856 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13956);
8857 exit(1);
8858 }
8859 var_tclassidnode6 = var_nodearraylist7;
8860 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8861 cltype27 = type_nullable_parser_nodes__TClassid.color;
8862 idtype28 = type_nullable_parser_nodes__TClassid.id;
8863 if(var_tclassidnode6 == NULL) {
8864 var26 = 1;
8865 } else {
8866 if(cltype27 >= var_tclassidnode6->type->table_size) {
8867 var26 = 0;
8868 } else {
8869 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
8870 }
8871 }
8872 if (!var26) {
8873 fprintf(stderr, "Runtime error: %s", "Assert failed");
8874 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13958);
8875 exit(1);
8876 }
8877 var_pexterncodeblocknode9 = var_nodearraylist8;
8878 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
8879 cltype30 = type_nullable_parser_nodes__AExternCodeBlock.color;
8880 idtype31 = type_nullable_parser_nodes__AExternCodeBlock.id;
8881 if(var_pexterncodeblocknode9 == NULL) {
8882 var29 = 1;
8883 } else {
8884 if(cltype30 >= var_pexterncodeblocknode9->type->table_size) {
8885 var29 = 0;
8886 } else {
8887 var29 = var_pexterncodeblocknode9->type->type_table[cltype30] == idtype31;
8888 }
8889 }
8890 if (!var29) {
8891 fprintf(stderr, "Runtime error: %s", "Assert failed");
8892 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13960);
8893 exit(1);
8894 }
8895 var_listnode10 = var_nodearraylist9;
8896 /* <var_listnode10:nullable Object> isa Array[Object] */
8897 cltype33 = type_array__Arraykernel__Object.color;
8898 idtype34 = type_array__Arraykernel__Object.id;
8899 if(var_listnode10 == NULL) {
8900 var32 = 0;
8901 } else {
8902 if(cltype33 >= var_listnode10->type->table_size) {
8903 var32 = 0;
8904 } else {
8905 var32 = var_listnode10->type->type_table[cltype33] == idtype34;
8906 }
8907 }
8908 if (!var32) {
8909 fprintf(stderr, "Runtime error: %s", "Assert failed");
8910 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13962);
8911 exit(1);
8912 }
8913 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction302>*/;
8914 var_listnode11 = var35;
8915 var_listnode12 = var_nodearraylist10;
8916 /* <var_listnode12:nullable Object> isa Array[Object] */
8917 cltype37 = type_array__Arraykernel__Object.color;
8918 idtype38 = type_array__Arraykernel__Object.id;
8919 if(var_listnode12 == NULL) {
8920 var36 = 0;
8921 } else {
8922 if(cltype37 >= var_listnode12->type->table_size) {
8923 var36 = 0;
8924 } else {
8925 var36 = var_listnode12->type->type_table[cltype37] == idtype38;
8926 }
8927 }
8928 if (!var36) {
8929 fprintf(stderr, "Runtime error: %s", "Assert failed");
8930 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13965);
8931 exit(1);
8932 }
8933 var39 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction302>*/;
8934 var_listnode13 = var39;
8935 var_tkwendnode14 = var_nodearraylist12;
8936 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
8937 cltype41 = type_nullable_parser_nodes__TKwend.color;
8938 idtype42 = type_nullable_parser_nodes__TKwend.id;
8939 if(var_tkwendnode14 == NULL) {
8940 var40 = 1;
8941 } else {
8942 if(cltype41 >= var_tkwendnode14->type->table_size) {
8943 var40 = 0;
8944 } else {
8945 var40 = var_tkwendnode14->type->type_table[cltype41] == idtype42;
8946 }
8947 }
8948 if (!var40) {
8949 fprintf(stderr, "Runtime error: %s", "Assert failed");
8950 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 13968);
8951 exit(1);
8952 }
8953 var43 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8954 var44 = NULL;
8955 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var43->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var43, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var44, var_pexterncodeblocknode9, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var43:AStdClassdef>*/;
8956 CHECK_NEW_parser_nodes__AStdClassdef(var43);
8957 var_pclassdefnode1 = var43;
8958 var_node_list = var_pclassdefnode1;
8959 var45 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction302> */
8960 var46 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var45) /* go_to on <var_p:Parser>*/;
8961 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var46, var_node_list) /* push on <var_p:Parser>*/;
8962 RET_LABEL:;
8963 }
8964 /* method parser#ReduceAction302#action for (self: Object, Parser) */
8965 void VIRTUAL_parser__ReduceAction302__action(val* self, val* p0) {
8966 parser__ReduceAction302__action(self, p0);
8967 RET_LABEL:;
8968 }
8969 /* method parser#ReduceAction303#action for (self: ReduceAction303, Parser) */
8970 void parser__ReduceAction303__action(val* self, val* p0) {
8971 val* var_p /* var p: Parser */;
8972 val* var /* : null */;
8973 val* var_node_list /* var node_list: nullable Object */;
8974 val* var1 /* : nullable Object */;
8975 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
8976 val* var2 /* : nullable Object */;
8977 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
8978 val* var3 /* : nullable Object */;
8979 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
8980 val* var4 /* : nullable Object */;
8981 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8982 val* var5 /* : nullable Object */;
8983 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8984 val* var6 /* : nullable Object */;
8985 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8986 val* var7 /* : nullable Object */;
8987 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8988 val* var8 /* : nullable Object */;
8989 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8990 val* var9 /* : nullable Object */;
8991 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8992 val* var10 /* : nullable Object */;
8993 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8994 val* var11 /* : nullable Object */;
8995 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8996 val* var12 /* : nullable Object */;
8997 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8998 val* var13 /* : nullable Object */;
8999 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9000 val* var14 /* : Array[Object] */;
9001 val* var_listnode7 /* var listnode7: Array[Object] */;
9002 val* var15 /* : Array[Object] */;
9003 val* var_listnode11 /* var listnode11: Array[Object] */;
9004 val* var16 /* : Array[Object] */;
9005 val* var_listnode13 /* var listnode13: Array[Object] */;
9006 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9007 short int var17 /* : Bool */;
9008 int cltype;
9009 int idtype;
9010 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
9011 short int var18 /* : Bool */;
9012 int cltype19;
9013 int idtype20;
9014 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9015 short int var21 /* : Bool */;
9016 int cltype22;
9017 int idtype23;
9018 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
9019 short int var24 /* : Bool */;
9020 int cltype25;
9021 int idtype26;
9022 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9023 short int var27 /* : Bool */;
9024 int cltype28;
9025 int idtype29;
9026 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
9027 short int var30 /* : Bool */;
9028 int cltype31;
9029 int idtype32;
9030 val* var_listnode10 /* var listnode10: nullable Object */;
9031 short int var33 /* : Bool */;
9032 int cltype34;
9033 int idtype35;
9034 val* var36 /* : Array[Object] */;
9035 val* var_listnode12 /* var listnode12: nullable Object */;
9036 short int var37 /* : Bool */;
9037 int cltype38;
9038 int idtype39;
9039 val* var40 /* : Array[Object] */;
9040 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
9041 short int var41 /* : Bool */;
9042 int cltype42;
9043 int idtype43;
9044 val* var44 /* : AStdClassdef */;
9045 val* var45 /* : null */;
9046 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
9047 long var46 /* : Int */;
9048 long var47 /* : Int */;
9049 var_p = p0;
9050 var = NULL;
9051 var_node_list = var;
9052 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9053 var_nodearraylist13 = var1;
9054 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9055 var_nodearraylist12 = var2;
9056 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9057 var_nodearraylist11 = var3;
9058 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9059 var_nodearraylist10 = var4;
9060 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9061 var_nodearraylist9 = var5;
9062 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9063 var_nodearraylist8 = var6;
9064 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9065 var_nodearraylist7 = var7;
9066 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9067 var_nodearraylist6 = var8;
9068 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9069 var_nodearraylist5 = var9;
9070 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9071 var_nodearraylist4 = var10;
9072 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9073 var_nodearraylist3 = var11;
9074 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9075 var_nodearraylist2 = var12;
9076 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9077 var_nodearraylist1 = var13;
9078 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
9079 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
9080 CHECK_NEW_array__Array(var14);
9081 var_listnode7 = var14;
9082 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
9083 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
9084 CHECK_NEW_array__Array(var15);
9085 var_listnode11 = var15;
9086 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
9087 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
9088 CHECK_NEW_array__Array(var16);
9089 var_listnode13 = var16;
9090 var_pdocnode2 = var_nodearraylist1;
9091 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9092 cltype = type_nullable_parser_nodes__ADoc.color;
9093 idtype = type_nullable_parser_nodes__ADoc.id;
9094 if(var_pdocnode2 == NULL) {
9095 var17 = 1;
9096 } else {
9097 if(cltype >= var_pdocnode2->type->table_size) {
9098 var17 = 0;
9099 } else {
9100 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
9101 }
9102 }
9103 if (!var17) {
9104 fprintf(stderr, "Runtime error: %s", "Assert failed");
9105 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14008);
9106 exit(1);
9107 }
9108 var_tkwredefnode3 = var_nodearraylist2;
9109 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
9110 cltype19 = type_nullable_parser_nodes__TKwredef.color;
9111 idtype20 = type_nullable_parser_nodes__TKwredef.id;
9112 if(var_tkwredefnode3 == NULL) {
9113 var18 = 1;
9114 } else {
9115 if(cltype19 >= var_tkwredefnode3->type->table_size) {
9116 var18 = 0;
9117 } else {
9118 var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20;
9119 }
9120 }
9121 if (!var18) {
9122 fprintf(stderr, "Runtime error: %s", "Assert failed");
9123 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14010);
9124 exit(1);
9125 }
9126 var_pvisibilitynode4 = var_nodearraylist3;
9127 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9128 cltype22 = type_nullable_parser_nodes__AVisibility.color;
9129 idtype23 = type_nullable_parser_nodes__AVisibility.id;
9130 if(var_pvisibilitynode4 == NULL) {
9131 var21 = 1;
9132 } else {
9133 if(cltype22 >= var_pvisibilitynode4->type->table_size) {
9134 var21 = 0;
9135 } else {
9136 var21 = var_pvisibilitynode4->type->type_table[cltype22] == idtype23;
9137 }
9138 }
9139 if (!var21) {
9140 fprintf(stderr, "Runtime error: %s", "Assert failed");
9141 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14012);
9142 exit(1);
9143 }
9144 var_pclasskindnode5 = var_nodearraylist4;
9145 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
9146 cltype25 = type_nullable_parser_nodes__AClasskind.color;
9147 idtype26 = type_nullable_parser_nodes__AClasskind.id;
9148 if(var_pclasskindnode5 == NULL) {
9149 var24 = 1;
9150 } else {
9151 if(cltype25 >= var_pclasskindnode5->type->table_size) {
9152 var24 = 0;
9153 } else {
9154 var24 = var_pclasskindnode5->type->type_table[cltype25] == idtype26;
9155 }
9156 }
9157 if (!var24) {
9158 fprintf(stderr, "Runtime error: %s", "Assert failed");
9159 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14014);
9160 exit(1);
9161 }
9162 var_tclassidnode6 = var_nodearraylist8;
9163 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9164 cltype28 = type_nullable_parser_nodes__TClassid.color;
9165 idtype29 = type_nullable_parser_nodes__TClassid.id;
9166 if(var_tclassidnode6 == NULL) {
9167 var27 = 1;
9168 } else {
9169 if(cltype28 >= var_tclassidnode6->type->table_size) {
9170 var27 = 0;
9171 } else {
9172 var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29;
9173 }
9174 }
9175 if (!var27) {
9176 fprintf(stderr, "Runtime error: %s", "Assert failed");
9177 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14016);
9178 exit(1);
9179 }
9180 var_pexterncodeblocknode9 = var_nodearraylist9;
9181 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
9182 cltype31 = type_nullable_parser_nodes__AExternCodeBlock.color;
9183 idtype32 = type_nullable_parser_nodes__AExternCodeBlock.id;
9184 if(var_pexterncodeblocknode9 == NULL) {
9185 var30 = 1;
9186 } else {
9187 if(cltype31 >= var_pexterncodeblocknode9->type->table_size) {
9188 var30 = 0;
9189 } else {
9190 var30 = var_pexterncodeblocknode9->type->type_table[cltype31] == idtype32;
9191 }
9192 }
9193 if (!var30) {
9194 fprintf(stderr, "Runtime error: %s", "Assert failed");
9195 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14018);
9196 exit(1);
9197 }
9198 var_listnode10 = var_nodearraylist10;
9199 /* <var_listnode10:nullable Object> isa Array[Object] */
9200 cltype34 = type_array__Arraykernel__Object.color;
9201 idtype35 = type_array__Arraykernel__Object.id;
9202 if(var_listnode10 == NULL) {
9203 var33 = 0;
9204 } else {
9205 if(cltype34 >= var_listnode10->type->table_size) {
9206 var33 = 0;
9207 } else {
9208 var33 = var_listnode10->type->type_table[cltype34] == idtype35;
9209 }
9210 }
9211 if (!var33) {
9212 fprintf(stderr, "Runtime error: %s", "Assert failed");
9213 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14020);
9214 exit(1);
9215 }
9216 var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction303>*/;
9217 var_listnode11 = var36;
9218 var_listnode12 = var_nodearraylist11;
9219 /* <var_listnode12:nullable Object> isa Array[Object] */
9220 cltype38 = type_array__Arraykernel__Object.color;
9221 idtype39 = type_array__Arraykernel__Object.id;
9222 if(var_listnode12 == NULL) {
9223 var37 = 0;
9224 } else {
9225 if(cltype38 >= var_listnode12->type->table_size) {
9226 var37 = 0;
9227 } else {
9228 var37 = var_listnode12->type->type_table[cltype38] == idtype39;
9229 }
9230 }
9231 if (!var37) {
9232 fprintf(stderr, "Runtime error: %s", "Assert failed");
9233 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14023);
9234 exit(1);
9235 }
9236 var40 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction303>*/;
9237 var_listnode13 = var40;
9238 var_tkwendnode14 = var_nodearraylist13;
9239 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
9240 cltype42 = type_nullable_parser_nodes__TKwend.color;
9241 idtype43 = type_nullable_parser_nodes__TKwend.id;
9242 if(var_tkwendnode14 == NULL) {
9243 var41 = 1;
9244 } else {
9245 if(cltype42 >= var_tkwendnode14->type->table_size) {
9246 var41 = 0;
9247 } else {
9248 var41 = var_tkwendnode14->type->type_table[cltype42] == idtype43;
9249 }
9250 }
9251 if (!var41) {
9252 fprintf(stderr, "Runtime error: %s", "Assert failed");
9253 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14026);
9254 exit(1);
9255 }
9256 var44 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9257 var45 = NULL;
9258 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var44->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var44, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var45, var_pexterncodeblocknode9, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var44:AStdClassdef>*/;
9259 CHECK_NEW_parser_nodes__AStdClassdef(var44);
9260 var_pclassdefnode1 = var44;
9261 var_node_list = var_pclassdefnode1;
9262 var46 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction303> */
9263 var47 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var46) /* go_to on <var_p:Parser>*/;
9264 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var47, var_node_list) /* push on <var_p:Parser>*/;
9265 RET_LABEL:;
9266 }
9267 /* method parser#ReduceAction303#action for (self: Object, Parser) */
9268 void VIRTUAL_parser__ReduceAction303__action(val* self, val* p0) {
9269 parser__ReduceAction303__action(self, p0);
9270 RET_LABEL:;
9271 }
9272 /* method parser#ReduceAction305#action for (self: ReduceAction305, Parser) */
9273 void parser__ReduceAction305__action(val* self, val* p0) {
9274 val* var_p /* var p: Parser */;
9275 val* var /* : null */;
9276 val* var_node_list /* var node_list: nullable Object */;
9277 val* var1 /* : nullable Object */;
9278 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
9279 val* var2 /* : nullable Object */;
9280 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
9281 val* var3 /* : nullable Object */;
9282 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9283 val* var4 /* : nullable Object */;
9284 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9285 val* var5 /* : nullable Object */;
9286 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9287 val* var6 /* : nullable Object */;
9288 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9289 val* var7 /* : nullable Object */;
9290 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9291 val* var8 /* : nullable Object */;
9292 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9293 val* var9 /* : nullable Object */;
9294 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9295 val* var10 /* : nullable Object */;
9296 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9297 val* var11 /* : nullable Object */;
9298 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9299 val* var12 /* : Array[Object] */;
9300 val* var_listnode8 /* var listnode8: Array[Object] */;
9301 val* var13 /* : Array[Object] */;
9302 val* var_listnode12 /* var listnode12: Array[Object] */;
9303 val* var14 /* : Array[Object] */;
9304 val* var_listnode14 /* var listnode14: Array[Object] */;
9305 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9306 short int var15 /* : Bool */;
9307 int cltype;
9308 int idtype;
9309 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9310 short int var16 /* : Bool */;
9311 int cltype17;
9312 int idtype18;
9313 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
9314 short int var19 /* : Bool */;
9315 int cltype20;
9316 int idtype21;
9317 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9318 short int var22 /* : Bool */;
9319 int cltype23;
9320 int idtype24;
9321 val* var_listnode7 /* var listnode7: nullable Object */;
9322 short int var25 /* : Bool */;
9323 int cltype26;
9324 int idtype27;
9325 val* var28 /* : Array[Object] */;
9326 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
9327 short int var29 /* : Bool */;
9328 int cltype30;
9329 int idtype31;
9330 val* var_listnode11 /* var listnode11: nullable Object */;
9331 short int var32 /* : Bool */;
9332 int cltype33;
9333 int idtype34;
9334 val* var35 /* : Array[Object] */;
9335 val* var_listnode13 /* var listnode13: nullable Object */;
9336 short int var36 /* : Bool */;
9337 int cltype37;
9338 int idtype38;
9339 val* var39 /* : Array[Object] */;
9340 val* var_tkwendnode15 /* var tkwendnode15: nullable Object */;
9341 short int var40 /* : Bool */;
9342 int cltype41;
9343 int idtype42;
9344 val* var43 /* : AStdClassdef */;
9345 val* var44 /* : null */;
9346 val* var45 /* : null */;
9347 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
9348 long var46 /* : Int */;
9349 long var47 /* : Int */;
9350 var_p = p0;
9351 var = NULL;
9352 var_node_list = var;
9353 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9354 var_nodearraylist11 = var1;
9355 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9356 var_nodearraylist10 = var2;
9357 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9358 var_nodearraylist9 = var3;
9359 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9360 var_nodearraylist8 = var4;
9361 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9362 var_nodearraylist7 = var5;
9363 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9364 var_nodearraylist6 = var6;
9365 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9366 var_nodearraylist5 = var7;
9367 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9368 var_nodearraylist4 = var8;
9369 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9370 var_nodearraylist3 = var9;
9371 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9372 var_nodearraylist2 = var10;
9373 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9374 var_nodearraylist1 = var11;
9375 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
9376 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
9377 CHECK_NEW_array__Array(var12);
9378 var_listnode8 = var12;
9379 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
9380 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
9381 CHECK_NEW_array__Array(var13);
9382 var_listnode12 = var13;
9383 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
9384 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
9385 CHECK_NEW_array__Array(var14);
9386 var_listnode14 = var14;
9387 var_pdocnode2 = var_nodearraylist1;
9388 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9389 cltype = type_nullable_parser_nodes__ADoc.color;
9390 idtype = type_nullable_parser_nodes__ADoc.id;
9391 if(var_pdocnode2 == NULL) {
9392 var15 = 1;
9393 } else {
9394 if(cltype >= var_pdocnode2->type->table_size) {
9395 var15 = 0;
9396 } else {
9397 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
9398 }
9399 }
9400 if (!var15) {
9401 fprintf(stderr, "Runtime error: %s", "Assert failed");
9402 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14064);
9403 exit(1);
9404 }
9405 var_pvisibilitynode4 = var_nodearraylist2;
9406 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9407 cltype17 = type_nullable_parser_nodes__AVisibility.color;
9408 idtype18 = type_nullable_parser_nodes__AVisibility.id;
9409 if(var_pvisibilitynode4 == NULL) {
9410 var16 = 1;
9411 } else {
9412 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
9413 var16 = 0;
9414 } else {
9415 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
9416 }
9417 }
9418 if (!var16) {
9419 fprintf(stderr, "Runtime error: %s", "Assert failed");
9420 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14066);
9421 exit(1);
9422 }
9423 var_pclasskindnode5 = var_nodearraylist3;
9424 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
9425 cltype20 = type_nullable_parser_nodes__AClasskind.color;
9426 idtype21 = type_nullable_parser_nodes__AClasskind.id;
9427 if(var_pclasskindnode5 == NULL) {
9428 var19 = 1;
9429 } else {
9430 if(cltype20 >= var_pclasskindnode5->type->table_size) {
9431 var19 = 0;
9432 } else {
9433 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
9434 }
9435 }
9436 if (!var19) {
9437 fprintf(stderr, "Runtime error: %s", "Assert failed");
9438 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14068);
9439 exit(1);
9440 }
9441 var_tclassidnode6 = var_nodearraylist5;
9442 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9443 cltype23 = type_nullable_parser_nodes__TClassid.color;
9444 idtype24 = type_nullable_parser_nodes__TClassid.id;
9445 if(var_tclassidnode6 == NULL) {
9446 var22 = 1;
9447 } else {
9448 if(cltype23 >= var_tclassidnode6->type->table_size) {
9449 var22 = 0;
9450 } else {
9451 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
9452 }
9453 }
9454 if (!var22) {
9455 fprintf(stderr, "Runtime error: %s", "Assert failed");
9456 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14070);
9457 exit(1);
9458 }
9459 var_listnode7 = var_nodearraylist6;
9460 /* <var_listnode7:nullable Object> isa Array[Object] */
9461 cltype26 = type_array__Arraykernel__Object.color;
9462 idtype27 = type_array__Arraykernel__Object.id;
9463 if(var_listnode7 == NULL) {
9464 var25 = 0;
9465 } else {
9466 if(cltype26 >= var_listnode7->type->table_size) {
9467 var25 = 0;
9468 } else {
9469 var25 = var_listnode7->type->type_table[cltype26] == idtype27;
9470 }
9471 }
9472 if (!var25) {
9473 fprintf(stderr, "Runtime error: %s", "Assert failed");
9474 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14072);
9475 exit(1);
9476 }
9477 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction305>*/;
9478 var_listnode8 = var28;
9479 var_pexterncodeblocknode10 = var_nodearraylist7;
9480 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
9481 cltype30 = type_nullable_parser_nodes__AExternCodeBlock.color;
9482 idtype31 = type_nullable_parser_nodes__AExternCodeBlock.id;
9483 if(var_pexterncodeblocknode10 == NULL) {
9484 var29 = 1;
9485 } else {
9486 if(cltype30 >= var_pexterncodeblocknode10->type->table_size) {
9487 var29 = 0;
9488 } else {
9489 var29 = var_pexterncodeblocknode10->type->type_table[cltype30] == idtype31;
9490 }
9491 }
9492 if (!var29) {
9493 fprintf(stderr, "Runtime error: %s", "Assert failed");
9494 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14075);
9495 exit(1);
9496 }
9497 var_listnode11 = var_nodearraylist8;
9498 /* <var_listnode11:nullable Object> isa Array[Object] */
9499 cltype33 = type_array__Arraykernel__Object.color;
9500 idtype34 = type_array__Arraykernel__Object.id;
9501 if(var_listnode11 == NULL) {
9502 var32 = 0;
9503 } else {
9504 if(cltype33 >= var_listnode11->type->table_size) {
9505 var32 = 0;
9506 } else {
9507 var32 = var_listnode11->type->type_table[cltype33] == idtype34;
9508 }
9509 }
9510 if (!var32) {
9511 fprintf(stderr, "Runtime error: %s", "Assert failed");
9512 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14077);
9513 exit(1);
9514 }
9515 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction305>*/;
9516 var_listnode12 = var35;
9517 var_listnode13 = var_nodearraylist9;
9518 /* <var_listnode13:nullable Object> isa Array[Object] */
9519 cltype37 = type_array__Arraykernel__Object.color;
9520 idtype38 = type_array__Arraykernel__Object.id;
9521 if(var_listnode13 == NULL) {
9522 var36 = 0;
9523 } else {
9524 if(cltype37 >= var_listnode13->type->table_size) {
9525 var36 = 0;
9526 } else {
9527 var36 = var_listnode13->type->type_table[cltype37] == idtype38;
9528 }
9529 }
9530 if (!var36) {
9531 fprintf(stderr, "Runtime error: %s", "Assert failed");
9532 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14080);
9533 exit(1);
9534 }
9535 var39 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode14, var_listnode13) /* concat on <self:ReduceAction305>*/;
9536 var_listnode14 = var39;
9537 var_tkwendnode15 = var_nodearraylist11;
9538 /* <var_tkwendnode15:nullable Object> isa nullable TKwend */
9539 cltype41 = type_nullable_parser_nodes__TKwend.color;
9540 idtype42 = type_nullable_parser_nodes__TKwend.id;
9541 if(var_tkwendnode15 == NULL) {
9542 var40 = 1;
9543 } else {
9544 if(cltype41 >= var_tkwendnode15->type->table_size) {
9545 var40 = 0;
9546 } else {
9547 var40 = var_tkwendnode15->type->type_table[cltype41] == idtype42;
9548 }
9549 }
9550 if (!var40) {
9551 fprintf(stderr, "Runtime error: %s", "Assert failed");
9552 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14083);
9553 exit(1);
9554 }
9555 var43 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9556 var44 = NULL;
9557 var45 = NULL;
9558 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var43->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var43, var_pdocnode2, var44, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var45, var_pexterncodeblocknode10, var_listnode12, var_listnode14, var_tkwendnode15) /* init_astdclassdef on <var43:AStdClassdef>*/;
9559 CHECK_NEW_parser_nodes__AStdClassdef(var43);
9560 var_pclassdefnode1 = var43;
9561 var_node_list = var_pclassdefnode1;
9562 var46 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction305> */
9563 var47 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var46) /* go_to on <var_p:Parser>*/;
9564 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var47, var_node_list) /* push on <var_p:Parser>*/;
9565 RET_LABEL:;
9566 }
9567 /* method parser#ReduceAction305#action for (self: Object, Parser) */
9568 void VIRTUAL_parser__ReduceAction305__action(val* self, val* p0) {
9569 parser__ReduceAction305__action(self, p0);
9570 RET_LABEL:;
9571 }
9572 /* method parser#ReduceAction306#action for (self: ReduceAction306, Parser) */
9573 void parser__ReduceAction306__action(val* self, val* p0) {
9574 val* var_p /* var p: Parser */;
9575 val* var /* : null */;
9576 val* var_node_list /* var node_list: nullable Object */;
9577 val* var1 /* : nullable Object */;
9578 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
9579 val* var2 /* : nullable Object */;
9580 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
9581 val* var3 /* : nullable Object */;
9582 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
9583 val* var4 /* : nullable Object */;
9584 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9585 val* var5 /* : nullable Object */;
9586 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9587 val* var6 /* : nullable Object */;
9588 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9589 val* var7 /* : nullable Object */;
9590 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9591 val* var8 /* : nullable Object */;
9592 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9593 val* var9 /* : nullable Object */;
9594 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9595 val* var10 /* : nullable Object */;
9596 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9597 val* var11 /* : nullable Object */;
9598 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9599 val* var12 /* : nullable Object */;
9600 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9601 val* var13 /* : Array[Object] */;
9602 val* var_listnode8 /* var listnode8: Array[Object] */;
9603 val* var14 /* : Array[Object] */;
9604 val* var_listnode12 /* var listnode12: Array[Object] */;
9605 val* var15 /* : Array[Object] */;
9606 val* var_listnode14 /* var listnode14: Array[Object] */;
9607 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9608 short int var16 /* : Bool */;
9609 int cltype;
9610 int idtype;
9611 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
9612 short int var17 /* : Bool */;
9613 int cltype18;
9614 int idtype19;
9615 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9616 short int var20 /* : Bool */;
9617 int cltype21;
9618 int idtype22;
9619 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
9620 short int var23 /* : Bool */;
9621 int cltype24;
9622 int idtype25;
9623 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9624 short int var26 /* : Bool */;
9625 int cltype27;
9626 int idtype28;
9627 val* var_listnode7 /* var listnode7: nullable Object */;
9628 short int var29 /* : Bool */;
9629 int cltype30;
9630 int idtype31;
9631 val* var32 /* : Array[Object] */;
9632 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
9633 short int var33 /* : Bool */;
9634 int cltype34;
9635 int idtype35;
9636 val* var_listnode11 /* var listnode11: nullable Object */;
9637 short int var36 /* : Bool */;
9638 int cltype37;
9639 int idtype38;
9640 val* var39 /* : Array[Object] */;
9641 val* var_listnode13 /* var listnode13: nullable Object */;
9642 short int var40 /* : Bool */;
9643 int cltype41;
9644 int idtype42;
9645 val* var43 /* : Array[Object] */;
9646 val* var_tkwendnode15 /* var tkwendnode15: nullable Object */;
9647 short int var44 /* : Bool */;
9648 int cltype45;
9649 int idtype46;
9650 val* var47 /* : AStdClassdef */;
9651 val* var48 /* : null */;
9652 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
9653 long var49 /* : Int */;
9654 long var50 /* : Int */;
9655 var_p = p0;
9656 var = NULL;
9657 var_node_list = var;
9658 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9659 var_nodearraylist12 = var1;
9660 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9661 var_nodearraylist11 = var2;
9662 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9663 var_nodearraylist10 = var3;
9664 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9665 var_nodearraylist9 = var4;
9666 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9667 var_nodearraylist8 = var5;
9668 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9669 var_nodearraylist7 = var6;
9670 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9671 var_nodearraylist6 = var7;
9672 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9673 var_nodearraylist5 = var8;
9674 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9675 var_nodearraylist4 = var9;
9676 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9677 var_nodearraylist3 = var10;
9678 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9679 var_nodearraylist2 = var11;
9680 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9681 var_nodearraylist1 = var12;
9682 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
9683 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
9684 CHECK_NEW_array__Array(var13);
9685 var_listnode8 = var13;
9686 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
9687 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
9688 CHECK_NEW_array__Array(var14);
9689 var_listnode12 = var14;
9690 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
9691 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
9692 CHECK_NEW_array__Array(var15);
9693 var_listnode14 = var15;
9694 var_pdocnode2 = var_nodearraylist1;
9695 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9696 cltype = type_nullable_parser_nodes__ADoc.color;
9697 idtype = type_nullable_parser_nodes__ADoc.id;
9698 if(var_pdocnode2 == NULL) {
9699 var16 = 1;
9700 } else {
9701 if(cltype >= var_pdocnode2->type->table_size) {
9702 var16 = 0;
9703 } else {
9704 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
9705 }
9706 }
9707 if (!var16) {
9708 fprintf(stderr, "Runtime error: %s", "Assert failed");
9709 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14122);
9710 exit(1);
9711 }
9712 var_tkwredefnode3 = var_nodearraylist2;
9713 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
9714 cltype18 = type_nullable_parser_nodes__TKwredef.color;
9715 idtype19 = type_nullable_parser_nodes__TKwredef.id;
9716 if(var_tkwredefnode3 == NULL) {
9717 var17 = 1;
9718 } else {
9719 if(cltype18 >= var_tkwredefnode3->type->table_size) {
9720 var17 = 0;
9721 } else {
9722 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
9723 }
9724 }
9725 if (!var17) {
9726 fprintf(stderr, "Runtime error: %s", "Assert failed");
9727 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14124);
9728 exit(1);
9729 }
9730 var_pvisibilitynode4 = var_nodearraylist3;
9731 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9732 cltype21 = type_nullable_parser_nodes__AVisibility.color;
9733 idtype22 = type_nullable_parser_nodes__AVisibility.id;
9734 if(var_pvisibilitynode4 == NULL) {
9735 var20 = 1;
9736 } else {
9737 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
9738 var20 = 0;
9739 } else {
9740 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
9741 }
9742 }
9743 if (!var20) {
9744 fprintf(stderr, "Runtime error: %s", "Assert failed");
9745 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14126);
9746 exit(1);
9747 }
9748 var_pclasskindnode5 = var_nodearraylist4;
9749 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
9750 cltype24 = type_nullable_parser_nodes__AClasskind.color;
9751 idtype25 = type_nullable_parser_nodes__AClasskind.id;
9752 if(var_pclasskindnode5 == NULL) {
9753 var23 = 1;
9754 } else {
9755 if(cltype24 >= var_pclasskindnode5->type->table_size) {
9756 var23 = 0;
9757 } else {
9758 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
9759 }
9760 }
9761 if (!var23) {
9762 fprintf(stderr, "Runtime error: %s", "Assert failed");
9763 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14128);
9764 exit(1);
9765 }
9766 var_tclassidnode6 = var_nodearraylist6;
9767 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9768 cltype27 = type_nullable_parser_nodes__TClassid.color;
9769 idtype28 = type_nullable_parser_nodes__TClassid.id;
9770 if(var_tclassidnode6 == NULL) {
9771 var26 = 1;
9772 } else {
9773 if(cltype27 >= var_tclassidnode6->type->table_size) {
9774 var26 = 0;
9775 } else {
9776 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
9777 }
9778 }
9779 if (!var26) {
9780 fprintf(stderr, "Runtime error: %s", "Assert failed");
9781 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14130);
9782 exit(1);
9783 }
9784 var_listnode7 = var_nodearraylist7;
9785 /* <var_listnode7:nullable Object> isa Array[Object] */
9786 cltype30 = type_array__Arraykernel__Object.color;
9787 idtype31 = type_array__Arraykernel__Object.id;
9788 if(var_listnode7 == NULL) {
9789 var29 = 0;
9790 } else {
9791 if(cltype30 >= var_listnode7->type->table_size) {
9792 var29 = 0;
9793 } else {
9794 var29 = var_listnode7->type->type_table[cltype30] == idtype31;
9795 }
9796 }
9797 if (!var29) {
9798 fprintf(stderr, "Runtime error: %s", "Assert failed");
9799 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14132);
9800 exit(1);
9801 }
9802 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction306>*/;
9803 var_listnode8 = var32;
9804 var_pexterncodeblocknode10 = var_nodearraylist8;
9805 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
9806 cltype34 = type_nullable_parser_nodes__AExternCodeBlock.color;
9807 idtype35 = type_nullable_parser_nodes__AExternCodeBlock.id;
9808 if(var_pexterncodeblocknode10 == NULL) {
9809 var33 = 1;
9810 } else {
9811 if(cltype34 >= var_pexterncodeblocknode10->type->table_size) {
9812 var33 = 0;
9813 } else {
9814 var33 = var_pexterncodeblocknode10->type->type_table[cltype34] == idtype35;
9815 }
9816 }
9817 if (!var33) {
9818 fprintf(stderr, "Runtime error: %s", "Assert failed");
9819 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14135);
9820 exit(1);
9821 }
9822 var_listnode11 = var_nodearraylist9;
9823 /* <var_listnode11:nullable Object> isa Array[Object] */
9824 cltype37 = type_array__Arraykernel__Object.color;
9825 idtype38 = type_array__Arraykernel__Object.id;
9826 if(var_listnode11 == NULL) {
9827 var36 = 0;
9828 } else {
9829 if(cltype37 >= var_listnode11->type->table_size) {
9830 var36 = 0;
9831 } else {
9832 var36 = var_listnode11->type->type_table[cltype37] == idtype38;
9833 }
9834 }
9835 if (!var36) {
9836 fprintf(stderr, "Runtime error: %s", "Assert failed");
9837 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14137);
9838 exit(1);
9839 }
9840 var39 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction306>*/;
9841 var_listnode12 = var39;
9842 var_listnode13 = var_nodearraylist10;
9843 /* <var_listnode13:nullable Object> isa Array[Object] */
9844 cltype41 = type_array__Arraykernel__Object.color;
9845 idtype42 = type_array__Arraykernel__Object.id;
9846 if(var_listnode13 == NULL) {
9847 var40 = 0;
9848 } else {
9849 if(cltype41 >= var_listnode13->type->table_size) {
9850 var40 = 0;
9851 } else {
9852 var40 = var_listnode13->type->type_table[cltype41] == idtype42;
9853 }
9854 }
9855 if (!var40) {
9856 fprintf(stderr, "Runtime error: %s", "Assert failed");
9857 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14140);
9858 exit(1);
9859 }
9860 var43 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode14, var_listnode13) /* concat on <self:ReduceAction306>*/;
9861 var_listnode14 = var43;
9862 var_tkwendnode15 = var_nodearraylist12;
9863 /* <var_tkwendnode15:nullable Object> isa nullable TKwend */
9864 cltype45 = type_nullable_parser_nodes__TKwend.color;
9865 idtype46 = type_nullable_parser_nodes__TKwend.id;
9866 if(var_tkwendnode15 == NULL) {
9867 var44 = 1;
9868 } else {
9869 if(cltype45 >= var_tkwendnode15->type->table_size) {
9870 var44 = 0;
9871 } else {
9872 var44 = var_tkwendnode15->type->type_table[cltype45] == idtype46;
9873 }
9874 }
9875 if (!var44) {
9876 fprintf(stderr, "Runtime error: %s", "Assert failed");
9877 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 14143);
9878 exit(1);
9879 }
9880 var47 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9881 var48 = NULL;
9882 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var47->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var47, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var48, var_pexterncodeblocknode10, var_listnode12, var_listnode14, var_tkwendnode15) /* init_astdclassdef on <var47:AStdClassdef>*/;
9883 CHECK_NEW_parser_nodes__AStdClassdef(var47);
9884 var_pclassdefnode1 = var47;
9885 var_node_list = var_pclassdefnode1;
9886 var49 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction306> */
9887 var50 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var49) /* go_to on <var_p:Parser>*/;
9888 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var50, var_node_list) /* push on <var_p:Parser>*/;
9889 RET_LABEL:;
9890 }
9891 /* method parser#ReduceAction306#action for (self: Object, Parser) */
9892 void VIRTUAL_parser__ReduceAction306__action(val* self, val* p0) {
9893 parser__ReduceAction306__action(self, p0);
9894 RET_LABEL:;
9895 }