nitdoc: migrate github commentbox to jQuery.UI widget
[nit.git] / c_src / parser.sep.5.c
1 #include "parser.sep.0.h"
2 /* method parser#ReduceAction123#action for (self: ReduceAction123, Parser) */
3 void parser__ReduceAction123__action(val* self, val* p0) {
4 val* var_p /* var p: Parser */;
5 val* var /* : null */;
6 val* var_node_list /* var node_list: nullable Object */;
7 val* var1 /* : nullable Object */;
8 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
9 val* var2 /* : nullable Object */;
10 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
11 val* var3 /* : nullable Object */;
12 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
13 val* var4 /* : nullable Object */;
14 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
15 val* var5 /* : nullable Object */;
16 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
17 val* var6 /* : nullable Object */;
18 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
19 val* var7 /* : nullable Object */;
20 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
21 val* var8 /* : nullable Object */;
22 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
23 val* var9 /* : nullable Object */;
24 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
25 val* var10 /* : nullable Object */;
26 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
27 val* var11 /* : Array[Object] */;
28 val* var_listnode7 /* var listnode7: Array[Object] */;
29 val* var12 /* : Array[Object] */;
30 val* var_listnode15 /* var listnode15: Array[Object] */;
31 val* var13 /* : Array[Object] */;
32 val* var_listnode16 /* var listnode16: Array[Object] */;
33 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
34 short int var14 /* : Bool */;
35 int cltype;
36 int idtype;
37 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
38 short int var15 /* : Bool */;
39 int cltype16;
40 int idtype17;
41 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
42 short int var18 /* : Bool */;
43 int cltype19;
44 int idtype20;
45 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
46 short int var21 /* : Bool */;
47 int cltype22;
48 int idtype23;
49 val* var24 /* : Array[Object] */;
50 val* var_listnode12 /* var listnode12: Array[Object] */;
51 val* var_listnode11 /* var listnode11: nullable Object */;
52 short int var25 /* : Bool */;
53 int cltype26;
54 int idtype27;
55 val* var28 /* : Array[Object] */;
56 val* var29 /* : AAnnotations */;
57 val* var30 /* : null */;
58 val* var31 /* : null */;
59 val* var32 /* : null */;
60 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
61 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
62 short int var33 /* : Bool */;
63 int cltype34;
64 int idtype35;
65 val* var_tkwendnode17 /* var tkwendnode17: nullable Object */;
66 short int var36 /* : Bool */;
67 int cltype37;
68 int idtype38;
69 val* var39 /* : AStdClassdef */;
70 val* var40 /* : null */;
71 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
72 long var41 /* : Int */;
73 long var42 /* : Int */;
74 var_p = p0;
75 var = NULL;
76 var_node_list = var;
77 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
78 var_nodearraylist10 = var1;
79 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
80 var_nodearraylist9 = var2;
81 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
82 var_nodearraylist8 = var3;
83 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
84 var_nodearraylist7 = var4;
85 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
86 var_nodearraylist6 = var5;
87 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
88 var_nodearraylist5 = var6;
89 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
90 var_nodearraylist4 = var7;
91 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
92 var_nodearraylist3 = var8;
93 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
94 var_nodearraylist2 = var9;
95 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
96 var_nodearraylist1 = var10;
97 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
98 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
99 CHECK_NEW_array__Array(var11);
100 var_listnode7 = var11;
101 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
102 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
103 CHECK_NEW_array__Array(var12);
104 var_listnode15 = var12;
105 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
106 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
107 CHECK_NEW_array__Array(var13);
108 var_listnode16 = var13;
109 var_pdocnode2 = var_nodearraylist1;
110 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
111 cltype = type_nullable_parser_nodes__ADoc.color;
112 idtype = type_nullable_parser_nodes__ADoc.id;
113 if(var_pdocnode2 == NULL) {
114 var14 = 1;
115 } else {
116 if(cltype >= var_pdocnode2->type->table_size) {
117 var14 = 0;
118 } else {
119 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
120 }
121 }
122 if (!var14) {
123 fprintf(stderr, "Runtime error: %s", "Assert failed");
124 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6159);
125 exit(1);
126 }
127 var_pvisibilitynode4 = var_nodearraylist2;
128 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
129 cltype16 = type_nullable_parser_nodes__AVisibility.color;
130 idtype17 = type_nullable_parser_nodes__AVisibility.id;
131 if(var_pvisibilitynode4 == NULL) {
132 var15 = 1;
133 } else {
134 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
135 var15 = 0;
136 } else {
137 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
138 }
139 }
140 if (!var15) {
141 fprintf(stderr, "Runtime error: %s", "Assert failed");
142 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6161);
143 exit(1);
144 }
145 var_pclasskindnode5 = var_nodearraylist3;
146 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
147 cltype19 = type_nullable_parser_nodes__AClasskind.color;
148 idtype20 = type_nullable_parser_nodes__AClasskind.id;
149 if(var_pclasskindnode5 == NULL) {
150 var18 = 1;
151 } else {
152 if(cltype19 >= var_pclasskindnode5->type->table_size) {
153 var18 = 0;
154 } else {
155 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
156 }
157 }
158 if (!var18) {
159 fprintf(stderr, "Runtime error: %s", "Assert failed");
160 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6163);
161 exit(1);
162 }
163 var_tclassidnode6 = var_nodearraylist6;
164 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
165 cltype22 = type_nullable_parser_nodes__TClassid.color;
166 idtype23 = type_nullable_parser_nodes__TClassid.id;
167 if(var_tclassidnode6 == NULL) {
168 var21 = 1;
169 } else {
170 if(cltype22 >= var_tclassidnode6->type->table_size) {
171 var21 = 0;
172 } else {
173 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
174 }
175 }
176 if (!var21) {
177 fprintf(stderr, "Runtime error: %s", "Assert failed");
178 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6165);
179 exit(1);
180 }
181 var24 = NEW_array__Array(&type_array__Arraykernel__Object);
182 ((void (*)(val*))(var24->class->vft[COLOR_array__Array__init]))(var24) /* init on <var24:Array[Object]>*/;
183 CHECK_NEW_array__Array(var24);
184 var_listnode12 = var24;
185 var_listnode11 = var_nodearraylist7;
186 /* <var_listnode11:nullable Object> isa Array[Object] */
187 cltype26 = type_array__Arraykernel__Object.color;
188 idtype27 = type_array__Arraykernel__Object.id;
189 if(var_listnode11 == NULL) {
190 var25 = 0;
191 } else {
192 if(cltype26 >= var_listnode11->type->table_size) {
193 var25 = 0;
194 } else {
195 var25 = var_listnode11->type->type_table[cltype26] == idtype27;
196 }
197 }
198 if (!var25) {
199 fprintf(stderr, "Runtime error: %s", "Assert failed");
200 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6168);
201 exit(1);
202 }
203 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction123>*/;
204 var_listnode12 = var28;
205 var29 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
206 var30 = NULL;
207 var31 = NULL;
208 var32 = NULL;
209 ((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>*/;
210 CHECK_NEW_parser_nodes__AAnnotations(var29);
211 var_pannotationsnode8 = var29;
212 var_pexterncodeblocknode14 = var_nodearraylist8;
213 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
214 cltype34 = type_nullable_parser_nodes__AExternCodeBlock.color;
215 idtype35 = type_nullable_parser_nodes__AExternCodeBlock.id;
216 if(var_pexterncodeblocknode14 == NULL) {
217 var33 = 1;
218 } else {
219 if(cltype34 >= var_pexterncodeblocknode14->type->table_size) {
220 var33 = 0;
221 } else {
222 var33 = var_pexterncodeblocknode14->type->type_table[cltype34] == idtype35;
223 }
224 }
225 if (!var33) {
226 fprintf(stderr, "Runtime error: %s", "Assert failed");
227 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6177);
228 exit(1);
229 }
230 var_tkwendnode17 = var_nodearraylist10;
231 /* <var_tkwendnode17:nullable Object> isa nullable TKwend */
232 cltype37 = type_nullable_parser_nodes__TKwend.color;
233 idtype38 = type_nullable_parser_nodes__TKwend.id;
234 if(var_tkwendnode17 == NULL) {
235 var36 = 1;
236 } else {
237 if(cltype37 >= var_tkwendnode17->type->table_size) {
238 var36 = 0;
239 } else {
240 var36 = var_tkwendnode17->type->type_table[cltype37] == idtype38;
241 }
242 }
243 if (!var36) {
244 fprintf(stderr, "Runtime error: %s", "Assert failed");
245 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6179);
246 exit(1);
247 }
248 var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
249 var40 = NULL;
250 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var39->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var39, var_pdocnode2, var40, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on <var39:AStdClassdef>*/;
251 CHECK_NEW_parser_nodes__AStdClassdef(var39);
252 var_pclassdefnode1 = var39;
253 var_node_list = var_pclassdefnode1;
254 var41 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction123> */
255 var42 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var41) /* go_to on <var_p:Parser>*/;
256 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var42, var_node_list) /* push on <var_p:Parser>*/;
257 RET_LABEL:;
258 }
259 /* method parser#ReduceAction123#action for (self: Object, Parser) */
260 void VIRTUAL_parser__ReduceAction123__action(val* self, val* p0) {
261 parser__ReduceAction123__action(self, p0);
262 RET_LABEL:;
263 }
264 /* method parser#ReduceAction124#action for (self: ReduceAction124, Parser) */
265 void parser__ReduceAction124__action(val* self, val* p0) {
266 val* var_p /* var p: Parser */;
267 val* var /* : null */;
268 val* var_node_list /* var node_list: nullable Object */;
269 val* var1 /* : nullable Object */;
270 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
271 val* var2 /* : nullable Object */;
272 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
273 val* var3 /* : nullable Object */;
274 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
275 val* var4 /* : nullable Object */;
276 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
277 val* var5 /* : nullable Object */;
278 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
279 val* var6 /* : nullable Object */;
280 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
281 val* var7 /* : nullable Object */;
282 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
283 val* var8 /* : nullable Object */;
284 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
285 val* var9 /* : nullable Object */;
286 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
287 val* var10 /* : nullable Object */;
288 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
289 val* var11 /* : nullable Object */;
290 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
291 val* var12 /* : Array[Object] */;
292 val* var_listnode7 /* var listnode7: Array[Object] */;
293 val* var13 /* : Array[Object] */;
294 val* var_listnode15 /* var listnode15: Array[Object] */;
295 val* var14 /* : Array[Object] */;
296 val* var_listnode16 /* var listnode16: Array[Object] */;
297 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
298 short int var15 /* : Bool */;
299 int cltype;
300 int idtype;
301 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
302 short int var16 /* : Bool */;
303 int cltype17;
304 int idtype18;
305 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
306 short int var19 /* : Bool */;
307 int cltype20;
308 int idtype21;
309 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
310 short int var22 /* : Bool */;
311 int cltype23;
312 int idtype24;
313 val* var25 /* : Array[Object] */;
314 val* var_listnode12 /* var listnode12: Array[Object] */;
315 val* var_listnode11 /* var listnode11: nullable Object */;
316 short int var26 /* : Bool */;
317 int cltype27;
318 int idtype28;
319 val* var29 /* : Array[Object] */;
320 val* var30 /* : AAnnotations */;
321 val* var31 /* : null */;
322 val* var32 /* : null */;
323 val* var33 /* : null */;
324 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
325 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
326 short int var34 /* : Bool */;
327 int cltype35;
328 int idtype36;
329 val* var_tkwendnode17 /* var tkwendnode17: nullable Object */;
330 short int var37 /* : Bool */;
331 int cltype38;
332 int idtype39;
333 val* var40 /* : AStdClassdef */;
334 val* var41 /* : null */;
335 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
336 long var42 /* : Int */;
337 long var43 /* : Int */;
338 var_p = p0;
339 var = NULL;
340 var_node_list = var;
341 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
342 var_nodearraylist11 = var1;
343 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
344 var_nodearraylist10 = var2;
345 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
346 var_nodearraylist9 = var3;
347 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
348 var_nodearraylist8 = var4;
349 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
350 var_nodearraylist7 = var5;
351 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
352 var_nodearraylist6 = var6;
353 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
354 var_nodearraylist5 = var7;
355 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
356 var_nodearraylist4 = var8;
357 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
358 var_nodearraylist3 = var9;
359 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
360 var_nodearraylist2 = var10;
361 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
362 var_nodearraylist1 = var11;
363 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
364 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
365 CHECK_NEW_array__Array(var12);
366 var_listnode7 = var12;
367 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
368 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
369 CHECK_NEW_array__Array(var13);
370 var_listnode15 = var13;
371 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
372 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
373 CHECK_NEW_array__Array(var14);
374 var_listnode16 = var14;
375 var_pdocnode2 = var_nodearraylist1;
376 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
377 cltype = type_nullable_parser_nodes__ADoc.color;
378 idtype = type_nullable_parser_nodes__ADoc.id;
379 if(var_pdocnode2 == NULL) {
380 var15 = 1;
381 } else {
382 if(cltype >= var_pdocnode2->type->table_size) {
383 var15 = 0;
384 } else {
385 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
386 }
387 }
388 if (!var15) {
389 fprintf(stderr, "Runtime error: %s", "Assert failed");
390 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6217);
391 exit(1);
392 }
393 var_pvisibilitynode4 = var_nodearraylist2;
394 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
395 cltype17 = type_nullable_parser_nodes__AVisibility.color;
396 idtype18 = type_nullable_parser_nodes__AVisibility.id;
397 if(var_pvisibilitynode4 == NULL) {
398 var16 = 1;
399 } else {
400 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
401 var16 = 0;
402 } else {
403 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
404 }
405 }
406 if (!var16) {
407 fprintf(stderr, "Runtime error: %s", "Assert failed");
408 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6219);
409 exit(1);
410 }
411 var_pclasskindnode5 = var_nodearraylist3;
412 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
413 cltype20 = type_nullable_parser_nodes__AClasskind.color;
414 idtype21 = type_nullable_parser_nodes__AClasskind.id;
415 if(var_pclasskindnode5 == NULL) {
416 var19 = 1;
417 } else {
418 if(cltype20 >= var_pclasskindnode5->type->table_size) {
419 var19 = 0;
420 } else {
421 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
422 }
423 }
424 if (!var19) {
425 fprintf(stderr, "Runtime error: %s", "Assert failed");
426 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6221);
427 exit(1);
428 }
429 var_tclassidnode6 = var_nodearraylist7;
430 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
431 cltype23 = type_nullable_parser_nodes__TClassid.color;
432 idtype24 = type_nullable_parser_nodes__TClassid.id;
433 if(var_tclassidnode6 == NULL) {
434 var22 = 1;
435 } else {
436 if(cltype23 >= var_tclassidnode6->type->table_size) {
437 var22 = 0;
438 } else {
439 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
440 }
441 }
442 if (!var22) {
443 fprintf(stderr, "Runtime error: %s", "Assert failed");
444 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6223);
445 exit(1);
446 }
447 var25 = NEW_array__Array(&type_array__Arraykernel__Object);
448 ((void (*)(val*))(var25->class->vft[COLOR_array__Array__init]))(var25) /* init on <var25:Array[Object]>*/;
449 CHECK_NEW_array__Array(var25);
450 var_listnode12 = var25;
451 var_listnode11 = var_nodearraylist8;
452 /* <var_listnode11:nullable Object> isa Array[Object] */
453 cltype27 = type_array__Arraykernel__Object.color;
454 idtype28 = type_array__Arraykernel__Object.id;
455 if(var_listnode11 == NULL) {
456 var26 = 0;
457 } else {
458 if(cltype27 >= var_listnode11->type->table_size) {
459 var26 = 0;
460 } else {
461 var26 = var_listnode11->type->type_table[cltype27] == idtype28;
462 }
463 }
464 if (!var26) {
465 fprintf(stderr, "Runtime error: %s", "Assert failed");
466 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6226);
467 exit(1);
468 }
469 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction124>*/;
470 var_listnode12 = var29;
471 var30 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
472 var31 = NULL;
473 var32 = NULL;
474 var33 = NULL;
475 ((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>*/;
476 CHECK_NEW_parser_nodes__AAnnotations(var30);
477 var_pannotationsnode8 = var30;
478 var_pexterncodeblocknode14 = var_nodearraylist9;
479 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
480 cltype35 = type_nullable_parser_nodes__AExternCodeBlock.color;
481 idtype36 = type_nullable_parser_nodes__AExternCodeBlock.id;
482 if(var_pexterncodeblocknode14 == NULL) {
483 var34 = 1;
484 } else {
485 if(cltype35 >= var_pexterncodeblocknode14->type->table_size) {
486 var34 = 0;
487 } else {
488 var34 = var_pexterncodeblocknode14->type->type_table[cltype35] == idtype36;
489 }
490 }
491 if (!var34) {
492 fprintf(stderr, "Runtime error: %s", "Assert failed");
493 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6235);
494 exit(1);
495 }
496 var_tkwendnode17 = var_nodearraylist11;
497 /* <var_tkwendnode17:nullable Object> isa nullable TKwend */
498 cltype38 = type_nullable_parser_nodes__TKwend.color;
499 idtype39 = type_nullable_parser_nodes__TKwend.id;
500 if(var_tkwendnode17 == NULL) {
501 var37 = 1;
502 } else {
503 if(cltype38 >= var_tkwendnode17->type->table_size) {
504 var37 = 0;
505 } else {
506 var37 = var_tkwendnode17->type->type_table[cltype38] == idtype39;
507 }
508 }
509 if (!var37) {
510 fprintf(stderr, "Runtime error: %s", "Assert failed");
511 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6237);
512 exit(1);
513 }
514 var40 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
515 var41 = NULL;
516 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var40->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var40, var_pdocnode2, var41, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on <var40:AStdClassdef>*/;
517 CHECK_NEW_parser_nodes__AStdClassdef(var40);
518 var_pclassdefnode1 = var40;
519 var_node_list = var_pclassdefnode1;
520 var42 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction124> */
521 var43 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var42) /* go_to on <var_p:Parser>*/;
522 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var43, var_node_list) /* push on <var_p:Parser>*/;
523 RET_LABEL:;
524 }
525 /* method parser#ReduceAction124#action for (self: Object, Parser) */
526 void VIRTUAL_parser__ReduceAction124__action(val* self, val* p0) {
527 parser__ReduceAction124__action(self, p0);
528 RET_LABEL:;
529 }
530 /* method parser#ReduceAction126#action for (self: ReduceAction126, Parser) */
531 void parser__ReduceAction126__action(val* self, val* p0) {
532 val* var_p /* var p: Parser */;
533 val* var /* : null */;
534 val* var_node_list /* var node_list: nullable Object */;
535 val* var1 /* : nullable Object */;
536 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
537 val* var2 /* : nullable Object */;
538 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
539 val* var3 /* : nullable Object */;
540 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
541 val* var4 /* : nullable Object */;
542 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
543 val* var5 /* : nullable Object */;
544 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
545 val* var6 /* : nullable Object */;
546 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
547 val* var7 /* : nullable Object */;
548 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
549 val* var8 /* : nullable Object */;
550 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
551 val* var9 /* : nullable Object */;
552 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
553 val* var10 /* : nullable Object */;
554 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
555 val* var11 /* : nullable Object */;
556 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
557 val* var12 /* : Array[Object] */;
558 val* var_listnode7 /* var listnode7: Array[Object] */;
559 val* var13 /* : Array[Object] */;
560 val* var_listnode15 /* var listnode15: Array[Object] */;
561 val* var14 /* : Array[Object] */;
562 val* var_listnode16 /* var listnode16: Array[Object] */;
563 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
564 short int var15 /* : Bool */;
565 int cltype;
566 int idtype;
567 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
568 short int var16 /* : Bool */;
569 int cltype17;
570 int idtype18;
571 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
572 short int var19 /* : Bool */;
573 int cltype20;
574 int idtype21;
575 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
576 short int var22 /* : Bool */;
577 int cltype23;
578 int idtype24;
579 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
580 short int var25 /* : Bool */;
581 int cltype26;
582 int idtype27;
583 val* var28 /* : Array[Object] */;
584 val* var_listnode12 /* var listnode12: Array[Object] */;
585 val* var_listnode11 /* var listnode11: nullable Object */;
586 short int var29 /* : Bool */;
587 int cltype30;
588 int idtype31;
589 val* var32 /* : Array[Object] */;
590 val* var33 /* : AAnnotations */;
591 val* var34 /* : null */;
592 val* var35 /* : null */;
593 val* var36 /* : null */;
594 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
595 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
596 short int var37 /* : Bool */;
597 int cltype38;
598 int idtype39;
599 val* var_tkwendnode17 /* var tkwendnode17: nullable Object */;
600 short int var40 /* : Bool */;
601 int cltype41;
602 int idtype42;
603 val* var43 /* : AStdClassdef */;
604 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
605 long var44 /* : Int */;
606 long var45 /* : Int */;
607 var_p = p0;
608 var = NULL;
609 var_node_list = var;
610 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
611 var_nodearraylist11 = var1;
612 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
613 var_nodearraylist10 = var2;
614 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
615 var_nodearraylist9 = var3;
616 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
617 var_nodearraylist8 = var4;
618 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
619 var_nodearraylist7 = var5;
620 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
621 var_nodearraylist6 = var6;
622 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
623 var_nodearraylist5 = var7;
624 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
625 var_nodearraylist4 = var8;
626 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
627 var_nodearraylist3 = var9;
628 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
629 var_nodearraylist2 = var10;
630 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
631 var_nodearraylist1 = var11;
632 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
633 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
634 CHECK_NEW_array__Array(var12);
635 var_listnode7 = var12;
636 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
637 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
638 CHECK_NEW_array__Array(var13);
639 var_listnode15 = var13;
640 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
641 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
642 CHECK_NEW_array__Array(var14);
643 var_listnode16 = var14;
644 var_pdocnode2 = var_nodearraylist1;
645 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
646 cltype = type_nullable_parser_nodes__ADoc.color;
647 idtype = type_nullable_parser_nodes__ADoc.id;
648 if(var_pdocnode2 == NULL) {
649 var15 = 1;
650 } else {
651 if(cltype >= var_pdocnode2->type->table_size) {
652 var15 = 0;
653 } else {
654 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
655 }
656 }
657 if (!var15) {
658 fprintf(stderr, "Runtime error: %s", "Assert failed");
659 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6275);
660 exit(1);
661 }
662 var_tkwredefnode3 = var_nodearraylist2;
663 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
664 cltype17 = type_nullable_parser_nodes__TKwredef.color;
665 idtype18 = type_nullable_parser_nodes__TKwredef.id;
666 if(var_tkwredefnode3 == NULL) {
667 var16 = 1;
668 } else {
669 if(cltype17 >= var_tkwredefnode3->type->table_size) {
670 var16 = 0;
671 } else {
672 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
673 }
674 }
675 if (!var16) {
676 fprintf(stderr, "Runtime error: %s", "Assert failed");
677 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6277);
678 exit(1);
679 }
680 var_pvisibilitynode4 = var_nodearraylist3;
681 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
682 cltype20 = type_nullable_parser_nodes__AVisibility.color;
683 idtype21 = type_nullable_parser_nodes__AVisibility.id;
684 if(var_pvisibilitynode4 == NULL) {
685 var19 = 1;
686 } else {
687 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
688 var19 = 0;
689 } else {
690 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
691 }
692 }
693 if (!var19) {
694 fprintf(stderr, "Runtime error: %s", "Assert failed");
695 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6279);
696 exit(1);
697 }
698 var_pclasskindnode5 = var_nodearraylist4;
699 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
700 cltype23 = type_nullable_parser_nodes__AClasskind.color;
701 idtype24 = type_nullable_parser_nodes__AClasskind.id;
702 if(var_pclasskindnode5 == NULL) {
703 var22 = 1;
704 } else {
705 if(cltype23 >= var_pclasskindnode5->type->table_size) {
706 var22 = 0;
707 } else {
708 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
709 }
710 }
711 if (!var22) {
712 fprintf(stderr, "Runtime error: %s", "Assert failed");
713 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6281);
714 exit(1);
715 }
716 var_tclassidnode6 = var_nodearraylist7;
717 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
718 cltype26 = type_nullable_parser_nodes__TClassid.color;
719 idtype27 = type_nullable_parser_nodes__TClassid.id;
720 if(var_tclassidnode6 == NULL) {
721 var25 = 1;
722 } else {
723 if(cltype26 >= var_tclassidnode6->type->table_size) {
724 var25 = 0;
725 } else {
726 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
727 }
728 }
729 if (!var25) {
730 fprintf(stderr, "Runtime error: %s", "Assert failed");
731 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6283);
732 exit(1);
733 }
734 var28 = NEW_array__Array(&type_array__Arraykernel__Object);
735 ((void (*)(val*))(var28->class->vft[COLOR_array__Array__init]))(var28) /* init on <var28:Array[Object]>*/;
736 CHECK_NEW_array__Array(var28);
737 var_listnode12 = var28;
738 var_listnode11 = var_nodearraylist8;
739 /* <var_listnode11:nullable Object> isa Array[Object] */
740 cltype30 = type_array__Arraykernel__Object.color;
741 idtype31 = type_array__Arraykernel__Object.id;
742 if(var_listnode11 == NULL) {
743 var29 = 0;
744 } else {
745 if(cltype30 >= var_listnode11->type->table_size) {
746 var29 = 0;
747 } else {
748 var29 = var_listnode11->type->type_table[cltype30] == idtype31;
749 }
750 }
751 if (!var29) {
752 fprintf(stderr, "Runtime error: %s", "Assert failed");
753 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6286);
754 exit(1);
755 }
756 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction126>*/;
757 var_listnode12 = var32;
758 var33 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
759 var34 = NULL;
760 var35 = NULL;
761 var36 = NULL;
762 ((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>*/;
763 CHECK_NEW_parser_nodes__AAnnotations(var33);
764 var_pannotationsnode8 = var33;
765 var_pexterncodeblocknode14 = var_nodearraylist9;
766 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
767 cltype38 = type_nullable_parser_nodes__AExternCodeBlock.color;
768 idtype39 = type_nullable_parser_nodes__AExternCodeBlock.id;
769 if(var_pexterncodeblocknode14 == NULL) {
770 var37 = 1;
771 } else {
772 if(cltype38 >= var_pexterncodeblocknode14->type->table_size) {
773 var37 = 0;
774 } else {
775 var37 = var_pexterncodeblocknode14->type->type_table[cltype38] == idtype39;
776 }
777 }
778 if (!var37) {
779 fprintf(stderr, "Runtime error: %s", "Assert failed");
780 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6295);
781 exit(1);
782 }
783 var_tkwendnode17 = var_nodearraylist11;
784 /* <var_tkwendnode17:nullable Object> isa nullable TKwend */
785 cltype41 = type_nullable_parser_nodes__TKwend.color;
786 idtype42 = type_nullable_parser_nodes__TKwend.id;
787 if(var_tkwendnode17 == NULL) {
788 var40 = 1;
789 } else {
790 if(cltype41 >= var_tkwendnode17->type->table_size) {
791 var40 = 0;
792 } else {
793 var40 = var_tkwendnode17->type->type_table[cltype41] == idtype42;
794 }
795 }
796 if (!var40) {
797 fprintf(stderr, "Runtime error: %s", "Assert failed");
798 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6297);
799 exit(1);
800 }
801 var43 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
802 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var43->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var43, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on <var43:AStdClassdef>*/;
803 CHECK_NEW_parser_nodes__AStdClassdef(var43);
804 var_pclassdefnode1 = var43;
805 var_node_list = var_pclassdefnode1;
806 var44 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction126> */
807 var45 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var44) /* go_to on <var_p:Parser>*/;
808 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var45, var_node_list) /* push on <var_p:Parser>*/;
809 RET_LABEL:;
810 }
811 /* method parser#ReduceAction126#action for (self: Object, Parser) */
812 void VIRTUAL_parser__ReduceAction126__action(val* self, val* p0) {
813 parser__ReduceAction126__action(self, p0);
814 RET_LABEL:;
815 }
816 /* method parser#ReduceAction127#action for (self: ReduceAction127, Parser) */
817 void parser__ReduceAction127__action(val* self, val* p0) {
818 val* var_p /* var p: Parser */;
819 val* var /* : null */;
820 val* var_node_list /* var node_list: nullable Object */;
821 val* var1 /* : nullable Object */;
822 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
823 val* var2 /* : nullable Object */;
824 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
825 val* var3 /* : nullable Object */;
826 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
827 val* var4 /* : nullable Object */;
828 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
829 val* var5 /* : nullable Object */;
830 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
831 val* var6 /* : nullable Object */;
832 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
833 val* var7 /* : nullable Object */;
834 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
835 val* var8 /* : nullable Object */;
836 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
837 val* var9 /* : nullable Object */;
838 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
839 val* var10 /* : nullable Object */;
840 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
841 val* var11 /* : nullable Object */;
842 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
843 val* var12 /* : nullable Object */;
844 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
845 val* var13 /* : Array[Object] */;
846 val* var_listnode7 /* var listnode7: Array[Object] */;
847 val* var14 /* : Array[Object] */;
848 val* var_listnode15 /* var listnode15: Array[Object] */;
849 val* var15 /* : Array[Object] */;
850 val* var_listnode16 /* var listnode16: Array[Object] */;
851 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
852 short int var16 /* : Bool */;
853 int cltype;
854 int idtype;
855 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
856 short int var17 /* : Bool */;
857 int cltype18;
858 int idtype19;
859 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
860 short int var20 /* : Bool */;
861 int cltype21;
862 int idtype22;
863 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
864 short int var23 /* : Bool */;
865 int cltype24;
866 int idtype25;
867 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
868 short int var26 /* : Bool */;
869 int cltype27;
870 int idtype28;
871 val* var29 /* : Array[Object] */;
872 val* var_listnode12 /* var listnode12: Array[Object] */;
873 val* var_listnode11 /* var listnode11: nullable Object */;
874 short int var30 /* : Bool */;
875 int cltype31;
876 int idtype32;
877 val* var33 /* : Array[Object] */;
878 val* var34 /* : AAnnotations */;
879 val* var35 /* : null */;
880 val* var36 /* : null */;
881 val* var37 /* : null */;
882 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
883 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
884 short int var38 /* : Bool */;
885 int cltype39;
886 int idtype40;
887 val* var_tkwendnode17 /* var tkwendnode17: nullable Object */;
888 short int var41 /* : Bool */;
889 int cltype42;
890 int idtype43;
891 val* var44 /* : AStdClassdef */;
892 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
893 long var45 /* : Int */;
894 long var46 /* : Int */;
895 var_p = p0;
896 var = NULL;
897 var_node_list = var;
898 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
899 var_nodearraylist12 = var1;
900 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
901 var_nodearraylist11 = var2;
902 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
903 var_nodearraylist10 = var3;
904 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
905 var_nodearraylist9 = var4;
906 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
907 var_nodearraylist8 = var5;
908 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
909 var_nodearraylist7 = var6;
910 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
911 var_nodearraylist6 = var7;
912 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
913 var_nodearraylist5 = var8;
914 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
915 var_nodearraylist4 = var9;
916 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
917 var_nodearraylist3 = var10;
918 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
919 var_nodearraylist2 = var11;
920 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
921 var_nodearraylist1 = var12;
922 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
923 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
924 CHECK_NEW_array__Array(var13);
925 var_listnode7 = var13;
926 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
927 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
928 CHECK_NEW_array__Array(var14);
929 var_listnode15 = var14;
930 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
931 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
932 CHECK_NEW_array__Array(var15);
933 var_listnode16 = var15;
934 var_pdocnode2 = var_nodearraylist1;
935 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
936 cltype = type_nullable_parser_nodes__ADoc.color;
937 idtype = type_nullable_parser_nodes__ADoc.id;
938 if(var_pdocnode2 == NULL) {
939 var16 = 1;
940 } else {
941 if(cltype >= var_pdocnode2->type->table_size) {
942 var16 = 0;
943 } else {
944 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
945 }
946 }
947 if (!var16) {
948 fprintf(stderr, "Runtime error: %s", "Assert failed");
949 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6336);
950 exit(1);
951 }
952 var_tkwredefnode3 = var_nodearraylist2;
953 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
954 cltype18 = type_nullable_parser_nodes__TKwredef.color;
955 idtype19 = type_nullable_parser_nodes__TKwredef.id;
956 if(var_tkwredefnode3 == NULL) {
957 var17 = 1;
958 } else {
959 if(cltype18 >= var_tkwredefnode3->type->table_size) {
960 var17 = 0;
961 } else {
962 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
963 }
964 }
965 if (!var17) {
966 fprintf(stderr, "Runtime error: %s", "Assert failed");
967 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6338);
968 exit(1);
969 }
970 var_pvisibilitynode4 = var_nodearraylist3;
971 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
972 cltype21 = type_nullable_parser_nodes__AVisibility.color;
973 idtype22 = type_nullable_parser_nodes__AVisibility.id;
974 if(var_pvisibilitynode4 == NULL) {
975 var20 = 1;
976 } else {
977 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
978 var20 = 0;
979 } else {
980 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
981 }
982 }
983 if (!var20) {
984 fprintf(stderr, "Runtime error: %s", "Assert failed");
985 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6340);
986 exit(1);
987 }
988 var_pclasskindnode5 = var_nodearraylist4;
989 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
990 cltype24 = type_nullable_parser_nodes__AClasskind.color;
991 idtype25 = type_nullable_parser_nodes__AClasskind.id;
992 if(var_pclasskindnode5 == NULL) {
993 var23 = 1;
994 } else {
995 if(cltype24 >= var_pclasskindnode5->type->table_size) {
996 var23 = 0;
997 } else {
998 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
999 }
1000 }
1001 if (!var23) {
1002 fprintf(stderr, "Runtime error: %s", "Assert failed");
1003 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6342);
1004 exit(1);
1005 }
1006 var_tclassidnode6 = var_nodearraylist8;
1007 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1008 cltype27 = type_nullable_parser_nodes__TClassid.color;
1009 idtype28 = type_nullable_parser_nodes__TClassid.id;
1010 if(var_tclassidnode6 == NULL) {
1011 var26 = 1;
1012 } else {
1013 if(cltype27 >= var_tclassidnode6->type->table_size) {
1014 var26 = 0;
1015 } else {
1016 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
1017 }
1018 }
1019 if (!var26) {
1020 fprintf(stderr, "Runtime error: %s", "Assert failed");
1021 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6344);
1022 exit(1);
1023 }
1024 var29 = NEW_array__Array(&type_array__Arraykernel__Object);
1025 ((void (*)(val*))(var29->class->vft[COLOR_array__Array__init]))(var29) /* init on <var29:Array[Object]>*/;
1026 CHECK_NEW_array__Array(var29);
1027 var_listnode12 = var29;
1028 var_listnode11 = var_nodearraylist9;
1029 /* <var_listnode11:nullable Object> isa Array[Object] */
1030 cltype31 = type_array__Arraykernel__Object.color;
1031 idtype32 = type_array__Arraykernel__Object.id;
1032 if(var_listnode11 == NULL) {
1033 var30 = 0;
1034 } else {
1035 if(cltype31 >= var_listnode11->type->table_size) {
1036 var30 = 0;
1037 } else {
1038 var30 = var_listnode11->type->type_table[cltype31] == idtype32;
1039 }
1040 }
1041 if (!var30) {
1042 fprintf(stderr, "Runtime error: %s", "Assert failed");
1043 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6347);
1044 exit(1);
1045 }
1046 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction127>*/;
1047 var_listnode12 = var33;
1048 var34 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
1049 var35 = NULL;
1050 var36 = NULL;
1051 var37 = NULL;
1052 ((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>*/;
1053 CHECK_NEW_parser_nodes__AAnnotations(var34);
1054 var_pannotationsnode8 = var34;
1055 var_pexterncodeblocknode14 = var_nodearraylist10;
1056 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
1057 cltype39 = type_nullable_parser_nodes__AExternCodeBlock.color;
1058 idtype40 = type_nullable_parser_nodes__AExternCodeBlock.id;
1059 if(var_pexterncodeblocknode14 == NULL) {
1060 var38 = 1;
1061 } else {
1062 if(cltype39 >= var_pexterncodeblocknode14->type->table_size) {
1063 var38 = 0;
1064 } else {
1065 var38 = var_pexterncodeblocknode14->type->type_table[cltype39] == idtype40;
1066 }
1067 }
1068 if (!var38) {
1069 fprintf(stderr, "Runtime error: %s", "Assert failed");
1070 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6356);
1071 exit(1);
1072 }
1073 var_tkwendnode17 = var_nodearraylist12;
1074 /* <var_tkwendnode17:nullable Object> isa nullable TKwend */
1075 cltype42 = type_nullable_parser_nodes__TKwend.color;
1076 idtype43 = type_nullable_parser_nodes__TKwend.id;
1077 if(var_tkwendnode17 == NULL) {
1078 var41 = 1;
1079 } else {
1080 if(cltype42 >= var_tkwendnode17->type->table_size) {
1081 var41 = 0;
1082 } else {
1083 var41 = var_tkwendnode17->type->type_table[cltype42] == idtype43;
1084 }
1085 }
1086 if (!var41) {
1087 fprintf(stderr, "Runtime error: %s", "Assert failed");
1088 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6358);
1089 exit(1);
1090 }
1091 var44 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1092 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var44->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var44, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on <var44:AStdClassdef>*/;
1093 CHECK_NEW_parser_nodes__AStdClassdef(var44);
1094 var_pclassdefnode1 = var44;
1095 var_node_list = var_pclassdefnode1;
1096 var45 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction127> */
1097 var46 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var45) /* go_to on <var_p:Parser>*/;
1098 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var46, var_node_list) /* push on <var_p:Parser>*/;
1099 RET_LABEL:;
1100 }
1101 /* method parser#ReduceAction127#action for (self: Object, Parser) */
1102 void VIRTUAL_parser__ReduceAction127__action(val* self, val* p0) {
1103 parser__ReduceAction127__action(self, p0);
1104 RET_LABEL:;
1105 }
1106 /* method parser#ReduceAction129#action for (self: ReduceAction129, Parser) */
1107 void parser__ReduceAction129__action(val* self, val* p0) {
1108 val* var_p /* var p: Parser */;
1109 val* var /* : null */;
1110 val* var_node_list /* var node_list: nullable Object */;
1111 val* var1 /* : nullable Object */;
1112 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1113 val* var2 /* : nullable Object */;
1114 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1115 val* var3 /* : nullable Object */;
1116 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1117 val* var4 /* : nullable Object */;
1118 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1119 val* var5 /* : nullable Object */;
1120 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1121 val* var6 /* : nullable Object */;
1122 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1123 val* var7 /* : nullable Object */;
1124 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1125 val* var8 /* : nullable Object */;
1126 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1127 val* var9 /* : nullable Object */;
1128 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1129 val* var10 /* : nullable Object */;
1130 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1131 val* var11 /* : Array[Object] */;
1132 val* var_listnode8 /* var listnode8: Array[Object] */;
1133 val* var12 /* : Array[Object] */;
1134 val* var_listnode16 /* var listnode16: Array[Object] */;
1135 val* var13 /* : Array[Object] */;
1136 val* var_listnode17 /* var listnode17: Array[Object] */;
1137 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1138 short int var14 /* : Bool */;
1139 int cltype;
1140 int idtype;
1141 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1142 short int var15 /* : Bool */;
1143 int cltype16;
1144 int idtype17;
1145 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1146 short int var18 /* : Bool */;
1147 int cltype19;
1148 int idtype20;
1149 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1150 short int var21 /* : Bool */;
1151 int cltype22;
1152 int idtype23;
1153 val* var_listnode7 /* var listnode7: nullable Object */;
1154 short int var24 /* : Bool */;
1155 int cltype25;
1156 int idtype26;
1157 val* var27 /* : Array[Object] */;
1158 val* var28 /* : Array[Object] */;
1159 val* var_listnode13 /* var listnode13: Array[Object] */;
1160 val* var_listnode12 /* var listnode12: nullable Object */;
1161 short int var29 /* : Bool */;
1162 int cltype30;
1163 int idtype31;
1164 val* var32 /* : Array[Object] */;
1165 val* var33 /* : AAnnotations */;
1166 val* var34 /* : null */;
1167 val* var35 /* : null */;
1168 val* var36 /* : null */;
1169 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
1170 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
1171 short int var37 /* : Bool */;
1172 int cltype38;
1173 int idtype39;
1174 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
1175 short int var40 /* : Bool */;
1176 int cltype41;
1177 int idtype42;
1178 val* var43 /* : AStdClassdef */;
1179 val* var44 /* : null */;
1180 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1181 long var45 /* : Int */;
1182 long var46 /* : Int */;
1183 var_p = p0;
1184 var = NULL;
1185 var_node_list = var;
1186 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1187 var_nodearraylist10 = var1;
1188 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1189 var_nodearraylist9 = var2;
1190 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1191 var_nodearraylist8 = var3;
1192 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1193 var_nodearraylist7 = var4;
1194 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1195 var_nodearraylist6 = var5;
1196 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1197 var_nodearraylist5 = var6;
1198 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1199 var_nodearraylist4 = var7;
1200 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1201 var_nodearraylist3 = var8;
1202 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1203 var_nodearraylist2 = var9;
1204 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1205 var_nodearraylist1 = var10;
1206 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
1207 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
1208 CHECK_NEW_array__Array(var11);
1209 var_listnode8 = var11;
1210 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
1211 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
1212 CHECK_NEW_array__Array(var12);
1213 var_listnode16 = var12;
1214 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
1215 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
1216 CHECK_NEW_array__Array(var13);
1217 var_listnode17 = var13;
1218 var_pdocnode2 = var_nodearraylist1;
1219 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1220 cltype = type_nullable_parser_nodes__ADoc.color;
1221 idtype = type_nullable_parser_nodes__ADoc.id;
1222 if(var_pdocnode2 == NULL) {
1223 var14 = 1;
1224 } else {
1225 if(cltype >= var_pdocnode2->type->table_size) {
1226 var14 = 0;
1227 } else {
1228 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
1229 }
1230 }
1231 if (!var14) {
1232 fprintf(stderr, "Runtime error: %s", "Assert failed");
1233 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6395);
1234 exit(1);
1235 }
1236 var_pvisibilitynode4 = var_nodearraylist2;
1237 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1238 cltype16 = type_nullable_parser_nodes__AVisibility.color;
1239 idtype17 = type_nullable_parser_nodes__AVisibility.id;
1240 if(var_pvisibilitynode4 == NULL) {
1241 var15 = 1;
1242 } else {
1243 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
1244 var15 = 0;
1245 } else {
1246 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
1247 }
1248 }
1249 if (!var15) {
1250 fprintf(stderr, "Runtime error: %s", "Assert failed");
1251 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6397);
1252 exit(1);
1253 }
1254 var_pclasskindnode5 = var_nodearraylist3;
1255 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1256 cltype19 = type_nullable_parser_nodes__AClasskind.color;
1257 idtype20 = type_nullable_parser_nodes__AClasskind.id;
1258 if(var_pclasskindnode5 == NULL) {
1259 var18 = 1;
1260 } else {
1261 if(cltype19 >= var_pclasskindnode5->type->table_size) {
1262 var18 = 0;
1263 } else {
1264 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
1265 }
1266 }
1267 if (!var18) {
1268 fprintf(stderr, "Runtime error: %s", "Assert failed");
1269 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6399);
1270 exit(1);
1271 }
1272 var_tclassidnode6 = var_nodearraylist5;
1273 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1274 cltype22 = type_nullable_parser_nodes__TClassid.color;
1275 idtype23 = type_nullable_parser_nodes__TClassid.id;
1276 if(var_tclassidnode6 == NULL) {
1277 var21 = 1;
1278 } else {
1279 if(cltype22 >= var_tclassidnode6->type->table_size) {
1280 var21 = 0;
1281 } else {
1282 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
1283 }
1284 }
1285 if (!var21) {
1286 fprintf(stderr, "Runtime error: %s", "Assert failed");
1287 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6401);
1288 exit(1);
1289 }
1290 var_listnode7 = var_nodearraylist6;
1291 /* <var_listnode7:nullable Object> isa Array[Object] */
1292 cltype25 = type_array__Arraykernel__Object.color;
1293 idtype26 = type_array__Arraykernel__Object.id;
1294 if(var_listnode7 == NULL) {
1295 var24 = 0;
1296 } else {
1297 if(cltype25 >= var_listnode7->type->table_size) {
1298 var24 = 0;
1299 } else {
1300 var24 = var_listnode7->type->type_table[cltype25] == idtype26;
1301 }
1302 }
1303 if (!var24) {
1304 fprintf(stderr, "Runtime error: %s", "Assert failed");
1305 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6403);
1306 exit(1);
1307 }
1308 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction129>*/;
1309 var_listnode8 = var27;
1310 var28 = NEW_array__Array(&type_array__Arraykernel__Object);
1311 ((void (*)(val*))(var28->class->vft[COLOR_array__Array__init]))(var28) /* init on <var28:Array[Object]>*/;
1312 CHECK_NEW_array__Array(var28);
1313 var_listnode13 = var28;
1314 var_listnode12 = var_nodearraylist7;
1315 /* <var_listnode12:nullable Object> isa Array[Object] */
1316 cltype30 = type_array__Arraykernel__Object.color;
1317 idtype31 = type_array__Arraykernel__Object.id;
1318 if(var_listnode12 == NULL) {
1319 var29 = 0;
1320 } else {
1321 if(cltype30 >= var_listnode12->type->table_size) {
1322 var29 = 0;
1323 } else {
1324 var29 = var_listnode12->type->type_table[cltype30] == idtype31;
1325 }
1326 }
1327 if (!var29) {
1328 fprintf(stderr, "Runtime error: %s", "Assert failed");
1329 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6407);
1330 exit(1);
1331 }
1332 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction129>*/;
1333 var_listnode13 = var32;
1334 var33 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
1335 var34 = NULL;
1336 var35 = NULL;
1337 var36 = NULL;
1338 ((void (*)(val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var33, var34, var35, var_listnode13, var36) /* init_aannotations on <var33:AAnnotations>*/;
1339 CHECK_NEW_parser_nodes__AAnnotations(var33);
1340 var_pannotationsnode9 = var33;
1341 var_pexterncodeblocknode15 = var_nodearraylist8;
1342 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
1343 cltype38 = type_nullable_parser_nodes__AExternCodeBlock.color;
1344 idtype39 = type_nullable_parser_nodes__AExternCodeBlock.id;
1345 if(var_pexterncodeblocknode15 == NULL) {
1346 var37 = 1;
1347 } else {
1348 if(cltype38 >= var_pexterncodeblocknode15->type->table_size) {
1349 var37 = 0;
1350 } else {
1351 var37 = var_pexterncodeblocknode15->type->type_table[cltype38] == idtype39;
1352 }
1353 }
1354 if (!var37) {
1355 fprintf(stderr, "Runtime error: %s", "Assert failed");
1356 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6416);
1357 exit(1);
1358 }
1359 var_tkwendnode18 = var_nodearraylist10;
1360 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
1361 cltype41 = type_nullable_parser_nodes__TKwend.color;
1362 idtype42 = type_nullable_parser_nodes__TKwend.id;
1363 if(var_tkwendnode18 == NULL) {
1364 var40 = 1;
1365 } else {
1366 if(cltype41 >= var_tkwendnode18->type->table_size) {
1367 var40 = 0;
1368 } else {
1369 var40 = var_tkwendnode18->type->type_table[cltype41] == idtype42;
1370 }
1371 }
1372 if (!var40) {
1373 fprintf(stderr, "Runtime error: %s", "Assert failed");
1374 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6418);
1375 exit(1);
1376 }
1377 var43 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1378 var44 = NULL;
1379 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var43->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var43, var_pdocnode2, var44, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var43:AStdClassdef>*/;
1380 CHECK_NEW_parser_nodes__AStdClassdef(var43);
1381 var_pclassdefnode1 = var43;
1382 var_node_list = var_pclassdefnode1;
1383 var45 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction129> */
1384 var46 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var45) /* go_to on <var_p:Parser>*/;
1385 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var46, var_node_list) /* push on <var_p:Parser>*/;
1386 RET_LABEL:;
1387 }
1388 /* method parser#ReduceAction129#action for (self: Object, Parser) */
1389 void VIRTUAL_parser__ReduceAction129__action(val* self, val* p0) {
1390 parser__ReduceAction129__action(self, p0);
1391 RET_LABEL:;
1392 }
1393 /* method parser#ReduceAction130#action for (self: ReduceAction130, Parser) */
1394 void parser__ReduceAction130__action(val* self, val* p0) {
1395 val* var_p /* var p: Parser */;
1396 val* var /* : null */;
1397 val* var_node_list /* var node_list: nullable Object */;
1398 val* var1 /* : nullable Object */;
1399 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
1400 val* var2 /* : nullable Object */;
1401 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1402 val* var3 /* : nullable Object */;
1403 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1404 val* var4 /* : nullable Object */;
1405 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1406 val* var5 /* : nullable Object */;
1407 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1408 val* var6 /* : nullable Object */;
1409 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1410 val* var7 /* : nullable Object */;
1411 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1412 val* var8 /* : nullable Object */;
1413 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1414 val* var9 /* : nullable Object */;
1415 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1416 val* var10 /* : nullable Object */;
1417 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1418 val* var11 /* : nullable Object */;
1419 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1420 val* var12 /* : Array[Object] */;
1421 val* var_listnode8 /* var listnode8: Array[Object] */;
1422 val* var13 /* : Array[Object] */;
1423 val* var_listnode16 /* var listnode16: Array[Object] */;
1424 val* var14 /* : Array[Object] */;
1425 val* var_listnode17 /* var listnode17: Array[Object] */;
1426 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1427 short int var15 /* : Bool */;
1428 int cltype;
1429 int idtype;
1430 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
1431 short int var16 /* : Bool */;
1432 int cltype17;
1433 int idtype18;
1434 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1435 short int var19 /* : Bool */;
1436 int cltype20;
1437 int idtype21;
1438 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1439 short int var22 /* : Bool */;
1440 int cltype23;
1441 int idtype24;
1442 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1443 short int var25 /* : Bool */;
1444 int cltype26;
1445 int idtype27;
1446 val* var_listnode7 /* var listnode7: nullable Object */;
1447 short int var28 /* : Bool */;
1448 int cltype29;
1449 int idtype30;
1450 val* var31 /* : Array[Object] */;
1451 val* var32 /* : Array[Object] */;
1452 val* var_listnode13 /* var listnode13: Array[Object] */;
1453 val* var_listnode12 /* var listnode12: nullable Object */;
1454 short int var33 /* : Bool */;
1455 int cltype34;
1456 int idtype35;
1457 val* var36 /* : Array[Object] */;
1458 val* var37 /* : AAnnotations */;
1459 val* var38 /* : null */;
1460 val* var39 /* : null */;
1461 val* var40 /* : null */;
1462 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
1463 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
1464 short int var41 /* : Bool */;
1465 int cltype42;
1466 int idtype43;
1467 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
1468 short int var44 /* : Bool */;
1469 int cltype45;
1470 int idtype46;
1471 val* var47 /* : AStdClassdef */;
1472 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1473 long var48 /* : Int */;
1474 long var49 /* : Int */;
1475 var_p = p0;
1476 var = NULL;
1477 var_node_list = var;
1478 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1479 var_nodearraylist11 = var1;
1480 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1481 var_nodearraylist10 = var2;
1482 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1483 var_nodearraylist9 = var3;
1484 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1485 var_nodearraylist8 = var4;
1486 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1487 var_nodearraylist7 = var5;
1488 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1489 var_nodearraylist6 = var6;
1490 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1491 var_nodearraylist5 = var7;
1492 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1493 var_nodearraylist4 = var8;
1494 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1495 var_nodearraylist3 = var9;
1496 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1497 var_nodearraylist2 = var10;
1498 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1499 var_nodearraylist1 = var11;
1500 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
1501 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
1502 CHECK_NEW_array__Array(var12);
1503 var_listnode8 = var12;
1504 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
1505 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
1506 CHECK_NEW_array__Array(var13);
1507 var_listnode16 = var13;
1508 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
1509 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
1510 CHECK_NEW_array__Array(var14);
1511 var_listnode17 = var14;
1512 var_pdocnode2 = var_nodearraylist1;
1513 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1514 cltype = type_nullable_parser_nodes__ADoc.color;
1515 idtype = type_nullable_parser_nodes__ADoc.id;
1516 if(var_pdocnode2 == NULL) {
1517 var15 = 1;
1518 } else {
1519 if(cltype >= var_pdocnode2->type->table_size) {
1520 var15 = 0;
1521 } else {
1522 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
1523 }
1524 }
1525 if (!var15) {
1526 fprintf(stderr, "Runtime error: %s", "Assert failed");
1527 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6456);
1528 exit(1);
1529 }
1530 var_tkwredefnode3 = var_nodearraylist2;
1531 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1532 cltype17 = type_nullable_parser_nodes__TKwredef.color;
1533 idtype18 = type_nullable_parser_nodes__TKwredef.id;
1534 if(var_tkwredefnode3 == NULL) {
1535 var16 = 1;
1536 } else {
1537 if(cltype17 >= var_tkwredefnode3->type->table_size) {
1538 var16 = 0;
1539 } else {
1540 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
1541 }
1542 }
1543 if (!var16) {
1544 fprintf(stderr, "Runtime error: %s", "Assert failed");
1545 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6458);
1546 exit(1);
1547 }
1548 var_pvisibilitynode4 = var_nodearraylist3;
1549 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1550 cltype20 = type_nullable_parser_nodes__AVisibility.color;
1551 idtype21 = type_nullable_parser_nodes__AVisibility.id;
1552 if(var_pvisibilitynode4 == NULL) {
1553 var19 = 1;
1554 } else {
1555 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
1556 var19 = 0;
1557 } else {
1558 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
1559 }
1560 }
1561 if (!var19) {
1562 fprintf(stderr, "Runtime error: %s", "Assert failed");
1563 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6460);
1564 exit(1);
1565 }
1566 var_pclasskindnode5 = var_nodearraylist4;
1567 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1568 cltype23 = type_nullable_parser_nodes__AClasskind.color;
1569 idtype24 = type_nullable_parser_nodes__AClasskind.id;
1570 if(var_pclasskindnode5 == NULL) {
1571 var22 = 1;
1572 } else {
1573 if(cltype23 >= var_pclasskindnode5->type->table_size) {
1574 var22 = 0;
1575 } else {
1576 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
1577 }
1578 }
1579 if (!var22) {
1580 fprintf(stderr, "Runtime error: %s", "Assert failed");
1581 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6462);
1582 exit(1);
1583 }
1584 var_tclassidnode6 = var_nodearraylist6;
1585 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1586 cltype26 = type_nullable_parser_nodes__TClassid.color;
1587 idtype27 = type_nullable_parser_nodes__TClassid.id;
1588 if(var_tclassidnode6 == NULL) {
1589 var25 = 1;
1590 } else {
1591 if(cltype26 >= var_tclassidnode6->type->table_size) {
1592 var25 = 0;
1593 } else {
1594 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
1595 }
1596 }
1597 if (!var25) {
1598 fprintf(stderr, "Runtime error: %s", "Assert failed");
1599 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6464);
1600 exit(1);
1601 }
1602 var_listnode7 = var_nodearraylist7;
1603 /* <var_listnode7:nullable Object> isa Array[Object] */
1604 cltype29 = type_array__Arraykernel__Object.color;
1605 idtype30 = type_array__Arraykernel__Object.id;
1606 if(var_listnode7 == NULL) {
1607 var28 = 0;
1608 } else {
1609 if(cltype29 >= var_listnode7->type->table_size) {
1610 var28 = 0;
1611 } else {
1612 var28 = var_listnode7->type->type_table[cltype29] == idtype30;
1613 }
1614 }
1615 if (!var28) {
1616 fprintf(stderr, "Runtime error: %s", "Assert failed");
1617 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6466);
1618 exit(1);
1619 }
1620 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction130>*/;
1621 var_listnode8 = var31;
1622 var32 = NEW_array__Array(&type_array__Arraykernel__Object);
1623 ((void (*)(val*))(var32->class->vft[COLOR_array__Array__init]))(var32) /* init on <var32:Array[Object]>*/;
1624 CHECK_NEW_array__Array(var32);
1625 var_listnode13 = var32;
1626 var_listnode12 = var_nodearraylist8;
1627 /* <var_listnode12:nullable Object> isa Array[Object] */
1628 cltype34 = type_array__Arraykernel__Object.color;
1629 idtype35 = type_array__Arraykernel__Object.id;
1630 if(var_listnode12 == NULL) {
1631 var33 = 0;
1632 } else {
1633 if(cltype34 >= var_listnode12->type->table_size) {
1634 var33 = 0;
1635 } else {
1636 var33 = var_listnode12->type->type_table[cltype34] == idtype35;
1637 }
1638 }
1639 if (!var33) {
1640 fprintf(stderr, "Runtime error: %s", "Assert failed");
1641 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6470);
1642 exit(1);
1643 }
1644 var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction130>*/;
1645 var_listnode13 = var36;
1646 var37 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
1647 var38 = NULL;
1648 var39 = NULL;
1649 var40 = NULL;
1650 ((void (*)(val*, val*, val*, val*, val*))(var37->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var37, var38, var39, var_listnode13, var40) /* init_aannotations on <var37:AAnnotations>*/;
1651 CHECK_NEW_parser_nodes__AAnnotations(var37);
1652 var_pannotationsnode9 = var37;
1653 var_pexterncodeblocknode15 = var_nodearraylist9;
1654 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
1655 cltype42 = type_nullable_parser_nodes__AExternCodeBlock.color;
1656 idtype43 = type_nullable_parser_nodes__AExternCodeBlock.id;
1657 if(var_pexterncodeblocknode15 == NULL) {
1658 var41 = 1;
1659 } else {
1660 if(cltype42 >= var_pexterncodeblocknode15->type->table_size) {
1661 var41 = 0;
1662 } else {
1663 var41 = var_pexterncodeblocknode15->type->type_table[cltype42] == idtype43;
1664 }
1665 }
1666 if (!var41) {
1667 fprintf(stderr, "Runtime error: %s", "Assert failed");
1668 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6479);
1669 exit(1);
1670 }
1671 var_tkwendnode18 = var_nodearraylist11;
1672 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
1673 cltype45 = type_nullable_parser_nodes__TKwend.color;
1674 idtype46 = type_nullable_parser_nodes__TKwend.id;
1675 if(var_tkwendnode18 == NULL) {
1676 var44 = 1;
1677 } else {
1678 if(cltype45 >= var_tkwendnode18->type->table_size) {
1679 var44 = 0;
1680 } else {
1681 var44 = var_tkwendnode18->type->type_table[cltype45] == idtype46;
1682 }
1683 }
1684 if (!var44) {
1685 fprintf(stderr, "Runtime error: %s", "Assert failed");
1686 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6481);
1687 exit(1);
1688 }
1689 var47 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1690 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var47->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var47, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var47:AStdClassdef>*/;
1691 CHECK_NEW_parser_nodes__AStdClassdef(var47);
1692 var_pclassdefnode1 = var47;
1693 var_node_list = var_pclassdefnode1;
1694 var48 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction130> */
1695 var49 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var48) /* go_to on <var_p:Parser>*/;
1696 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var49, var_node_list) /* push on <var_p:Parser>*/;
1697 RET_LABEL:;
1698 }
1699 /* method parser#ReduceAction130#action for (self: Object, Parser) */
1700 void VIRTUAL_parser__ReduceAction130__action(val* self, val* p0) {
1701 parser__ReduceAction130__action(self, p0);
1702 RET_LABEL:;
1703 }
1704 /* method parser#ReduceAction131#action for (self: ReduceAction131, Parser) */
1705 void parser__ReduceAction131__action(val* self, val* p0) {
1706 val* var_p /* var p: Parser */;
1707 val* var /* : null */;
1708 val* var_node_list /* var node_list: nullable Object */;
1709 val* var1 /* : nullable Object */;
1710 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
1711 val* var2 /* : nullable Object */;
1712 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1713 val* var3 /* : nullable Object */;
1714 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1715 val* var4 /* : nullable Object */;
1716 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1717 val* var5 /* : nullable Object */;
1718 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1719 val* var6 /* : nullable Object */;
1720 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1721 val* var7 /* : nullable Object */;
1722 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1723 val* var8 /* : nullable Object */;
1724 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1725 val* var9 /* : nullable Object */;
1726 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1727 val* var10 /* : nullable Object */;
1728 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1729 val* var11 /* : nullable Object */;
1730 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1731 val* var12 /* : Array[Object] */;
1732 val* var_listnode8 /* var listnode8: Array[Object] */;
1733 val* var13 /* : Array[Object] */;
1734 val* var_listnode16 /* var listnode16: Array[Object] */;
1735 val* var14 /* : Array[Object] */;
1736 val* var_listnode17 /* var listnode17: Array[Object] */;
1737 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1738 short int var15 /* : Bool */;
1739 int cltype;
1740 int idtype;
1741 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1742 short int var16 /* : Bool */;
1743 int cltype17;
1744 int idtype18;
1745 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1746 short int var19 /* : Bool */;
1747 int cltype20;
1748 int idtype21;
1749 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1750 short int var22 /* : Bool */;
1751 int cltype23;
1752 int idtype24;
1753 val* var_listnode7 /* var listnode7: nullable Object */;
1754 short int var25 /* : Bool */;
1755 int cltype26;
1756 int idtype27;
1757 val* var28 /* : Array[Object] */;
1758 val* var29 /* : Array[Object] */;
1759 val* var_listnode13 /* var listnode13: Array[Object] */;
1760 val* var_listnode12 /* var listnode12: nullable Object */;
1761 short int var30 /* : Bool */;
1762 int cltype31;
1763 int idtype32;
1764 val* var33 /* : Array[Object] */;
1765 val* var34 /* : AAnnotations */;
1766 val* var35 /* : null */;
1767 val* var36 /* : null */;
1768 val* var37 /* : null */;
1769 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
1770 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
1771 short int var38 /* : Bool */;
1772 int cltype39;
1773 int idtype40;
1774 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
1775 short int var41 /* : Bool */;
1776 int cltype42;
1777 int idtype43;
1778 val* var44 /* : AStdClassdef */;
1779 val* var45 /* : null */;
1780 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1781 long var46 /* : Int */;
1782 long var47 /* : Int */;
1783 var_p = p0;
1784 var = NULL;
1785 var_node_list = var;
1786 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1787 var_nodearraylist11 = var1;
1788 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1789 var_nodearraylist10 = var2;
1790 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1791 var_nodearraylist9 = var3;
1792 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1793 var_nodearraylist8 = var4;
1794 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1795 var_nodearraylist7 = var5;
1796 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1797 var_nodearraylist6 = var6;
1798 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1799 var_nodearraylist5 = var7;
1800 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1801 var_nodearraylist4 = var8;
1802 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1803 var_nodearraylist3 = var9;
1804 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1805 var_nodearraylist2 = var10;
1806 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1807 var_nodearraylist1 = var11;
1808 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
1809 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
1810 CHECK_NEW_array__Array(var12);
1811 var_listnode8 = var12;
1812 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
1813 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
1814 CHECK_NEW_array__Array(var13);
1815 var_listnode16 = var13;
1816 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
1817 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
1818 CHECK_NEW_array__Array(var14);
1819 var_listnode17 = var14;
1820 var_pdocnode2 = var_nodearraylist1;
1821 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1822 cltype = type_nullable_parser_nodes__ADoc.color;
1823 idtype = type_nullable_parser_nodes__ADoc.id;
1824 if(var_pdocnode2 == NULL) {
1825 var15 = 1;
1826 } else {
1827 if(cltype >= var_pdocnode2->type->table_size) {
1828 var15 = 0;
1829 } else {
1830 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
1831 }
1832 }
1833 if (!var15) {
1834 fprintf(stderr, "Runtime error: %s", "Assert failed");
1835 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6519);
1836 exit(1);
1837 }
1838 var_pvisibilitynode4 = var_nodearraylist2;
1839 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1840 cltype17 = type_nullable_parser_nodes__AVisibility.color;
1841 idtype18 = type_nullable_parser_nodes__AVisibility.id;
1842 if(var_pvisibilitynode4 == NULL) {
1843 var16 = 1;
1844 } else {
1845 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
1846 var16 = 0;
1847 } else {
1848 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
1849 }
1850 }
1851 if (!var16) {
1852 fprintf(stderr, "Runtime error: %s", "Assert failed");
1853 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6521);
1854 exit(1);
1855 }
1856 var_pclasskindnode5 = var_nodearraylist3;
1857 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1858 cltype20 = type_nullable_parser_nodes__AClasskind.color;
1859 idtype21 = type_nullable_parser_nodes__AClasskind.id;
1860 if(var_pclasskindnode5 == NULL) {
1861 var19 = 1;
1862 } else {
1863 if(cltype20 >= var_pclasskindnode5->type->table_size) {
1864 var19 = 0;
1865 } else {
1866 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
1867 }
1868 }
1869 if (!var19) {
1870 fprintf(stderr, "Runtime error: %s", "Assert failed");
1871 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6523);
1872 exit(1);
1873 }
1874 var_tclassidnode6 = var_nodearraylist6;
1875 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1876 cltype23 = type_nullable_parser_nodes__TClassid.color;
1877 idtype24 = type_nullable_parser_nodes__TClassid.id;
1878 if(var_tclassidnode6 == NULL) {
1879 var22 = 1;
1880 } else {
1881 if(cltype23 >= var_tclassidnode6->type->table_size) {
1882 var22 = 0;
1883 } else {
1884 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
1885 }
1886 }
1887 if (!var22) {
1888 fprintf(stderr, "Runtime error: %s", "Assert failed");
1889 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6525);
1890 exit(1);
1891 }
1892 var_listnode7 = var_nodearraylist7;
1893 /* <var_listnode7:nullable Object> isa Array[Object] */
1894 cltype26 = type_array__Arraykernel__Object.color;
1895 idtype27 = type_array__Arraykernel__Object.id;
1896 if(var_listnode7 == NULL) {
1897 var25 = 0;
1898 } else {
1899 if(cltype26 >= var_listnode7->type->table_size) {
1900 var25 = 0;
1901 } else {
1902 var25 = var_listnode7->type->type_table[cltype26] == idtype27;
1903 }
1904 }
1905 if (!var25) {
1906 fprintf(stderr, "Runtime error: %s", "Assert failed");
1907 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6527);
1908 exit(1);
1909 }
1910 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction131>*/;
1911 var_listnode8 = var28;
1912 var29 = NEW_array__Array(&type_array__Arraykernel__Object);
1913 ((void (*)(val*))(var29->class->vft[COLOR_array__Array__init]))(var29) /* init on <var29:Array[Object]>*/;
1914 CHECK_NEW_array__Array(var29);
1915 var_listnode13 = var29;
1916 var_listnode12 = var_nodearraylist8;
1917 /* <var_listnode12:nullable Object> isa Array[Object] */
1918 cltype31 = type_array__Arraykernel__Object.color;
1919 idtype32 = type_array__Arraykernel__Object.id;
1920 if(var_listnode12 == NULL) {
1921 var30 = 0;
1922 } else {
1923 if(cltype31 >= var_listnode12->type->table_size) {
1924 var30 = 0;
1925 } else {
1926 var30 = var_listnode12->type->type_table[cltype31] == idtype32;
1927 }
1928 }
1929 if (!var30) {
1930 fprintf(stderr, "Runtime error: %s", "Assert failed");
1931 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6531);
1932 exit(1);
1933 }
1934 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction131>*/;
1935 var_listnode13 = var33;
1936 var34 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
1937 var35 = NULL;
1938 var36 = NULL;
1939 var37 = NULL;
1940 ((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>*/;
1941 CHECK_NEW_parser_nodes__AAnnotations(var34);
1942 var_pannotationsnode9 = var34;
1943 var_pexterncodeblocknode15 = var_nodearraylist9;
1944 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
1945 cltype39 = type_nullable_parser_nodes__AExternCodeBlock.color;
1946 idtype40 = type_nullable_parser_nodes__AExternCodeBlock.id;
1947 if(var_pexterncodeblocknode15 == NULL) {
1948 var38 = 1;
1949 } else {
1950 if(cltype39 >= var_pexterncodeblocknode15->type->table_size) {
1951 var38 = 0;
1952 } else {
1953 var38 = var_pexterncodeblocknode15->type->type_table[cltype39] == idtype40;
1954 }
1955 }
1956 if (!var38) {
1957 fprintf(stderr, "Runtime error: %s", "Assert failed");
1958 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6540);
1959 exit(1);
1960 }
1961 var_tkwendnode18 = var_nodearraylist11;
1962 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
1963 cltype42 = type_nullable_parser_nodes__TKwend.color;
1964 idtype43 = type_nullable_parser_nodes__TKwend.id;
1965 if(var_tkwendnode18 == NULL) {
1966 var41 = 1;
1967 } else {
1968 if(cltype42 >= var_tkwendnode18->type->table_size) {
1969 var41 = 0;
1970 } else {
1971 var41 = var_tkwendnode18->type->type_table[cltype42] == idtype43;
1972 }
1973 }
1974 if (!var41) {
1975 fprintf(stderr, "Runtime error: %s", "Assert failed");
1976 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6542);
1977 exit(1);
1978 }
1979 var44 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1980 var45 = NULL;
1981 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var44->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var44, var_pdocnode2, var45, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var44:AStdClassdef>*/;
1982 CHECK_NEW_parser_nodes__AStdClassdef(var44);
1983 var_pclassdefnode1 = var44;
1984 var_node_list = var_pclassdefnode1;
1985 var46 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction131> */
1986 var47 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var46) /* go_to on <var_p:Parser>*/;
1987 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var47, var_node_list) /* push on <var_p:Parser>*/;
1988 RET_LABEL:;
1989 }
1990 /* method parser#ReduceAction131#action for (self: Object, Parser) */
1991 void VIRTUAL_parser__ReduceAction131__action(val* self, val* p0) {
1992 parser__ReduceAction131__action(self, p0);
1993 RET_LABEL:;
1994 }
1995 /* method parser#ReduceAction132#action for (self: ReduceAction132, Parser) */
1996 void parser__ReduceAction132__action(val* self, val* p0) {
1997 val* var_p /* var p: Parser */;
1998 val* var /* : null */;
1999 val* var_node_list /* var node_list: nullable Object */;
2000 val* var1 /* : nullable Object */;
2001 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
2002 val* var2 /* : nullable Object */;
2003 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
2004 val* var3 /* : nullable Object */;
2005 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2006 val* var4 /* : nullable Object */;
2007 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2008 val* var5 /* : nullable Object */;
2009 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2010 val* var6 /* : nullable Object */;
2011 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2012 val* var7 /* : nullable Object */;
2013 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2014 val* var8 /* : nullable Object */;
2015 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2016 val* var9 /* : nullable Object */;
2017 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2018 val* var10 /* : nullable Object */;
2019 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2020 val* var11 /* : nullable Object */;
2021 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2022 val* var12 /* : nullable Object */;
2023 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2024 val* var13 /* : Array[Object] */;
2025 val* var_listnode8 /* var listnode8: Array[Object] */;
2026 val* var14 /* : Array[Object] */;
2027 val* var_listnode16 /* var listnode16: Array[Object] */;
2028 val* var15 /* : Array[Object] */;
2029 val* var_listnode17 /* var listnode17: Array[Object] */;
2030 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2031 short int var16 /* : Bool */;
2032 int cltype;
2033 int idtype;
2034 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2035 short int var17 /* : Bool */;
2036 int cltype18;
2037 int idtype19;
2038 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2039 short int var20 /* : Bool */;
2040 int cltype21;
2041 int idtype22;
2042 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2043 short int var23 /* : Bool */;
2044 int cltype24;
2045 int idtype25;
2046 val* var_listnode7 /* var listnode7: nullable Object */;
2047 short int var26 /* : Bool */;
2048 int cltype27;
2049 int idtype28;
2050 val* var29 /* : Array[Object] */;
2051 val* var30 /* : Array[Object] */;
2052 val* var_listnode13 /* var listnode13: Array[Object] */;
2053 val* var_listnode12 /* var listnode12: nullable Object */;
2054 short int var31 /* : Bool */;
2055 int cltype32;
2056 int idtype33;
2057 val* var34 /* : Array[Object] */;
2058 val* var35 /* : AAnnotations */;
2059 val* var36 /* : null */;
2060 val* var37 /* : null */;
2061 val* var38 /* : null */;
2062 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
2063 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
2064 short int var39 /* : Bool */;
2065 int cltype40;
2066 int idtype41;
2067 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
2068 short int var42 /* : Bool */;
2069 int cltype43;
2070 int idtype44;
2071 val* var45 /* : AStdClassdef */;
2072 val* var46 /* : null */;
2073 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2074 long var47 /* : Int */;
2075 long var48 /* : Int */;
2076 var_p = p0;
2077 var = NULL;
2078 var_node_list = var;
2079 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2080 var_nodearraylist12 = var1;
2081 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2082 var_nodearraylist11 = var2;
2083 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2084 var_nodearraylist10 = var3;
2085 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2086 var_nodearraylist9 = var4;
2087 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2088 var_nodearraylist8 = var5;
2089 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2090 var_nodearraylist7 = var6;
2091 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2092 var_nodearraylist6 = var7;
2093 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2094 var_nodearraylist5 = var8;
2095 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2096 var_nodearraylist4 = var9;
2097 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2098 var_nodearraylist3 = var10;
2099 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2100 var_nodearraylist2 = var11;
2101 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2102 var_nodearraylist1 = var12;
2103 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
2104 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
2105 CHECK_NEW_array__Array(var13);
2106 var_listnode8 = var13;
2107 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
2108 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
2109 CHECK_NEW_array__Array(var14);
2110 var_listnode16 = var14;
2111 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
2112 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
2113 CHECK_NEW_array__Array(var15);
2114 var_listnode17 = var15;
2115 var_pdocnode2 = var_nodearraylist1;
2116 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2117 cltype = type_nullable_parser_nodes__ADoc.color;
2118 idtype = type_nullable_parser_nodes__ADoc.id;
2119 if(var_pdocnode2 == NULL) {
2120 var16 = 1;
2121 } else {
2122 if(cltype >= var_pdocnode2->type->table_size) {
2123 var16 = 0;
2124 } else {
2125 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
2126 }
2127 }
2128 if (!var16) {
2129 fprintf(stderr, "Runtime error: %s", "Assert failed");
2130 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6581);
2131 exit(1);
2132 }
2133 var_pvisibilitynode4 = var_nodearraylist2;
2134 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2135 cltype18 = type_nullable_parser_nodes__AVisibility.color;
2136 idtype19 = type_nullable_parser_nodes__AVisibility.id;
2137 if(var_pvisibilitynode4 == NULL) {
2138 var17 = 1;
2139 } else {
2140 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
2141 var17 = 0;
2142 } else {
2143 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
2144 }
2145 }
2146 if (!var17) {
2147 fprintf(stderr, "Runtime error: %s", "Assert failed");
2148 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6583);
2149 exit(1);
2150 }
2151 var_pclasskindnode5 = var_nodearraylist3;
2152 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2153 cltype21 = type_nullable_parser_nodes__AClasskind.color;
2154 idtype22 = type_nullable_parser_nodes__AClasskind.id;
2155 if(var_pclasskindnode5 == NULL) {
2156 var20 = 1;
2157 } else {
2158 if(cltype21 >= var_pclasskindnode5->type->table_size) {
2159 var20 = 0;
2160 } else {
2161 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
2162 }
2163 }
2164 if (!var20) {
2165 fprintf(stderr, "Runtime error: %s", "Assert failed");
2166 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6585);
2167 exit(1);
2168 }
2169 var_tclassidnode6 = var_nodearraylist7;
2170 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2171 cltype24 = type_nullable_parser_nodes__TClassid.color;
2172 idtype25 = type_nullable_parser_nodes__TClassid.id;
2173 if(var_tclassidnode6 == NULL) {
2174 var23 = 1;
2175 } else {
2176 if(cltype24 >= var_tclassidnode6->type->table_size) {
2177 var23 = 0;
2178 } else {
2179 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
2180 }
2181 }
2182 if (!var23) {
2183 fprintf(stderr, "Runtime error: %s", "Assert failed");
2184 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6587);
2185 exit(1);
2186 }
2187 var_listnode7 = var_nodearraylist8;
2188 /* <var_listnode7:nullable Object> isa Array[Object] */
2189 cltype27 = type_array__Arraykernel__Object.color;
2190 idtype28 = type_array__Arraykernel__Object.id;
2191 if(var_listnode7 == NULL) {
2192 var26 = 0;
2193 } else {
2194 if(cltype27 >= var_listnode7->type->table_size) {
2195 var26 = 0;
2196 } else {
2197 var26 = var_listnode7->type->type_table[cltype27] == idtype28;
2198 }
2199 }
2200 if (!var26) {
2201 fprintf(stderr, "Runtime error: %s", "Assert failed");
2202 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6589);
2203 exit(1);
2204 }
2205 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction132>*/;
2206 var_listnode8 = var29;
2207 var30 = NEW_array__Array(&type_array__Arraykernel__Object);
2208 ((void (*)(val*))(var30->class->vft[COLOR_array__Array__init]))(var30) /* init on <var30:Array[Object]>*/;
2209 CHECK_NEW_array__Array(var30);
2210 var_listnode13 = var30;
2211 var_listnode12 = var_nodearraylist9;
2212 /* <var_listnode12:nullable Object> isa Array[Object] */
2213 cltype32 = type_array__Arraykernel__Object.color;
2214 idtype33 = type_array__Arraykernel__Object.id;
2215 if(var_listnode12 == NULL) {
2216 var31 = 0;
2217 } else {
2218 if(cltype32 >= var_listnode12->type->table_size) {
2219 var31 = 0;
2220 } else {
2221 var31 = var_listnode12->type->type_table[cltype32] == idtype33;
2222 }
2223 }
2224 if (!var31) {
2225 fprintf(stderr, "Runtime error: %s", "Assert failed");
2226 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6593);
2227 exit(1);
2228 }
2229 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction132>*/;
2230 var_listnode13 = var34;
2231 var35 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
2232 var36 = NULL;
2233 var37 = NULL;
2234 var38 = NULL;
2235 ((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>*/;
2236 CHECK_NEW_parser_nodes__AAnnotations(var35);
2237 var_pannotationsnode9 = var35;
2238 var_pexterncodeblocknode15 = var_nodearraylist10;
2239 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
2240 cltype40 = type_nullable_parser_nodes__AExternCodeBlock.color;
2241 idtype41 = type_nullable_parser_nodes__AExternCodeBlock.id;
2242 if(var_pexterncodeblocknode15 == NULL) {
2243 var39 = 1;
2244 } else {
2245 if(cltype40 >= var_pexterncodeblocknode15->type->table_size) {
2246 var39 = 0;
2247 } else {
2248 var39 = var_pexterncodeblocknode15->type->type_table[cltype40] == idtype41;
2249 }
2250 }
2251 if (!var39) {
2252 fprintf(stderr, "Runtime error: %s", "Assert failed");
2253 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6602);
2254 exit(1);
2255 }
2256 var_tkwendnode18 = var_nodearraylist12;
2257 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
2258 cltype43 = type_nullable_parser_nodes__TKwend.color;
2259 idtype44 = type_nullable_parser_nodes__TKwend.id;
2260 if(var_tkwendnode18 == NULL) {
2261 var42 = 1;
2262 } else {
2263 if(cltype43 >= var_tkwendnode18->type->table_size) {
2264 var42 = 0;
2265 } else {
2266 var42 = var_tkwendnode18->type->type_table[cltype43] == idtype44;
2267 }
2268 }
2269 if (!var42) {
2270 fprintf(stderr, "Runtime error: %s", "Assert failed");
2271 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6604);
2272 exit(1);
2273 }
2274 var45 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2275 var46 = NULL;
2276 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var45->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var45, var_pdocnode2, var46, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var45:AStdClassdef>*/;
2277 CHECK_NEW_parser_nodes__AStdClassdef(var45);
2278 var_pclassdefnode1 = var45;
2279 var_node_list = var_pclassdefnode1;
2280 var47 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction132> */
2281 var48 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var47) /* go_to on <var_p:Parser>*/;
2282 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var48, var_node_list) /* push on <var_p:Parser>*/;
2283 RET_LABEL:;
2284 }
2285 /* method parser#ReduceAction132#action for (self: Object, Parser) */
2286 void VIRTUAL_parser__ReduceAction132__action(val* self, val* p0) {
2287 parser__ReduceAction132__action(self, p0);
2288 RET_LABEL:;
2289 }
2290 /* method parser#ReduceAction134#action for (self: ReduceAction134, Parser) */
2291 void parser__ReduceAction134__action(val* self, val* p0) {
2292 val* var_p /* var p: Parser */;
2293 val* var /* : null */;
2294 val* var_node_list /* var node_list: nullable Object */;
2295 val* var1 /* : nullable Object */;
2296 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
2297 val* var2 /* : nullable Object */;
2298 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
2299 val* var3 /* : nullable Object */;
2300 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2301 val* var4 /* : nullable Object */;
2302 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2303 val* var5 /* : nullable Object */;
2304 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2305 val* var6 /* : nullable Object */;
2306 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2307 val* var7 /* : nullable Object */;
2308 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2309 val* var8 /* : nullable Object */;
2310 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2311 val* var9 /* : nullable Object */;
2312 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2313 val* var10 /* : nullable Object */;
2314 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2315 val* var11 /* : nullable Object */;
2316 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2317 val* var12 /* : nullable Object */;
2318 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2319 val* var13 /* : Array[Object] */;
2320 val* var_listnode8 /* var listnode8: Array[Object] */;
2321 val* var14 /* : Array[Object] */;
2322 val* var_listnode16 /* var listnode16: Array[Object] */;
2323 val* var15 /* : Array[Object] */;
2324 val* var_listnode17 /* var listnode17: Array[Object] */;
2325 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2326 short int var16 /* : Bool */;
2327 int cltype;
2328 int idtype;
2329 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
2330 short int var17 /* : Bool */;
2331 int cltype18;
2332 int idtype19;
2333 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2334 short int var20 /* : Bool */;
2335 int cltype21;
2336 int idtype22;
2337 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2338 short int var23 /* : Bool */;
2339 int cltype24;
2340 int idtype25;
2341 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2342 short int var26 /* : Bool */;
2343 int cltype27;
2344 int idtype28;
2345 val* var_listnode7 /* var listnode7: nullable Object */;
2346 short int var29 /* : Bool */;
2347 int cltype30;
2348 int idtype31;
2349 val* var32 /* : Array[Object] */;
2350 val* var33 /* : Array[Object] */;
2351 val* var_listnode13 /* var listnode13: Array[Object] */;
2352 val* var_listnode12 /* var listnode12: nullable Object */;
2353 short int var34 /* : Bool */;
2354 int cltype35;
2355 int idtype36;
2356 val* var37 /* : Array[Object] */;
2357 val* var38 /* : AAnnotations */;
2358 val* var39 /* : null */;
2359 val* var40 /* : null */;
2360 val* var41 /* : null */;
2361 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
2362 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
2363 short int var42 /* : Bool */;
2364 int cltype43;
2365 int idtype44;
2366 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
2367 short int var45 /* : Bool */;
2368 int cltype46;
2369 int idtype47;
2370 val* var48 /* : AStdClassdef */;
2371 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2372 long var49 /* : Int */;
2373 long var50 /* : Int */;
2374 var_p = p0;
2375 var = NULL;
2376 var_node_list = var;
2377 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2378 var_nodearraylist12 = var1;
2379 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2380 var_nodearraylist11 = var2;
2381 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2382 var_nodearraylist10 = var3;
2383 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2384 var_nodearraylist9 = var4;
2385 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2386 var_nodearraylist8 = var5;
2387 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2388 var_nodearraylist7 = var6;
2389 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2390 var_nodearraylist6 = var7;
2391 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2392 var_nodearraylist5 = var8;
2393 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2394 var_nodearraylist4 = var9;
2395 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2396 var_nodearraylist3 = var10;
2397 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2398 var_nodearraylist2 = var11;
2399 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2400 var_nodearraylist1 = var12;
2401 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
2402 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
2403 CHECK_NEW_array__Array(var13);
2404 var_listnode8 = var13;
2405 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
2406 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
2407 CHECK_NEW_array__Array(var14);
2408 var_listnode16 = var14;
2409 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
2410 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
2411 CHECK_NEW_array__Array(var15);
2412 var_listnode17 = var15;
2413 var_pdocnode2 = var_nodearraylist1;
2414 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2415 cltype = type_nullable_parser_nodes__ADoc.color;
2416 idtype = type_nullable_parser_nodes__ADoc.id;
2417 if(var_pdocnode2 == NULL) {
2418 var16 = 1;
2419 } else {
2420 if(cltype >= var_pdocnode2->type->table_size) {
2421 var16 = 0;
2422 } else {
2423 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
2424 }
2425 }
2426 if (!var16) {
2427 fprintf(stderr, "Runtime error: %s", "Assert failed");
2428 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6643);
2429 exit(1);
2430 }
2431 var_tkwredefnode3 = var_nodearraylist2;
2432 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2433 cltype18 = type_nullable_parser_nodes__TKwredef.color;
2434 idtype19 = type_nullable_parser_nodes__TKwredef.id;
2435 if(var_tkwredefnode3 == NULL) {
2436 var17 = 1;
2437 } else {
2438 if(cltype18 >= var_tkwredefnode3->type->table_size) {
2439 var17 = 0;
2440 } else {
2441 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
2442 }
2443 }
2444 if (!var17) {
2445 fprintf(stderr, "Runtime error: %s", "Assert failed");
2446 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6645);
2447 exit(1);
2448 }
2449 var_pvisibilitynode4 = var_nodearraylist3;
2450 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2451 cltype21 = type_nullable_parser_nodes__AVisibility.color;
2452 idtype22 = type_nullable_parser_nodes__AVisibility.id;
2453 if(var_pvisibilitynode4 == NULL) {
2454 var20 = 1;
2455 } else {
2456 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
2457 var20 = 0;
2458 } else {
2459 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
2460 }
2461 }
2462 if (!var20) {
2463 fprintf(stderr, "Runtime error: %s", "Assert failed");
2464 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6647);
2465 exit(1);
2466 }
2467 var_pclasskindnode5 = var_nodearraylist4;
2468 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2469 cltype24 = type_nullable_parser_nodes__AClasskind.color;
2470 idtype25 = type_nullable_parser_nodes__AClasskind.id;
2471 if(var_pclasskindnode5 == NULL) {
2472 var23 = 1;
2473 } else {
2474 if(cltype24 >= var_pclasskindnode5->type->table_size) {
2475 var23 = 0;
2476 } else {
2477 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
2478 }
2479 }
2480 if (!var23) {
2481 fprintf(stderr, "Runtime error: %s", "Assert failed");
2482 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6649);
2483 exit(1);
2484 }
2485 var_tclassidnode6 = var_nodearraylist7;
2486 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2487 cltype27 = type_nullable_parser_nodes__TClassid.color;
2488 idtype28 = type_nullable_parser_nodes__TClassid.id;
2489 if(var_tclassidnode6 == NULL) {
2490 var26 = 1;
2491 } else {
2492 if(cltype27 >= var_tclassidnode6->type->table_size) {
2493 var26 = 0;
2494 } else {
2495 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
2496 }
2497 }
2498 if (!var26) {
2499 fprintf(stderr, "Runtime error: %s", "Assert failed");
2500 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6651);
2501 exit(1);
2502 }
2503 var_listnode7 = var_nodearraylist8;
2504 /* <var_listnode7:nullable Object> isa Array[Object] */
2505 cltype30 = type_array__Arraykernel__Object.color;
2506 idtype31 = type_array__Arraykernel__Object.id;
2507 if(var_listnode7 == NULL) {
2508 var29 = 0;
2509 } else {
2510 if(cltype30 >= var_listnode7->type->table_size) {
2511 var29 = 0;
2512 } else {
2513 var29 = var_listnode7->type->type_table[cltype30] == idtype31;
2514 }
2515 }
2516 if (!var29) {
2517 fprintf(stderr, "Runtime error: %s", "Assert failed");
2518 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6653);
2519 exit(1);
2520 }
2521 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction134>*/;
2522 var_listnode8 = var32;
2523 var33 = NEW_array__Array(&type_array__Arraykernel__Object);
2524 ((void (*)(val*))(var33->class->vft[COLOR_array__Array__init]))(var33) /* init on <var33:Array[Object]>*/;
2525 CHECK_NEW_array__Array(var33);
2526 var_listnode13 = var33;
2527 var_listnode12 = var_nodearraylist9;
2528 /* <var_listnode12:nullable Object> isa Array[Object] */
2529 cltype35 = type_array__Arraykernel__Object.color;
2530 idtype36 = type_array__Arraykernel__Object.id;
2531 if(var_listnode12 == NULL) {
2532 var34 = 0;
2533 } else {
2534 if(cltype35 >= var_listnode12->type->table_size) {
2535 var34 = 0;
2536 } else {
2537 var34 = var_listnode12->type->type_table[cltype35] == idtype36;
2538 }
2539 }
2540 if (!var34) {
2541 fprintf(stderr, "Runtime error: %s", "Assert failed");
2542 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6657);
2543 exit(1);
2544 }
2545 var37 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction134>*/;
2546 var_listnode13 = var37;
2547 var38 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
2548 var39 = NULL;
2549 var40 = NULL;
2550 var41 = NULL;
2551 ((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>*/;
2552 CHECK_NEW_parser_nodes__AAnnotations(var38);
2553 var_pannotationsnode9 = var38;
2554 var_pexterncodeblocknode15 = var_nodearraylist10;
2555 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
2556 cltype43 = type_nullable_parser_nodes__AExternCodeBlock.color;
2557 idtype44 = type_nullable_parser_nodes__AExternCodeBlock.id;
2558 if(var_pexterncodeblocknode15 == NULL) {
2559 var42 = 1;
2560 } else {
2561 if(cltype43 >= var_pexterncodeblocknode15->type->table_size) {
2562 var42 = 0;
2563 } else {
2564 var42 = var_pexterncodeblocknode15->type->type_table[cltype43] == idtype44;
2565 }
2566 }
2567 if (!var42) {
2568 fprintf(stderr, "Runtime error: %s", "Assert failed");
2569 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6666);
2570 exit(1);
2571 }
2572 var_tkwendnode18 = var_nodearraylist12;
2573 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
2574 cltype46 = type_nullable_parser_nodes__TKwend.color;
2575 idtype47 = type_nullable_parser_nodes__TKwend.id;
2576 if(var_tkwendnode18 == NULL) {
2577 var45 = 1;
2578 } else {
2579 if(cltype46 >= var_tkwendnode18->type->table_size) {
2580 var45 = 0;
2581 } else {
2582 var45 = var_tkwendnode18->type->type_table[cltype46] == idtype47;
2583 }
2584 }
2585 if (!var45) {
2586 fprintf(stderr, "Runtime error: %s", "Assert failed");
2587 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6668);
2588 exit(1);
2589 }
2590 var48 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2591 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var48->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var48, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var48:AStdClassdef>*/;
2592 CHECK_NEW_parser_nodes__AStdClassdef(var48);
2593 var_pclassdefnode1 = var48;
2594 var_node_list = var_pclassdefnode1;
2595 var49 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction134> */
2596 var50 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var49) /* go_to on <var_p:Parser>*/;
2597 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var50, var_node_list) /* push on <var_p:Parser>*/;
2598 RET_LABEL:;
2599 }
2600 /* method parser#ReduceAction134#action for (self: Object, Parser) */
2601 void VIRTUAL_parser__ReduceAction134__action(val* self, val* p0) {
2602 parser__ReduceAction134__action(self, p0);
2603 RET_LABEL:;
2604 }
2605 /* method parser#ReduceAction135#action for (self: ReduceAction135, Parser) */
2606 void parser__ReduceAction135__action(val* self, val* p0) {
2607 val* var_p /* var p: Parser */;
2608 val* var /* : null */;
2609 val* var_node_list /* var node_list: nullable Object */;
2610 val* var1 /* : nullable Object */;
2611 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
2612 val* var2 /* : nullable Object */;
2613 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
2614 val* var3 /* : nullable Object */;
2615 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
2616 val* var4 /* : nullable Object */;
2617 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2618 val* var5 /* : nullable Object */;
2619 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2620 val* var6 /* : nullable Object */;
2621 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2622 val* var7 /* : nullable Object */;
2623 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2624 val* var8 /* : nullable Object */;
2625 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2626 val* var9 /* : nullable Object */;
2627 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2628 val* var10 /* : nullable Object */;
2629 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2630 val* var11 /* : nullable Object */;
2631 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2632 val* var12 /* : nullable Object */;
2633 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2634 val* var13 /* : nullable Object */;
2635 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2636 val* var14 /* : Array[Object] */;
2637 val* var_listnode8 /* var listnode8: Array[Object] */;
2638 val* var15 /* : Array[Object] */;
2639 val* var_listnode16 /* var listnode16: Array[Object] */;
2640 val* var16 /* : Array[Object] */;
2641 val* var_listnode17 /* var listnode17: Array[Object] */;
2642 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2643 short int var17 /* : Bool */;
2644 int cltype;
2645 int idtype;
2646 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
2647 short int var18 /* : Bool */;
2648 int cltype19;
2649 int idtype20;
2650 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2651 short int var21 /* : Bool */;
2652 int cltype22;
2653 int idtype23;
2654 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2655 short int var24 /* : Bool */;
2656 int cltype25;
2657 int idtype26;
2658 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2659 short int var27 /* : Bool */;
2660 int cltype28;
2661 int idtype29;
2662 val* var_listnode7 /* var listnode7: nullable Object */;
2663 short int var30 /* : Bool */;
2664 int cltype31;
2665 int idtype32;
2666 val* var33 /* : Array[Object] */;
2667 val* var34 /* : Array[Object] */;
2668 val* var_listnode13 /* var listnode13: Array[Object] */;
2669 val* var_listnode12 /* var listnode12: nullable Object */;
2670 short int var35 /* : Bool */;
2671 int cltype36;
2672 int idtype37;
2673 val* var38 /* : Array[Object] */;
2674 val* var39 /* : AAnnotations */;
2675 val* var40 /* : null */;
2676 val* var41 /* : null */;
2677 val* var42 /* : null */;
2678 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
2679 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
2680 short int var43 /* : Bool */;
2681 int cltype44;
2682 int idtype45;
2683 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
2684 short int var46 /* : Bool */;
2685 int cltype47;
2686 int idtype48;
2687 val* var49 /* : AStdClassdef */;
2688 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2689 long var50 /* : Int */;
2690 long var51 /* : Int */;
2691 var_p = p0;
2692 var = NULL;
2693 var_node_list = var;
2694 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2695 var_nodearraylist13 = var1;
2696 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2697 var_nodearraylist12 = var2;
2698 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2699 var_nodearraylist11 = var3;
2700 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2701 var_nodearraylist10 = var4;
2702 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2703 var_nodearraylist9 = var5;
2704 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2705 var_nodearraylist8 = var6;
2706 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2707 var_nodearraylist7 = var7;
2708 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2709 var_nodearraylist6 = var8;
2710 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2711 var_nodearraylist5 = var9;
2712 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2713 var_nodearraylist4 = var10;
2714 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2715 var_nodearraylist3 = var11;
2716 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2717 var_nodearraylist2 = var12;
2718 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2719 var_nodearraylist1 = var13;
2720 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
2721 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
2722 CHECK_NEW_array__Array(var14);
2723 var_listnode8 = var14;
2724 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
2725 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
2726 CHECK_NEW_array__Array(var15);
2727 var_listnode16 = var15;
2728 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
2729 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
2730 CHECK_NEW_array__Array(var16);
2731 var_listnode17 = var16;
2732 var_pdocnode2 = var_nodearraylist1;
2733 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2734 cltype = type_nullable_parser_nodes__ADoc.color;
2735 idtype = type_nullable_parser_nodes__ADoc.id;
2736 if(var_pdocnode2 == NULL) {
2737 var17 = 1;
2738 } else {
2739 if(cltype >= var_pdocnode2->type->table_size) {
2740 var17 = 0;
2741 } else {
2742 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
2743 }
2744 }
2745 if (!var17) {
2746 fprintf(stderr, "Runtime error: %s", "Assert failed");
2747 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6708);
2748 exit(1);
2749 }
2750 var_tkwredefnode3 = var_nodearraylist2;
2751 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2752 cltype19 = type_nullable_parser_nodes__TKwredef.color;
2753 idtype20 = type_nullable_parser_nodes__TKwredef.id;
2754 if(var_tkwredefnode3 == NULL) {
2755 var18 = 1;
2756 } else {
2757 if(cltype19 >= var_tkwredefnode3->type->table_size) {
2758 var18 = 0;
2759 } else {
2760 var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20;
2761 }
2762 }
2763 if (!var18) {
2764 fprintf(stderr, "Runtime error: %s", "Assert failed");
2765 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6710);
2766 exit(1);
2767 }
2768 var_pvisibilitynode4 = var_nodearraylist3;
2769 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2770 cltype22 = type_nullable_parser_nodes__AVisibility.color;
2771 idtype23 = type_nullable_parser_nodes__AVisibility.id;
2772 if(var_pvisibilitynode4 == NULL) {
2773 var21 = 1;
2774 } else {
2775 if(cltype22 >= var_pvisibilitynode4->type->table_size) {
2776 var21 = 0;
2777 } else {
2778 var21 = var_pvisibilitynode4->type->type_table[cltype22] == idtype23;
2779 }
2780 }
2781 if (!var21) {
2782 fprintf(stderr, "Runtime error: %s", "Assert failed");
2783 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6712);
2784 exit(1);
2785 }
2786 var_pclasskindnode5 = var_nodearraylist4;
2787 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2788 cltype25 = type_nullable_parser_nodes__AClasskind.color;
2789 idtype26 = type_nullable_parser_nodes__AClasskind.id;
2790 if(var_pclasskindnode5 == NULL) {
2791 var24 = 1;
2792 } else {
2793 if(cltype25 >= var_pclasskindnode5->type->table_size) {
2794 var24 = 0;
2795 } else {
2796 var24 = var_pclasskindnode5->type->type_table[cltype25] == idtype26;
2797 }
2798 }
2799 if (!var24) {
2800 fprintf(stderr, "Runtime error: %s", "Assert failed");
2801 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6714);
2802 exit(1);
2803 }
2804 var_tclassidnode6 = var_nodearraylist8;
2805 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2806 cltype28 = type_nullable_parser_nodes__TClassid.color;
2807 idtype29 = type_nullable_parser_nodes__TClassid.id;
2808 if(var_tclassidnode6 == NULL) {
2809 var27 = 1;
2810 } else {
2811 if(cltype28 >= var_tclassidnode6->type->table_size) {
2812 var27 = 0;
2813 } else {
2814 var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29;
2815 }
2816 }
2817 if (!var27) {
2818 fprintf(stderr, "Runtime error: %s", "Assert failed");
2819 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6716);
2820 exit(1);
2821 }
2822 var_listnode7 = var_nodearraylist9;
2823 /* <var_listnode7:nullable Object> isa Array[Object] */
2824 cltype31 = type_array__Arraykernel__Object.color;
2825 idtype32 = type_array__Arraykernel__Object.id;
2826 if(var_listnode7 == NULL) {
2827 var30 = 0;
2828 } else {
2829 if(cltype31 >= var_listnode7->type->table_size) {
2830 var30 = 0;
2831 } else {
2832 var30 = var_listnode7->type->type_table[cltype31] == idtype32;
2833 }
2834 }
2835 if (!var30) {
2836 fprintf(stderr, "Runtime error: %s", "Assert failed");
2837 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6718);
2838 exit(1);
2839 }
2840 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction135>*/;
2841 var_listnode8 = var33;
2842 var34 = NEW_array__Array(&type_array__Arraykernel__Object);
2843 ((void (*)(val*))(var34->class->vft[COLOR_array__Array__init]))(var34) /* init on <var34:Array[Object]>*/;
2844 CHECK_NEW_array__Array(var34);
2845 var_listnode13 = var34;
2846 var_listnode12 = var_nodearraylist10;
2847 /* <var_listnode12:nullable Object> isa Array[Object] */
2848 cltype36 = type_array__Arraykernel__Object.color;
2849 idtype37 = type_array__Arraykernel__Object.id;
2850 if(var_listnode12 == NULL) {
2851 var35 = 0;
2852 } else {
2853 if(cltype36 >= var_listnode12->type->table_size) {
2854 var35 = 0;
2855 } else {
2856 var35 = var_listnode12->type->type_table[cltype36] == idtype37;
2857 }
2858 }
2859 if (!var35) {
2860 fprintf(stderr, "Runtime error: %s", "Assert failed");
2861 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6722);
2862 exit(1);
2863 }
2864 var38 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction135>*/;
2865 var_listnode13 = var38;
2866 var39 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
2867 var40 = NULL;
2868 var41 = NULL;
2869 var42 = NULL;
2870 ((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>*/;
2871 CHECK_NEW_parser_nodes__AAnnotations(var39);
2872 var_pannotationsnode9 = var39;
2873 var_pexterncodeblocknode15 = var_nodearraylist11;
2874 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
2875 cltype44 = type_nullable_parser_nodes__AExternCodeBlock.color;
2876 idtype45 = type_nullable_parser_nodes__AExternCodeBlock.id;
2877 if(var_pexterncodeblocknode15 == NULL) {
2878 var43 = 1;
2879 } else {
2880 if(cltype44 >= var_pexterncodeblocknode15->type->table_size) {
2881 var43 = 0;
2882 } else {
2883 var43 = var_pexterncodeblocknode15->type->type_table[cltype44] == idtype45;
2884 }
2885 }
2886 if (!var43) {
2887 fprintf(stderr, "Runtime error: %s", "Assert failed");
2888 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6731);
2889 exit(1);
2890 }
2891 var_tkwendnode18 = var_nodearraylist13;
2892 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
2893 cltype47 = type_nullable_parser_nodes__TKwend.color;
2894 idtype48 = type_nullable_parser_nodes__TKwend.id;
2895 if(var_tkwendnode18 == NULL) {
2896 var46 = 1;
2897 } else {
2898 if(cltype47 >= var_tkwendnode18->type->table_size) {
2899 var46 = 0;
2900 } else {
2901 var46 = var_tkwendnode18->type->type_table[cltype47] == idtype48;
2902 }
2903 }
2904 if (!var46) {
2905 fprintf(stderr, "Runtime error: %s", "Assert failed");
2906 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6733);
2907 exit(1);
2908 }
2909 var49 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2910 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var49->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var49, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var49:AStdClassdef>*/;
2911 CHECK_NEW_parser_nodes__AStdClassdef(var49);
2912 var_pclassdefnode1 = var49;
2913 var_node_list = var_pclassdefnode1;
2914 var50 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction135> */
2915 var51 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var50) /* go_to on <var_p:Parser>*/;
2916 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var51, var_node_list) /* push on <var_p:Parser>*/;
2917 RET_LABEL:;
2918 }
2919 /* method parser#ReduceAction135#action for (self: Object, Parser) */
2920 void VIRTUAL_parser__ReduceAction135__action(val* self, val* p0) {
2921 parser__ReduceAction135__action(self, p0);
2922 RET_LABEL:;
2923 }
2924 /* method parser#ReduceAction137#action for (self: ReduceAction137, Parser) */
2925 void parser__ReduceAction137__action(val* self, val* p0) {
2926 val* var_p /* var p: Parser */;
2927 val* var /* : null */;
2928 val* var_node_list /* var node_list: nullable Object */;
2929 val* var1 /* : nullable Object */;
2930 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2931 val* var2 /* : nullable Object */;
2932 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2933 val* var3 /* : nullable Object */;
2934 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2935 val* var4 /* : nullable Object */;
2936 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2937 val* var5 /* : nullable Object */;
2938 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2939 val* var6 /* : nullable Object */;
2940 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2941 val* var7 /* : nullable Object */;
2942 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2943 val* var8 /* : nullable Object */;
2944 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2945 val* var9 /* : Array[Object] */;
2946 val* var_listnode7 /* var listnode7: Array[Object] */;
2947 val* var10 /* : Array[Object] */;
2948 val* var_listnode11 /* var listnode11: Array[Object] */;
2949 val* var11 /* : Array[Object] */;
2950 val* var_listnode12 /* var listnode12: Array[Object] */;
2951 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2952 short int var12 /* : Bool */;
2953 int cltype;
2954 int idtype;
2955 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2956 short int var13 /* : Bool */;
2957 int cltype14;
2958 int idtype15;
2959 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2960 short int var16 /* : Bool */;
2961 int cltype17;
2962 int idtype18;
2963 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2964 short int var19 /* : Bool */;
2965 int cltype20;
2966 int idtype21;
2967 val* var_listnode10 /* var listnode10: nullable Object */;
2968 short int var22 /* : Bool */;
2969 int cltype23;
2970 int idtype24;
2971 val* var25 /* : Array[Object] */;
2972 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
2973 short int var26 /* : Bool */;
2974 int cltype27;
2975 int idtype28;
2976 val* var29 /* : AStdClassdef */;
2977 val* var30 /* : null */;
2978 val* var31 /* : null */;
2979 val* var32 /* : null */;
2980 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2981 long var33 /* : Int */;
2982 long var34 /* : Int */;
2983 var_p = p0;
2984 var = NULL;
2985 var_node_list = var;
2986 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2987 var_nodearraylist8 = var1;
2988 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2989 var_nodearraylist7 = var2;
2990 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2991 var_nodearraylist6 = var3;
2992 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2993 var_nodearraylist5 = var4;
2994 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2995 var_nodearraylist4 = var5;
2996 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2997 var_nodearraylist3 = var6;
2998 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2999 var_nodearraylist2 = var7;
3000 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3001 var_nodearraylist1 = var8;
3002 var9 = NEW_array__Array(&type_array__Arraykernel__Object);
3003 ((void (*)(val*))(var9->class->vft[COLOR_array__Array__init]))(var9) /* init on <var9:Array[Object]>*/;
3004 CHECK_NEW_array__Array(var9);
3005 var_listnode7 = var9;
3006 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
3007 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
3008 CHECK_NEW_array__Array(var10);
3009 var_listnode11 = var10;
3010 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
3011 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
3012 CHECK_NEW_array__Array(var11);
3013 var_listnode12 = var11;
3014 var_pdocnode2 = var_nodearraylist1;
3015 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3016 cltype = type_nullable_parser_nodes__ADoc.color;
3017 idtype = type_nullable_parser_nodes__ADoc.id;
3018 if(var_pdocnode2 == NULL) {
3019 var12 = 1;
3020 } else {
3021 if(cltype >= var_pdocnode2->type->table_size) {
3022 var12 = 0;
3023 } else {
3024 var12 = var_pdocnode2->type->type_table[cltype] == idtype;
3025 }
3026 }
3027 if (!var12) {
3028 fprintf(stderr, "Runtime error: %s", "Assert failed");
3029 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6768);
3030 exit(1);
3031 }
3032 var_pvisibilitynode4 = var_nodearraylist2;
3033 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3034 cltype14 = type_nullable_parser_nodes__AVisibility.color;
3035 idtype15 = type_nullable_parser_nodes__AVisibility.id;
3036 if(var_pvisibilitynode4 == NULL) {
3037 var13 = 1;
3038 } else {
3039 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
3040 var13 = 0;
3041 } else {
3042 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
3043 }
3044 }
3045 if (!var13) {
3046 fprintf(stderr, "Runtime error: %s", "Assert failed");
3047 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6770);
3048 exit(1);
3049 }
3050 var_pclasskindnode5 = var_nodearraylist3;
3051 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3052 cltype17 = type_nullable_parser_nodes__AClasskind.color;
3053 idtype18 = type_nullable_parser_nodes__AClasskind.id;
3054 if(var_pclasskindnode5 == NULL) {
3055 var16 = 1;
3056 } else {
3057 if(cltype17 >= var_pclasskindnode5->type->table_size) {
3058 var16 = 0;
3059 } else {
3060 var16 = var_pclasskindnode5->type->type_table[cltype17] == idtype18;
3061 }
3062 }
3063 if (!var16) {
3064 fprintf(stderr, "Runtime error: %s", "Assert failed");
3065 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6772);
3066 exit(1);
3067 }
3068 var_tclassidnode6 = var_nodearraylist5;
3069 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3070 cltype20 = type_nullable_parser_nodes__TClassid.color;
3071 idtype21 = type_nullable_parser_nodes__TClassid.id;
3072 if(var_tclassidnode6 == NULL) {
3073 var19 = 1;
3074 } else {
3075 if(cltype20 >= var_tclassidnode6->type->table_size) {
3076 var19 = 0;
3077 } else {
3078 var19 = var_tclassidnode6->type->type_table[cltype20] == idtype21;
3079 }
3080 }
3081 if (!var19) {
3082 fprintf(stderr, "Runtime error: %s", "Assert failed");
3083 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6774);
3084 exit(1);
3085 }
3086 var_listnode10 = var_nodearraylist6;
3087 /* <var_listnode10:nullable Object> isa Array[Object] */
3088 cltype23 = type_array__Arraykernel__Object.color;
3089 idtype24 = type_array__Arraykernel__Object.id;
3090 if(var_listnode10 == NULL) {
3091 var22 = 0;
3092 } else {
3093 if(cltype23 >= var_listnode10->type->table_size) {
3094 var22 = 0;
3095 } else {
3096 var22 = var_listnode10->type->type_table[cltype23] == idtype24;
3097 }
3098 }
3099 if (!var22) {
3100 fprintf(stderr, "Runtime error: %s", "Assert failed");
3101 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6776);
3102 exit(1);
3103 }
3104 var25 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction137>*/;
3105 var_listnode11 = var25;
3106 var_tkwendnode13 = var_nodearraylist8;
3107 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
3108 cltype27 = type_nullable_parser_nodes__TKwend.color;
3109 idtype28 = type_nullable_parser_nodes__TKwend.id;
3110 if(var_tkwendnode13 == NULL) {
3111 var26 = 1;
3112 } else {
3113 if(cltype27 >= var_tkwendnode13->type->table_size) {
3114 var26 = 0;
3115 } else {
3116 var26 = var_tkwendnode13->type->type_table[cltype27] == idtype28;
3117 }
3118 }
3119 if (!var26) {
3120 fprintf(stderr, "Runtime error: %s", "Assert failed");
3121 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6779);
3122 exit(1);
3123 }
3124 var29 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3125 var30 = NULL;
3126 var31 = NULL;
3127 var32 = NULL;
3128 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var29, var_pdocnode2, var30, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var31, var32, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var29:AStdClassdef>*/;
3129 CHECK_NEW_parser_nodes__AStdClassdef(var29);
3130 var_pclassdefnode1 = var29;
3131 var_node_list = var_pclassdefnode1;
3132 var33 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction137> */
3133 var34 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var33) /* go_to on <var_p:Parser>*/;
3134 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var34, var_node_list) /* push on <var_p:Parser>*/;
3135 RET_LABEL:;
3136 }
3137 /* method parser#ReduceAction137#action for (self: Object, Parser) */
3138 void VIRTUAL_parser__ReduceAction137__action(val* self, val* p0) {
3139 parser__ReduceAction137__action(self, p0);
3140 RET_LABEL:;
3141 }
3142 /* method parser#ReduceAction138#action for (self: ReduceAction138, Parser) */
3143 void parser__ReduceAction138__action(val* self, val* p0) {
3144 val* var_p /* var p: Parser */;
3145 val* var /* : null */;
3146 val* var_node_list /* var node_list: nullable Object */;
3147 val* var1 /* : nullable Object */;
3148 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3149 val* var2 /* : nullable Object */;
3150 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3151 val* var3 /* : nullable Object */;
3152 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3153 val* var4 /* : nullable Object */;
3154 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3155 val* var5 /* : nullable Object */;
3156 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3157 val* var6 /* : nullable Object */;
3158 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3159 val* var7 /* : nullable Object */;
3160 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3161 val* var8 /* : nullable Object */;
3162 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3163 val* var9 /* : nullable Object */;
3164 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3165 val* var10 /* : Array[Object] */;
3166 val* var_listnode7 /* var listnode7: Array[Object] */;
3167 val* var11 /* : Array[Object] */;
3168 val* var_listnode11 /* var listnode11: Array[Object] */;
3169 val* var12 /* : Array[Object] */;
3170 val* var_listnode12 /* var listnode12: Array[Object] */;
3171 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3172 short int var13 /* : Bool */;
3173 int cltype;
3174 int idtype;
3175 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
3176 short int var14 /* : Bool */;
3177 int cltype15;
3178 int idtype16;
3179 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3180 short int var17 /* : Bool */;
3181 int cltype18;
3182 int idtype19;
3183 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3184 short int var20 /* : Bool */;
3185 int cltype21;
3186 int idtype22;
3187 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3188 short int var23 /* : Bool */;
3189 int cltype24;
3190 int idtype25;
3191 val* var_listnode10 /* var listnode10: nullable Object */;
3192 short int var26 /* : Bool */;
3193 int cltype27;
3194 int idtype28;
3195 val* var29 /* : Array[Object] */;
3196 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
3197 short int var30 /* : Bool */;
3198 int cltype31;
3199 int idtype32;
3200 val* var33 /* : AStdClassdef */;
3201 val* var34 /* : null */;
3202 val* var35 /* : null */;
3203 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3204 long var36 /* : Int */;
3205 long var37 /* : Int */;
3206 var_p = p0;
3207 var = NULL;
3208 var_node_list = var;
3209 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3210 var_nodearraylist9 = var1;
3211 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3212 var_nodearraylist8 = var2;
3213 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3214 var_nodearraylist7 = var3;
3215 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3216 var_nodearraylist6 = var4;
3217 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3218 var_nodearraylist5 = var5;
3219 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3220 var_nodearraylist4 = var6;
3221 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3222 var_nodearraylist3 = var7;
3223 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3224 var_nodearraylist2 = var8;
3225 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3226 var_nodearraylist1 = var9;
3227 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
3228 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
3229 CHECK_NEW_array__Array(var10);
3230 var_listnode7 = var10;
3231 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
3232 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
3233 CHECK_NEW_array__Array(var11);
3234 var_listnode11 = var11;
3235 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
3236 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
3237 CHECK_NEW_array__Array(var12);
3238 var_listnode12 = var12;
3239 var_pdocnode2 = var_nodearraylist1;
3240 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3241 cltype = type_nullable_parser_nodes__ADoc.color;
3242 idtype = type_nullable_parser_nodes__ADoc.id;
3243 if(var_pdocnode2 == NULL) {
3244 var13 = 1;
3245 } else {
3246 if(cltype >= var_pdocnode2->type->table_size) {
3247 var13 = 0;
3248 } else {
3249 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
3250 }
3251 }
3252 if (!var13) {
3253 fprintf(stderr, "Runtime error: %s", "Assert failed");
3254 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6815);
3255 exit(1);
3256 }
3257 var_tkwredefnode3 = var_nodearraylist2;
3258 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3259 cltype15 = type_nullable_parser_nodes__TKwredef.color;
3260 idtype16 = type_nullable_parser_nodes__TKwredef.id;
3261 if(var_tkwredefnode3 == NULL) {
3262 var14 = 1;
3263 } else {
3264 if(cltype15 >= var_tkwredefnode3->type->table_size) {
3265 var14 = 0;
3266 } else {
3267 var14 = var_tkwredefnode3->type->type_table[cltype15] == idtype16;
3268 }
3269 }
3270 if (!var14) {
3271 fprintf(stderr, "Runtime error: %s", "Assert failed");
3272 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6817);
3273 exit(1);
3274 }
3275 var_pvisibilitynode4 = var_nodearraylist3;
3276 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3277 cltype18 = type_nullable_parser_nodes__AVisibility.color;
3278 idtype19 = type_nullable_parser_nodes__AVisibility.id;
3279 if(var_pvisibilitynode4 == NULL) {
3280 var17 = 1;
3281 } else {
3282 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
3283 var17 = 0;
3284 } else {
3285 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
3286 }
3287 }
3288 if (!var17) {
3289 fprintf(stderr, "Runtime error: %s", "Assert failed");
3290 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6819);
3291 exit(1);
3292 }
3293 var_pclasskindnode5 = var_nodearraylist4;
3294 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3295 cltype21 = type_nullable_parser_nodes__AClasskind.color;
3296 idtype22 = type_nullable_parser_nodes__AClasskind.id;
3297 if(var_pclasskindnode5 == NULL) {
3298 var20 = 1;
3299 } else {
3300 if(cltype21 >= var_pclasskindnode5->type->table_size) {
3301 var20 = 0;
3302 } else {
3303 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
3304 }
3305 }
3306 if (!var20) {
3307 fprintf(stderr, "Runtime error: %s", "Assert failed");
3308 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6821);
3309 exit(1);
3310 }
3311 var_tclassidnode6 = var_nodearraylist6;
3312 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3313 cltype24 = type_nullable_parser_nodes__TClassid.color;
3314 idtype25 = type_nullable_parser_nodes__TClassid.id;
3315 if(var_tclassidnode6 == NULL) {
3316 var23 = 1;
3317 } else {
3318 if(cltype24 >= var_tclassidnode6->type->table_size) {
3319 var23 = 0;
3320 } else {
3321 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
3322 }
3323 }
3324 if (!var23) {
3325 fprintf(stderr, "Runtime error: %s", "Assert failed");
3326 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6823);
3327 exit(1);
3328 }
3329 var_listnode10 = var_nodearraylist7;
3330 /* <var_listnode10:nullable Object> isa Array[Object] */
3331 cltype27 = type_array__Arraykernel__Object.color;
3332 idtype28 = type_array__Arraykernel__Object.id;
3333 if(var_listnode10 == NULL) {
3334 var26 = 0;
3335 } else {
3336 if(cltype27 >= var_listnode10->type->table_size) {
3337 var26 = 0;
3338 } else {
3339 var26 = var_listnode10->type->type_table[cltype27] == idtype28;
3340 }
3341 }
3342 if (!var26) {
3343 fprintf(stderr, "Runtime error: %s", "Assert failed");
3344 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6825);
3345 exit(1);
3346 }
3347 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction138>*/;
3348 var_listnode11 = var29;
3349 var_tkwendnode13 = var_nodearraylist9;
3350 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
3351 cltype31 = type_nullable_parser_nodes__TKwend.color;
3352 idtype32 = type_nullable_parser_nodes__TKwend.id;
3353 if(var_tkwendnode13 == NULL) {
3354 var30 = 1;
3355 } else {
3356 if(cltype31 >= var_tkwendnode13->type->table_size) {
3357 var30 = 0;
3358 } else {
3359 var30 = var_tkwendnode13->type->type_table[cltype31] == idtype32;
3360 }
3361 }
3362 if (!var30) {
3363 fprintf(stderr, "Runtime error: %s", "Assert failed");
3364 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6828);
3365 exit(1);
3366 }
3367 var33 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3368 var34 = NULL;
3369 var35 = NULL;
3370 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var34, var35, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var33:AStdClassdef>*/;
3371 CHECK_NEW_parser_nodes__AStdClassdef(var33);
3372 var_pclassdefnode1 = var33;
3373 var_node_list = var_pclassdefnode1;
3374 var36 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction138> */
3375 var37 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var36) /* go_to on <var_p:Parser>*/;
3376 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var37, var_node_list) /* push on <var_p:Parser>*/;
3377 RET_LABEL:;
3378 }
3379 /* method parser#ReduceAction138#action for (self: Object, Parser) */
3380 void VIRTUAL_parser__ReduceAction138__action(val* self, val* p0) {
3381 parser__ReduceAction138__action(self, p0);
3382 RET_LABEL:;
3383 }
3384 /* method parser#ReduceAction139#action for (self: ReduceAction139, Parser) */
3385 void parser__ReduceAction139__action(val* self, val* p0) {
3386 val* var_p /* var p: Parser */;
3387 val* var /* : null */;
3388 val* var_node_list /* var node_list: nullable Object */;
3389 val* var1 /* : nullable Object */;
3390 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3391 val* var2 /* : nullable Object */;
3392 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3393 val* var3 /* : nullable Object */;
3394 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3395 val* var4 /* : nullable Object */;
3396 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3397 val* var5 /* : nullable Object */;
3398 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3399 val* var6 /* : nullable Object */;
3400 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3401 val* var7 /* : nullable Object */;
3402 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3403 val* var8 /* : nullable Object */;
3404 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3405 val* var9 /* : nullable Object */;
3406 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3407 val* var10 /* : Array[Object] */;
3408 val* var_listnode7 /* var listnode7: Array[Object] */;
3409 val* var11 /* : Array[Object] */;
3410 val* var_listnode11 /* var listnode11: Array[Object] */;
3411 val* var12 /* : Array[Object] */;
3412 val* var_listnode12 /* var listnode12: Array[Object] */;
3413 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3414 short int var13 /* : Bool */;
3415 int cltype;
3416 int idtype;
3417 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3418 short int var14 /* : Bool */;
3419 int cltype15;
3420 int idtype16;
3421 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3422 short int var17 /* : Bool */;
3423 int cltype18;
3424 int idtype19;
3425 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3426 short int var20 /* : Bool */;
3427 int cltype21;
3428 int idtype22;
3429 val* var_listnode10 /* var listnode10: nullable Object */;
3430 short int var23 /* : Bool */;
3431 int cltype24;
3432 int idtype25;
3433 val* var26 /* : Array[Object] */;
3434 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
3435 short int var27 /* : Bool */;
3436 int cltype28;
3437 int idtype29;
3438 val* var30 /* : AStdClassdef */;
3439 val* var31 /* : null */;
3440 val* var32 /* : null */;
3441 val* var33 /* : null */;
3442 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3443 long var34 /* : Int */;
3444 long var35 /* : Int */;
3445 var_p = p0;
3446 var = NULL;
3447 var_node_list = var;
3448 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3449 var_nodearraylist9 = var1;
3450 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3451 var_nodearraylist8 = var2;
3452 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3453 var_nodearraylist7 = var3;
3454 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3455 var_nodearraylist6 = var4;
3456 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3457 var_nodearraylist5 = var5;
3458 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3459 var_nodearraylist4 = var6;
3460 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3461 var_nodearraylist3 = var7;
3462 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3463 var_nodearraylist2 = var8;
3464 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3465 var_nodearraylist1 = var9;
3466 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
3467 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
3468 CHECK_NEW_array__Array(var10);
3469 var_listnode7 = var10;
3470 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
3471 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
3472 CHECK_NEW_array__Array(var11);
3473 var_listnode11 = var11;
3474 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
3475 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
3476 CHECK_NEW_array__Array(var12);
3477 var_listnode12 = var12;
3478 var_pdocnode2 = var_nodearraylist1;
3479 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3480 cltype = type_nullable_parser_nodes__ADoc.color;
3481 idtype = type_nullable_parser_nodes__ADoc.id;
3482 if(var_pdocnode2 == NULL) {
3483 var13 = 1;
3484 } else {
3485 if(cltype >= var_pdocnode2->type->table_size) {
3486 var13 = 0;
3487 } else {
3488 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
3489 }
3490 }
3491 if (!var13) {
3492 fprintf(stderr, "Runtime error: %s", "Assert failed");
3493 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6864);
3494 exit(1);
3495 }
3496 var_pvisibilitynode4 = var_nodearraylist2;
3497 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3498 cltype15 = type_nullable_parser_nodes__AVisibility.color;
3499 idtype16 = type_nullable_parser_nodes__AVisibility.id;
3500 if(var_pvisibilitynode4 == NULL) {
3501 var14 = 1;
3502 } else {
3503 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
3504 var14 = 0;
3505 } else {
3506 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
3507 }
3508 }
3509 if (!var14) {
3510 fprintf(stderr, "Runtime error: %s", "Assert failed");
3511 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6866);
3512 exit(1);
3513 }
3514 var_pclasskindnode5 = var_nodearraylist3;
3515 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3516 cltype18 = type_nullable_parser_nodes__AClasskind.color;
3517 idtype19 = type_nullable_parser_nodes__AClasskind.id;
3518 if(var_pclasskindnode5 == NULL) {
3519 var17 = 1;
3520 } else {
3521 if(cltype18 >= var_pclasskindnode5->type->table_size) {
3522 var17 = 0;
3523 } else {
3524 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
3525 }
3526 }
3527 if (!var17) {
3528 fprintf(stderr, "Runtime error: %s", "Assert failed");
3529 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6868);
3530 exit(1);
3531 }
3532 var_tclassidnode6 = var_nodearraylist6;
3533 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3534 cltype21 = type_nullable_parser_nodes__TClassid.color;
3535 idtype22 = type_nullable_parser_nodes__TClassid.id;
3536 if(var_tclassidnode6 == NULL) {
3537 var20 = 1;
3538 } else {
3539 if(cltype21 >= var_tclassidnode6->type->table_size) {
3540 var20 = 0;
3541 } else {
3542 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
3543 }
3544 }
3545 if (!var20) {
3546 fprintf(stderr, "Runtime error: %s", "Assert failed");
3547 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6870);
3548 exit(1);
3549 }
3550 var_listnode10 = var_nodearraylist7;
3551 /* <var_listnode10:nullable Object> isa Array[Object] */
3552 cltype24 = type_array__Arraykernel__Object.color;
3553 idtype25 = type_array__Arraykernel__Object.id;
3554 if(var_listnode10 == NULL) {
3555 var23 = 0;
3556 } else {
3557 if(cltype24 >= var_listnode10->type->table_size) {
3558 var23 = 0;
3559 } else {
3560 var23 = var_listnode10->type->type_table[cltype24] == idtype25;
3561 }
3562 }
3563 if (!var23) {
3564 fprintf(stderr, "Runtime error: %s", "Assert failed");
3565 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6872);
3566 exit(1);
3567 }
3568 var26 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction139>*/;
3569 var_listnode11 = var26;
3570 var_tkwendnode13 = var_nodearraylist9;
3571 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
3572 cltype28 = type_nullable_parser_nodes__TKwend.color;
3573 idtype29 = type_nullable_parser_nodes__TKwend.id;
3574 if(var_tkwendnode13 == NULL) {
3575 var27 = 1;
3576 } else {
3577 if(cltype28 >= var_tkwendnode13->type->table_size) {
3578 var27 = 0;
3579 } else {
3580 var27 = var_tkwendnode13->type->type_table[cltype28] == idtype29;
3581 }
3582 }
3583 if (!var27) {
3584 fprintf(stderr, "Runtime error: %s", "Assert failed");
3585 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6875);
3586 exit(1);
3587 }
3588 var30 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3589 var31 = NULL;
3590 var32 = NULL;
3591 var33 = NULL;
3592 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var30->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var30, var_pdocnode2, var31, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var32, var33, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var30:AStdClassdef>*/;
3593 CHECK_NEW_parser_nodes__AStdClassdef(var30);
3594 var_pclassdefnode1 = var30;
3595 var_node_list = var_pclassdefnode1;
3596 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction139> */
3597 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
3598 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
3599 RET_LABEL:;
3600 }
3601 /* method parser#ReduceAction139#action for (self: Object, Parser) */
3602 void VIRTUAL_parser__ReduceAction139__action(val* self, val* p0) {
3603 parser__ReduceAction139__action(self, p0);
3604 RET_LABEL:;
3605 }
3606 /* method parser#ReduceAction140#action for (self: ReduceAction140, Parser) */
3607 void parser__ReduceAction140__action(val* self, val* p0) {
3608 val* var_p /* var p: Parser */;
3609 val* var /* : null */;
3610 val* var_node_list /* var node_list: nullable Object */;
3611 val* var1 /* : nullable Object */;
3612 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
3613 val* var2 /* : nullable Object */;
3614 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3615 val* var3 /* : nullable Object */;
3616 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3617 val* var4 /* : nullable Object */;
3618 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3619 val* var5 /* : nullable Object */;
3620 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3621 val* var6 /* : nullable Object */;
3622 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3623 val* var7 /* : nullable Object */;
3624 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3625 val* var8 /* : nullable Object */;
3626 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3627 val* var9 /* : nullable Object */;
3628 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3629 val* var10 /* : nullable Object */;
3630 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3631 val* var11 /* : Array[Object] */;
3632 val* var_listnode7 /* var listnode7: Array[Object] */;
3633 val* var12 /* : Array[Object] */;
3634 val* var_listnode11 /* var listnode11: Array[Object] */;
3635 val* var13 /* : Array[Object] */;
3636 val* var_listnode12 /* var listnode12: Array[Object] */;
3637 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3638 short int var14 /* : Bool */;
3639 int cltype;
3640 int idtype;
3641 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3642 short int var15 /* : Bool */;
3643 int cltype16;
3644 int idtype17;
3645 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3646 short int var18 /* : Bool */;
3647 int cltype19;
3648 int idtype20;
3649 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3650 short int var21 /* : Bool */;
3651 int cltype22;
3652 int idtype23;
3653 val* var_listnode10 /* var listnode10: nullable Object */;
3654 short int var24 /* : Bool */;
3655 int cltype25;
3656 int idtype26;
3657 val* var27 /* : Array[Object] */;
3658 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
3659 short int var28 /* : Bool */;
3660 int cltype29;
3661 int idtype30;
3662 val* var31 /* : AStdClassdef */;
3663 val* var32 /* : null */;
3664 val* var33 /* : null */;
3665 val* var34 /* : null */;
3666 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3667 long var35 /* : Int */;
3668 long var36 /* : Int */;
3669 var_p = p0;
3670 var = NULL;
3671 var_node_list = var;
3672 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3673 var_nodearraylist10 = var1;
3674 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3675 var_nodearraylist9 = var2;
3676 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3677 var_nodearraylist8 = var3;
3678 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3679 var_nodearraylist7 = var4;
3680 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3681 var_nodearraylist6 = var5;
3682 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3683 var_nodearraylist5 = var6;
3684 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3685 var_nodearraylist4 = var7;
3686 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3687 var_nodearraylist3 = var8;
3688 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3689 var_nodearraylist2 = var9;
3690 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3691 var_nodearraylist1 = var10;
3692 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
3693 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
3694 CHECK_NEW_array__Array(var11);
3695 var_listnode7 = var11;
3696 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
3697 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
3698 CHECK_NEW_array__Array(var12);
3699 var_listnode11 = var12;
3700 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
3701 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
3702 CHECK_NEW_array__Array(var13);
3703 var_listnode12 = var13;
3704 var_pdocnode2 = var_nodearraylist1;
3705 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3706 cltype = type_nullable_parser_nodes__ADoc.color;
3707 idtype = type_nullable_parser_nodes__ADoc.id;
3708 if(var_pdocnode2 == NULL) {
3709 var14 = 1;
3710 } else {
3711 if(cltype >= var_pdocnode2->type->table_size) {
3712 var14 = 0;
3713 } else {
3714 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
3715 }
3716 }
3717 if (!var14) {
3718 fprintf(stderr, "Runtime error: %s", "Assert failed");
3719 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6912);
3720 exit(1);
3721 }
3722 var_pvisibilitynode4 = var_nodearraylist2;
3723 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3724 cltype16 = type_nullable_parser_nodes__AVisibility.color;
3725 idtype17 = type_nullable_parser_nodes__AVisibility.id;
3726 if(var_pvisibilitynode4 == NULL) {
3727 var15 = 1;
3728 } else {
3729 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
3730 var15 = 0;
3731 } else {
3732 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
3733 }
3734 }
3735 if (!var15) {
3736 fprintf(stderr, "Runtime error: %s", "Assert failed");
3737 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6914);
3738 exit(1);
3739 }
3740 var_pclasskindnode5 = var_nodearraylist3;
3741 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3742 cltype19 = type_nullable_parser_nodes__AClasskind.color;
3743 idtype20 = type_nullable_parser_nodes__AClasskind.id;
3744 if(var_pclasskindnode5 == NULL) {
3745 var18 = 1;
3746 } else {
3747 if(cltype19 >= var_pclasskindnode5->type->table_size) {
3748 var18 = 0;
3749 } else {
3750 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
3751 }
3752 }
3753 if (!var18) {
3754 fprintf(stderr, "Runtime error: %s", "Assert failed");
3755 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6916);
3756 exit(1);
3757 }
3758 var_tclassidnode6 = var_nodearraylist7;
3759 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3760 cltype22 = type_nullable_parser_nodes__TClassid.color;
3761 idtype23 = type_nullable_parser_nodes__TClassid.id;
3762 if(var_tclassidnode6 == NULL) {
3763 var21 = 1;
3764 } else {
3765 if(cltype22 >= var_tclassidnode6->type->table_size) {
3766 var21 = 0;
3767 } else {
3768 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
3769 }
3770 }
3771 if (!var21) {
3772 fprintf(stderr, "Runtime error: %s", "Assert failed");
3773 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6918);
3774 exit(1);
3775 }
3776 var_listnode10 = var_nodearraylist8;
3777 /* <var_listnode10:nullable Object> isa Array[Object] */
3778 cltype25 = type_array__Arraykernel__Object.color;
3779 idtype26 = type_array__Arraykernel__Object.id;
3780 if(var_listnode10 == NULL) {
3781 var24 = 0;
3782 } else {
3783 if(cltype25 >= var_listnode10->type->table_size) {
3784 var24 = 0;
3785 } else {
3786 var24 = var_listnode10->type->type_table[cltype25] == idtype26;
3787 }
3788 }
3789 if (!var24) {
3790 fprintf(stderr, "Runtime error: %s", "Assert failed");
3791 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6920);
3792 exit(1);
3793 }
3794 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction140>*/;
3795 var_listnode11 = var27;
3796 var_tkwendnode13 = var_nodearraylist10;
3797 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
3798 cltype29 = type_nullable_parser_nodes__TKwend.color;
3799 idtype30 = type_nullable_parser_nodes__TKwend.id;
3800 if(var_tkwendnode13 == NULL) {
3801 var28 = 1;
3802 } else {
3803 if(cltype29 >= var_tkwendnode13->type->table_size) {
3804 var28 = 0;
3805 } else {
3806 var28 = var_tkwendnode13->type->type_table[cltype29] == idtype30;
3807 }
3808 }
3809 if (!var28) {
3810 fprintf(stderr, "Runtime error: %s", "Assert failed");
3811 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6923);
3812 exit(1);
3813 }
3814 var31 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3815 var32 = NULL;
3816 var33 = NULL;
3817 var34 = NULL;
3818 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var31->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var31, var_pdocnode2, var32, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var33, var34, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var31:AStdClassdef>*/;
3819 CHECK_NEW_parser_nodes__AStdClassdef(var31);
3820 var_pclassdefnode1 = var31;
3821 var_node_list = var_pclassdefnode1;
3822 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction140> */
3823 var36 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var35) /* go_to on <var_p:Parser>*/;
3824 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var36, var_node_list) /* push on <var_p:Parser>*/;
3825 RET_LABEL:;
3826 }
3827 /* method parser#ReduceAction140#action for (self: Object, Parser) */
3828 void VIRTUAL_parser__ReduceAction140__action(val* self, val* p0) {
3829 parser__ReduceAction140__action(self, p0);
3830 RET_LABEL:;
3831 }
3832 /* method parser#ReduceAction142#action for (self: ReduceAction142, Parser) */
3833 void parser__ReduceAction142__action(val* self, val* p0) {
3834 val* var_p /* var p: Parser */;
3835 val* var /* : null */;
3836 val* var_node_list /* var node_list: nullable Object */;
3837 val* var1 /* : nullable Object */;
3838 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
3839 val* var2 /* : nullable Object */;
3840 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3841 val* var3 /* : nullable Object */;
3842 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3843 val* var4 /* : nullable Object */;
3844 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3845 val* var5 /* : nullable Object */;
3846 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3847 val* var6 /* : nullable Object */;
3848 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3849 val* var7 /* : nullable Object */;
3850 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3851 val* var8 /* : nullable Object */;
3852 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3853 val* var9 /* : nullable Object */;
3854 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3855 val* var10 /* : nullable Object */;
3856 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3857 val* var11 /* : Array[Object] */;
3858 val* var_listnode7 /* var listnode7: Array[Object] */;
3859 val* var12 /* : Array[Object] */;
3860 val* var_listnode11 /* var listnode11: Array[Object] */;
3861 val* var13 /* : Array[Object] */;
3862 val* var_listnode12 /* var listnode12: Array[Object] */;
3863 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3864 short int var14 /* : Bool */;
3865 int cltype;
3866 int idtype;
3867 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
3868 short int var15 /* : Bool */;
3869 int cltype16;
3870 int idtype17;
3871 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3872 short int var18 /* : Bool */;
3873 int cltype19;
3874 int idtype20;
3875 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3876 short int var21 /* : Bool */;
3877 int cltype22;
3878 int idtype23;
3879 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3880 short int var24 /* : Bool */;
3881 int cltype25;
3882 int idtype26;
3883 val* var_listnode10 /* var listnode10: nullable Object */;
3884 short int var27 /* : Bool */;
3885 int cltype28;
3886 int idtype29;
3887 val* var30 /* : Array[Object] */;
3888 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
3889 short int var31 /* : Bool */;
3890 int cltype32;
3891 int idtype33;
3892 val* var34 /* : AStdClassdef */;
3893 val* var35 /* : null */;
3894 val* var36 /* : null */;
3895 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3896 long var37 /* : Int */;
3897 long var38 /* : Int */;
3898 var_p = p0;
3899 var = NULL;
3900 var_node_list = var;
3901 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3902 var_nodearraylist10 = var1;
3903 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3904 var_nodearraylist9 = var2;
3905 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3906 var_nodearraylist8 = var3;
3907 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3908 var_nodearraylist7 = var4;
3909 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3910 var_nodearraylist6 = var5;
3911 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3912 var_nodearraylist5 = var6;
3913 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3914 var_nodearraylist4 = var7;
3915 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3916 var_nodearraylist3 = var8;
3917 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3918 var_nodearraylist2 = var9;
3919 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3920 var_nodearraylist1 = var10;
3921 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
3922 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
3923 CHECK_NEW_array__Array(var11);
3924 var_listnode7 = var11;
3925 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
3926 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
3927 CHECK_NEW_array__Array(var12);
3928 var_listnode11 = var12;
3929 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
3930 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
3931 CHECK_NEW_array__Array(var13);
3932 var_listnode12 = var13;
3933 var_pdocnode2 = var_nodearraylist1;
3934 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3935 cltype = type_nullable_parser_nodes__ADoc.color;
3936 idtype = type_nullable_parser_nodes__ADoc.id;
3937 if(var_pdocnode2 == NULL) {
3938 var14 = 1;
3939 } else {
3940 if(cltype >= var_pdocnode2->type->table_size) {
3941 var14 = 0;
3942 } else {
3943 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
3944 }
3945 }
3946 if (!var14) {
3947 fprintf(stderr, "Runtime error: %s", "Assert failed");
3948 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6960);
3949 exit(1);
3950 }
3951 var_tkwredefnode3 = var_nodearraylist2;
3952 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3953 cltype16 = type_nullable_parser_nodes__TKwredef.color;
3954 idtype17 = type_nullable_parser_nodes__TKwredef.id;
3955 if(var_tkwredefnode3 == NULL) {
3956 var15 = 1;
3957 } else {
3958 if(cltype16 >= var_tkwredefnode3->type->table_size) {
3959 var15 = 0;
3960 } else {
3961 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
3962 }
3963 }
3964 if (!var15) {
3965 fprintf(stderr, "Runtime error: %s", "Assert failed");
3966 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6962);
3967 exit(1);
3968 }
3969 var_pvisibilitynode4 = var_nodearraylist3;
3970 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3971 cltype19 = type_nullable_parser_nodes__AVisibility.color;
3972 idtype20 = type_nullable_parser_nodes__AVisibility.id;
3973 if(var_pvisibilitynode4 == NULL) {
3974 var18 = 1;
3975 } else {
3976 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
3977 var18 = 0;
3978 } else {
3979 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
3980 }
3981 }
3982 if (!var18) {
3983 fprintf(stderr, "Runtime error: %s", "Assert failed");
3984 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6964);
3985 exit(1);
3986 }
3987 var_pclasskindnode5 = var_nodearraylist4;
3988 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3989 cltype22 = type_nullable_parser_nodes__AClasskind.color;
3990 idtype23 = type_nullable_parser_nodes__AClasskind.id;
3991 if(var_pclasskindnode5 == NULL) {
3992 var21 = 1;
3993 } else {
3994 if(cltype22 >= var_pclasskindnode5->type->table_size) {
3995 var21 = 0;
3996 } else {
3997 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
3998 }
3999 }
4000 if (!var21) {
4001 fprintf(stderr, "Runtime error: %s", "Assert failed");
4002 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6966);
4003 exit(1);
4004 }
4005 var_tclassidnode6 = var_nodearraylist7;
4006 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4007 cltype25 = type_nullable_parser_nodes__TClassid.color;
4008 idtype26 = type_nullable_parser_nodes__TClassid.id;
4009 if(var_tclassidnode6 == NULL) {
4010 var24 = 1;
4011 } else {
4012 if(cltype25 >= var_tclassidnode6->type->table_size) {
4013 var24 = 0;
4014 } else {
4015 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
4016 }
4017 }
4018 if (!var24) {
4019 fprintf(stderr, "Runtime error: %s", "Assert failed");
4020 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6968);
4021 exit(1);
4022 }
4023 var_listnode10 = var_nodearraylist8;
4024 /* <var_listnode10:nullable Object> isa Array[Object] */
4025 cltype28 = type_array__Arraykernel__Object.color;
4026 idtype29 = type_array__Arraykernel__Object.id;
4027 if(var_listnode10 == NULL) {
4028 var27 = 0;
4029 } else {
4030 if(cltype28 >= var_listnode10->type->table_size) {
4031 var27 = 0;
4032 } else {
4033 var27 = var_listnode10->type->type_table[cltype28] == idtype29;
4034 }
4035 }
4036 if (!var27) {
4037 fprintf(stderr, "Runtime error: %s", "Assert failed");
4038 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6970);
4039 exit(1);
4040 }
4041 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction142>*/;
4042 var_listnode11 = var30;
4043 var_tkwendnode13 = var_nodearraylist10;
4044 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
4045 cltype32 = type_nullable_parser_nodes__TKwend.color;
4046 idtype33 = type_nullable_parser_nodes__TKwend.id;
4047 if(var_tkwendnode13 == NULL) {
4048 var31 = 1;
4049 } else {
4050 if(cltype32 >= var_tkwendnode13->type->table_size) {
4051 var31 = 0;
4052 } else {
4053 var31 = var_tkwendnode13->type->type_table[cltype32] == idtype33;
4054 }
4055 }
4056 if (!var31) {
4057 fprintf(stderr, "Runtime error: %s", "Assert failed");
4058 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 6973);
4059 exit(1);
4060 }
4061 var34 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4062 var35 = NULL;
4063 var36 = NULL;
4064 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var34->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var34, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var35, var36, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var34:AStdClassdef>*/;
4065 CHECK_NEW_parser_nodes__AStdClassdef(var34);
4066 var_pclassdefnode1 = var34;
4067 var_node_list = var_pclassdefnode1;
4068 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction142> */
4069 var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on <var_p:Parser>*/;
4070 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on <var_p:Parser>*/;
4071 RET_LABEL:;
4072 }
4073 /* method parser#ReduceAction142#action for (self: Object, Parser) */
4074 void VIRTUAL_parser__ReduceAction142__action(val* self, val* p0) {
4075 parser__ReduceAction142__action(self, p0);
4076 RET_LABEL:;
4077 }
4078 /* method parser#ReduceAction143#action for (self: ReduceAction143, Parser) */
4079 void parser__ReduceAction143__action(val* self, val* p0) {
4080 val* var_p /* var p: Parser */;
4081 val* var /* : null */;
4082 val* var_node_list /* var node_list: nullable Object */;
4083 val* var1 /* : nullable Object */;
4084 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
4085 val* var2 /* : nullable Object */;
4086 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4087 val* var3 /* : nullable Object */;
4088 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4089 val* var4 /* : nullable Object */;
4090 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4091 val* var5 /* : nullable Object */;
4092 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4093 val* var6 /* : nullable Object */;
4094 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4095 val* var7 /* : nullable Object */;
4096 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4097 val* var8 /* : nullable Object */;
4098 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4099 val* var9 /* : nullable Object */;
4100 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4101 val* var10 /* : nullable Object */;
4102 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4103 val* var11 /* : nullable Object */;
4104 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4105 val* var12 /* : Array[Object] */;
4106 val* var_listnode7 /* var listnode7: Array[Object] */;
4107 val* var13 /* : Array[Object] */;
4108 val* var_listnode11 /* var listnode11: Array[Object] */;
4109 val* var14 /* : Array[Object] */;
4110 val* var_listnode12 /* var listnode12: Array[Object] */;
4111 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4112 short int var15 /* : Bool */;
4113 int cltype;
4114 int idtype;
4115 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
4116 short int var16 /* : Bool */;
4117 int cltype17;
4118 int idtype18;
4119 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4120 short int var19 /* : Bool */;
4121 int cltype20;
4122 int idtype21;
4123 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4124 short int var22 /* : Bool */;
4125 int cltype23;
4126 int idtype24;
4127 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4128 short int var25 /* : Bool */;
4129 int cltype26;
4130 int idtype27;
4131 val* var_listnode10 /* var listnode10: nullable Object */;
4132 short int var28 /* : Bool */;
4133 int cltype29;
4134 int idtype30;
4135 val* var31 /* : Array[Object] */;
4136 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
4137 short int var32 /* : Bool */;
4138 int cltype33;
4139 int idtype34;
4140 val* var35 /* : AStdClassdef */;
4141 val* var36 /* : null */;
4142 val* var37 /* : null */;
4143 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4144 long var38 /* : Int */;
4145 long var39 /* : Int */;
4146 var_p = p0;
4147 var = NULL;
4148 var_node_list = var;
4149 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4150 var_nodearraylist11 = var1;
4151 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4152 var_nodearraylist10 = var2;
4153 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4154 var_nodearraylist9 = var3;
4155 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4156 var_nodearraylist8 = var4;
4157 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4158 var_nodearraylist7 = var5;
4159 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4160 var_nodearraylist6 = var6;
4161 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4162 var_nodearraylist5 = var7;
4163 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4164 var_nodearraylist4 = var8;
4165 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4166 var_nodearraylist3 = var9;
4167 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4168 var_nodearraylist2 = var10;
4169 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4170 var_nodearraylist1 = var11;
4171 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
4172 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
4173 CHECK_NEW_array__Array(var12);
4174 var_listnode7 = var12;
4175 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
4176 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
4177 CHECK_NEW_array__Array(var13);
4178 var_listnode11 = var13;
4179 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
4180 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
4181 CHECK_NEW_array__Array(var14);
4182 var_listnode12 = var14;
4183 var_pdocnode2 = var_nodearraylist1;
4184 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4185 cltype = type_nullable_parser_nodes__ADoc.color;
4186 idtype = type_nullable_parser_nodes__ADoc.id;
4187 if(var_pdocnode2 == NULL) {
4188 var15 = 1;
4189 } else {
4190 if(cltype >= var_pdocnode2->type->table_size) {
4191 var15 = 0;
4192 } else {
4193 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
4194 }
4195 }
4196 if (!var15) {
4197 fprintf(stderr, "Runtime error: %s", "Assert failed");
4198 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7011);
4199 exit(1);
4200 }
4201 var_tkwredefnode3 = var_nodearraylist2;
4202 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4203 cltype17 = type_nullable_parser_nodes__TKwredef.color;
4204 idtype18 = type_nullable_parser_nodes__TKwredef.id;
4205 if(var_tkwredefnode3 == NULL) {
4206 var16 = 1;
4207 } else {
4208 if(cltype17 >= var_tkwredefnode3->type->table_size) {
4209 var16 = 0;
4210 } else {
4211 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
4212 }
4213 }
4214 if (!var16) {
4215 fprintf(stderr, "Runtime error: %s", "Assert failed");
4216 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7013);
4217 exit(1);
4218 }
4219 var_pvisibilitynode4 = var_nodearraylist3;
4220 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4221 cltype20 = type_nullable_parser_nodes__AVisibility.color;
4222 idtype21 = type_nullable_parser_nodes__AVisibility.id;
4223 if(var_pvisibilitynode4 == NULL) {
4224 var19 = 1;
4225 } else {
4226 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
4227 var19 = 0;
4228 } else {
4229 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
4230 }
4231 }
4232 if (!var19) {
4233 fprintf(stderr, "Runtime error: %s", "Assert failed");
4234 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7015);
4235 exit(1);
4236 }
4237 var_pclasskindnode5 = var_nodearraylist4;
4238 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4239 cltype23 = type_nullable_parser_nodes__AClasskind.color;
4240 idtype24 = type_nullable_parser_nodes__AClasskind.id;
4241 if(var_pclasskindnode5 == NULL) {
4242 var22 = 1;
4243 } else {
4244 if(cltype23 >= var_pclasskindnode5->type->table_size) {
4245 var22 = 0;
4246 } else {
4247 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
4248 }
4249 }
4250 if (!var22) {
4251 fprintf(stderr, "Runtime error: %s", "Assert failed");
4252 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7017);
4253 exit(1);
4254 }
4255 var_tclassidnode6 = var_nodearraylist8;
4256 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4257 cltype26 = type_nullable_parser_nodes__TClassid.color;
4258 idtype27 = type_nullable_parser_nodes__TClassid.id;
4259 if(var_tclassidnode6 == NULL) {
4260 var25 = 1;
4261 } else {
4262 if(cltype26 >= var_tclassidnode6->type->table_size) {
4263 var25 = 0;
4264 } else {
4265 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
4266 }
4267 }
4268 if (!var25) {
4269 fprintf(stderr, "Runtime error: %s", "Assert failed");
4270 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7019);
4271 exit(1);
4272 }
4273 var_listnode10 = var_nodearraylist9;
4274 /* <var_listnode10:nullable Object> isa Array[Object] */
4275 cltype29 = type_array__Arraykernel__Object.color;
4276 idtype30 = type_array__Arraykernel__Object.id;
4277 if(var_listnode10 == NULL) {
4278 var28 = 0;
4279 } else {
4280 if(cltype29 >= var_listnode10->type->table_size) {
4281 var28 = 0;
4282 } else {
4283 var28 = var_listnode10->type->type_table[cltype29] == idtype30;
4284 }
4285 }
4286 if (!var28) {
4287 fprintf(stderr, "Runtime error: %s", "Assert failed");
4288 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7021);
4289 exit(1);
4290 }
4291 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction143>*/;
4292 var_listnode11 = var31;
4293 var_tkwendnode13 = var_nodearraylist11;
4294 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
4295 cltype33 = type_nullable_parser_nodes__TKwend.color;
4296 idtype34 = type_nullable_parser_nodes__TKwend.id;
4297 if(var_tkwendnode13 == NULL) {
4298 var32 = 1;
4299 } else {
4300 if(cltype33 >= var_tkwendnode13->type->table_size) {
4301 var32 = 0;
4302 } else {
4303 var32 = var_tkwendnode13->type->type_table[cltype33] == idtype34;
4304 }
4305 }
4306 if (!var32) {
4307 fprintf(stderr, "Runtime error: %s", "Assert failed");
4308 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7024);
4309 exit(1);
4310 }
4311 var35 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4312 var36 = NULL;
4313 var37 = NULL;
4314 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var35->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var35, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var36, var37, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var35:AStdClassdef>*/;
4315 CHECK_NEW_parser_nodes__AStdClassdef(var35);
4316 var_pclassdefnode1 = var35;
4317 var_node_list = var_pclassdefnode1;
4318 var38 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction143> */
4319 var39 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var38) /* go_to on <var_p:Parser>*/;
4320 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var39, var_node_list) /* push on <var_p:Parser>*/;
4321 RET_LABEL:;
4322 }
4323 /* method parser#ReduceAction143#action for (self: Object, Parser) */
4324 void VIRTUAL_parser__ReduceAction143__action(val* self, val* p0) {
4325 parser__ReduceAction143__action(self, p0);
4326 RET_LABEL:;
4327 }
4328 /* method parser#ReduceAction145#action for (self: ReduceAction145, Parser) */
4329 void parser__ReduceAction145__action(val* self, val* p0) {
4330 val* var_p /* var p: Parser */;
4331 val* var /* : null */;
4332 val* var_node_list /* var node_list: nullable Object */;
4333 val* var1 /* : nullable Object */;
4334 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4335 val* var2 /* : nullable Object */;
4336 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4337 val* var3 /* : nullable Object */;
4338 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4339 val* var4 /* : nullable Object */;
4340 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4341 val* var5 /* : nullable Object */;
4342 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4343 val* var6 /* : nullable Object */;
4344 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4345 val* var7 /* : nullable Object */;
4346 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4347 val* var8 /* : nullable Object */;
4348 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4349 val* var9 /* : nullable Object */;
4350 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4351 val* var10 /* : Array[Object] */;
4352 val* var_listnode8 /* var listnode8: Array[Object] */;
4353 val* var11 /* : Array[Object] */;
4354 val* var_listnode12 /* var listnode12: Array[Object] */;
4355 val* var12 /* : Array[Object] */;
4356 val* var_listnode13 /* var listnode13: Array[Object] */;
4357 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4358 short int var13 /* : Bool */;
4359 int cltype;
4360 int idtype;
4361 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4362 short int var14 /* : Bool */;
4363 int cltype15;
4364 int idtype16;
4365 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4366 short int var17 /* : Bool */;
4367 int cltype18;
4368 int idtype19;
4369 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4370 short int var20 /* : Bool */;
4371 int cltype21;
4372 int idtype22;
4373 val* var_listnode7 /* var listnode7: nullable Object */;
4374 short int var23 /* : Bool */;
4375 int cltype24;
4376 int idtype25;
4377 val* var26 /* : Array[Object] */;
4378 val* var_listnode11 /* var listnode11: nullable Object */;
4379 short int var27 /* : Bool */;
4380 int cltype28;
4381 int idtype29;
4382 val* var30 /* : Array[Object] */;
4383 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
4384 short int var31 /* : Bool */;
4385 int cltype32;
4386 int idtype33;
4387 val* var34 /* : AStdClassdef */;
4388 val* var35 /* : null */;
4389 val* var36 /* : null */;
4390 val* var37 /* : null */;
4391 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4392 long var38 /* : Int */;
4393 long var39 /* : Int */;
4394 var_p = p0;
4395 var = NULL;
4396 var_node_list = var;
4397 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4398 var_nodearraylist9 = var1;
4399 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4400 var_nodearraylist8 = var2;
4401 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4402 var_nodearraylist7 = var3;
4403 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4404 var_nodearraylist6 = var4;
4405 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4406 var_nodearraylist5 = var5;
4407 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4408 var_nodearraylist4 = var6;
4409 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4410 var_nodearraylist3 = var7;
4411 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4412 var_nodearraylist2 = var8;
4413 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4414 var_nodearraylist1 = var9;
4415 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
4416 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
4417 CHECK_NEW_array__Array(var10);
4418 var_listnode8 = var10;
4419 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
4420 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
4421 CHECK_NEW_array__Array(var11);
4422 var_listnode12 = var11;
4423 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
4424 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
4425 CHECK_NEW_array__Array(var12);
4426 var_listnode13 = var12;
4427 var_pdocnode2 = var_nodearraylist1;
4428 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4429 cltype = type_nullable_parser_nodes__ADoc.color;
4430 idtype = type_nullable_parser_nodes__ADoc.id;
4431 if(var_pdocnode2 == NULL) {
4432 var13 = 1;
4433 } else {
4434 if(cltype >= var_pdocnode2->type->table_size) {
4435 var13 = 0;
4436 } else {
4437 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
4438 }
4439 }
4440 if (!var13) {
4441 fprintf(stderr, "Runtime error: %s", "Assert failed");
4442 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7060);
4443 exit(1);
4444 }
4445 var_pvisibilitynode4 = var_nodearraylist2;
4446 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4447 cltype15 = type_nullable_parser_nodes__AVisibility.color;
4448 idtype16 = type_nullable_parser_nodes__AVisibility.id;
4449 if(var_pvisibilitynode4 == NULL) {
4450 var14 = 1;
4451 } else {
4452 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
4453 var14 = 0;
4454 } else {
4455 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
4456 }
4457 }
4458 if (!var14) {
4459 fprintf(stderr, "Runtime error: %s", "Assert failed");
4460 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7062);
4461 exit(1);
4462 }
4463 var_pclasskindnode5 = var_nodearraylist3;
4464 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4465 cltype18 = type_nullable_parser_nodes__AClasskind.color;
4466 idtype19 = type_nullable_parser_nodes__AClasskind.id;
4467 if(var_pclasskindnode5 == NULL) {
4468 var17 = 1;
4469 } else {
4470 if(cltype18 >= var_pclasskindnode5->type->table_size) {
4471 var17 = 0;
4472 } else {
4473 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
4474 }
4475 }
4476 if (!var17) {
4477 fprintf(stderr, "Runtime error: %s", "Assert failed");
4478 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7064);
4479 exit(1);
4480 }
4481 var_tclassidnode6 = var_nodearraylist5;
4482 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4483 cltype21 = type_nullable_parser_nodes__TClassid.color;
4484 idtype22 = type_nullable_parser_nodes__TClassid.id;
4485 if(var_tclassidnode6 == NULL) {
4486 var20 = 1;
4487 } else {
4488 if(cltype21 >= var_tclassidnode6->type->table_size) {
4489 var20 = 0;
4490 } else {
4491 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
4492 }
4493 }
4494 if (!var20) {
4495 fprintf(stderr, "Runtime error: %s", "Assert failed");
4496 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7066);
4497 exit(1);
4498 }
4499 var_listnode7 = var_nodearraylist6;
4500 /* <var_listnode7:nullable Object> isa Array[Object] */
4501 cltype24 = type_array__Arraykernel__Object.color;
4502 idtype25 = type_array__Arraykernel__Object.id;
4503 if(var_listnode7 == NULL) {
4504 var23 = 0;
4505 } else {
4506 if(cltype24 >= var_listnode7->type->table_size) {
4507 var23 = 0;
4508 } else {
4509 var23 = var_listnode7->type->type_table[cltype24] == idtype25;
4510 }
4511 }
4512 if (!var23) {
4513 fprintf(stderr, "Runtime error: %s", "Assert failed");
4514 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7068);
4515 exit(1);
4516 }
4517 var26 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction145>*/;
4518 var_listnode8 = var26;
4519 var_listnode11 = var_nodearraylist7;
4520 /* <var_listnode11:nullable Object> isa Array[Object] */
4521 cltype28 = type_array__Arraykernel__Object.color;
4522 idtype29 = type_array__Arraykernel__Object.id;
4523 if(var_listnode11 == NULL) {
4524 var27 = 0;
4525 } else {
4526 if(cltype28 >= var_listnode11->type->table_size) {
4527 var27 = 0;
4528 } else {
4529 var27 = var_listnode11->type->type_table[cltype28] == idtype29;
4530 }
4531 }
4532 if (!var27) {
4533 fprintf(stderr, "Runtime error: %s", "Assert failed");
4534 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7071);
4535 exit(1);
4536 }
4537 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction145>*/;
4538 var_listnode12 = var30;
4539 var_tkwendnode14 = var_nodearraylist9;
4540 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
4541 cltype32 = type_nullable_parser_nodes__TKwend.color;
4542 idtype33 = type_nullable_parser_nodes__TKwend.id;
4543 if(var_tkwendnode14 == NULL) {
4544 var31 = 1;
4545 } else {
4546 if(cltype32 >= var_tkwendnode14->type->table_size) {
4547 var31 = 0;
4548 } else {
4549 var31 = var_tkwendnode14->type->type_table[cltype32] == idtype33;
4550 }
4551 }
4552 if (!var31) {
4553 fprintf(stderr, "Runtime error: %s", "Assert failed");
4554 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7074);
4555 exit(1);
4556 }
4557 var34 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4558 var35 = NULL;
4559 var36 = NULL;
4560 var37 = NULL;
4561 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var34->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var34, var_pdocnode2, var35, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var36, var37, var_listnode12, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var34:AStdClassdef>*/;
4562 CHECK_NEW_parser_nodes__AStdClassdef(var34);
4563 var_pclassdefnode1 = var34;
4564 var_node_list = var_pclassdefnode1;
4565 var38 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction145> */
4566 var39 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var38) /* go_to on <var_p:Parser>*/;
4567 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var39, var_node_list) /* push on <var_p:Parser>*/;
4568 RET_LABEL:;
4569 }
4570 /* method parser#ReduceAction145#action for (self: Object, Parser) */
4571 void VIRTUAL_parser__ReduceAction145__action(val* self, val* p0) {
4572 parser__ReduceAction145__action(self, p0);
4573 RET_LABEL:;
4574 }
4575 /* method parser#ReduceAction146#action for (self: ReduceAction146, Parser) */
4576 void parser__ReduceAction146__action(val* self, val* p0) {
4577 val* var_p /* var p: Parser */;
4578 val* var /* : null */;
4579 val* var_node_list /* var node_list: nullable Object */;
4580 val* var1 /* : nullable Object */;
4581 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4582 val* var2 /* : nullable Object */;
4583 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4584 val* var3 /* : nullable Object */;
4585 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4586 val* var4 /* : nullable Object */;
4587 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4588 val* var5 /* : nullable Object */;
4589 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4590 val* var6 /* : nullable Object */;
4591 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4592 val* var7 /* : nullable Object */;
4593 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4594 val* var8 /* : nullable Object */;
4595 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4596 val* var9 /* : nullable Object */;
4597 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4598 val* var10 /* : nullable Object */;
4599 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4600 val* var11 /* : Array[Object] */;
4601 val* var_listnode8 /* var listnode8: Array[Object] */;
4602 val* var12 /* : Array[Object] */;
4603 val* var_listnode12 /* var listnode12: Array[Object] */;
4604 val* var13 /* : Array[Object] */;
4605 val* var_listnode13 /* var listnode13: Array[Object] */;
4606 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4607 short int var14 /* : Bool */;
4608 int cltype;
4609 int idtype;
4610 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
4611 short int var15 /* : Bool */;
4612 int cltype16;
4613 int idtype17;
4614 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4615 short int var18 /* : Bool */;
4616 int cltype19;
4617 int idtype20;
4618 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4619 short int var21 /* : Bool */;
4620 int cltype22;
4621 int idtype23;
4622 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4623 short int var24 /* : Bool */;
4624 int cltype25;
4625 int idtype26;
4626 val* var_listnode7 /* var listnode7: nullable Object */;
4627 short int var27 /* : Bool */;
4628 int cltype28;
4629 int idtype29;
4630 val* var30 /* : Array[Object] */;
4631 val* var_listnode11 /* var listnode11: nullable Object */;
4632 short int var31 /* : Bool */;
4633 int cltype32;
4634 int idtype33;
4635 val* var34 /* : Array[Object] */;
4636 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
4637 short int var35 /* : Bool */;
4638 int cltype36;
4639 int idtype37;
4640 val* var38 /* : AStdClassdef */;
4641 val* var39 /* : null */;
4642 val* var40 /* : null */;
4643 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4644 long var41 /* : Int */;
4645 long var42 /* : Int */;
4646 var_p = p0;
4647 var = NULL;
4648 var_node_list = var;
4649 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4650 var_nodearraylist10 = var1;
4651 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4652 var_nodearraylist9 = var2;
4653 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4654 var_nodearraylist8 = var3;
4655 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4656 var_nodearraylist7 = var4;
4657 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4658 var_nodearraylist6 = var5;
4659 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4660 var_nodearraylist5 = var6;
4661 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4662 var_nodearraylist4 = var7;
4663 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4664 var_nodearraylist3 = var8;
4665 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4666 var_nodearraylist2 = var9;
4667 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4668 var_nodearraylist1 = var10;
4669 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
4670 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
4671 CHECK_NEW_array__Array(var11);
4672 var_listnode8 = var11;
4673 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
4674 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
4675 CHECK_NEW_array__Array(var12);
4676 var_listnode12 = var12;
4677 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
4678 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
4679 CHECK_NEW_array__Array(var13);
4680 var_listnode13 = var13;
4681 var_pdocnode2 = var_nodearraylist1;
4682 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4683 cltype = type_nullable_parser_nodes__ADoc.color;
4684 idtype = type_nullable_parser_nodes__ADoc.id;
4685 if(var_pdocnode2 == NULL) {
4686 var14 = 1;
4687 } else {
4688 if(cltype >= var_pdocnode2->type->table_size) {
4689 var14 = 0;
4690 } else {
4691 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
4692 }
4693 }
4694 if (!var14) {
4695 fprintf(stderr, "Runtime error: %s", "Assert failed");
4696 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7111);
4697 exit(1);
4698 }
4699 var_tkwredefnode3 = var_nodearraylist2;
4700 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4701 cltype16 = type_nullable_parser_nodes__TKwredef.color;
4702 idtype17 = type_nullable_parser_nodes__TKwredef.id;
4703 if(var_tkwredefnode3 == NULL) {
4704 var15 = 1;
4705 } else {
4706 if(cltype16 >= var_tkwredefnode3->type->table_size) {
4707 var15 = 0;
4708 } else {
4709 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
4710 }
4711 }
4712 if (!var15) {
4713 fprintf(stderr, "Runtime error: %s", "Assert failed");
4714 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7113);
4715 exit(1);
4716 }
4717 var_pvisibilitynode4 = var_nodearraylist3;
4718 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4719 cltype19 = type_nullable_parser_nodes__AVisibility.color;
4720 idtype20 = type_nullable_parser_nodes__AVisibility.id;
4721 if(var_pvisibilitynode4 == NULL) {
4722 var18 = 1;
4723 } else {
4724 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
4725 var18 = 0;
4726 } else {
4727 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
4728 }
4729 }
4730 if (!var18) {
4731 fprintf(stderr, "Runtime error: %s", "Assert failed");
4732 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7115);
4733 exit(1);
4734 }
4735 var_pclasskindnode5 = var_nodearraylist4;
4736 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4737 cltype22 = type_nullable_parser_nodes__AClasskind.color;
4738 idtype23 = type_nullable_parser_nodes__AClasskind.id;
4739 if(var_pclasskindnode5 == NULL) {
4740 var21 = 1;
4741 } else {
4742 if(cltype22 >= var_pclasskindnode5->type->table_size) {
4743 var21 = 0;
4744 } else {
4745 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
4746 }
4747 }
4748 if (!var21) {
4749 fprintf(stderr, "Runtime error: %s", "Assert failed");
4750 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7117);
4751 exit(1);
4752 }
4753 var_tclassidnode6 = var_nodearraylist6;
4754 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4755 cltype25 = type_nullable_parser_nodes__TClassid.color;
4756 idtype26 = type_nullable_parser_nodes__TClassid.id;
4757 if(var_tclassidnode6 == NULL) {
4758 var24 = 1;
4759 } else {
4760 if(cltype25 >= var_tclassidnode6->type->table_size) {
4761 var24 = 0;
4762 } else {
4763 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
4764 }
4765 }
4766 if (!var24) {
4767 fprintf(stderr, "Runtime error: %s", "Assert failed");
4768 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7119);
4769 exit(1);
4770 }
4771 var_listnode7 = var_nodearraylist7;
4772 /* <var_listnode7:nullable Object> isa Array[Object] */
4773 cltype28 = type_array__Arraykernel__Object.color;
4774 idtype29 = type_array__Arraykernel__Object.id;
4775 if(var_listnode7 == NULL) {
4776 var27 = 0;
4777 } else {
4778 if(cltype28 >= var_listnode7->type->table_size) {
4779 var27 = 0;
4780 } else {
4781 var27 = var_listnode7->type->type_table[cltype28] == idtype29;
4782 }
4783 }
4784 if (!var27) {
4785 fprintf(stderr, "Runtime error: %s", "Assert failed");
4786 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7121);
4787 exit(1);
4788 }
4789 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction146>*/;
4790 var_listnode8 = var30;
4791 var_listnode11 = var_nodearraylist8;
4792 /* <var_listnode11:nullable Object> isa Array[Object] */
4793 cltype32 = type_array__Arraykernel__Object.color;
4794 idtype33 = type_array__Arraykernel__Object.id;
4795 if(var_listnode11 == NULL) {
4796 var31 = 0;
4797 } else {
4798 if(cltype32 >= var_listnode11->type->table_size) {
4799 var31 = 0;
4800 } else {
4801 var31 = var_listnode11->type->type_table[cltype32] == idtype33;
4802 }
4803 }
4804 if (!var31) {
4805 fprintf(stderr, "Runtime error: %s", "Assert failed");
4806 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7124);
4807 exit(1);
4808 }
4809 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction146>*/;
4810 var_listnode12 = var34;
4811 var_tkwendnode14 = var_nodearraylist10;
4812 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
4813 cltype36 = type_nullable_parser_nodes__TKwend.color;
4814 idtype37 = type_nullable_parser_nodes__TKwend.id;
4815 if(var_tkwendnode14 == NULL) {
4816 var35 = 1;
4817 } else {
4818 if(cltype36 >= var_tkwendnode14->type->table_size) {
4819 var35 = 0;
4820 } else {
4821 var35 = var_tkwendnode14->type->type_table[cltype36] == idtype37;
4822 }
4823 }
4824 if (!var35) {
4825 fprintf(stderr, "Runtime error: %s", "Assert failed");
4826 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7127);
4827 exit(1);
4828 }
4829 var38 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4830 var39 = NULL;
4831 var40 = NULL;
4832 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var38->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var38, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var39, var40, var_listnode12, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var38:AStdClassdef>*/;
4833 CHECK_NEW_parser_nodes__AStdClassdef(var38);
4834 var_pclassdefnode1 = var38;
4835 var_node_list = var_pclassdefnode1;
4836 var41 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction146> */
4837 var42 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var41) /* go_to on <var_p:Parser>*/;
4838 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var42, var_node_list) /* push on <var_p:Parser>*/;
4839 RET_LABEL:;
4840 }
4841 /* method parser#ReduceAction146#action for (self: Object, Parser) */
4842 void VIRTUAL_parser__ReduceAction146__action(val* self, val* p0) {
4843 parser__ReduceAction146__action(self, p0);
4844 RET_LABEL:;
4845 }
4846 /* method parser#ReduceAction147#action for (self: ReduceAction147, Parser) */
4847 void parser__ReduceAction147__action(val* self, val* p0) {
4848 val* var_p /* var p: Parser */;
4849 val* var /* : null */;
4850 val* var_node_list /* var node_list: nullable Object */;
4851 val* var1 /* : nullable Object */;
4852 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4853 val* var2 /* : nullable Object */;
4854 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4855 val* var3 /* : nullable Object */;
4856 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4857 val* var4 /* : nullable Object */;
4858 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4859 val* var5 /* : nullable Object */;
4860 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4861 val* var6 /* : nullable Object */;
4862 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4863 val* var7 /* : nullable Object */;
4864 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4865 val* var8 /* : nullable Object */;
4866 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4867 val* var9 /* : nullable Object */;
4868 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4869 val* var10 /* : nullable Object */;
4870 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4871 val* var11 /* : Array[Object] */;
4872 val* var_listnode8 /* var listnode8: Array[Object] */;
4873 val* var12 /* : Array[Object] */;
4874 val* var_listnode12 /* var listnode12: Array[Object] */;
4875 val* var13 /* : Array[Object] */;
4876 val* var_listnode13 /* var listnode13: Array[Object] */;
4877 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4878 short int var14 /* : Bool */;
4879 int cltype;
4880 int idtype;
4881 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4882 short int var15 /* : Bool */;
4883 int cltype16;
4884 int idtype17;
4885 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4886 short int var18 /* : Bool */;
4887 int cltype19;
4888 int idtype20;
4889 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4890 short int var21 /* : Bool */;
4891 int cltype22;
4892 int idtype23;
4893 val* var_listnode7 /* var listnode7: nullable Object */;
4894 short int var24 /* : Bool */;
4895 int cltype25;
4896 int idtype26;
4897 val* var27 /* : Array[Object] */;
4898 val* var_listnode11 /* var listnode11: nullable Object */;
4899 short int var28 /* : Bool */;
4900 int cltype29;
4901 int idtype30;
4902 val* var31 /* : Array[Object] */;
4903 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
4904 short int var32 /* : Bool */;
4905 int cltype33;
4906 int idtype34;
4907 val* var35 /* : AStdClassdef */;
4908 val* var36 /* : null */;
4909 val* var37 /* : null */;
4910 val* var38 /* : null */;
4911 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4912 long var39 /* : Int */;
4913 long var40 /* : Int */;
4914 var_p = p0;
4915 var = NULL;
4916 var_node_list = var;
4917 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4918 var_nodearraylist10 = var1;
4919 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4920 var_nodearraylist9 = var2;
4921 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4922 var_nodearraylist8 = var3;
4923 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4924 var_nodearraylist7 = var4;
4925 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4926 var_nodearraylist6 = var5;
4927 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4928 var_nodearraylist5 = var6;
4929 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4930 var_nodearraylist4 = var7;
4931 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4932 var_nodearraylist3 = var8;
4933 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4934 var_nodearraylist2 = var9;
4935 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4936 var_nodearraylist1 = var10;
4937 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
4938 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
4939 CHECK_NEW_array__Array(var11);
4940 var_listnode8 = var11;
4941 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
4942 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
4943 CHECK_NEW_array__Array(var12);
4944 var_listnode12 = var12;
4945 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
4946 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
4947 CHECK_NEW_array__Array(var13);
4948 var_listnode13 = var13;
4949 var_pdocnode2 = var_nodearraylist1;
4950 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4951 cltype = type_nullable_parser_nodes__ADoc.color;
4952 idtype = type_nullable_parser_nodes__ADoc.id;
4953 if(var_pdocnode2 == NULL) {
4954 var14 = 1;
4955 } else {
4956 if(cltype >= var_pdocnode2->type->table_size) {
4957 var14 = 0;
4958 } else {
4959 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
4960 }
4961 }
4962 if (!var14) {
4963 fprintf(stderr, "Runtime error: %s", "Assert failed");
4964 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7164);
4965 exit(1);
4966 }
4967 var_pvisibilitynode4 = var_nodearraylist2;
4968 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4969 cltype16 = type_nullable_parser_nodes__AVisibility.color;
4970 idtype17 = type_nullable_parser_nodes__AVisibility.id;
4971 if(var_pvisibilitynode4 == NULL) {
4972 var15 = 1;
4973 } else {
4974 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
4975 var15 = 0;
4976 } else {
4977 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
4978 }
4979 }
4980 if (!var15) {
4981 fprintf(stderr, "Runtime error: %s", "Assert failed");
4982 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7166);
4983 exit(1);
4984 }
4985 var_pclasskindnode5 = var_nodearraylist3;
4986 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4987 cltype19 = type_nullable_parser_nodes__AClasskind.color;
4988 idtype20 = type_nullable_parser_nodes__AClasskind.id;
4989 if(var_pclasskindnode5 == NULL) {
4990 var18 = 1;
4991 } else {
4992 if(cltype19 >= var_pclasskindnode5->type->table_size) {
4993 var18 = 0;
4994 } else {
4995 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
4996 }
4997 }
4998 if (!var18) {
4999 fprintf(stderr, "Runtime error: %s", "Assert failed");
5000 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7168);
5001 exit(1);
5002 }
5003 var_tclassidnode6 = var_nodearraylist6;
5004 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5005 cltype22 = type_nullable_parser_nodes__TClassid.color;
5006 idtype23 = type_nullable_parser_nodes__TClassid.id;
5007 if(var_tclassidnode6 == NULL) {
5008 var21 = 1;
5009 } else {
5010 if(cltype22 >= var_tclassidnode6->type->table_size) {
5011 var21 = 0;
5012 } else {
5013 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
5014 }
5015 }
5016 if (!var21) {
5017 fprintf(stderr, "Runtime error: %s", "Assert failed");
5018 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7170);
5019 exit(1);
5020 }
5021 var_listnode7 = var_nodearraylist7;
5022 /* <var_listnode7:nullable Object> isa Array[Object] */
5023 cltype25 = type_array__Arraykernel__Object.color;
5024 idtype26 = type_array__Arraykernel__Object.id;
5025 if(var_listnode7 == NULL) {
5026 var24 = 0;
5027 } else {
5028 if(cltype25 >= var_listnode7->type->table_size) {
5029 var24 = 0;
5030 } else {
5031 var24 = var_listnode7->type->type_table[cltype25] == idtype26;
5032 }
5033 }
5034 if (!var24) {
5035 fprintf(stderr, "Runtime error: %s", "Assert failed");
5036 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7172);
5037 exit(1);
5038 }
5039 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction147>*/;
5040 var_listnode8 = var27;
5041 var_listnode11 = var_nodearraylist8;
5042 /* <var_listnode11:nullable Object> isa Array[Object] */
5043 cltype29 = type_array__Arraykernel__Object.color;
5044 idtype30 = type_array__Arraykernel__Object.id;
5045 if(var_listnode11 == NULL) {
5046 var28 = 0;
5047 } else {
5048 if(cltype29 >= var_listnode11->type->table_size) {
5049 var28 = 0;
5050 } else {
5051 var28 = var_listnode11->type->type_table[cltype29] == idtype30;
5052 }
5053 }
5054 if (!var28) {
5055 fprintf(stderr, "Runtime error: %s", "Assert failed");
5056 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7175);
5057 exit(1);
5058 }
5059 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction147>*/;
5060 var_listnode12 = var31;
5061 var_tkwendnode14 = var_nodearraylist10;
5062 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
5063 cltype33 = type_nullable_parser_nodes__TKwend.color;
5064 idtype34 = type_nullable_parser_nodes__TKwend.id;
5065 if(var_tkwendnode14 == NULL) {
5066 var32 = 1;
5067 } else {
5068 if(cltype33 >= var_tkwendnode14->type->table_size) {
5069 var32 = 0;
5070 } else {
5071 var32 = var_tkwendnode14->type->type_table[cltype33] == idtype34;
5072 }
5073 }
5074 if (!var32) {
5075 fprintf(stderr, "Runtime error: %s", "Assert failed");
5076 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7178);
5077 exit(1);
5078 }
5079 var35 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5080 var36 = NULL;
5081 var37 = NULL;
5082 var38 = NULL;
5083 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var35->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var35, var_pdocnode2, var36, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var37, var38, var_listnode12, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var35:AStdClassdef>*/;
5084 CHECK_NEW_parser_nodes__AStdClassdef(var35);
5085 var_pclassdefnode1 = var35;
5086 var_node_list = var_pclassdefnode1;
5087 var39 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction147> */
5088 var40 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var39) /* go_to on <var_p:Parser>*/;
5089 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var40, var_node_list) /* push on <var_p:Parser>*/;
5090 RET_LABEL:;
5091 }
5092 /* method parser#ReduceAction147#action for (self: Object, Parser) */
5093 void VIRTUAL_parser__ReduceAction147__action(val* self, val* p0) {
5094 parser__ReduceAction147__action(self, p0);
5095 RET_LABEL:;
5096 }
5097 /* method parser#ReduceAction148#action for (self: ReduceAction148, Parser) */
5098 void parser__ReduceAction148__action(val* self, val* p0) {
5099 val* var_p /* var p: Parser */;
5100 val* var /* : null */;
5101 val* var_node_list /* var node_list: nullable Object */;
5102 val* var1 /* : nullable Object */;
5103 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
5104 val* var2 /* : nullable Object */;
5105 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5106 val* var3 /* : nullable Object */;
5107 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5108 val* var4 /* : nullable Object */;
5109 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5110 val* var5 /* : nullable Object */;
5111 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5112 val* var6 /* : nullable Object */;
5113 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5114 val* var7 /* : nullable Object */;
5115 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5116 val* var8 /* : nullable Object */;
5117 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5118 val* var9 /* : nullable Object */;
5119 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5120 val* var10 /* : nullable Object */;
5121 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5122 val* var11 /* : nullable Object */;
5123 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5124 val* var12 /* : Array[Object] */;
5125 val* var_listnode8 /* var listnode8: Array[Object] */;
5126 val* var13 /* : Array[Object] */;
5127 val* var_listnode12 /* var listnode12: Array[Object] */;
5128 val* var14 /* : Array[Object] */;
5129 val* var_listnode13 /* var listnode13: Array[Object] */;
5130 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5131 short int var15 /* : Bool */;
5132 int cltype;
5133 int idtype;
5134 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5135 short int var16 /* : Bool */;
5136 int cltype17;
5137 int idtype18;
5138 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5139 short int var19 /* : Bool */;
5140 int cltype20;
5141 int idtype21;
5142 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5143 short int var22 /* : Bool */;
5144 int cltype23;
5145 int idtype24;
5146 val* var_listnode7 /* var listnode7: nullable Object */;
5147 short int var25 /* : Bool */;
5148 int cltype26;
5149 int idtype27;
5150 val* var28 /* : Array[Object] */;
5151 val* var_listnode11 /* var listnode11: nullable Object */;
5152 short int var29 /* : Bool */;
5153 int cltype30;
5154 int idtype31;
5155 val* var32 /* : Array[Object] */;
5156 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
5157 short int var33 /* : Bool */;
5158 int cltype34;
5159 int idtype35;
5160 val* var36 /* : AStdClassdef */;
5161 val* var37 /* : null */;
5162 val* var38 /* : null */;
5163 val* var39 /* : null */;
5164 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5165 long var40 /* : Int */;
5166 long var41 /* : Int */;
5167 var_p = p0;
5168 var = NULL;
5169 var_node_list = var;
5170 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5171 var_nodearraylist11 = var1;
5172 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5173 var_nodearraylist10 = var2;
5174 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5175 var_nodearraylist9 = var3;
5176 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5177 var_nodearraylist8 = var4;
5178 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5179 var_nodearraylist7 = var5;
5180 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5181 var_nodearraylist6 = var6;
5182 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5183 var_nodearraylist5 = var7;
5184 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5185 var_nodearraylist4 = var8;
5186 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5187 var_nodearraylist3 = var9;
5188 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5189 var_nodearraylist2 = var10;
5190 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5191 var_nodearraylist1 = var11;
5192 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
5193 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
5194 CHECK_NEW_array__Array(var12);
5195 var_listnode8 = var12;
5196 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
5197 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
5198 CHECK_NEW_array__Array(var13);
5199 var_listnode12 = var13;
5200 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
5201 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
5202 CHECK_NEW_array__Array(var14);
5203 var_listnode13 = var14;
5204 var_pdocnode2 = var_nodearraylist1;
5205 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5206 cltype = type_nullable_parser_nodes__ADoc.color;
5207 idtype = type_nullable_parser_nodes__ADoc.id;
5208 if(var_pdocnode2 == NULL) {
5209 var15 = 1;
5210 } else {
5211 if(cltype >= var_pdocnode2->type->table_size) {
5212 var15 = 0;
5213 } else {
5214 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
5215 }
5216 }
5217 if (!var15) {
5218 fprintf(stderr, "Runtime error: %s", "Assert failed");
5219 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7216);
5220 exit(1);
5221 }
5222 var_pvisibilitynode4 = var_nodearraylist2;
5223 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5224 cltype17 = type_nullable_parser_nodes__AVisibility.color;
5225 idtype18 = type_nullable_parser_nodes__AVisibility.id;
5226 if(var_pvisibilitynode4 == NULL) {
5227 var16 = 1;
5228 } else {
5229 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
5230 var16 = 0;
5231 } else {
5232 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
5233 }
5234 }
5235 if (!var16) {
5236 fprintf(stderr, "Runtime error: %s", "Assert failed");
5237 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7218);
5238 exit(1);
5239 }
5240 var_pclasskindnode5 = var_nodearraylist3;
5241 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5242 cltype20 = type_nullable_parser_nodes__AClasskind.color;
5243 idtype21 = type_nullable_parser_nodes__AClasskind.id;
5244 if(var_pclasskindnode5 == NULL) {
5245 var19 = 1;
5246 } else {
5247 if(cltype20 >= var_pclasskindnode5->type->table_size) {
5248 var19 = 0;
5249 } else {
5250 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
5251 }
5252 }
5253 if (!var19) {
5254 fprintf(stderr, "Runtime error: %s", "Assert failed");
5255 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7220);
5256 exit(1);
5257 }
5258 var_tclassidnode6 = var_nodearraylist7;
5259 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5260 cltype23 = type_nullable_parser_nodes__TClassid.color;
5261 idtype24 = type_nullable_parser_nodes__TClassid.id;
5262 if(var_tclassidnode6 == NULL) {
5263 var22 = 1;
5264 } else {
5265 if(cltype23 >= var_tclassidnode6->type->table_size) {
5266 var22 = 0;
5267 } else {
5268 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
5269 }
5270 }
5271 if (!var22) {
5272 fprintf(stderr, "Runtime error: %s", "Assert failed");
5273 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7222);
5274 exit(1);
5275 }
5276 var_listnode7 = var_nodearraylist8;
5277 /* <var_listnode7:nullable Object> isa Array[Object] */
5278 cltype26 = type_array__Arraykernel__Object.color;
5279 idtype27 = type_array__Arraykernel__Object.id;
5280 if(var_listnode7 == NULL) {
5281 var25 = 0;
5282 } else {
5283 if(cltype26 >= var_listnode7->type->table_size) {
5284 var25 = 0;
5285 } else {
5286 var25 = var_listnode7->type->type_table[cltype26] == idtype27;
5287 }
5288 }
5289 if (!var25) {
5290 fprintf(stderr, "Runtime error: %s", "Assert failed");
5291 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7224);
5292 exit(1);
5293 }
5294 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction148>*/;
5295 var_listnode8 = var28;
5296 var_listnode11 = var_nodearraylist9;
5297 /* <var_listnode11:nullable Object> isa Array[Object] */
5298 cltype30 = type_array__Arraykernel__Object.color;
5299 idtype31 = type_array__Arraykernel__Object.id;
5300 if(var_listnode11 == NULL) {
5301 var29 = 0;
5302 } else {
5303 if(cltype30 >= var_listnode11->type->table_size) {
5304 var29 = 0;
5305 } else {
5306 var29 = var_listnode11->type->type_table[cltype30] == idtype31;
5307 }
5308 }
5309 if (!var29) {
5310 fprintf(stderr, "Runtime error: %s", "Assert failed");
5311 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7227);
5312 exit(1);
5313 }
5314 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction148>*/;
5315 var_listnode12 = var32;
5316 var_tkwendnode14 = var_nodearraylist11;
5317 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
5318 cltype34 = type_nullable_parser_nodes__TKwend.color;
5319 idtype35 = type_nullable_parser_nodes__TKwend.id;
5320 if(var_tkwendnode14 == NULL) {
5321 var33 = 1;
5322 } else {
5323 if(cltype34 >= var_tkwendnode14->type->table_size) {
5324 var33 = 0;
5325 } else {
5326 var33 = var_tkwendnode14->type->type_table[cltype34] == idtype35;
5327 }
5328 }
5329 if (!var33) {
5330 fprintf(stderr, "Runtime error: %s", "Assert failed");
5331 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7230);
5332 exit(1);
5333 }
5334 var36 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5335 var37 = NULL;
5336 var38 = NULL;
5337 var39 = NULL;
5338 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var36->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var36, var_pdocnode2, var37, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var38, var39, var_listnode12, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var36:AStdClassdef>*/;
5339 CHECK_NEW_parser_nodes__AStdClassdef(var36);
5340 var_pclassdefnode1 = var36;
5341 var_node_list = var_pclassdefnode1;
5342 var40 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction148> */
5343 var41 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var40) /* go_to on <var_p:Parser>*/;
5344 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var41, var_node_list) /* push on <var_p:Parser>*/;
5345 RET_LABEL:;
5346 }
5347 /* method parser#ReduceAction148#action for (self: Object, Parser) */
5348 void VIRTUAL_parser__ReduceAction148__action(val* self, val* p0) {
5349 parser__ReduceAction148__action(self, p0);
5350 RET_LABEL:;
5351 }
5352 /* method parser#ReduceAction150#action for (self: ReduceAction150, Parser) */
5353 void parser__ReduceAction150__action(val* self, val* p0) {
5354 val* var_p /* var p: Parser */;
5355 val* var /* : null */;
5356 val* var_node_list /* var node_list: nullable Object */;
5357 val* var1 /* : nullable Object */;
5358 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
5359 val* var2 /* : nullable Object */;
5360 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5361 val* var3 /* : nullable Object */;
5362 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5363 val* var4 /* : nullable Object */;
5364 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5365 val* var5 /* : nullable Object */;
5366 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5367 val* var6 /* : nullable Object */;
5368 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5369 val* var7 /* : nullable Object */;
5370 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5371 val* var8 /* : nullable Object */;
5372 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5373 val* var9 /* : nullable Object */;
5374 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5375 val* var10 /* : nullable Object */;
5376 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5377 val* var11 /* : nullable Object */;
5378 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5379 val* var12 /* : Array[Object] */;
5380 val* var_listnode8 /* var listnode8: Array[Object] */;
5381 val* var13 /* : Array[Object] */;
5382 val* var_listnode12 /* var listnode12: Array[Object] */;
5383 val* var14 /* : Array[Object] */;
5384 val* var_listnode13 /* var listnode13: Array[Object] */;
5385 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5386 short int var15 /* : Bool */;
5387 int cltype;
5388 int idtype;
5389 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
5390 short int var16 /* : Bool */;
5391 int cltype17;
5392 int idtype18;
5393 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5394 short int var19 /* : Bool */;
5395 int cltype20;
5396 int idtype21;
5397 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5398 short int var22 /* : Bool */;
5399 int cltype23;
5400 int idtype24;
5401 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5402 short int var25 /* : Bool */;
5403 int cltype26;
5404 int idtype27;
5405 val* var_listnode7 /* var listnode7: nullable Object */;
5406 short int var28 /* : Bool */;
5407 int cltype29;
5408 int idtype30;
5409 val* var31 /* : Array[Object] */;
5410 val* var_listnode11 /* var listnode11: nullable Object */;
5411 short int var32 /* : Bool */;
5412 int cltype33;
5413 int idtype34;
5414 val* var35 /* : Array[Object] */;
5415 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
5416 short int var36 /* : Bool */;
5417 int cltype37;
5418 int idtype38;
5419 val* var39 /* : AStdClassdef */;
5420 val* var40 /* : null */;
5421 val* var41 /* : null */;
5422 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5423 long var42 /* : Int */;
5424 long var43 /* : Int */;
5425 var_p = p0;
5426 var = NULL;
5427 var_node_list = var;
5428 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5429 var_nodearraylist11 = var1;
5430 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5431 var_nodearraylist10 = var2;
5432 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5433 var_nodearraylist9 = var3;
5434 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5435 var_nodearraylist8 = var4;
5436 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5437 var_nodearraylist7 = var5;
5438 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5439 var_nodearraylist6 = var6;
5440 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5441 var_nodearraylist5 = var7;
5442 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5443 var_nodearraylist4 = var8;
5444 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5445 var_nodearraylist3 = var9;
5446 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5447 var_nodearraylist2 = var10;
5448 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5449 var_nodearraylist1 = var11;
5450 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
5451 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
5452 CHECK_NEW_array__Array(var12);
5453 var_listnode8 = var12;
5454 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
5455 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
5456 CHECK_NEW_array__Array(var13);
5457 var_listnode12 = var13;
5458 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
5459 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
5460 CHECK_NEW_array__Array(var14);
5461 var_listnode13 = var14;
5462 var_pdocnode2 = var_nodearraylist1;
5463 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5464 cltype = type_nullable_parser_nodes__ADoc.color;
5465 idtype = type_nullable_parser_nodes__ADoc.id;
5466 if(var_pdocnode2 == NULL) {
5467 var15 = 1;
5468 } else {
5469 if(cltype >= var_pdocnode2->type->table_size) {
5470 var15 = 0;
5471 } else {
5472 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
5473 }
5474 }
5475 if (!var15) {
5476 fprintf(stderr, "Runtime error: %s", "Assert failed");
5477 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7268);
5478 exit(1);
5479 }
5480 var_tkwredefnode3 = var_nodearraylist2;
5481 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
5482 cltype17 = type_nullable_parser_nodes__TKwredef.color;
5483 idtype18 = type_nullable_parser_nodes__TKwredef.id;
5484 if(var_tkwredefnode3 == NULL) {
5485 var16 = 1;
5486 } else {
5487 if(cltype17 >= var_tkwredefnode3->type->table_size) {
5488 var16 = 0;
5489 } else {
5490 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
5491 }
5492 }
5493 if (!var16) {
5494 fprintf(stderr, "Runtime error: %s", "Assert failed");
5495 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7270);
5496 exit(1);
5497 }
5498 var_pvisibilitynode4 = var_nodearraylist3;
5499 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5500 cltype20 = type_nullable_parser_nodes__AVisibility.color;
5501 idtype21 = type_nullable_parser_nodes__AVisibility.id;
5502 if(var_pvisibilitynode4 == NULL) {
5503 var19 = 1;
5504 } else {
5505 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
5506 var19 = 0;
5507 } else {
5508 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
5509 }
5510 }
5511 if (!var19) {
5512 fprintf(stderr, "Runtime error: %s", "Assert failed");
5513 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7272);
5514 exit(1);
5515 }
5516 var_pclasskindnode5 = var_nodearraylist4;
5517 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5518 cltype23 = type_nullable_parser_nodes__AClasskind.color;
5519 idtype24 = type_nullable_parser_nodes__AClasskind.id;
5520 if(var_pclasskindnode5 == NULL) {
5521 var22 = 1;
5522 } else {
5523 if(cltype23 >= var_pclasskindnode5->type->table_size) {
5524 var22 = 0;
5525 } else {
5526 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
5527 }
5528 }
5529 if (!var22) {
5530 fprintf(stderr, "Runtime error: %s", "Assert failed");
5531 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7274);
5532 exit(1);
5533 }
5534 var_tclassidnode6 = var_nodearraylist7;
5535 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5536 cltype26 = type_nullable_parser_nodes__TClassid.color;
5537 idtype27 = type_nullable_parser_nodes__TClassid.id;
5538 if(var_tclassidnode6 == NULL) {
5539 var25 = 1;
5540 } else {
5541 if(cltype26 >= var_tclassidnode6->type->table_size) {
5542 var25 = 0;
5543 } else {
5544 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
5545 }
5546 }
5547 if (!var25) {
5548 fprintf(stderr, "Runtime error: %s", "Assert failed");
5549 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7276);
5550 exit(1);
5551 }
5552 var_listnode7 = var_nodearraylist8;
5553 /* <var_listnode7:nullable Object> isa Array[Object] */
5554 cltype29 = type_array__Arraykernel__Object.color;
5555 idtype30 = type_array__Arraykernel__Object.id;
5556 if(var_listnode7 == NULL) {
5557 var28 = 0;
5558 } else {
5559 if(cltype29 >= var_listnode7->type->table_size) {
5560 var28 = 0;
5561 } else {
5562 var28 = var_listnode7->type->type_table[cltype29] == idtype30;
5563 }
5564 }
5565 if (!var28) {
5566 fprintf(stderr, "Runtime error: %s", "Assert failed");
5567 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7278);
5568 exit(1);
5569 }
5570 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction150>*/;
5571 var_listnode8 = var31;
5572 var_listnode11 = var_nodearraylist9;
5573 /* <var_listnode11:nullable Object> isa Array[Object] */
5574 cltype33 = type_array__Arraykernel__Object.color;
5575 idtype34 = type_array__Arraykernel__Object.id;
5576 if(var_listnode11 == NULL) {
5577 var32 = 0;
5578 } else {
5579 if(cltype33 >= var_listnode11->type->table_size) {
5580 var32 = 0;
5581 } else {
5582 var32 = var_listnode11->type->type_table[cltype33] == idtype34;
5583 }
5584 }
5585 if (!var32) {
5586 fprintf(stderr, "Runtime error: %s", "Assert failed");
5587 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7281);
5588 exit(1);
5589 }
5590 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction150>*/;
5591 var_listnode12 = var35;
5592 var_tkwendnode14 = var_nodearraylist11;
5593 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
5594 cltype37 = type_nullable_parser_nodes__TKwend.color;
5595 idtype38 = type_nullable_parser_nodes__TKwend.id;
5596 if(var_tkwendnode14 == NULL) {
5597 var36 = 1;
5598 } else {
5599 if(cltype37 >= var_tkwendnode14->type->table_size) {
5600 var36 = 0;
5601 } else {
5602 var36 = var_tkwendnode14->type->type_table[cltype37] == idtype38;
5603 }
5604 }
5605 if (!var36) {
5606 fprintf(stderr, "Runtime error: %s", "Assert failed");
5607 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7284);
5608 exit(1);
5609 }
5610 var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5611 var40 = NULL;
5612 var41 = NULL;
5613 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var39->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var39, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var40, var41, var_listnode12, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var39:AStdClassdef>*/;
5614 CHECK_NEW_parser_nodes__AStdClassdef(var39);
5615 var_pclassdefnode1 = var39;
5616 var_node_list = var_pclassdefnode1;
5617 var42 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction150> */
5618 var43 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var42) /* go_to on <var_p:Parser>*/;
5619 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var43, var_node_list) /* push on <var_p:Parser>*/;
5620 RET_LABEL:;
5621 }
5622 /* method parser#ReduceAction150#action for (self: Object, Parser) */
5623 void VIRTUAL_parser__ReduceAction150__action(val* self, val* p0) {
5624 parser__ReduceAction150__action(self, p0);
5625 RET_LABEL:;
5626 }
5627 /* method parser#ReduceAction151#action for (self: ReduceAction151, Parser) */
5628 void parser__ReduceAction151__action(val* self, val* p0) {
5629 val* var_p /* var p: Parser */;
5630 val* var /* : null */;
5631 val* var_node_list /* var node_list: nullable Object */;
5632 val* var1 /* : nullable Object */;
5633 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
5634 val* var2 /* : nullable Object */;
5635 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
5636 val* var3 /* : nullable Object */;
5637 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5638 val* var4 /* : nullable Object */;
5639 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5640 val* var5 /* : nullable Object */;
5641 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5642 val* var6 /* : nullable Object */;
5643 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5644 val* var7 /* : nullable Object */;
5645 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5646 val* var8 /* : nullable Object */;
5647 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5648 val* var9 /* : nullable Object */;
5649 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5650 val* var10 /* : nullable Object */;
5651 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5652 val* var11 /* : nullable Object */;
5653 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5654 val* var12 /* : nullable Object */;
5655 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5656 val* var13 /* : Array[Object] */;
5657 val* var_listnode8 /* var listnode8: Array[Object] */;
5658 val* var14 /* : Array[Object] */;
5659 val* var_listnode12 /* var listnode12: Array[Object] */;
5660 val* var15 /* : Array[Object] */;
5661 val* var_listnode13 /* var listnode13: Array[Object] */;
5662 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5663 short int var16 /* : Bool */;
5664 int cltype;
5665 int idtype;
5666 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
5667 short int var17 /* : Bool */;
5668 int cltype18;
5669 int idtype19;
5670 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5671 short int var20 /* : Bool */;
5672 int cltype21;
5673 int idtype22;
5674 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5675 short int var23 /* : Bool */;
5676 int cltype24;
5677 int idtype25;
5678 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5679 short int var26 /* : Bool */;
5680 int cltype27;
5681 int idtype28;
5682 val* var_listnode7 /* var listnode7: nullable Object */;
5683 short int var29 /* : Bool */;
5684 int cltype30;
5685 int idtype31;
5686 val* var32 /* : Array[Object] */;
5687 val* var_listnode11 /* var listnode11: nullable Object */;
5688 short int var33 /* : Bool */;
5689 int cltype34;
5690 int idtype35;
5691 val* var36 /* : Array[Object] */;
5692 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
5693 short int var37 /* : Bool */;
5694 int cltype38;
5695 int idtype39;
5696 val* var40 /* : AStdClassdef */;
5697 val* var41 /* : null */;
5698 val* var42 /* : null */;
5699 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5700 long var43 /* : Int */;
5701 long var44 /* : Int */;
5702 var_p = p0;
5703 var = NULL;
5704 var_node_list = var;
5705 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5706 var_nodearraylist12 = var1;
5707 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5708 var_nodearraylist11 = var2;
5709 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5710 var_nodearraylist10 = var3;
5711 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5712 var_nodearraylist9 = var4;
5713 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5714 var_nodearraylist8 = var5;
5715 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5716 var_nodearraylist7 = var6;
5717 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5718 var_nodearraylist6 = var7;
5719 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5720 var_nodearraylist5 = var8;
5721 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5722 var_nodearraylist4 = var9;
5723 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5724 var_nodearraylist3 = var10;
5725 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5726 var_nodearraylist2 = var11;
5727 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5728 var_nodearraylist1 = var12;
5729 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
5730 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
5731 CHECK_NEW_array__Array(var13);
5732 var_listnode8 = var13;
5733 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
5734 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
5735 CHECK_NEW_array__Array(var14);
5736 var_listnode12 = var14;
5737 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
5738 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
5739 CHECK_NEW_array__Array(var15);
5740 var_listnode13 = var15;
5741 var_pdocnode2 = var_nodearraylist1;
5742 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5743 cltype = type_nullable_parser_nodes__ADoc.color;
5744 idtype = type_nullable_parser_nodes__ADoc.id;
5745 if(var_pdocnode2 == NULL) {
5746 var16 = 1;
5747 } else {
5748 if(cltype >= var_pdocnode2->type->table_size) {
5749 var16 = 0;
5750 } else {
5751 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
5752 }
5753 }
5754 if (!var16) {
5755 fprintf(stderr, "Runtime error: %s", "Assert failed");
5756 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7323);
5757 exit(1);
5758 }
5759 var_tkwredefnode3 = var_nodearraylist2;
5760 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
5761 cltype18 = type_nullable_parser_nodes__TKwredef.color;
5762 idtype19 = type_nullable_parser_nodes__TKwredef.id;
5763 if(var_tkwredefnode3 == NULL) {
5764 var17 = 1;
5765 } else {
5766 if(cltype18 >= var_tkwredefnode3->type->table_size) {
5767 var17 = 0;
5768 } else {
5769 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
5770 }
5771 }
5772 if (!var17) {
5773 fprintf(stderr, "Runtime error: %s", "Assert failed");
5774 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7325);
5775 exit(1);
5776 }
5777 var_pvisibilitynode4 = var_nodearraylist3;
5778 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5779 cltype21 = type_nullable_parser_nodes__AVisibility.color;
5780 idtype22 = type_nullable_parser_nodes__AVisibility.id;
5781 if(var_pvisibilitynode4 == NULL) {
5782 var20 = 1;
5783 } else {
5784 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
5785 var20 = 0;
5786 } else {
5787 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
5788 }
5789 }
5790 if (!var20) {
5791 fprintf(stderr, "Runtime error: %s", "Assert failed");
5792 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7327);
5793 exit(1);
5794 }
5795 var_pclasskindnode5 = var_nodearraylist4;
5796 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5797 cltype24 = type_nullable_parser_nodes__AClasskind.color;
5798 idtype25 = type_nullable_parser_nodes__AClasskind.id;
5799 if(var_pclasskindnode5 == NULL) {
5800 var23 = 1;
5801 } else {
5802 if(cltype24 >= var_pclasskindnode5->type->table_size) {
5803 var23 = 0;
5804 } else {
5805 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
5806 }
5807 }
5808 if (!var23) {
5809 fprintf(stderr, "Runtime error: %s", "Assert failed");
5810 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7329);
5811 exit(1);
5812 }
5813 var_tclassidnode6 = var_nodearraylist8;
5814 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5815 cltype27 = type_nullable_parser_nodes__TClassid.color;
5816 idtype28 = type_nullable_parser_nodes__TClassid.id;
5817 if(var_tclassidnode6 == NULL) {
5818 var26 = 1;
5819 } else {
5820 if(cltype27 >= var_tclassidnode6->type->table_size) {
5821 var26 = 0;
5822 } else {
5823 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
5824 }
5825 }
5826 if (!var26) {
5827 fprintf(stderr, "Runtime error: %s", "Assert failed");
5828 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7331);
5829 exit(1);
5830 }
5831 var_listnode7 = var_nodearraylist9;
5832 /* <var_listnode7:nullable Object> isa Array[Object] */
5833 cltype30 = type_array__Arraykernel__Object.color;
5834 idtype31 = type_array__Arraykernel__Object.id;
5835 if(var_listnode7 == NULL) {
5836 var29 = 0;
5837 } else {
5838 if(cltype30 >= var_listnode7->type->table_size) {
5839 var29 = 0;
5840 } else {
5841 var29 = var_listnode7->type->type_table[cltype30] == idtype31;
5842 }
5843 }
5844 if (!var29) {
5845 fprintf(stderr, "Runtime error: %s", "Assert failed");
5846 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7333);
5847 exit(1);
5848 }
5849 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction151>*/;
5850 var_listnode8 = var32;
5851 var_listnode11 = var_nodearraylist10;
5852 /* <var_listnode11:nullable Object> isa Array[Object] */
5853 cltype34 = type_array__Arraykernel__Object.color;
5854 idtype35 = type_array__Arraykernel__Object.id;
5855 if(var_listnode11 == NULL) {
5856 var33 = 0;
5857 } else {
5858 if(cltype34 >= var_listnode11->type->table_size) {
5859 var33 = 0;
5860 } else {
5861 var33 = var_listnode11->type->type_table[cltype34] == idtype35;
5862 }
5863 }
5864 if (!var33) {
5865 fprintf(stderr, "Runtime error: %s", "Assert failed");
5866 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7336);
5867 exit(1);
5868 }
5869 var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction151>*/;
5870 var_listnode12 = var36;
5871 var_tkwendnode14 = var_nodearraylist12;
5872 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
5873 cltype38 = type_nullable_parser_nodes__TKwend.color;
5874 idtype39 = type_nullable_parser_nodes__TKwend.id;
5875 if(var_tkwendnode14 == NULL) {
5876 var37 = 1;
5877 } else {
5878 if(cltype38 >= var_tkwendnode14->type->table_size) {
5879 var37 = 0;
5880 } else {
5881 var37 = var_tkwendnode14->type->type_table[cltype38] == idtype39;
5882 }
5883 }
5884 if (!var37) {
5885 fprintf(stderr, "Runtime error: %s", "Assert failed");
5886 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7339);
5887 exit(1);
5888 }
5889 var40 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5890 var41 = NULL;
5891 var42 = NULL;
5892 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var40->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var40, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var41, var42, var_listnode12, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var40:AStdClassdef>*/;
5893 CHECK_NEW_parser_nodes__AStdClassdef(var40);
5894 var_pclassdefnode1 = var40;
5895 var_node_list = var_pclassdefnode1;
5896 var43 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction151> */
5897 var44 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var43) /* go_to on <var_p:Parser>*/;
5898 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var44, var_node_list) /* push on <var_p:Parser>*/;
5899 RET_LABEL:;
5900 }
5901 /* method parser#ReduceAction151#action for (self: Object, Parser) */
5902 void VIRTUAL_parser__ReduceAction151__action(val* self, val* p0) {
5903 parser__ReduceAction151__action(self, p0);
5904 RET_LABEL:;
5905 }
5906 /* method parser#ReduceAction153#action for (self: ReduceAction153, Parser) */
5907 void parser__ReduceAction153__action(val* self, val* p0) {
5908 val* var_p /* var p: Parser */;
5909 val* var /* : null */;
5910 val* var_node_list /* var node_list: nullable Object */;
5911 val* var1 /* : nullable Object */;
5912 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5913 val* var2 /* : nullable Object */;
5914 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5915 val* var3 /* : nullable Object */;
5916 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5917 val* var4 /* : nullable Object */;
5918 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5919 val* var5 /* : nullable Object */;
5920 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5921 val* var6 /* : nullable Object */;
5922 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5923 val* var7 /* : nullable Object */;
5924 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5925 val* var8 /* : nullable Object */;
5926 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5927 val* var9 /* : nullable Object */;
5928 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5929 val* var10 /* : Array[Object] */;
5930 val* var_listnode7 /* var listnode7: Array[Object] */;
5931 val* var11 /* : Array[Object] */;
5932 val* var_listnode16 /* var listnode16: Array[Object] */;
5933 val* var12 /* : Array[Object] */;
5934 val* var_listnode17 /* var listnode17: Array[Object] */;
5935 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5936 short int var13 /* : Bool */;
5937 int cltype;
5938 int idtype;
5939 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5940 short int var14 /* : Bool */;
5941 int cltype15;
5942 int idtype16;
5943 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5944 short int var17 /* : Bool */;
5945 int cltype18;
5946 int idtype19;
5947 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5948 short int var20 /* : Bool */;
5949 int cltype21;
5950 int idtype22;
5951 val* var23 /* : Array[Object] */;
5952 val* var_listnode12 /* var listnode12: Array[Object] */;
5953 val* var_listnode11 /* var listnode11: nullable Object */;
5954 short int var24 /* : Bool */;
5955 int cltype25;
5956 int idtype26;
5957 val* var27 /* : Array[Object] */;
5958 val* var28 /* : AAnnotations */;
5959 val* var29 /* : null */;
5960 val* var30 /* : null */;
5961 val* var31 /* : null */;
5962 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
5963 val* var_listnode15 /* var listnode15: nullable Object */;
5964 short int var32 /* : Bool */;
5965 int cltype33;
5966 int idtype34;
5967 val* var35 /* : Array[Object] */;
5968 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
5969 short int var36 /* : Bool */;
5970 int cltype37;
5971 int idtype38;
5972 val* var39 /* : AStdClassdef */;
5973 val* var40 /* : null */;
5974 val* var41 /* : null */;
5975 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5976 long var42 /* : Int */;
5977 long var43 /* : Int */;
5978 var_p = p0;
5979 var = NULL;
5980 var_node_list = var;
5981 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5982 var_nodearraylist9 = var1;
5983 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5984 var_nodearraylist8 = var2;
5985 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5986 var_nodearraylist7 = var3;
5987 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5988 var_nodearraylist6 = var4;
5989 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5990 var_nodearraylist5 = var5;
5991 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5992 var_nodearraylist4 = var6;
5993 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5994 var_nodearraylist3 = var7;
5995 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5996 var_nodearraylist2 = var8;
5997 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5998 var_nodearraylist1 = var9;
5999 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
6000 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
6001 CHECK_NEW_array__Array(var10);
6002 var_listnode7 = var10;
6003 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
6004 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
6005 CHECK_NEW_array__Array(var11);
6006 var_listnode16 = var11;
6007 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
6008 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
6009 CHECK_NEW_array__Array(var12);
6010 var_listnode17 = var12;
6011 var_pdocnode2 = var_nodearraylist1;
6012 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6013 cltype = type_nullable_parser_nodes__ADoc.color;
6014 idtype = type_nullable_parser_nodes__ADoc.id;
6015 if(var_pdocnode2 == NULL) {
6016 var13 = 1;
6017 } else {
6018 if(cltype >= var_pdocnode2->type->table_size) {
6019 var13 = 0;
6020 } else {
6021 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
6022 }
6023 }
6024 if (!var13) {
6025 fprintf(stderr, "Runtime error: %s", "Assert failed");
6026 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7375);
6027 exit(1);
6028 }
6029 var_pvisibilitynode4 = var_nodearraylist2;
6030 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6031 cltype15 = type_nullable_parser_nodes__AVisibility.color;
6032 idtype16 = type_nullable_parser_nodes__AVisibility.id;
6033 if(var_pvisibilitynode4 == NULL) {
6034 var14 = 1;
6035 } else {
6036 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
6037 var14 = 0;
6038 } else {
6039 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
6040 }
6041 }
6042 if (!var14) {
6043 fprintf(stderr, "Runtime error: %s", "Assert failed");
6044 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7377);
6045 exit(1);
6046 }
6047 var_pclasskindnode5 = var_nodearraylist3;
6048 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6049 cltype18 = type_nullable_parser_nodes__AClasskind.color;
6050 idtype19 = type_nullable_parser_nodes__AClasskind.id;
6051 if(var_pclasskindnode5 == NULL) {
6052 var17 = 1;
6053 } else {
6054 if(cltype18 >= var_pclasskindnode5->type->table_size) {
6055 var17 = 0;
6056 } else {
6057 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
6058 }
6059 }
6060 if (!var17) {
6061 fprintf(stderr, "Runtime error: %s", "Assert failed");
6062 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7379);
6063 exit(1);
6064 }
6065 var_tclassidnode6 = var_nodearraylist5;
6066 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6067 cltype21 = type_nullable_parser_nodes__TClassid.color;
6068 idtype22 = type_nullable_parser_nodes__TClassid.id;
6069 if(var_tclassidnode6 == NULL) {
6070 var20 = 1;
6071 } else {
6072 if(cltype21 >= var_tclassidnode6->type->table_size) {
6073 var20 = 0;
6074 } else {
6075 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
6076 }
6077 }
6078 if (!var20) {
6079 fprintf(stderr, "Runtime error: %s", "Assert failed");
6080 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7381);
6081 exit(1);
6082 }
6083 var23 = NEW_array__Array(&type_array__Arraykernel__Object);
6084 ((void (*)(val*))(var23->class->vft[COLOR_array__Array__init]))(var23) /* init on <var23:Array[Object]>*/;
6085 CHECK_NEW_array__Array(var23);
6086 var_listnode12 = var23;
6087 var_listnode11 = var_nodearraylist6;
6088 /* <var_listnode11:nullable Object> isa Array[Object] */
6089 cltype25 = type_array__Arraykernel__Object.color;
6090 idtype26 = type_array__Arraykernel__Object.id;
6091 if(var_listnode11 == NULL) {
6092 var24 = 0;
6093 } else {
6094 if(cltype25 >= var_listnode11->type->table_size) {
6095 var24 = 0;
6096 } else {
6097 var24 = var_listnode11->type->type_table[cltype25] == idtype26;
6098 }
6099 }
6100 if (!var24) {
6101 fprintf(stderr, "Runtime error: %s", "Assert failed");
6102 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7384);
6103 exit(1);
6104 }
6105 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction153>*/;
6106 var_listnode12 = var27;
6107 var28 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
6108 var29 = NULL;
6109 var30 = NULL;
6110 var31 = NULL;
6111 ((void (*)(val*, val*, val*, val*, val*))(var28->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var28, var29, var30, var_listnode12, var31) /* init_aannotations on <var28:AAnnotations>*/;
6112 CHECK_NEW_parser_nodes__AAnnotations(var28);
6113 var_pannotationsnode8 = var28;
6114 var_listnode15 = var_nodearraylist7;
6115 /* <var_listnode15:nullable Object> isa Array[Object] */
6116 cltype33 = type_array__Arraykernel__Object.color;
6117 idtype34 = type_array__Arraykernel__Object.id;
6118 if(var_listnode15 == NULL) {
6119 var32 = 0;
6120 } else {
6121 if(cltype33 >= var_listnode15->type->table_size) {
6122 var32 = 0;
6123 } else {
6124 var32 = var_listnode15->type->type_table[cltype33] == idtype34;
6125 }
6126 }
6127 if (!var32) {
6128 fprintf(stderr, "Runtime error: %s", "Assert failed");
6129 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7393);
6130 exit(1);
6131 }
6132 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction153>*/;
6133 var_listnode16 = var35;
6134 var_tkwendnode18 = var_nodearraylist9;
6135 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
6136 cltype37 = type_nullable_parser_nodes__TKwend.color;
6137 idtype38 = type_nullable_parser_nodes__TKwend.id;
6138 if(var_tkwendnode18 == NULL) {
6139 var36 = 1;
6140 } else {
6141 if(cltype37 >= var_tkwendnode18->type->table_size) {
6142 var36 = 0;
6143 } else {
6144 var36 = var_tkwendnode18->type->type_table[cltype37] == idtype38;
6145 }
6146 }
6147 if (!var36) {
6148 fprintf(stderr, "Runtime error: %s", "Assert failed");
6149 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7396);
6150 exit(1);
6151 }
6152 var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6153 var40 = NULL;
6154 var41 = NULL;
6155 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var39->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var39, var_pdocnode2, var40, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var41, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var39:AStdClassdef>*/;
6156 CHECK_NEW_parser_nodes__AStdClassdef(var39);
6157 var_pclassdefnode1 = var39;
6158 var_node_list = var_pclassdefnode1;
6159 var42 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction153> */
6160 var43 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var42) /* go_to on <var_p:Parser>*/;
6161 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var43, var_node_list) /* push on <var_p:Parser>*/;
6162 RET_LABEL:;
6163 }
6164 /* method parser#ReduceAction153#action for (self: Object, Parser) */
6165 void VIRTUAL_parser__ReduceAction153__action(val* self, val* p0) {
6166 parser__ReduceAction153__action(self, p0);
6167 RET_LABEL:;
6168 }
6169 /* method parser#ReduceAction154#action for (self: ReduceAction154, Parser) */
6170 void parser__ReduceAction154__action(val* self, val* p0) {
6171 val* var_p /* var p: Parser */;
6172 val* var /* : null */;
6173 val* var_node_list /* var node_list: nullable Object */;
6174 val* var1 /* : nullable Object */;
6175 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6176 val* var2 /* : nullable Object */;
6177 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6178 val* var3 /* : nullable Object */;
6179 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6180 val* var4 /* : nullable Object */;
6181 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6182 val* var5 /* : nullable Object */;
6183 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6184 val* var6 /* : nullable Object */;
6185 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6186 val* var7 /* : nullable Object */;
6187 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6188 val* var8 /* : nullable Object */;
6189 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6190 val* var9 /* : nullable Object */;
6191 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6192 val* var10 /* : nullable Object */;
6193 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6194 val* var11 /* : Array[Object] */;
6195 val* var_listnode7 /* var listnode7: Array[Object] */;
6196 val* var12 /* : Array[Object] */;
6197 val* var_listnode16 /* var listnode16: Array[Object] */;
6198 val* var13 /* : Array[Object] */;
6199 val* var_listnode17 /* var listnode17: Array[Object] */;
6200 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6201 short int var14 /* : Bool */;
6202 int cltype;
6203 int idtype;
6204 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
6205 short int var15 /* : Bool */;
6206 int cltype16;
6207 int idtype17;
6208 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6209 short int var18 /* : Bool */;
6210 int cltype19;
6211 int idtype20;
6212 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6213 short int var21 /* : Bool */;
6214 int cltype22;
6215 int idtype23;
6216 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6217 short int var24 /* : Bool */;
6218 int cltype25;
6219 int idtype26;
6220 val* var27 /* : Array[Object] */;
6221 val* var_listnode12 /* var listnode12: Array[Object] */;
6222 val* var_listnode11 /* var listnode11: nullable Object */;
6223 short int var28 /* : Bool */;
6224 int cltype29;
6225 int idtype30;
6226 val* var31 /* : Array[Object] */;
6227 val* var32 /* : AAnnotations */;
6228 val* var33 /* : null */;
6229 val* var34 /* : null */;
6230 val* var35 /* : null */;
6231 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
6232 val* var_listnode15 /* var listnode15: nullable Object */;
6233 short int var36 /* : Bool */;
6234 int cltype37;
6235 int idtype38;
6236 val* var39 /* : Array[Object] */;
6237 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
6238 short int var40 /* : Bool */;
6239 int cltype41;
6240 int idtype42;
6241 val* var43 /* : AStdClassdef */;
6242 val* var44 /* : null */;
6243 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6244 long var45 /* : Int */;
6245 long var46 /* : Int */;
6246 var_p = p0;
6247 var = NULL;
6248 var_node_list = var;
6249 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6250 var_nodearraylist10 = var1;
6251 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6252 var_nodearraylist9 = var2;
6253 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6254 var_nodearraylist8 = var3;
6255 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6256 var_nodearraylist7 = var4;
6257 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6258 var_nodearraylist6 = var5;
6259 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6260 var_nodearraylist5 = var6;
6261 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6262 var_nodearraylist4 = var7;
6263 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6264 var_nodearraylist3 = var8;
6265 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6266 var_nodearraylist2 = var9;
6267 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6268 var_nodearraylist1 = var10;
6269 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
6270 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
6271 CHECK_NEW_array__Array(var11);
6272 var_listnode7 = var11;
6273 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
6274 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
6275 CHECK_NEW_array__Array(var12);
6276 var_listnode16 = var12;
6277 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
6278 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
6279 CHECK_NEW_array__Array(var13);
6280 var_listnode17 = var13;
6281 var_pdocnode2 = var_nodearraylist1;
6282 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6283 cltype = type_nullable_parser_nodes__ADoc.color;
6284 idtype = type_nullable_parser_nodes__ADoc.id;
6285 if(var_pdocnode2 == NULL) {
6286 var14 = 1;
6287 } else {
6288 if(cltype >= var_pdocnode2->type->table_size) {
6289 var14 = 0;
6290 } else {
6291 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
6292 }
6293 }
6294 if (!var14) {
6295 fprintf(stderr, "Runtime error: %s", "Assert failed");
6296 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7433);
6297 exit(1);
6298 }
6299 var_tkwredefnode3 = var_nodearraylist2;
6300 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6301 cltype16 = type_nullable_parser_nodes__TKwredef.color;
6302 idtype17 = type_nullable_parser_nodes__TKwredef.id;
6303 if(var_tkwredefnode3 == NULL) {
6304 var15 = 1;
6305 } else {
6306 if(cltype16 >= var_tkwredefnode3->type->table_size) {
6307 var15 = 0;
6308 } else {
6309 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
6310 }
6311 }
6312 if (!var15) {
6313 fprintf(stderr, "Runtime error: %s", "Assert failed");
6314 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7435);
6315 exit(1);
6316 }
6317 var_pvisibilitynode4 = var_nodearraylist3;
6318 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6319 cltype19 = type_nullable_parser_nodes__AVisibility.color;
6320 idtype20 = type_nullable_parser_nodes__AVisibility.id;
6321 if(var_pvisibilitynode4 == NULL) {
6322 var18 = 1;
6323 } else {
6324 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
6325 var18 = 0;
6326 } else {
6327 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
6328 }
6329 }
6330 if (!var18) {
6331 fprintf(stderr, "Runtime error: %s", "Assert failed");
6332 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7437);
6333 exit(1);
6334 }
6335 var_pclasskindnode5 = var_nodearraylist4;
6336 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6337 cltype22 = type_nullable_parser_nodes__AClasskind.color;
6338 idtype23 = type_nullable_parser_nodes__AClasskind.id;
6339 if(var_pclasskindnode5 == NULL) {
6340 var21 = 1;
6341 } else {
6342 if(cltype22 >= var_pclasskindnode5->type->table_size) {
6343 var21 = 0;
6344 } else {
6345 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
6346 }
6347 }
6348 if (!var21) {
6349 fprintf(stderr, "Runtime error: %s", "Assert failed");
6350 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7439);
6351 exit(1);
6352 }
6353 var_tclassidnode6 = var_nodearraylist6;
6354 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6355 cltype25 = type_nullable_parser_nodes__TClassid.color;
6356 idtype26 = type_nullable_parser_nodes__TClassid.id;
6357 if(var_tclassidnode6 == NULL) {
6358 var24 = 1;
6359 } else {
6360 if(cltype25 >= var_tclassidnode6->type->table_size) {
6361 var24 = 0;
6362 } else {
6363 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
6364 }
6365 }
6366 if (!var24) {
6367 fprintf(stderr, "Runtime error: %s", "Assert failed");
6368 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7441);
6369 exit(1);
6370 }
6371 var27 = NEW_array__Array(&type_array__Arraykernel__Object);
6372 ((void (*)(val*))(var27->class->vft[COLOR_array__Array__init]))(var27) /* init on <var27:Array[Object]>*/;
6373 CHECK_NEW_array__Array(var27);
6374 var_listnode12 = var27;
6375 var_listnode11 = var_nodearraylist7;
6376 /* <var_listnode11:nullable Object> isa Array[Object] */
6377 cltype29 = type_array__Arraykernel__Object.color;
6378 idtype30 = type_array__Arraykernel__Object.id;
6379 if(var_listnode11 == NULL) {
6380 var28 = 0;
6381 } else {
6382 if(cltype29 >= var_listnode11->type->table_size) {
6383 var28 = 0;
6384 } else {
6385 var28 = var_listnode11->type->type_table[cltype29] == idtype30;
6386 }
6387 }
6388 if (!var28) {
6389 fprintf(stderr, "Runtime error: %s", "Assert failed");
6390 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7444);
6391 exit(1);
6392 }
6393 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction154>*/;
6394 var_listnode12 = var31;
6395 var32 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
6396 var33 = NULL;
6397 var34 = NULL;
6398 var35 = NULL;
6399 ((void (*)(val*, val*, val*, val*, val*))(var32->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var32, var33, var34, var_listnode12, var35) /* init_aannotations on <var32:AAnnotations>*/;
6400 CHECK_NEW_parser_nodes__AAnnotations(var32);
6401 var_pannotationsnode8 = var32;
6402 var_listnode15 = var_nodearraylist8;
6403 /* <var_listnode15:nullable Object> isa Array[Object] */
6404 cltype37 = type_array__Arraykernel__Object.color;
6405 idtype38 = type_array__Arraykernel__Object.id;
6406 if(var_listnode15 == NULL) {
6407 var36 = 0;
6408 } else {
6409 if(cltype37 >= var_listnode15->type->table_size) {
6410 var36 = 0;
6411 } else {
6412 var36 = var_listnode15->type->type_table[cltype37] == idtype38;
6413 }
6414 }
6415 if (!var36) {
6416 fprintf(stderr, "Runtime error: %s", "Assert failed");
6417 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7453);
6418 exit(1);
6419 }
6420 var39 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction154>*/;
6421 var_listnode16 = var39;
6422 var_tkwendnode18 = var_nodearraylist10;
6423 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
6424 cltype41 = type_nullable_parser_nodes__TKwend.color;
6425 idtype42 = type_nullable_parser_nodes__TKwend.id;
6426 if(var_tkwendnode18 == NULL) {
6427 var40 = 1;
6428 } else {
6429 if(cltype41 >= var_tkwendnode18->type->table_size) {
6430 var40 = 0;
6431 } else {
6432 var40 = var_tkwendnode18->type->type_table[cltype41] == idtype42;
6433 }
6434 }
6435 if (!var40) {
6436 fprintf(stderr, "Runtime error: %s", "Assert failed");
6437 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7456);
6438 exit(1);
6439 }
6440 var43 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6441 var44 = NULL;
6442 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var43->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var43, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var44, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var43:AStdClassdef>*/;
6443 CHECK_NEW_parser_nodes__AStdClassdef(var43);
6444 var_pclassdefnode1 = var43;
6445 var_node_list = var_pclassdefnode1;
6446 var45 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction154> */
6447 var46 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var45) /* go_to on <var_p:Parser>*/;
6448 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var46, var_node_list) /* push on <var_p:Parser>*/;
6449 RET_LABEL:;
6450 }
6451 /* method parser#ReduceAction154#action for (self: Object, Parser) */
6452 void VIRTUAL_parser__ReduceAction154__action(val* self, val* p0) {
6453 parser__ReduceAction154__action(self, p0);
6454 RET_LABEL:;
6455 }
6456 /* method parser#ReduceAction155#action for (self: ReduceAction155, Parser) */
6457 void parser__ReduceAction155__action(val* self, val* p0) {
6458 val* var_p /* var p: Parser */;
6459 val* var /* : null */;
6460 val* var_node_list /* var node_list: nullable Object */;
6461 val* var1 /* : nullable Object */;
6462 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6463 val* var2 /* : nullable Object */;
6464 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6465 val* var3 /* : nullable Object */;
6466 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6467 val* var4 /* : nullable Object */;
6468 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6469 val* var5 /* : nullable Object */;
6470 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6471 val* var6 /* : nullable Object */;
6472 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6473 val* var7 /* : nullable Object */;
6474 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6475 val* var8 /* : nullable Object */;
6476 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6477 val* var9 /* : nullable Object */;
6478 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6479 val* var10 /* : nullable Object */;
6480 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6481 val* var11 /* : Array[Object] */;
6482 val* var_listnode7 /* var listnode7: Array[Object] */;
6483 val* var12 /* : Array[Object] */;
6484 val* var_listnode16 /* var listnode16: Array[Object] */;
6485 val* var13 /* : Array[Object] */;
6486 val* var_listnode17 /* var listnode17: Array[Object] */;
6487 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6488 short int var14 /* : Bool */;
6489 int cltype;
6490 int idtype;
6491 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6492 short int var15 /* : Bool */;
6493 int cltype16;
6494 int idtype17;
6495 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6496 short int var18 /* : Bool */;
6497 int cltype19;
6498 int idtype20;
6499 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6500 short int var21 /* : Bool */;
6501 int cltype22;
6502 int idtype23;
6503 val* var24 /* : Array[Object] */;
6504 val* var_listnode12 /* var listnode12: Array[Object] */;
6505 val* var_listnode11 /* var listnode11: nullable Object */;
6506 short int var25 /* : Bool */;
6507 int cltype26;
6508 int idtype27;
6509 val* var28 /* : Array[Object] */;
6510 val* var29 /* : AAnnotations */;
6511 val* var30 /* : null */;
6512 val* var31 /* : null */;
6513 val* var32 /* : null */;
6514 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
6515 val* var_listnode15 /* var listnode15: nullable Object */;
6516 short int var33 /* : Bool */;
6517 int cltype34;
6518 int idtype35;
6519 val* var36 /* : Array[Object] */;
6520 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
6521 short int var37 /* : Bool */;
6522 int cltype38;
6523 int idtype39;
6524 val* var40 /* : AStdClassdef */;
6525 val* var41 /* : null */;
6526 val* var42 /* : null */;
6527 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6528 long var43 /* : Int */;
6529 long var44 /* : Int */;
6530 var_p = p0;
6531 var = NULL;
6532 var_node_list = var;
6533 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6534 var_nodearraylist10 = var1;
6535 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6536 var_nodearraylist9 = var2;
6537 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6538 var_nodearraylist8 = var3;
6539 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6540 var_nodearraylist7 = var4;
6541 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6542 var_nodearraylist6 = var5;
6543 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6544 var_nodearraylist5 = var6;
6545 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6546 var_nodearraylist4 = var7;
6547 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6548 var_nodearraylist3 = var8;
6549 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6550 var_nodearraylist2 = var9;
6551 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6552 var_nodearraylist1 = var10;
6553 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
6554 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
6555 CHECK_NEW_array__Array(var11);
6556 var_listnode7 = var11;
6557 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
6558 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
6559 CHECK_NEW_array__Array(var12);
6560 var_listnode16 = var12;
6561 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
6562 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
6563 CHECK_NEW_array__Array(var13);
6564 var_listnode17 = var13;
6565 var_pdocnode2 = var_nodearraylist1;
6566 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6567 cltype = type_nullable_parser_nodes__ADoc.color;
6568 idtype = type_nullable_parser_nodes__ADoc.id;
6569 if(var_pdocnode2 == NULL) {
6570 var14 = 1;
6571 } else {
6572 if(cltype >= var_pdocnode2->type->table_size) {
6573 var14 = 0;
6574 } else {
6575 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
6576 }
6577 }
6578 if (!var14) {
6579 fprintf(stderr, "Runtime error: %s", "Assert failed");
6580 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7493);
6581 exit(1);
6582 }
6583 var_pvisibilitynode4 = var_nodearraylist2;
6584 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6585 cltype16 = type_nullable_parser_nodes__AVisibility.color;
6586 idtype17 = type_nullable_parser_nodes__AVisibility.id;
6587 if(var_pvisibilitynode4 == NULL) {
6588 var15 = 1;
6589 } else {
6590 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
6591 var15 = 0;
6592 } else {
6593 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
6594 }
6595 }
6596 if (!var15) {
6597 fprintf(stderr, "Runtime error: %s", "Assert failed");
6598 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7495);
6599 exit(1);
6600 }
6601 var_pclasskindnode5 = var_nodearraylist3;
6602 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6603 cltype19 = type_nullable_parser_nodes__AClasskind.color;
6604 idtype20 = type_nullable_parser_nodes__AClasskind.id;
6605 if(var_pclasskindnode5 == NULL) {
6606 var18 = 1;
6607 } else {
6608 if(cltype19 >= var_pclasskindnode5->type->table_size) {
6609 var18 = 0;
6610 } else {
6611 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
6612 }
6613 }
6614 if (!var18) {
6615 fprintf(stderr, "Runtime error: %s", "Assert failed");
6616 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7497);
6617 exit(1);
6618 }
6619 var_tclassidnode6 = var_nodearraylist6;
6620 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6621 cltype22 = type_nullable_parser_nodes__TClassid.color;
6622 idtype23 = type_nullable_parser_nodes__TClassid.id;
6623 if(var_tclassidnode6 == NULL) {
6624 var21 = 1;
6625 } else {
6626 if(cltype22 >= var_tclassidnode6->type->table_size) {
6627 var21 = 0;
6628 } else {
6629 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
6630 }
6631 }
6632 if (!var21) {
6633 fprintf(stderr, "Runtime error: %s", "Assert failed");
6634 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7499);
6635 exit(1);
6636 }
6637 var24 = NEW_array__Array(&type_array__Arraykernel__Object);
6638 ((void (*)(val*))(var24->class->vft[COLOR_array__Array__init]))(var24) /* init on <var24:Array[Object]>*/;
6639 CHECK_NEW_array__Array(var24);
6640 var_listnode12 = var24;
6641 var_listnode11 = var_nodearraylist7;
6642 /* <var_listnode11:nullable Object> isa Array[Object] */
6643 cltype26 = type_array__Arraykernel__Object.color;
6644 idtype27 = type_array__Arraykernel__Object.id;
6645 if(var_listnode11 == NULL) {
6646 var25 = 0;
6647 } else {
6648 if(cltype26 >= var_listnode11->type->table_size) {
6649 var25 = 0;
6650 } else {
6651 var25 = var_listnode11->type->type_table[cltype26] == idtype27;
6652 }
6653 }
6654 if (!var25) {
6655 fprintf(stderr, "Runtime error: %s", "Assert failed");
6656 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7502);
6657 exit(1);
6658 }
6659 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction155>*/;
6660 var_listnode12 = var28;
6661 var29 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
6662 var30 = NULL;
6663 var31 = NULL;
6664 var32 = NULL;
6665 ((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>*/;
6666 CHECK_NEW_parser_nodes__AAnnotations(var29);
6667 var_pannotationsnode8 = var29;
6668 var_listnode15 = var_nodearraylist8;
6669 /* <var_listnode15:nullable Object> isa Array[Object] */
6670 cltype34 = type_array__Arraykernel__Object.color;
6671 idtype35 = type_array__Arraykernel__Object.id;
6672 if(var_listnode15 == NULL) {
6673 var33 = 0;
6674 } else {
6675 if(cltype34 >= var_listnode15->type->table_size) {
6676 var33 = 0;
6677 } else {
6678 var33 = var_listnode15->type->type_table[cltype34] == idtype35;
6679 }
6680 }
6681 if (!var33) {
6682 fprintf(stderr, "Runtime error: %s", "Assert failed");
6683 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7511);
6684 exit(1);
6685 }
6686 var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction155>*/;
6687 var_listnode16 = var36;
6688 var_tkwendnode18 = var_nodearraylist10;
6689 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
6690 cltype38 = type_nullable_parser_nodes__TKwend.color;
6691 idtype39 = type_nullable_parser_nodes__TKwend.id;
6692 if(var_tkwendnode18 == NULL) {
6693 var37 = 1;
6694 } else {
6695 if(cltype38 >= var_tkwendnode18->type->table_size) {
6696 var37 = 0;
6697 } else {
6698 var37 = var_tkwendnode18->type->type_table[cltype38] == idtype39;
6699 }
6700 }
6701 if (!var37) {
6702 fprintf(stderr, "Runtime error: %s", "Assert failed");
6703 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7514);
6704 exit(1);
6705 }
6706 var40 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6707 var41 = NULL;
6708 var42 = NULL;
6709 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var40->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var40, var_pdocnode2, var41, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var42, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var40:AStdClassdef>*/;
6710 CHECK_NEW_parser_nodes__AStdClassdef(var40);
6711 var_pclassdefnode1 = var40;
6712 var_node_list = var_pclassdefnode1;
6713 var43 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction155> */
6714 var44 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var43) /* go_to on <var_p:Parser>*/;
6715 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var44, var_node_list) /* push on <var_p:Parser>*/;
6716 RET_LABEL:;
6717 }
6718 /* method parser#ReduceAction155#action for (self: Object, Parser) */
6719 void VIRTUAL_parser__ReduceAction155__action(val* self, val* p0) {
6720 parser__ReduceAction155__action(self, p0);
6721 RET_LABEL:;
6722 }
6723 /* method parser#ReduceAction156#action for (self: ReduceAction156, Parser) */
6724 void parser__ReduceAction156__action(val* self, val* p0) {
6725 val* var_p /* var p: Parser */;
6726 val* var /* : null */;
6727 val* var_node_list /* var node_list: nullable Object */;
6728 val* var1 /* : nullable Object */;
6729 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
6730 val* var2 /* : nullable Object */;
6731 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6732 val* var3 /* : nullable Object */;
6733 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6734 val* var4 /* : nullable Object */;
6735 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6736 val* var5 /* : nullable Object */;
6737 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6738 val* var6 /* : nullable Object */;
6739 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6740 val* var7 /* : nullable Object */;
6741 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6742 val* var8 /* : nullable Object */;
6743 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6744 val* var9 /* : nullable Object */;
6745 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6746 val* var10 /* : nullable Object */;
6747 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6748 val* var11 /* : nullable Object */;
6749 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6750 val* var12 /* : Array[Object] */;
6751 val* var_listnode7 /* var listnode7: Array[Object] */;
6752 val* var13 /* : Array[Object] */;
6753 val* var_listnode16 /* var listnode16: Array[Object] */;
6754 val* var14 /* : Array[Object] */;
6755 val* var_listnode17 /* var listnode17: Array[Object] */;
6756 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6757 short int var15 /* : Bool */;
6758 int cltype;
6759 int idtype;
6760 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6761 short int var16 /* : Bool */;
6762 int cltype17;
6763 int idtype18;
6764 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6765 short int var19 /* : Bool */;
6766 int cltype20;
6767 int idtype21;
6768 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6769 short int var22 /* : Bool */;
6770 int cltype23;
6771 int idtype24;
6772 val* var25 /* : Array[Object] */;
6773 val* var_listnode12 /* var listnode12: Array[Object] */;
6774 val* var_listnode11 /* var listnode11: nullable Object */;
6775 short int var26 /* : Bool */;
6776 int cltype27;
6777 int idtype28;
6778 val* var29 /* : Array[Object] */;
6779 val* var30 /* : AAnnotations */;
6780 val* var31 /* : null */;
6781 val* var32 /* : null */;
6782 val* var33 /* : null */;
6783 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
6784 val* var_listnode15 /* var listnode15: nullable Object */;
6785 short int var34 /* : Bool */;
6786 int cltype35;
6787 int idtype36;
6788 val* var37 /* : Array[Object] */;
6789 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
6790 short int var38 /* : Bool */;
6791 int cltype39;
6792 int idtype40;
6793 val* var41 /* : AStdClassdef */;
6794 val* var42 /* : null */;
6795 val* var43 /* : null */;
6796 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6797 long var44 /* : Int */;
6798 long var45 /* : Int */;
6799 var_p = p0;
6800 var = NULL;
6801 var_node_list = var;
6802 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6803 var_nodearraylist11 = var1;
6804 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6805 var_nodearraylist10 = var2;
6806 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6807 var_nodearraylist9 = var3;
6808 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6809 var_nodearraylist8 = var4;
6810 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6811 var_nodearraylist7 = var5;
6812 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6813 var_nodearraylist6 = var6;
6814 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6815 var_nodearraylist5 = var7;
6816 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6817 var_nodearraylist4 = var8;
6818 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6819 var_nodearraylist3 = var9;
6820 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6821 var_nodearraylist2 = var10;
6822 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6823 var_nodearraylist1 = var11;
6824 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
6825 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
6826 CHECK_NEW_array__Array(var12);
6827 var_listnode7 = var12;
6828 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
6829 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
6830 CHECK_NEW_array__Array(var13);
6831 var_listnode16 = var13;
6832 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
6833 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
6834 CHECK_NEW_array__Array(var14);
6835 var_listnode17 = var14;
6836 var_pdocnode2 = var_nodearraylist1;
6837 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6838 cltype = type_nullable_parser_nodes__ADoc.color;
6839 idtype = type_nullable_parser_nodes__ADoc.id;
6840 if(var_pdocnode2 == NULL) {
6841 var15 = 1;
6842 } else {
6843 if(cltype >= var_pdocnode2->type->table_size) {
6844 var15 = 0;
6845 } else {
6846 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
6847 }
6848 }
6849 if (!var15) {
6850 fprintf(stderr, "Runtime error: %s", "Assert failed");
6851 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7552);
6852 exit(1);
6853 }
6854 var_pvisibilitynode4 = var_nodearraylist2;
6855 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6856 cltype17 = type_nullable_parser_nodes__AVisibility.color;
6857 idtype18 = type_nullable_parser_nodes__AVisibility.id;
6858 if(var_pvisibilitynode4 == NULL) {
6859 var16 = 1;
6860 } else {
6861 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
6862 var16 = 0;
6863 } else {
6864 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
6865 }
6866 }
6867 if (!var16) {
6868 fprintf(stderr, "Runtime error: %s", "Assert failed");
6869 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7554);
6870 exit(1);
6871 }
6872 var_pclasskindnode5 = var_nodearraylist3;
6873 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6874 cltype20 = type_nullable_parser_nodes__AClasskind.color;
6875 idtype21 = type_nullable_parser_nodes__AClasskind.id;
6876 if(var_pclasskindnode5 == NULL) {
6877 var19 = 1;
6878 } else {
6879 if(cltype20 >= var_pclasskindnode5->type->table_size) {
6880 var19 = 0;
6881 } else {
6882 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
6883 }
6884 }
6885 if (!var19) {
6886 fprintf(stderr, "Runtime error: %s", "Assert failed");
6887 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7556);
6888 exit(1);
6889 }
6890 var_tclassidnode6 = var_nodearraylist7;
6891 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6892 cltype23 = type_nullable_parser_nodes__TClassid.color;
6893 idtype24 = type_nullable_parser_nodes__TClassid.id;
6894 if(var_tclassidnode6 == NULL) {
6895 var22 = 1;
6896 } else {
6897 if(cltype23 >= var_tclassidnode6->type->table_size) {
6898 var22 = 0;
6899 } else {
6900 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
6901 }
6902 }
6903 if (!var22) {
6904 fprintf(stderr, "Runtime error: %s", "Assert failed");
6905 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7558);
6906 exit(1);
6907 }
6908 var25 = NEW_array__Array(&type_array__Arraykernel__Object);
6909 ((void (*)(val*))(var25->class->vft[COLOR_array__Array__init]))(var25) /* init on <var25:Array[Object]>*/;
6910 CHECK_NEW_array__Array(var25);
6911 var_listnode12 = var25;
6912 var_listnode11 = var_nodearraylist8;
6913 /* <var_listnode11:nullable Object> isa Array[Object] */
6914 cltype27 = type_array__Arraykernel__Object.color;
6915 idtype28 = type_array__Arraykernel__Object.id;
6916 if(var_listnode11 == NULL) {
6917 var26 = 0;
6918 } else {
6919 if(cltype27 >= var_listnode11->type->table_size) {
6920 var26 = 0;
6921 } else {
6922 var26 = var_listnode11->type->type_table[cltype27] == idtype28;
6923 }
6924 }
6925 if (!var26) {
6926 fprintf(stderr, "Runtime error: %s", "Assert failed");
6927 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7561);
6928 exit(1);
6929 }
6930 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction156>*/;
6931 var_listnode12 = var29;
6932 var30 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
6933 var31 = NULL;
6934 var32 = NULL;
6935 var33 = NULL;
6936 ((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>*/;
6937 CHECK_NEW_parser_nodes__AAnnotations(var30);
6938 var_pannotationsnode8 = var30;
6939 var_listnode15 = var_nodearraylist9;
6940 /* <var_listnode15:nullable Object> isa Array[Object] */
6941 cltype35 = type_array__Arraykernel__Object.color;
6942 idtype36 = type_array__Arraykernel__Object.id;
6943 if(var_listnode15 == NULL) {
6944 var34 = 0;
6945 } else {
6946 if(cltype35 >= var_listnode15->type->table_size) {
6947 var34 = 0;
6948 } else {
6949 var34 = var_listnode15->type->type_table[cltype35] == idtype36;
6950 }
6951 }
6952 if (!var34) {
6953 fprintf(stderr, "Runtime error: %s", "Assert failed");
6954 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7570);
6955 exit(1);
6956 }
6957 var37 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction156>*/;
6958 var_listnode16 = var37;
6959 var_tkwendnode18 = var_nodearraylist11;
6960 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
6961 cltype39 = type_nullable_parser_nodes__TKwend.color;
6962 idtype40 = type_nullable_parser_nodes__TKwend.id;
6963 if(var_tkwendnode18 == NULL) {
6964 var38 = 1;
6965 } else {
6966 if(cltype39 >= var_tkwendnode18->type->table_size) {
6967 var38 = 0;
6968 } else {
6969 var38 = var_tkwendnode18->type->type_table[cltype39] == idtype40;
6970 }
6971 }
6972 if (!var38) {
6973 fprintf(stderr, "Runtime error: %s", "Assert failed");
6974 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7573);
6975 exit(1);
6976 }
6977 var41 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6978 var42 = NULL;
6979 var43 = NULL;
6980 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var41->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var41, var_pdocnode2, var42, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var43, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var41:AStdClassdef>*/;
6981 CHECK_NEW_parser_nodes__AStdClassdef(var41);
6982 var_pclassdefnode1 = var41;
6983 var_node_list = var_pclassdefnode1;
6984 var44 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction156> */
6985 var45 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var44) /* go_to on <var_p:Parser>*/;
6986 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var45, var_node_list) /* push on <var_p:Parser>*/;
6987 RET_LABEL:;
6988 }
6989 /* method parser#ReduceAction156#action for (self: Object, Parser) */
6990 void VIRTUAL_parser__ReduceAction156__action(val* self, val* p0) {
6991 parser__ReduceAction156__action(self, p0);
6992 RET_LABEL:;
6993 }
6994 /* method parser#ReduceAction158#action for (self: ReduceAction158, Parser) */
6995 void parser__ReduceAction158__action(val* self, val* p0) {
6996 val* var_p /* var p: Parser */;
6997 val* var /* : null */;
6998 val* var_node_list /* var node_list: nullable Object */;
6999 val* var1 /* : nullable Object */;
7000 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
7001 val* var2 /* : nullable Object */;
7002 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7003 val* var3 /* : nullable Object */;
7004 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7005 val* var4 /* : nullable Object */;
7006 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7007 val* var5 /* : nullable Object */;
7008 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7009 val* var6 /* : nullable Object */;
7010 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7011 val* var7 /* : nullable Object */;
7012 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7013 val* var8 /* : nullable Object */;
7014 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7015 val* var9 /* : nullable Object */;
7016 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7017 val* var10 /* : nullable Object */;
7018 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7019 val* var11 /* : nullable Object */;
7020 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7021 val* var12 /* : Array[Object] */;
7022 val* var_listnode7 /* var listnode7: Array[Object] */;
7023 val* var13 /* : Array[Object] */;
7024 val* var_listnode16 /* var listnode16: Array[Object] */;
7025 val* var14 /* : Array[Object] */;
7026 val* var_listnode17 /* var listnode17: Array[Object] */;
7027 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7028 short int var15 /* : Bool */;
7029 int cltype;
7030 int idtype;
7031 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
7032 short int var16 /* : Bool */;
7033 int cltype17;
7034 int idtype18;
7035 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7036 short int var19 /* : Bool */;
7037 int cltype20;
7038 int idtype21;
7039 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7040 short int var22 /* : Bool */;
7041 int cltype23;
7042 int idtype24;
7043 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7044 short int var25 /* : Bool */;
7045 int cltype26;
7046 int idtype27;
7047 val* var28 /* : Array[Object] */;
7048 val* var_listnode12 /* var listnode12: Array[Object] */;
7049 val* var_listnode11 /* var listnode11: nullable Object */;
7050 short int var29 /* : Bool */;
7051 int cltype30;
7052 int idtype31;
7053 val* var32 /* : Array[Object] */;
7054 val* var33 /* : AAnnotations */;
7055 val* var34 /* : null */;
7056 val* var35 /* : null */;
7057 val* var36 /* : null */;
7058 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
7059 val* var_listnode15 /* var listnode15: nullable Object */;
7060 short int var37 /* : Bool */;
7061 int cltype38;
7062 int idtype39;
7063 val* var40 /* : Array[Object] */;
7064 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
7065 short int var41 /* : Bool */;
7066 int cltype42;
7067 int idtype43;
7068 val* var44 /* : AStdClassdef */;
7069 val* var45 /* : null */;
7070 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7071 long var46 /* : Int */;
7072 long var47 /* : Int */;
7073 var_p = p0;
7074 var = NULL;
7075 var_node_list = var;
7076 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7077 var_nodearraylist11 = var1;
7078 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7079 var_nodearraylist10 = var2;
7080 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7081 var_nodearraylist9 = var3;
7082 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7083 var_nodearraylist8 = var4;
7084 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7085 var_nodearraylist7 = var5;
7086 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7087 var_nodearraylist6 = var6;
7088 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7089 var_nodearraylist5 = var7;
7090 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7091 var_nodearraylist4 = var8;
7092 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7093 var_nodearraylist3 = var9;
7094 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7095 var_nodearraylist2 = var10;
7096 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7097 var_nodearraylist1 = var11;
7098 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
7099 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
7100 CHECK_NEW_array__Array(var12);
7101 var_listnode7 = var12;
7102 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
7103 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
7104 CHECK_NEW_array__Array(var13);
7105 var_listnode16 = var13;
7106 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
7107 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
7108 CHECK_NEW_array__Array(var14);
7109 var_listnode17 = var14;
7110 var_pdocnode2 = var_nodearraylist1;
7111 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7112 cltype = type_nullable_parser_nodes__ADoc.color;
7113 idtype = type_nullable_parser_nodes__ADoc.id;
7114 if(var_pdocnode2 == NULL) {
7115 var15 = 1;
7116 } else {
7117 if(cltype >= var_pdocnode2->type->table_size) {
7118 var15 = 0;
7119 } else {
7120 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
7121 }
7122 }
7123 if (!var15) {
7124 fprintf(stderr, "Runtime error: %s", "Assert failed");
7125 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7611);
7126 exit(1);
7127 }
7128 var_tkwredefnode3 = var_nodearraylist2;
7129 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7130 cltype17 = type_nullable_parser_nodes__TKwredef.color;
7131 idtype18 = type_nullable_parser_nodes__TKwredef.id;
7132 if(var_tkwredefnode3 == NULL) {
7133 var16 = 1;
7134 } else {
7135 if(cltype17 >= var_tkwredefnode3->type->table_size) {
7136 var16 = 0;
7137 } else {
7138 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
7139 }
7140 }
7141 if (!var16) {
7142 fprintf(stderr, "Runtime error: %s", "Assert failed");
7143 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7613);
7144 exit(1);
7145 }
7146 var_pvisibilitynode4 = var_nodearraylist3;
7147 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7148 cltype20 = type_nullable_parser_nodes__AVisibility.color;
7149 idtype21 = type_nullable_parser_nodes__AVisibility.id;
7150 if(var_pvisibilitynode4 == NULL) {
7151 var19 = 1;
7152 } else {
7153 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
7154 var19 = 0;
7155 } else {
7156 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
7157 }
7158 }
7159 if (!var19) {
7160 fprintf(stderr, "Runtime error: %s", "Assert failed");
7161 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7615);
7162 exit(1);
7163 }
7164 var_pclasskindnode5 = var_nodearraylist4;
7165 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7166 cltype23 = type_nullable_parser_nodes__AClasskind.color;
7167 idtype24 = type_nullable_parser_nodes__AClasskind.id;
7168 if(var_pclasskindnode5 == NULL) {
7169 var22 = 1;
7170 } else {
7171 if(cltype23 >= var_pclasskindnode5->type->table_size) {
7172 var22 = 0;
7173 } else {
7174 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
7175 }
7176 }
7177 if (!var22) {
7178 fprintf(stderr, "Runtime error: %s", "Assert failed");
7179 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7617);
7180 exit(1);
7181 }
7182 var_tclassidnode6 = var_nodearraylist7;
7183 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7184 cltype26 = type_nullable_parser_nodes__TClassid.color;
7185 idtype27 = type_nullable_parser_nodes__TClassid.id;
7186 if(var_tclassidnode6 == NULL) {
7187 var25 = 1;
7188 } else {
7189 if(cltype26 >= var_tclassidnode6->type->table_size) {
7190 var25 = 0;
7191 } else {
7192 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
7193 }
7194 }
7195 if (!var25) {
7196 fprintf(stderr, "Runtime error: %s", "Assert failed");
7197 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7619);
7198 exit(1);
7199 }
7200 var28 = NEW_array__Array(&type_array__Arraykernel__Object);
7201 ((void (*)(val*))(var28->class->vft[COLOR_array__Array__init]))(var28) /* init on <var28:Array[Object]>*/;
7202 CHECK_NEW_array__Array(var28);
7203 var_listnode12 = var28;
7204 var_listnode11 = var_nodearraylist8;
7205 /* <var_listnode11:nullable Object> isa Array[Object] */
7206 cltype30 = type_array__Arraykernel__Object.color;
7207 idtype31 = type_array__Arraykernel__Object.id;
7208 if(var_listnode11 == NULL) {
7209 var29 = 0;
7210 } else {
7211 if(cltype30 >= var_listnode11->type->table_size) {
7212 var29 = 0;
7213 } else {
7214 var29 = var_listnode11->type->type_table[cltype30] == idtype31;
7215 }
7216 }
7217 if (!var29) {
7218 fprintf(stderr, "Runtime error: %s", "Assert failed");
7219 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7622);
7220 exit(1);
7221 }
7222 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction158>*/;
7223 var_listnode12 = var32;
7224 var33 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
7225 var34 = NULL;
7226 var35 = NULL;
7227 var36 = NULL;
7228 ((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>*/;
7229 CHECK_NEW_parser_nodes__AAnnotations(var33);
7230 var_pannotationsnode8 = var33;
7231 var_listnode15 = var_nodearraylist9;
7232 /* <var_listnode15:nullable Object> isa Array[Object] */
7233 cltype38 = type_array__Arraykernel__Object.color;
7234 idtype39 = type_array__Arraykernel__Object.id;
7235 if(var_listnode15 == NULL) {
7236 var37 = 0;
7237 } else {
7238 if(cltype38 >= var_listnode15->type->table_size) {
7239 var37 = 0;
7240 } else {
7241 var37 = var_listnode15->type->type_table[cltype38] == idtype39;
7242 }
7243 }
7244 if (!var37) {
7245 fprintf(stderr, "Runtime error: %s", "Assert failed");
7246 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7631);
7247 exit(1);
7248 }
7249 var40 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction158>*/;
7250 var_listnode16 = var40;
7251 var_tkwendnode18 = var_nodearraylist11;
7252 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
7253 cltype42 = type_nullable_parser_nodes__TKwend.color;
7254 idtype43 = type_nullable_parser_nodes__TKwend.id;
7255 if(var_tkwendnode18 == NULL) {
7256 var41 = 1;
7257 } else {
7258 if(cltype42 >= var_tkwendnode18->type->table_size) {
7259 var41 = 0;
7260 } else {
7261 var41 = var_tkwendnode18->type->type_table[cltype42] == idtype43;
7262 }
7263 }
7264 if (!var41) {
7265 fprintf(stderr, "Runtime error: %s", "Assert failed");
7266 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7634);
7267 exit(1);
7268 }
7269 var44 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7270 var45 = NULL;
7271 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var44->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var44, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var45, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var44:AStdClassdef>*/;
7272 CHECK_NEW_parser_nodes__AStdClassdef(var44);
7273 var_pclassdefnode1 = var44;
7274 var_node_list = var_pclassdefnode1;
7275 var46 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction158> */
7276 var47 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var46) /* go_to on <var_p:Parser>*/;
7277 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var47, var_node_list) /* push on <var_p:Parser>*/;
7278 RET_LABEL:;
7279 }
7280 /* method parser#ReduceAction158#action for (self: Object, Parser) */
7281 void VIRTUAL_parser__ReduceAction158__action(val* self, val* p0) {
7282 parser__ReduceAction158__action(self, p0);
7283 RET_LABEL:;
7284 }
7285 /* method parser#ReduceAction159#action for (self: ReduceAction159, Parser) */
7286 void parser__ReduceAction159__action(val* self, val* p0) {
7287 val* var_p /* var p: Parser */;
7288 val* var /* : null */;
7289 val* var_node_list /* var node_list: nullable Object */;
7290 val* var1 /* : nullable Object */;
7291 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
7292 val* var2 /* : nullable Object */;
7293 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
7294 val* var3 /* : nullable Object */;
7295 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7296 val* var4 /* : nullable Object */;
7297 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7298 val* var5 /* : nullable Object */;
7299 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7300 val* var6 /* : nullable Object */;
7301 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7302 val* var7 /* : nullable Object */;
7303 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7304 val* var8 /* : nullable Object */;
7305 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7306 val* var9 /* : nullable Object */;
7307 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7308 val* var10 /* : nullable Object */;
7309 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7310 val* var11 /* : nullable Object */;
7311 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7312 val* var12 /* : nullable Object */;
7313 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7314 val* var13 /* : Array[Object] */;
7315 val* var_listnode7 /* var listnode7: Array[Object] */;
7316 val* var14 /* : Array[Object] */;
7317 val* var_listnode16 /* var listnode16: Array[Object] */;
7318 val* var15 /* : Array[Object] */;
7319 val* var_listnode17 /* var listnode17: Array[Object] */;
7320 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7321 short int var16 /* : Bool */;
7322 int cltype;
7323 int idtype;
7324 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
7325 short int var17 /* : Bool */;
7326 int cltype18;
7327 int idtype19;
7328 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7329 short int var20 /* : Bool */;
7330 int cltype21;
7331 int idtype22;
7332 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7333 short int var23 /* : Bool */;
7334 int cltype24;
7335 int idtype25;
7336 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7337 short int var26 /* : Bool */;
7338 int cltype27;
7339 int idtype28;
7340 val* var29 /* : Array[Object] */;
7341 val* var_listnode12 /* var listnode12: Array[Object] */;
7342 val* var_listnode11 /* var listnode11: nullable Object */;
7343 short int var30 /* : Bool */;
7344 int cltype31;
7345 int idtype32;
7346 val* var33 /* : Array[Object] */;
7347 val* var34 /* : AAnnotations */;
7348 val* var35 /* : null */;
7349 val* var36 /* : null */;
7350 val* var37 /* : null */;
7351 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
7352 val* var_listnode15 /* var listnode15: nullable Object */;
7353 short int var38 /* : Bool */;
7354 int cltype39;
7355 int idtype40;
7356 val* var41 /* : Array[Object] */;
7357 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
7358 short int var42 /* : Bool */;
7359 int cltype43;
7360 int idtype44;
7361 val* var45 /* : AStdClassdef */;
7362 val* var46 /* : null */;
7363 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7364 long var47 /* : Int */;
7365 long var48 /* : Int */;
7366 var_p = p0;
7367 var = NULL;
7368 var_node_list = var;
7369 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7370 var_nodearraylist12 = var1;
7371 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7372 var_nodearraylist11 = var2;
7373 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7374 var_nodearraylist10 = var3;
7375 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7376 var_nodearraylist9 = var4;
7377 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7378 var_nodearraylist8 = var5;
7379 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7380 var_nodearraylist7 = var6;
7381 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7382 var_nodearraylist6 = var7;
7383 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7384 var_nodearraylist5 = var8;
7385 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7386 var_nodearraylist4 = var9;
7387 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7388 var_nodearraylist3 = var10;
7389 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7390 var_nodearraylist2 = var11;
7391 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7392 var_nodearraylist1 = var12;
7393 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
7394 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
7395 CHECK_NEW_array__Array(var13);
7396 var_listnode7 = var13;
7397 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
7398 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
7399 CHECK_NEW_array__Array(var14);
7400 var_listnode16 = var14;
7401 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
7402 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
7403 CHECK_NEW_array__Array(var15);
7404 var_listnode17 = var15;
7405 var_pdocnode2 = var_nodearraylist1;
7406 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7407 cltype = type_nullable_parser_nodes__ADoc.color;
7408 idtype = type_nullable_parser_nodes__ADoc.id;
7409 if(var_pdocnode2 == NULL) {
7410 var16 = 1;
7411 } else {
7412 if(cltype >= var_pdocnode2->type->table_size) {
7413 var16 = 0;
7414 } else {
7415 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
7416 }
7417 }
7418 if (!var16) {
7419 fprintf(stderr, "Runtime error: %s", "Assert failed");
7420 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7673);
7421 exit(1);
7422 }
7423 var_tkwredefnode3 = var_nodearraylist2;
7424 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7425 cltype18 = type_nullable_parser_nodes__TKwredef.color;
7426 idtype19 = type_nullable_parser_nodes__TKwredef.id;
7427 if(var_tkwredefnode3 == NULL) {
7428 var17 = 1;
7429 } else {
7430 if(cltype18 >= var_tkwredefnode3->type->table_size) {
7431 var17 = 0;
7432 } else {
7433 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
7434 }
7435 }
7436 if (!var17) {
7437 fprintf(stderr, "Runtime error: %s", "Assert failed");
7438 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7675);
7439 exit(1);
7440 }
7441 var_pvisibilitynode4 = var_nodearraylist3;
7442 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7443 cltype21 = type_nullable_parser_nodes__AVisibility.color;
7444 idtype22 = type_nullable_parser_nodes__AVisibility.id;
7445 if(var_pvisibilitynode4 == NULL) {
7446 var20 = 1;
7447 } else {
7448 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
7449 var20 = 0;
7450 } else {
7451 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
7452 }
7453 }
7454 if (!var20) {
7455 fprintf(stderr, "Runtime error: %s", "Assert failed");
7456 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7677);
7457 exit(1);
7458 }
7459 var_pclasskindnode5 = var_nodearraylist4;
7460 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7461 cltype24 = type_nullable_parser_nodes__AClasskind.color;
7462 idtype25 = type_nullable_parser_nodes__AClasskind.id;
7463 if(var_pclasskindnode5 == NULL) {
7464 var23 = 1;
7465 } else {
7466 if(cltype24 >= var_pclasskindnode5->type->table_size) {
7467 var23 = 0;
7468 } else {
7469 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
7470 }
7471 }
7472 if (!var23) {
7473 fprintf(stderr, "Runtime error: %s", "Assert failed");
7474 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7679);
7475 exit(1);
7476 }
7477 var_tclassidnode6 = var_nodearraylist8;
7478 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7479 cltype27 = type_nullable_parser_nodes__TClassid.color;
7480 idtype28 = type_nullable_parser_nodes__TClassid.id;
7481 if(var_tclassidnode6 == NULL) {
7482 var26 = 1;
7483 } else {
7484 if(cltype27 >= var_tclassidnode6->type->table_size) {
7485 var26 = 0;
7486 } else {
7487 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
7488 }
7489 }
7490 if (!var26) {
7491 fprintf(stderr, "Runtime error: %s", "Assert failed");
7492 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7681);
7493 exit(1);
7494 }
7495 var29 = NEW_array__Array(&type_array__Arraykernel__Object);
7496 ((void (*)(val*))(var29->class->vft[COLOR_array__Array__init]))(var29) /* init on <var29:Array[Object]>*/;
7497 CHECK_NEW_array__Array(var29);
7498 var_listnode12 = var29;
7499 var_listnode11 = var_nodearraylist9;
7500 /* <var_listnode11:nullable Object> isa Array[Object] */
7501 cltype31 = type_array__Arraykernel__Object.color;
7502 idtype32 = type_array__Arraykernel__Object.id;
7503 if(var_listnode11 == NULL) {
7504 var30 = 0;
7505 } else {
7506 if(cltype31 >= var_listnode11->type->table_size) {
7507 var30 = 0;
7508 } else {
7509 var30 = var_listnode11->type->type_table[cltype31] == idtype32;
7510 }
7511 }
7512 if (!var30) {
7513 fprintf(stderr, "Runtime error: %s", "Assert failed");
7514 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7684);
7515 exit(1);
7516 }
7517 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction159>*/;
7518 var_listnode12 = var33;
7519 var34 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
7520 var35 = NULL;
7521 var36 = NULL;
7522 var37 = NULL;
7523 ((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>*/;
7524 CHECK_NEW_parser_nodes__AAnnotations(var34);
7525 var_pannotationsnode8 = var34;
7526 var_listnode15 = var_nodearraylist10;
7527 /* <var_listnode15:nullable Object> isa Array[Object] */
7528 cltype39 = type_array__Arraykernel__Object.color;
7529 idtype40 = type_array__Arraykernel__Object.id;
7530 if(var_listnode15 == NULL) {
7531 var38 = 0;
7532 } else {
7533 if(cltype39 >= var_listnode15->type->table_size) {
7534 var38 = 0;
7535 } else {
7536 var38 = var_listnode15->type->type_table[cltype39] == idtype40;
7537 }
7538 }
7539 if (!var38) {
7540 fprintf(stderr, "Runtime error: %s", "Assert failed");
7541 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7693);
7542 exit(1);
7543 }
7544 var41 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction159>*/;
7545 var_listnode16 = var41;
7546 var_tkwendnode18 = var_nodearraylist12;
7547 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
7548 cltype43 = type_nullable_parser_nodes__TKwend.color;
7549 idtype44 = type_nullable_parser_nodes__TKwend.id;
7550 if(var_tkwendnode18 == NULL) {
7551 var42 = 1;
7552 } else {
7553 if(cltype43 >= var_tkwendnode18->type->table_size) {
7554 var42 = 0;
7555 } else {
7556 var42 = var_tkwendnode18->type->type_table[cltype43] == idtype44;
7557 }
7558 }
7559 if (!var42) {
7560 fprintf(stderr, "Runtime error: %s", "Assert failed");
7561 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7696);
7562 exit(1);
7563 }
7564 var45 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7565 var46 = NULL;
7566 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var45->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var45, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var46, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var45:AStdClassdef>*/;
7567 CHECK_NEW_parser_nodes__AStdClassdef(var45);
7568 var_pclassdefnode1 = var45;
7569 var_node_list = var_pclassdefnode1;
7570 var47 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction159> */
7571 var48 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var47) /* go_to on <var_p:Parser>*/;
7572 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var48, var_node_list) /* push on <var_p:Parser>*/;
7573 RET_LABEL:;
7574 }
7575 /* method parser#ReduceAction159#action for (self: Object, Parser) */
7576 void VIRTUAL_parser__ReduceAction159__action(val* self, val* p0) {
7577 parser__ReduceAction159__action(self, p0);
7578 RET_LABEL:;
7579 }
7580 /* method parser#ReduceAction161#action for (self: ReduceAction161, Parser) */
7581 void parser__ReduceAction161__action(val* self, val* p0) {
7582 val* var_p /* var p: Parser */;
7583 val* var /* : null */;
7584 val* var_node_list /* var node_list: nullable Object */;
7585 val* var1 /* : nullable Object */;
7586 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7587 val* var2 /* : nullable Object */;
7588 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7589 val* var3 /* : nullable Object */;
7590 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7591 val* var4 /* : nullable Object */;
7592 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7593 val* var5 /* : nullable Object */;
7594 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7595 val* var6 /* : nullable Object */;
7596 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7597 val* var7 /* : nullable Object */;
7598 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7599 val* var8 /* : nullable Object */;
7600 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7601 val* var9 /* : nullable Object */;
7602 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7603 val* var10 /* : nullable Object */;
7604 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7605 val* var11 /* : Array[Object] */;
7606 val* var_listnode8 /* var listnode8: Array[Object] */;
7607 val* var12 /* : Array[Object] */;
7608 val* var_listnode17 /* var listnode17: Array[Object] */;
7609 val* var13 /* : Array[Object] */;
7610 val* var_listnode18 /* var listnode18: Array[Object] */;
7611 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7612 short int var14 /* : Bool */;
7613 int cltype;
7614 int idtype;
7615 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7616 short int var15 /* : Bool */;
7617 int cltype16;
7618 int idtype17;
7619 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7620 short int var18 /* : Bool */;
7621 int cltype19;
7622 int idtype20;
7623 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7624 short int var21 /* : Bool */;
7625 int cltype22;
7626 int idtype23;
7627 val* var_listnode7 /* var listnode7: nullable Object */;
7628 short int var24 /* : Bool */;
7629 int cltype25;
7630 int idtype26;
7631 val* var27 /* : Array[Object] */;
7632 val* var28 /* : Array[Object] */;
7633 val* var_listnode13 /* var listnode13: Array[Object] */;
7634 val* var_listnode12 /* var listnode12: nullable Object */;
7635 short int var29 /* : Bool */;
7636 int cltype30;
7637 int idtype31;
7638 val* var32 /* : Array[Object] */;
7639 val* var33 /* : AAnnotations */;
7640 val* var34 /* : null */;
7641 val* var35 /* : null */;
7642 val* var36 /* : null */;
7643 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
7644 val* var_listnode16 /* var listnode16: nullable Object */;
7645 short int var37 /* : Bool */;
7646 int cltype38;
7647 int idtype39;
7648 val* var40 /* : Array[Object] */;
7649 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
7650 short int var41 /* : Bool */;
7651 int cltype42;
7652 int idtype43;
7653 val* var44 /* : AStdClassdef */;
7654 val* var45 /* : null */;
7655 val* var46 /* : null */;
7656 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7657 long var47 /* : Int */;
7658 long var48 /* : Int */;
7659 var_p = p0;
7660 var = NULL;
7661 var_node_list = var;
7662 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7663 var_nodearraylist10 = var1;
7664 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7665 var_nodearraylist9 = var2;
7666 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7667 var_nodearraylist8 = var3;
7668 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7669 var_nodearraylist7 = var4;
7670 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7671 var_nodearraylist6 = var5;
7672 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7673 var_nodearraylist5 = var6;
7674 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7675 var_nodearraylist4 = var7;
7676 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7677 var_nodearraylist3 = var8;
7678 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7679 var_nodearraylist2 = var9;
7680 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7681 var_nodearraylist1 = var10;
7682 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
7683 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
7684 CHECK_NEW_array__Array(var11);
7685 var_listnode8 = var11;
7686 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
7687 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
7688 CHECK_NEW_array__Array(var12);
7689 var_listnode17 = var12;
7690 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
7691 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
7692 CHECK_NEW_array__Array(var13);
7693 var_listnode18 = var13;
7694 var_pdocnode2 = var_nodearraylist1;
7695 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7696 cltype = type_nullable_parser_nodes__ADoc.color;
7697 idtype = type_nullable_parser_nodes__ADoc.id;
7698 if(var_pdocnode2 == NULL) {
7699 var14 = 1;
7700 } else {
7701 if(cltype >= var_pdocnode2->type->table_size) {
7702 var14 = 0;
7703 } else {
7704 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
7705 }
7706 }
7707 if (!var14) {
7708 fprintf(stderr, "Runtime error: %s", "Assert failed");
7709 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7733);
7710 exit(1);
7711 }
7712 var_pvisibilitynode4 = var_nodearraylist2;
7713 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7714 cltype16 = type_nullable_parser_nodes__AVisibility.color;
7715 idtype17 = type_nullable_parser_nodes__AVisibility.id;
7716 if(var_pvisibilitynode4 == NULL) {
7717 var15 = 1;
7718 } else {
7719 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
7720 var15 = 0;
7721 } else {
7722 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
7723 }
7724 }
7725 if (!var15) {
7726 fprintf(stderr, "Runtime error: %s", "Assert failed");
7727 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7735);
7728 exit(1);
7729 }
7730 var_pclasskindnode5 = var_nodearraylist3;
7731 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7732 cltype19 = type_nullable_parser_nodes__AClasskind.color;
7733 idtype20 = type_nullable_parser_nodes__AClasskind.id;
7734 if(var_pclasskindnode5 == NULL) {
7735 var18 = 1;
7736 } else {
7737 if(cltype19 >= var_pclasskindnode5->type->table_size) {
7738 var18 = 0;
7739 } else {
7740 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
7741 }
7742 }
7743 if (!var18) {
7744 fprintf(stderr, "Runtime error: %s", "Assert failed");
7745 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7737);
7746 exit(1);
7747 }
7748 var_tclassidnode6 = var_nodearraylist5;
7749 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7750 cltype22 = type_nullable_parser_nodes__TClassid.color;
7751 idtype23 = type_nullable_parser_nodes__TClassid.id;
7752 if(var_tclassidnode6 == NULL) {
7753 var21 = 1;
7754 } else {
7755 if(cltype22 >= var_tclassidnode6->type->table_size) {
7756 var21 = 0;
7757 } else {
7758 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
7759 }
7760 }
7761 if (!var21) {
7762 fprintf(stderr, "Runtime error: %s", "Assert failed");
7763 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7739);
7764 exit(1);
7765 }
7766 var_listnode7 = var_nodearraylist6;
7767 /* <var_listnode7:nullable Object> isa Array[Object] */
7768 cltype25 = type_array__Arraykernel__Object.color;
7769 idtype26 = type_array__Arraykernel__Object.id;
7770 if(var_listnode7 == NULL) {
7771 var24 = 0;
7772 } else {
7773 if(cltype25 >= var_listnode7->type->table_size) {
7774 var24 = 0;
7775 } else {
7776 var24 = var_listnode7->type->type_table[cltype25] == idtype26;
7777 }
7778 }
7779 if (!var24) {
7780 fprintf(stderr, "Runtime error: %s", "Assert failed");
7781 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7741);
7782 exit(1);
7783 }
7784 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction161>*/;
7785 var_listnode8 = var27;
7786 var28 = NEW_array__Array(&type_array__Arraykernel__Object);
7787 ((void (*)(val*))(var28->class->vft[COLOR_array__Array__init]))(var28) /* init on <var28:Array[Object]>*/;
7788 CHECK_NEW_array__Array(var28);
7789 var_listnode13 = var28;
7790 var_listnode12 = var_nodearraylist7;
7791 /* <var_listnode12:nullable Object> isa Array[Object] */
7792 cltype30 = type_array__Arraykernel__Object.color;
7793 idtype31 = type_array__Arraykernel__Object.id;
7794 if(var_listnode12 == NULL) {
7795 var29 = 0;
7796 } else {
7797 if(cltype30 >= var_listnode12->type->table_size) {
7798 var29 = 0;
7799 } else {
7800 var29 = var_listnode12->type->type_table[cltype30] == idtype31;
7801 }
7802 }
7803 if (!var29) {
7804 fprintf(stderr, "Runtime error: %s", "Assert failed");
7805 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7745);
7806 exit(1);
7807 }
7808 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction161>*/;
7809 var_listnode13 = var32;
7810 var33 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
7811 var34 = NULL;
7812 var35 = NULL;
7813 var36 = NULL;
7814 ((void (*)(val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var33, var34, var35, var_listnode13, var36) /* init_aannotations on <var33:AAnnotations>*/;
7815 CHECK_NEW_parser_nodes__AAnnotations(var33);
7816 var_pannotationsnode9 = var33;
7817 var_listnode16 = var_nodearraylist8;
7818 /* <var_listnode16:nullable Object> isa Array[Object] */
7819 cltype38 = type_array__Arraykernel__Object.color;
7820 idtype39 = type_array__Arraykernel__Object.id;
7821 if(var_listnode16 == NULL) {
7822 var37 = 0;
7823 } else {
7824 if(cltype38 >= var_listnode16->type->table_size) {
7825 var37 = 0;
7826 } else {
7827 var37 = var_listnode16->type->type_table[cltype38] == idtype39;
7828 }
7829 }
7830 if (!var37) {
7831 fprintf(stderr, "Runtime error: %s", "Assert failed");
7832 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7754);
7833 exit(1);
7834 }
7835 var40 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction161>*/;
7836 var_listnode17 = var40;
7837 var_tkwendnode19 = var_nodearraylist10;
7838 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
7839 cltype42 = type_nullable_parser_nodes__TKwend.color;
7840 idtype43 = type_nullable_parser_nodes__TKwend.id;
7841 if(var_tkwendnode19 == NULL) {
7842 var41 = 1;
7843 } else {
7844 if(cltype42 >= var_tkwendnode19->type->table_size) {
7845 var41 = 0;
7846 } else {
7847 var41 = var_tkwendnode19->type->type_table[cltype42] == idtype43;
7848 }
7849 }
7850 if (!var41) {
7851 fprintf(stderr, "Runtime error: %s", "Assert failed");
7852 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7757);
7853 exit(1);
7854 }
7855 var44 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7856 var45 = NULL;
7857 var46 = NULL;
7858 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var44->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var44, var_pdocnode2, var45, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var46, var_listnode17, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var44:AStdClassdef>*/;
7859 CHECK_NEW_parser_nodes__AStdClassdef(var44);
7860 var_pclassdefnode1 = var44;
7861 var_node_list = var_pclassdefnode1;
7862 var47 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction161> */
7863 var48 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var47) /* go_to on <var_p:Parser>*/;
7864 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var48, var_node_list) /* push on <var_p:Parser>*/;
7865 RET_LABEL:;
7866 }
7867 /* method parser#ReduceAction161#action for (self: Object, Parser) */
7868 void VIRTUAL_parser__ReduceAction161__action(val* self, val* p0) {
7869 parser__ReduceAction161__action(self, p0);
7870 RET_LABEL:;
7871 }
7872 /* method parser#ReduceAction162#action for (self: ReduceAction162, Parser) */
7873 void parser__ReduceAction162__action(val* self, val* p0) {
7874 val* var_p /* var p: Parser */;
7875 val* var /* : null */;
7876 val* var_node_list /* var node_list: nullable Object */;
7877 val* var1 /* : nullable Object */;
7878 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
7879 val* var2 /* : nullable Object */;
7880 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7881 val* var3 /* : nullable Object */;
7882 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7883 val* var4 /* : nullable Object */;
7884 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7885 val* var5 /* : nullable Object */;
7886 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7887 val* var6 /* : nullable Object */;
7888 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7889 val* var7 /* : nullable Object */;
7890 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7891 val* var8 /* : nullable Object */;
7892 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7893 val* var9 /* : nullable Object */;
7894 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7895 val* var10 /* : nullable Object */;
7896 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7897 val* var11 /* : nullable Object */;
7898 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7899 val* var12 /* : Array[Object] */;
7900 val* var_listnode8 /* var listnode8: Array[Object] */;
7901 val* var13 /* : Array[Object] */;
7902 val* var_listnode17 /* var listnode17: Array[Object] */;
7903 val* var14 /* : Array[Object] */;
7904 val* var_listnode18 /* var listnode18: Array[Object] */;
7905 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7906 short int var15 /* : Bool */;
7907 int cltype;
7908 int idtype;
7909 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
7910 short int var16 /* : Bool */;
7911 int cltype17;
7912 int idtype18;
7913 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7914 short int var19 /* : Bool */;
7915 int cltype20;
7916 int idtype21;
7917 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7918 short int var22 /* : Bool */;
7919 int cltype23;
7920 int idtype24;
7921 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7922 short int var25 /* : Bool */;
7923 int cltype26;
7924 int idtype27;
7925 val* var_listnode7 /* var listnode7: nullable Object */;
7926 short int var28 /* : Bool */;
7927 int cltype29;
7928 int idtype30;
7929 val* var31 /* : Array[Object] */;
7930 val* var32 /* : Array[Object] */;
7931 val* var_listnode13 /* var listnode13: Array[Object] */;
7932 val* var_listnode12 /* var listnode12: nullable Object */;
7933 short int var33 /* : Bool */;
7934 int cltype34;
7935 int idtype35;
7936 val* var36 /* : Array[Object] */;
7937 val* var37 /* : AAnnotations */;
7938 val* var38 /* : null */;
7939 val* var39 /* : null */;
7940 val* var40 /* : null */;
7941 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
7942 val* var_listnode16 /* var listnode16: nullable Object */;
7943 short int var41 /* : Bool */;
7944 int cltype42;
7945 int idtype43;
7946 val* var44 /* : Array[Object] */;
7947 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
7948 short int var45 /* : Bool */;
7949 int cltype46;
7950 int idtype47;
7951 val* var48 /* : AStdClassdef */;
7952 val* var49 /* : null */;
7953 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7954 long var50 /* : Int */;
7955 long var51 /* : Int */;
7956 var_p = p0;
7957 var = NULL;
7958 var_node_list = var;
7959 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7960 var_nodearraylist11 = var1;
7961 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7962 var_nodearraylist10 = var2;
7963 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7964 var_nodearraylist9 = var3;
7965 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7966 var_nodearraylist8 = var4;
7967 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7968 var_nodearraylist7 = var5;
7969 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7970 var_nodearraylist6 = var6;
7971 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7972 var_nodearraylist5 = var7;
7973 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7974 var_nodearraylist4 = var8;
7975 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7976 var_nodearraylist3 = var9;
7977 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7978 var_nodearraylist2 = var10;
7979 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7980 var_nodearraylist1 = var11;
7981 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
7982 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
7983 CHECK_NEW_array__Array(var12);
7984 var_listnode8 = var12;
7985 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
7986 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
7987 CHECK_NEW_array__Array(var13);
7988 var_listnode17 = var13;
7989 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
7990 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
7991 CHECK_NEW_array__Array(var14);
7992 var_listnode18 = var14;
7993 var_pdocnode2 = var_nodearraylist1;
7994 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7995 cltype = type_nullable_parser_nodes__ADoc.color;
7996 idtype = type_nullable_parser_nodes__ADoc.id;
7997 if(var_pdocnode2 == NULL) {
7998 var15 = 1;
7999 } else {
8000 if(cltype >= var_pdocnode2->type->table_size) {
8001 var15 = 0;
8002 } else {
8003 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
8004 }
8005 }
8006 if (!var15) {
8007 fprintf(stderr, "Runtime error: %s", "Assert failed");
8008 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7795);
8009 exit(1);
8010 }
8011 var_tkwredefnode3 = var_nodearraylist2;
8012 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8013 cltype17 = type_nullable_parser_nodes__TKwredef.color;
8014 idtype18 = type_nullable_parser_nodes__TKwredef.id;
8015 if(var_tkwredefnode3 == NULL) {
8016 var16 = 1;
8017 } else {
8018 if(cltype17 >= var_tkwredefnode3->type->table_size) {
8019 var16 = 0;
8020 } else {
8021 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
8022 }
8023 }
8024 if (!var16) {
8025 fprintf(stderr, "Runtime error: %s", "Assert failed");
8026 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7797);
8027 exit(1);
8028 }
8029 var_pvisibilitynode4 = var_nodearraylist3;
8030 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8031 cltype20 = type_nullable_parser_nodes__AVisibility.color;
8032 idtype21 = type_nullable_parser_nodes__AVisibility.id;
8033 if(var_pvisibilitynode4 == NULL) {
8034 var19 = 1;
8035 } else {
8036 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
8037 var19 = 0;
8038 } else {
8039 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
8040 }
8041 }
8042 if (!var19) {
8043 fprintf(stderr, "Runtime error: %s", "Assert failed");
8044 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7799);
8045 exit(1);
8046 }
8047 var_pclasskindnode5 = var_nodearraylist4;
8048 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8049 cltype23 = type_nullable_parser_nodes__AClasskind.color;
8050 idtype24 = type_nullable_parser_nodes__AClasskind.id;
8051 if(var_pclasskindnode5 == NULL) {
8052 var22 = 1;
8053 } else {
8054 if(cltype23 >= var_pclasskindnode5->type->table_size) {
8055 var22 = 0;
8056 } else {
8057 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
8058 }
8059 }
8060 if (!var22) {
8061 fprintf(stderr, "Runtime error: %s", "Assert failed");
8062 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7801);
8063 exit(1);
8064 }
8065 var_tclassidnode6 = var_nodearraylist6;
8066 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8067 cltype26 = type_nullable_parser_nodes__TClassid.color;
8068 idtype27 = type_nullable_parser_nodes__TClassid.id;
8069 if(var_tclassidnode6 == NULL) {
8070 var25 = 1;
8071 } else {
8072 if(cltype26 >= var_tclassidnode6->type->table_size) {
8073 var25 = 0;
8074 } else {
8075 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
8076 }
8077 }
8078 if (!var25) {
8079 fprintf(stderr, "Runtime error: %s", "Assert failed");
8080 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7803);
8081 exit(1);
8082 }
8083 var_listnode7 = var_nodearraylist7;
8084 /* <var_listnode7:nullable Object> isa Array[Object] */
8085 cltype29 = type_array__Arraykernel__Object.color;
8086 idtype30 = type_array__Arraykernel__Object.id;
8087 if(var_listnode7 == NULL) {
8088 var28 = 0;
8089 } else {
8090 if(cltype29 >= var_listnode7->type->table_size) {
8091 var28 = 0;
8092 } else {
8093 var28 = var_listnode7->type->type_table[cltype29] == idtype30;
8094 }
8095 }
8096 if (!var28) {
8097 fprintf(stderr, "Runtime error: %s", "Assert failed");
8098 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7805);
8099 exit(1);
8100 }
8101 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction162>*/;
8102 var_listnode8 = var31;
8103 var32 = NEW_array__Array(&type_array__Arraykernel__Object);
8104 ((void (*)(val*))(var32->class->vft[COLOR_array__Array__init]))(var32) /* init on <var32:Array[Object]>*/;
8105 CHECK_NEW_array__Array(var32);
8106 var_listnode13 = var32;
8107 var_listnode12 = var_nodearraylist8;
8108 /* <var_listnode12:nullable Object> isa Array[Object] */
8109 cltype34 = type_array__Arraykernel__Object.color;
8110 idtype35 = type_array__Arraykernel__Object.id;
8111 if(var_listnode12 == NULL) {
8112 var33 = 0;
8113 } else {
8114 if(cltype34 >= var_listnode12->type->table_size) {
8115 var33 = 0;
8116 } else {
8117 var33 = var_listnode12->type->type_table[cltype34] == idtype35;
8118 }
8119 }
8120 if (!var33) {
8121 fprintf(stderr, "Runtime error: %s", "Assert failed");
8122 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7809);
8123 exit(1);
8124 }
8125 var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction162>*/;
8126 var_listnode13 = var36;
8127 var37 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
8128 var38 = NULL;
8129 var39 = NULL;
8130 var40 = NULL;
8131 ((void (*)(val*, val*, val*, val*, val*))(var37->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var37, var38, var39, var_listnode13, var40) /* init_aannotations on <var37:AAnnotations>*/;
8132 CHECK_NEW_parser_nodes__AAnnotations(var37);
8133 var_pannotationsnode9 = var37;
8134 var_listnode16 = var_nodearraylist9;
8135 /* <var_listnode16:nullable Object> isa Array[Object] */
8136 cltype42 = type_array__Arraykernel__Object.color;
8137 idtype43 = type_array__Arraykernel__Object.id;
8138 if(var_listnode16 == NULL) {
8139 var41 = 0;
8140 } else {
8141 if(cltype42 >= var_listnode16->type->table_size) {
8142 var41 = 0;
8143 } else {
8144 var41 = var_listnode16->type->type_table[cltype42] == idtype43;
8145 }
8146 }
8147 if (!var41) {
8148 fprintf(stderr, "Runtime error: %s", "Assert failed");
8149 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7818);
8150 exit(1);
8151 }
8152 var44 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction162>*/;
8153 var_listnode17 = var44;
8154 var_tkwendnode19 = var_nodearraylist11;
8155 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
8156 cltype46 = type_nullable_parser_nodes__TKwend.color;
8157 idtype47 = type_nullable_parser_nodes__TKwend.id;
8158 if(var_tkwendnode19 == NULL) {
8159 var45 = 1;
8160 } else {
8161 if(cltype46 >= var_tkwendnode19->type->table_size) {
8162 var45 = 0;
8163 } else {
8164 var45 = var_tkwendnode19->type->type_table[cltype46] == idtype47;
8165 }
8166 }
8167 if (!var45) {
8168 fprintf(stderr, "Runtime error: %s", "Assert failed");
8169 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7821);
8170 exit(1);
8171 }
8172 var48 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8173 var49 = NULL;
8174 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var48->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var48, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var49, var_listnode17, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var48:AStdClassdef>*/;
8175 CHECK_NEW_parser_nodes__AStdClassdef(var48);
8176 var_pclassdefnode1 = var48;
8177 var_node_list = var_pclassdefnode1;
8178 var50 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction162> */
8179 var51 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var50) /* go_to on <var_p:Parser>*/;
8180 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var51, var_node_list) /* push on <var_p:Parser>*/;
8181 RET_LABEL:;
8182 }
8183 /* method parser#ReduceAction162#action for (self: Object, Parser) */
8184 void VIRTUAL_parser__ReduceAction162__action(val* self, val* p0) {
8185 parser__ReduceAction162__action(self, p0);
8186 RET_LABEL:;
8187 }
8188 /* method parser#ReduceAction163#action for (self: ReduceAction163, Parser) */
8189 void parser__ReduceAction163__action(val* self, val* p0) {
8190 val* var_p /* var p: Parser */;
8191 val* var /* : null */;
8192 val* var_node_list /* var node_list: nullable Object */;
8193 val* var1 /* : nullable Object */;
8194 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
8195 val* var2 /* : nullable Object */;
8196 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8197 val* var3 /* : nullable Object */;
8198 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8199 val* var4 /* : nullable Object */;
8200 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8201 val* var5 /* : nullable Object */;
8202 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8203 val* var6 /* : nullable Object */;
8204 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8205 val* var7 /* : nullable Object */;
8206 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8207 val* var8 /* : nullable Object */;
8208 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8209 val* var9 /* : nullable Object */;
8210 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8211 val* var10 /* : nullable Object */;
8212 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8213 val* var11 /* : nullable Object */;
8214 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8215 val* var12 /* : Array[Object] */;
8216 val* var_listnode8 /* var listnode8: Array[Object] */;
8217 val* var13 /* : Array[Object] */;
8218 val* var_listnode17 /* var listnode17: Array[Object] */;
8219 val* var14 /* : Array[Object] */;
8220 val* var_listnode18 /* var listnode18: Array[Object] */;
8221 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8222 short int var15 /* : Bool */;
8223 int cltype;
8224 int idtype;
8225 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8226 short int var16 /* : Bool */;
8227 int cltype17;
8228 int idtype18;
8229 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8230 short int var19 /* : Bool */;
8231 int cltype20;
8232 int idtype21;
8233 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8234 short int var22 /* : Bool */;
8235 int cltype23;
8236 int idtype24;
8237 val* var_listnode7 /* var listnode7: nullable Object */;
8238 short int var25 /* : Bool */;
8239 int cltype26;
8240 int idtype27;
8241 val* var28 /* : Array[Object] */;
8242 val* var29 /* : Array[Object] */;
8243 val* var_listnode13 /* var listnode13: Array[Object] */;
8244 val* var_listnode12 /* var listnode12: nullable Object */;
8245 short int var30 /* : Bool */;
8246 int cltype31;
8247 int idtype32;
8248 val* var33 /* : Array[Object] */;
8249 val* var34 /* : AAnnotations */;
8250 val* var35 /* : null */;
8251 val* var36 /* : null */;
8252 val* var37 /* : null */;
8253 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
8254 val* var_listnode16 /* var listnode16: nullable Object */;
8255 short int var38 /* : Bool */;
8256 int cltype39;
8257 int idtype40;
8258 val* var41 /* : Array[Object] */;
8259 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
8260 short int var42 /* : Bool */;
8261 int cltype43;
8262 int idtype44;
8263 val* var45 /* : AStdClassdef */;
8264 val* var46 /* : null */;
8265 val* var47 /* : null */;
8266 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8267 long var48 /* : Int */;
8268 long var49 /* : Int */;
8269 var_p = p0;
8270 var = NULL;
8271 var_node_list = var;
8272 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8273 var_nodearraylist11 = var1;
8274 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8275 var_nodearraylist10 = var2;
8276 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8277 var_nodearraylist9 = var3;
8278 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8279 var_nodearraylist8 = var4;
8280 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8281 var_nodearraylist7 = var5;
8282 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8283 var_nodearraylist6 = var6;
8284 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8285 var_nodearraylist5 = var7;
8286 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8287 var_nodearraylist4 = var8;
8288 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8289 var_nodearraylist3 = var9;
8290 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8291 var_nodearraylist2 = var10;
8292 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8293 var_nodearraylist1 = var11;
8294 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
8295 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
8296 CHECK_NEW_array__Array(var12);
8297 var_listnode8 = var12;
8298 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
8299 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
8300 CHECK_NEW_array__Array(var13);
8301 var_listnode17 = var13;
8302 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
8303 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
8304 CHECK_NEW_array__Array(var14);
8305 var_listnode18 = var14;
8306 var_pdocnode2 = var_nodearraylist1;
8307 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8308 cltype = type_nullable_parser_nodes__ADoc.color;
8309 idtype = type_nullable_parser_nodes__ADoc.id;
8310 if(var_pdocnode2 == NULL) {
8311 var15 = 1;
8312 } else {
8313 if(cltype >= var_pdocnode2->type->table_size) {
8314 var15 = 0;
8315 } else {
8316 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
8317 }
8318 }
8319 if (!var15) {
8320 fprintf(stderr, "Runtime error: %s", "Assert failed");
8321 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7859);
8322 exit(1);
8323 }
8324 var_pvisibilitynode4 = var_nodearraylist2;
8325 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8326 cltype17 = type_nullable_parser_nodes__AVisibility.color;
8327 idtype18 = type_nullable_parser_nodes__AVisibility.id;
8328 if(var_pvisibilitynode4 == NULL) {
8329 var16 = 1;
8330 } else {
8331 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
8332 var16 = 0;
8333 } else {
8334 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
8335 }
8336 }
8337 if (!var16) {
8338 fprintf(stderr, "Runtime error: %s", "Assert failed");
8339 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7861);
8340 exit(1);
8341 }
8342 var_pclasskindnode5 = var_nodearraylist3;
8343 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8344 cltype20 = type_nullable_parser_nodes__AClasskind.color;
8345 idtype21 = type_nullable_parser_nodes__AClasskind.id;
8346 if(var_pclasskindnode5 == NULL) {
8347 var19 = 1;
8348 } else {
8349 if(cltype20 >= var_pclasskindnode5->type->table_size) {
8350 var19 = 0;
8351 } else {
8352 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
8353 }
8354 }
8355 if (!var19) {
8356 fprintf(stderr, "Runtime error: %s", "Assert failed");
8357 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7863);
8358 exit(1);
8359 }
8360 var_tclassidnode6 = var_nodearraylist6;
8361 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8362 cltype23 = type_nullable_parser_nodes__TClassid.color;
8363 idtype24 = type_nullable_parser_nodes__TClassid.id;
8364 if(var_tclassidnode6 == NULL) {
8365 var22 = 1;
8366 } else {
8367 if(cltype23 >= var_tclassidnode6->type->table_size) {
8368 var22 = 0;
8369 } else {
8370 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
8371 }
8372 }
8373 if (!var22) {
8374 fprintf(stderr, "Runtime error: %s", "Assert failed");
8375 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7865);
8376 exit(1);
8377 }
8378 var_listnode7 = var_nodearraylist7;
8379 /* <var_listnode7:nullable Object> isa Array[Object] */
8380 cltype26 = type_array__Arraykernel__Object.color;
8381 idtype27 = type_array__Arraykernel__Object.id;
8382 if(var_listnode7 == NULL) {
8383 var25 = 0;
8384 } else {
8385 if(cltype26 >= var_listnode7->type->table_size) {
8386 var25 = 0;
8387 } else {
8388 var25 = var_listnode7->type->type_table[cltype26] == idtype27;
8389 }
8390 }
8391 if (!var25) {
8392 fprintf(stderr, "Runtime error: %s", "Assert failed");
8393 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7867);
8394 exit(1);
8395 }
8396 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction163>*/;
8397 var_listnode8 = var28;
8398 var29 = NEW_array__Array(&type_array__Arraykernel__Object);
8399 ((void (*)(val*))(var29->class->vft[COLOR_array__Array__init]))(var29) /* init on <var29:Array[Object]>*/;
8400 CHECK_NEW_array__Array(var29);
8401 var_listnode13 = var29;
8402 var_listnode12 = var_nodearraylist8;
8403 /* <var_listnode12:nullable Object> isa Array[Object] */
8404 cltype31 = type_array__Arraykernel__Object.color;
8405 idtype32 = type_array__Arraykernel__Object.id;
8406 if(var_listnode12 == NULL) {
8407 var30 = 0;
8408 } else {
8409 if(cltype31 >= var_listnode12->type->table_size) {
8410 var30 = 0;
8411 } else {
8412 var30 = var_listnode12->type->type_table[cltype31] == idtype32;
8413 }
8414 }
8415 if (!var30) {
8416 fprintf(stderr, "Runtime error: %s", "Assert failed");
8417 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7871);
8418 exit(1);
8419 }
8420 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction163>*/;
8421 var_listnode13 = var33;
8422 var34 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
8423 var35 = NULL;
8424 var36 = NULL;
8425 var37 = NULL;
8426 ((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>*/;
8427 CHECK_NEW_parser_nodes__AAnnotations(var34);
8428 var_pannotationsnode9 = var34;
8429 var_listnode16 = var_nodearraylist9;
8430 /* <var_listnode16:nullable Object> isa Array[Object] */
8431 cltype39 = type_array__Arraykernel__Object.color;
8432 idtype40 = type_array__Arraykernel__Object.id;
8433 if(var_listnode16 == NULL) {
8434 var38 = 0;
8435 } else {
8436 if(cltype39 >= var_listnode16->type->table_size) {
8437 var38 = 0;
8438 } else {
8439 var38 = var_listnode16->type->type_table[cltype39] == idtype40;
8440 }
8441 }
8442 if (!var38) {
8443 fprintf(stderr, "Runtime error: %s", "Assert failed");
8444 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7880);
8445 exit(1);
8446 }
8447 var41 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction163>*/;
8448 var_listnode17 = var41;
8449 var_tkwendnode19 = var_nodearraylist11;
8450 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
8451 cltype43 = type_nullable_parser_nodes__TKwend.color;
8452 idtype44 = type_nullable_parser_nodes__TKwend.id;
8453 if(var_tkwendnode19 == NULL) {
8454 var42 = 1;
8455 } else {
8456 if(cltype43 >= var_tkwendnode19->type->table_size) {
8457 var42 = 0;
8458 } else {
8459 var42 = var_tkwendnode19->type->type_table[cltype43] == idtype44;
8460 }
8461 }
8462 if (!var42) {
8463 fprintf(stderr, "Runtime error: %s", "Assert failed");
8464 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7883);
8465 exit(1);
8466 }
8467 var45 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8468 var46 = NULL;
8469 var47 = NULL;
8470 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var45->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var45, var_pdocnode2, var46, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var47, var_listnode17, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var45:AStdClassdef>*/;
8471 CHECK_NEW_parser_nodes__AStdClassdef(var45);
8472 var_pclassdefnode1 = var45;
8473 var_node_list = var_pclassdefnode1;
8474 var48 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction163> */
8475 var49 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var48) /* go_to on <var_p:Parser>*/;
8476 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var49, var_node_list) /* push on <var_p:Parser>*/;
8477 RET_LABEL:;
8478 }
8479 /* method parser#ReduceAction163#action for (self: Object, Parser) */
8480 void VIRTUAL_parser__ReduceAction163__action(val* self, val* p0) {
8481 parser__ReduceAction163__action(self, p0);
8482 RET_LABEL:;
8483 }
8484 /* method parser#ReduceAction164#action for (self: ReduceAction164, Parser) */
8485 void parser__ReduceAction164__action(val* self, val* p0) {
8486 val* var_p /* var p: Parser */;
8487 val* var /* : null */;
8488 val* var_node_list /* var node_list: nullable Object */;
8489 val* var1 /* : nullable Object */;
8490 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
8491 val* var2 /* : nullable Object */;
8492 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
8493 val* var3 /* : nullable Object */;
8494 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8495 val* var4 /* : nullable Object */;
8496 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8497 val* var5 /* : nullable Object */;
8498 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8499 val* var6 /* : nullable Object */;
8500 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8501 val* var7 /* : nullable Object */;
8502 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8503 val* var8 /* : nullable Object */;
8504 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8505 val* var9 /* : nullable Object */;
8506 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8507 val* var10 /* : nullable Object */;
8508 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8509 val* var11 /* : nullable Object */;
8510 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8511 val* var12 /* : nullable Object */;
8512 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8513 val* var13 /* : Array[Object] */;
8514 val* var_listnode8 /* var listnode8: Array[Object] */;
8515 val* var14 /* : Array[Object] */;
8516 val* var_listnode17 /* var listnode17: Array[Object] */;
8517 val* var15 /* : Array[Object] */;
8518 val* var_listnode18 /* var listnode18: Array[Object] */;
8519 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8520 short int var16 /* : Bool */;
8521 int cltype;
8522 int idtype;
8523 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8524 short int var17 /* : Bool */;
8525 int cltype18;
8526 int idtype19;
8527 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8528 short int var20 /* : Bool */;
8529 int cltype21;
8530 int idtype22;
8531 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8532 short int var23 /* : Bool */;
8533 int cltype24;
8534 int idtype25;
8535 val* var_listnode7 /* var listnode7: nullable Object */;
8536 short int var26 /* : Bool */;
8537 int cltype27;
8538 int idtype28;
8539 val* var29 /* : Array[Object] */;
8540 val* var30 /* : Array[Object] */;
8541 val* var_listnode13 /* var listnode13: Array[Object] */;
8542 val* var_listnode12 /* var listnode12: nullable Object */;
8543 short int var31 /* : Bool */;
8544 int cltype32;
8545 int idtype33;
8546 val* var34 /* : Array[Object] */;
8547 val* var35 /* : AAnnotations */;
8548 val* var36 /* : null */;
8549 val* var37 /* : null */;
8550 val* var38 /* : null */;
8551 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
8552 val* var_listnode16 /* var listnode16: nullable Object */;
8553 short int var39 /* : Bool */;
8554 int cltype40;
8555 int idtype41;
8556 val* var42 /* : Array[Object] */;
8557 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
8558 short int var43 /* : Bool */;
8559 int cltype44;
8560 int idtype45;
8561 val* var46 /* : AStdClassdef */;
8562 val* var47 /* : null */;
8563 val* var48 /* : null */;
8564 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8565 long var49 /* : Int */;
8566 long var50 /* : Int */;
8567 var_p = p0;
8568 var = NULL;
8569 var_node_list = var;
8570 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8571 var_nodearraylist12 = var1;
8572 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8573 var_nodearraylist11 = var2;
8574 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8575 var_nodearraylist10 = var3;
8576 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8577 var_nodearraylist9 = var4;
8578 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8579 var_nodearraylist8 = var5;
8580 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8581 var_nodearraylist7 = var6;
8582 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8583 var_nodearraylist6 = var7;
8584 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8585 var_nodearraylist5 = var8;
8586 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8587 var_nodearraylist4 = var9;
8588 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8589 var_nodearraylist3 = var10;
8590 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8591 var_nodearraylist2 = var11;
8592 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8593 var_nodearraylist1 = var12;
8594 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
8595 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
8596 CHECK_NEW_array__Array(var13);
8597 var_listnode8 = var13;
8598 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
8599 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
8600 CHECK_NEW_array__Array(var14);
8601 var_listnode17 = var14;
8602 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
8603 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
8604 CHECK_NEW_array__Array(var15);
8605 var_listnode18 = var15;
8606 var_pdocnode2 = var_nodearraylist1;
8607 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8608 cltype = type_nullable_parser_nodes__ADoc.color;
8609 idtype = type_nullable_parser_nodes__ADoc.id;
8610 if(var_pdocnode2 == NULL) {
8611 var16 = 1;
8612 } else {
8613 if(cltype >= var_pdocnode2->type->table_size) {
8614 var16 = 0;
8615 } else {
8616 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
8617 }
8618 }
8619 if (!var16) {
8620 fprintf(stderr, "Runtime error: %s", "Assert failed");
8621 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7922);
8622 exit(1);
8623 }
8624 var_pvisibilitynode4 = var_nodearraylist2;
8625 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8626 cltype18 = type_nullable_parser_nodes__AVisibility.color;
8627 idtype19 = type_nullable_parser_nodes__AVisibility.id;
8628 if(var_pvisibilitynode4 == NULL) {
8629 var17 = 1;
8630 } else {
8631 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
8632 var17 = 0;
8633 } else {
8634 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
8635 }
8636 }
8637 if (!var17) {
8638 fprintf(stderr, "Runtime error: %s", "Assert failed");
8639 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7924);
8640 exit(1);
8641 }
8642 var_pclasskindnode5 = var_nodearraylist3;
8643 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8644 cltype21 = type_nullable_parser_nodes__AClasskind.color;
8645 idtype22 = type_nullable_parser_nodes__AClasskind.id;
8646 if(var_pclasskindnode5 == NULL) {
8647 var20 = 1;
8648 } else {
8649 if(cltype21 >= var_pclasskindnode5->type->table_size) {
8650 var20 = 0;
8651 } else {
8652 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
8653 }
8654 }
8655 if (!var20) {
8656 fprintf(stderr, "Runtime error: %s", "Assert failed");
8657 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7926);
8658 exit(1);
8659 }
8660 var_tclassidnode6 = var_nodearraylist7;
8661 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8662 cltype24 = type_nullable_parser_nodes__TClassid.color;
8663 idtype25 = type_nullable_parser_nodes__TClassid.id;
8664 if(var_tclassidnode6 == NULL) {
8665 var23 = 1;
8666 } else {
8667 if(cltype24 >= var_tclassidnode6->type->table_size) {
8668 var23 = 0;
8669 } else {
8670 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
8671 }
8672 }
8673 if (!var23) {
8674 fprintf(stderr, "Runtime error: %s", "Assert failed");
8675 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7928);
8676 exit(1);
8677 }
8678 var_listnode7 = var_nodearraylist8;
8679 /* <var_listnode7:nullable Object> isa Array[Object] */
8680 cltype27 = type_array__Arraykernel__Object.color;
8681 idtype28 = type_array__Arraykernel__Object.id;
8682 if(var_listnode7 == NULL) {
8683 var26 = 0;
8684 } else {
8685 if(cltype27 >= var_listnode7->type->table_size) {
8686 var26 = 0;
8687 } else {
8688 var26 = var_listnode7->type->type_table[cltype27] == idtype28;
8689 }
8690 }
8691 if (!var26) {
8692 fprintf(stderr, "Runtime error: %s", "Assert failed");
8693 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7930);
8694 exit(1);
8695 }
8696 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction164>*/;
8697 var_listnode8 = var29;
8698 var30 = NEW_array__Array(&type_array__Arraykernel__Object);
8699 ((void (*)(val*))(var30->class->vft[COLOR_array__Array__init]))(var30) /* init on <var30:Array[Object]>*/;
8700 CHECK_NEW_array__Array(var30);
8701 var_listnode13 = var30;
8702 var_listnode12 = var_nodearraylist9;
8703 /* <var_listnode12:nullable Object> isa Array[Object] */
8704 cltype32 = type_array__Arraykernel__Object.color;
8705 idtype33 = type_array__Arraykernel__Object.id;
8706 if(var_listnode12 == NULL) {
8707 var31 = 0;
8708 } else {
8709 if(cltype32 >= var_listnode12->type->table_size) {
8710 var31 = 0;
8711 } else {
8712 var31 = var_listnode12->type->type_table[cltype32] == idtype33;
8713 }
8714 }
8715 if (!var31) {
8716 fprintf(stderr, "Runtime error: %s", "Assert failed");
8717 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7934);
8718 exit(1);
8719 }
8720 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction164>*/;
8721 var_listnode13 = var34;
8722 var35 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
8723 var36 = NULL;
8724 var37 = NULL;
8725 var38 = NULL;
8726 ((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>*/;
8727 CHECK_NEW_parser_nodes__AAnnotations(var35);
8728 var_pannotationsnode9 = var35;
8729 var_listnode16 = var_nodearraylist10;
8730 /* <var_listnode16:nullable Object> isa Array[Object] */
8731 cltype40 = type_array__Arraykernel__Object.color;
8732 idtype41 = type_array__Arraykernel__Object.id;
8733 if(var_listnode16 == NULL) {
8734 var39 = 0;
8735 } else {
8736 if(cltype40 >= var_listnode16->type->table_size) {
8737 var39 = 0;
8738 } else {
8739 var39 = var_listnode16->type->type_table[cltype40] == idtype41;
8740 }
8741 }
8742 if (!var39) {
8743 fprintf(stderr, "Runtime error: %s", "Assert failed");
8744 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7943);
8745 exit(1);
8746 }
8747 var42 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction164>*/;
8748 var_listnode17 = var42;
8749 var_tkwendnode19 = var_nodearraylist12;
8750 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
8751 cltype44 = type_nullable_parser_nodes__TKwend.color;
8752 idtype45 = type_nullable_parser_nodes__TKwend.id;
8753 if(var_tkwendnode19 == NULL) {
8754 var43 = 1;
8755 } else {
8756 if(cltype44 >= var_tkwendnode19->type->table_size) {
8757 var43 = 0;
8758 } else {
8759 var43 = var_tkwendnode19->type->type_table[cltype44] == idtype45;
8760 }
8761 }
8762 if (!var43) {
8763 fprintf(stderr, "Runtime error: %s", "Assert failed");
8764 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7946);
8765 exit(1);
8766 }
8767 var46 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8768 var47 = NULL;
8769 var48 = NULL;
8770 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var46->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var46, var_pdocnode2, var47, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var48, var_listnode17, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var46:AStdClassdef>*/;
8771 CHECK_NEW_parser_nodes__AStdClassdef(var46);
8772 var_pclassdefnode1 = var46;
8773 var_node_list = var_pclassdefnode1;
8774 var49 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction164> */
8775 var50 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var49) /* go_to on <var_p:Parser>*/;
8776 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var50, var_node_list) /* push on <var_p:Parser>*/;
8777 RET_LABEL:;
8778 }
8779 /* method parser#ReduceAction164#action for (self: Object, Parser) */
8780 void VIRTUAL_parser__ReduceAction164__action(val* self, val* p0) {
8781 parser__ReduceAction164__action(self, p0);
8782 RET_LABEL:;
8783 }
8784 /* method parser#ReduceAction166#action for (self: ReduceAction166, Parser) */
8785 void parser__ReduceAction166__action(val* self, val* p0) {
8786 val* var_p /* var p: Parser */;
8787 val* var /* : null */;
8788 val* var_node_list /* var node_list: nullable Object */;
8789 val* var1 /* : nullable Object */;
8790 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
8791 val* var2 /* : nullable Object */;
8792 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
8793 val* var3 /* : nullable Object */;
8794 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8795 val* var4 /* : nullable Object */;
8796 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8797 val* var5 /* : nullable Object */;
8798 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8799 val* var6 /* : nullable Object */;
8800 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8801 val* var7 /* : nullable Object */;
8802 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8803 val* var8 /* : nullable Object */;
8804 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8805 val* var9 /* : nullable Object */;
8806 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8807 val* var10 /* : nullable Object */;
8808 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8809 val* var11 /* : nullable Object */;
8810 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8811 val* var12 /* : nullable Object */;
8812 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8813 val* var13 /* : Array[Object] */;
8814 val* var_listnode8 /* var listnode8: Array[Object] */;
8815 val* var14 /* : Array[Object] */;
8816 val* var_listnode17 /* var listnode17: Array[Object] */;
8817 val* var15 /* : Array[Object] */;
8818 val* var_listnode18 /* var listnode18: Array[Object] */;
8819 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8820 short int var16 /* : Bool */;
8821 int cltype;
8822 int idtype;
8823 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
8824 short int var17 /* : Bool */;
8825 int cltype18;
8826 int idtype19;
8827 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8828 short int var20 /* : Bool */;
8829 int cltype21;
8830 int idtype22;
8831 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8832 short int var23 /* : Bool */;
8833 int cltype24;
8834 int idtype25;
8835 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8836 short int var26 /* : Bool */;
8837 int cltype27;
8838 int idtype28;
8839 val* var_listnode7 /* var listnode7: nullable Object */;
8840 short int var29 /* : Bool */;
8841 int cltype30;
8842 int idtype31;
8843 val* var32 /* : Array[Object] */;
8844 val* var33 /* : Array[Object] */;
8845 val* var_listnode13 /* var listnode13: Array[Object] */;
8846 val* var_listnode12 /* var listnode12: nullable Object */;
8847 short int var34 /* : Bool */;
8848 int cltype35;
8849 int idtype36;
8850 val* var37 /* : Array[Object] */;
8851 val* var38 /* : AAnnotations */;
8852 val* var39 /* : null */;
8853 val* var40 /* : null */;
8854 val* var41 /* : null */;
8855 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
8856 val* var_listnode16 /* var listnode16: nullable Object */;
8857 short int var42 /* : Bool */;
8858 int cltype43;
8859 int idtype44;
8860 val* var45 /* : Array[Object] */;
8861 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
8862 short int var46 /* : Bool */;
8863 int cltype47;
8864 int idtype48;
8865 val* var49 /* : AStdClassdef */;
8866 val* var50 /* : null */;
8867 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8868 long var51 /* : Int */;
8869 long var52 /* : Int */;
8870 var_p = p0;
8871 var = NULL;
8872 var_node_list = var;
8873 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8874 var_nodearraylist12 = var1;
8875 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8876 var_nodearraylist11 = var2;
8877 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8878 var_nodearraylist10 = var3;
8879 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8880 var_nodearraylist9 = var4;
8881 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8882 var_nodearraylist8 = var5;
8883 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8884 var_nodearraylist7 = var6;
8885 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8886 var_nodearraylist6 = var7;
8887 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8888 var_nodearraylist5 = var8;
8889 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8890 var_nodearraylist4 = var9;
8891 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8892 var_nodearraylist3 = var10;
8893 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8894 var_nodearraylist2 = var11;
8895 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8896 var_nodearraylist1 = var12;
8897 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
8898 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
8899 CHECK_NEW_array__Array(var13);
8900 var_listnode8 = var13;
8901 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
8902 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
8903 CHECK_NEW_array__Array(var14);
8904 var_listnode17 = var14;
8905 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
8906 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
8907 CHECK_NEW_array__Array(var15);
8908 var_listnode18 = var15;
8909 var_pdocnode2 = var_nodearraylist1;
8910 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8911 cltype = type_nullable_parser_nodes__ADoc.color;
8912 idtype = type_nullable_parser_nodes__ADoc.id;
8913 if(var_pdocnode2 == NULL) {
8914 var16 = 1;
8915 } else {
8916 if(cltype >= var_pdocnode2->type->table_size) {
8917 var16 = 0;
8918 } else {
8919 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
8920 }
8921 }
8922 if (!var16) {
8923 fprintf(stderr, "Runtime error: %s", "Assert failed");
8924 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7985);
8925 exit(1);
8926 }
8927 var_tkwredefnode3 = var_nodearraylist2;
8928 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8929 cltype18 = type_nullable_parser_nodes__TKwredef.color;
8930 idtype19 = type_nullable_parser_nodes__TKwredef.id;
8931 if(var_tkwredefnode3 == NULL) {
8932 var17 = 1;
8933 } else {
8934 if(cltype18 >= var_tkwredefnode3->type->table_size) {
8935 var17 = 0;
8936 } else {
8937 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
8938 }
8939 }
8940 if (!var17) {
8941 fprintf(stderr, "Runtime error: %s", "Assert failed");
8942 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7987);
8943 exit(1);
8944 }
8945 var_pvisibilitynode4 = var_nodearraylist3;
8946 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8947 cltype21 = type_nullable_parser_nodes__AVisibility.color;
8948 idtype22 = type_nullable_parser_nodes__AVisibility.id;
8949 if(var_pvisibilitynode4 == NULL) {
8950 var20 = 1;
8951 } else {
8952 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
8953 var20 = 0;
8954 } else {
8955 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
8956 }
8957 }
8958 if (!var20) {
8959 fprintf(stderr, "Runtime error: %s", "Assert failed");
8960 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7989);
8961 exit(1);
8962 }
8963 var_pclasskindnode5 = var_nodearraylist4;
8964 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8965 cltype24 = type_nullable_parser_nodes__AClasskind.color;
8966 idtype25 = type_nullable_parser_nodes__AClasskind.id;
8967 if(var_pclasskindnode5 == NULL) {
8968 var23 = 1;
8969 } else {
8970 if(cltype24 >= var_pclasskindnode5->type->table_size) {
8971 var23 = 0;
8972 } else {
8973 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
8974 }
8975 }
8976 if (!var23) {
8977 fprintf(stderr, "Runtime error: %s", "Assert failed");
8978 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7991);
8979 exit(1);
8980 }
8981 var_tclassidnode6 = var_nodearraylist7;
8982 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8983 cltype27 = type_nullable_parser_nodes__TClassid.color;
8984 idtype28 = type_nullable_parser_nodes__TClassid.id;
8985 if(var_tclassidnode6 == NULL) {
8986 var26 = 1;
8987 } else {
8988 if(cltype27 >= var_tclassidnode6->type->table_size) {
8989 var26 = 0;
8990 } else {
8991 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
8992 }
8993 }
8994 if (!var26) {
8995 fprintf(stderr, "Runtime error: %s", "Assert failed");
8996 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7993);
8997 exit(1);
8998 }
8999 var_listnode7 = var_nodearraylist8;
9000 /* <var_listnode7:nullable Object> isa Array[Object] */
9001 cltype30 = type_array__Arraykernel__Object.color;
9002 idtype31 = type_array__Arraykernel__Object.id;
9003 if(var_listnode7 == NULL) {
9004 var29 = 0;
9005 } else {
9006 if(cltype30 >= var_listnode7->type->table_size) {
9007 var29 = 0;
9008 } else {
9009 var29 = var_listnode7->type->type_table[cltype30] == idtype31;
9010 }
9011 }
9012 if (!var29) {
9013 fprintf(stderr, "Runtime error: %s", "Assert failed");
9014 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7995);
9015 exit(1);
9016 }
9017 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction166>*/;
9018 var_listnode8 = var32;
9019 var33 = NEW_array__Array(&type_array__Arraykernel__Object);
9020 ((void (*)(val*))(var33->class->vft[COLOR_array__Array__init]))(var33) /* init on <var33:Array[Object]>*/;
9021 CHECK_NEW_array__Array(var33);
9022 var_listnode13 = var33;
9023 var_listnode12 = var_nodearraylist9;
9024 /* <var_listnode12:nullable Object> isa Array[Object] */
9025 cltype35 = type_array__Arraykernel__Object.color;
9026 idtype36 = type_array__Arraykernel__Object.id;
9027 if(var_listnode12 == NULL) {
9028 var34 = 0;
9029 } else {
9030 if(cltype35 >= var_listnode12->type->table_size) {
9031 var34 = 0;
9032 } else {
9033 var34 = var_listnode12->type->type_table[cltype35] == idtype36;
9034 }
9035 }
9036 if (!var34) {
9037 fprintf(stderr, "Runtime error: %s", "Assert failed");
9038 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 7999);
9039 exit(1);
9040 }
9041 var37 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction166>*/;
9042 var_listnode13 = var37;
9043 var38 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
9044 var39 = NULL;
9045 var40 = NULL;
9046 var41 = NULL;
9047 ((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>*/;
9048 CHECK_NEW_parser_nodes__AAnnotations(var38);
9049 var_pannotationsnode9 = var38;
9050 var_listnode16 = var_nodearraylist10;
9051 /* <var_listnode16:nullable Object> isa Array[Object] */
9052 cltype43 = type_array__Arraykernel__Object.color;
9053 idtype44 = type_array__Arraykernel__Object.id;
9054 if(var_listnode16 == NULL) {
9055 var42 = 0;
9056 } else {
9057 if(cltype43 >= var_listnode16->type->table_size) {
9058 var42 = 0;
9059 } else {
9060 var42 = var_listnode16->type->type_table[cltype43] == idtype44;
9061 }
9062 }
9063 if (!var42) {
9064 fprintf(stderr, "Runtime error: %s", "Assert failed");
9065 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8008);
9066 exit(1);
9067 }
9068 var45 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction166>*/;
9069 var_listnode17 = var45;
9070 var_tkwendnode19 = var_nodearraylist12;
9071 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
9072 cltype47 = type_nullable_parser_nodes__TKwend.color;
9073 idtype48 = type_nullable_parser_nodes__TKwend.id;
9074 if(var_tkwendnode19 == NULL) {
9075 var46 = 1;
9076 } else {
9077 if(cltype47 >= var_tkwendnode19->type->table_size) {
9078 var46 = 0;
9079 } else {
9080 var46 = var_tkwendnode19->type->type_table[cltype47] == idtype48;
9081 }
9082 }
9083 if (!var46) {
9084 fprintf(stderr, "Runtime error: %s", "Assert failed");
9085 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8011);
9086 exit(1);
9087 }
9088 var49 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9089 var50 = NULL;
9090 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var49->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var49, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var50, var_listnode17, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var49:AStdClassdef>*/;
9091 CHECK_NEW_parser_nodes__AStdClassdef(var49);
9092 var_pclassdefnode1 = var49;
9093 var_node_list = var_pclassdefnode1;
9094 var51 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction166> */
9095 var52 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var51) /* go_to on <var_p:Parser>*/;
9096 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var52, var_node_list) /* push on <var_p:Parser>*/;
9097 RET_LABEL:;
9098 }
9099 /* method parser#ReduceAction166#action for (self: Object, Parser) */
9100 void VIRTUAL_parser__ReduceAction166__action(val* self, val* p0) {
9101 parser__ReduceAction166__action(self, p0);
9102 RET_LABEL:;
9103 }
9104 /* method parser#ReduceAction167#action for (self: ReduceAction167, Parser) */
9105 void parser__ReduceAction167__action(val* self, val* p0) {
9106 val* var_p /* var p: Parser */;
9107 val* var /* : null */;
9108 val* var_node_list /* var node_list: nullable Object */;
9109 val* var1 /* : nullable Object */;
9110 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
9111 val* var2 /* : nullable Object */;
9112 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
9113 val* var3 /* : nullable Object */;
9114 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
9115 val* var4 /* : nullable Object */;
9116 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
9117 val* var5 /* : nullable Object */;
9118 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9119 val* var6 /* : nullable Object */;
9120 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9121 val* var7 /* : nullable Object */;
9122 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9123 val* var8 /* : nullable Object */;
9124 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9125 val* var9 /* : nullable Object */;
9126 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9127 val* var10 /* : nullable Object */;
9128 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9129 val* var11 /* : nullable Object */;
9130 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9131 val* var12 /* : nullable Object */;
9132 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9133 val* var13 /* : nullable Object */;
9134 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9135 val* var14 /* : Array[Object] */;
9136 val* var_listnode8 /* var listnode8: Array[Object] */;
9137 val* var15 /* : Array[Object] */;
9138 val* var_listnode17 /* var listnode17: Array[Object] */;
9139 val* var16 /* : Array[Object] */;
9140 val* var_listnode18 /* var listnode18: Array[Object] */;
9141 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9142 short int var17 /* : Bool */;
9143 int cltype;
9144 int idtype;
9145 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
9146 short int var18 /* : Bool */;
9147 int cltype19;
9148 int idtype20;
9149 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9150 short int var21 /* : Bool */;
9151 int cltype22;
9152 int idtype23;
9153 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
9154 short int var24 /* : Bool */;
9155 int cltype25;
9156 int idtype26;
9157 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9158 short int var27 /* : Bool */;
9159 int cltype28;
9160 int idtype29;
9161 val* var_listnode7 /* var listnode7: nullable Object */;
9162 short int var30 /* : Bool */;
9163 int cltype31;
9164 int idtype32;
9165 val* var33 /* : Array[Object] */;
9166 val* var34 /* : Array[Object] */;
9167 val* var_listnode13 /* var listnode13: Array[Object] */;
9168 val* var_listnode12 /* var listnode12: nullable Object */;
9169 short int var35 /* : Bool */;
9170 int cltype36;
9171 int idtype37;
9172 val* var38 /* : Array[Object] */;
9173 val* var39 /* : AAnnotations */;
9174 val* var40 /* : null */;
9175 val* var41 /* : null */;
9176 val* var42 /* : null */;
9177 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
9178 val* var_listnode16 /* var listnode16: nullable Object */;
9179 short int var43 /* : Bool */;
9180 int cltype44;
9181 int idtype45;
9182 val* var46 /* : Array[Object] */;
9183 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
9184 short int var47 /* : Bool */;
9185 int cltype48;
9186 int idtype49;
9187 val* var50 /* : AStdClassdef */;
9188 val* var51 /* : null */;
9189 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
9190 long var52 /* : Int */;
9191 long var53 /* : Int */;
9192 var_p = p0;
9193 var = NULL;
9194 var_node_list = var;
9195 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9196 var_nodearraylist13 = var1;
9197 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9198 var_nodearraylist12 = var2;
9199 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9200 var_nodearraylist11 = var3;
9201 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9202 var_nodearraylist10 = var4;
9203 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9204 var_nodearraylist9 = var5;
9205 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9206 var_nodearraylist8 = var6;
9207 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9208 var_nodearraylist7 = var7;
9209 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9210 var_nodearraylist6 = var8;
9211 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9212 var_nodearraylist5 = var9;
9213 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9214 var_nodearraylist4 = var10;
9215 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9216 var_nodearraylist3 = var11;
9217 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9218 var_nodearraylist2 = var12;
9219 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9220 var_nodearraylist1 = var13;
9221 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
9222 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
9223 CHECK_NEW_array__Array(var14);
9224 var_listnode8 = var14;
9225 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
9226 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
9227 CHECK_NEW_array__Array(var15);
9228 var_listnode17 = var15;
9229 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
9230 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
9231 CHECK_NEW_array__Array(var16);
9232 var_listnode18 = var16;
9233 var_pdocnode2 = var_nodearraylist1;
9234 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9235 cltype = type_nullable_parser_nodes__ADoc.color;
9236 idtype = type_nullable_parser_nodes__ADoc.id;
9237 if(var_pdocnode2 == NULL) {
9238 var17 = 1;
9239 } else {
9240 if(cltype >= var_pdocnode2->type->table_size) {
9241 var17 = 0;
9242 } else {
9243 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
9244 }
9245 }
9246 if (!var17) {
9247 fprintf(stderr, "Runtime error: %s", "Assert failed");
9248 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8051);
9249 exit(1);
9250 }
9251 var_tkwredefnode3 = var_nodearraylist2;
9252 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
9253 cltype19 = type_nullable_parser_nodes__TKwredef.color;
9254 idtype20 = type_nullable_parser_nodes__TKwredef.id;
9255 if(var_tkwredefnode3 == NULL) {
9256 var18 = 1;
9257 } else {
9258 if(cltype19 >= var_tkwredefnode3->type->table_size) {
9259 var18 = 0;
9260 } else {
9261 var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20;
9262 }
9263 }
9264 if (!var18) {
9265 fprintf(stderr, "Runtime error: %s", "Assert failed");
9266 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8053);
9267 exit(1);
9268 }
9269 var_pvisibilitynode4 = var_nodearraylist3;
9270 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9271 cltype22 = type_nullable_parser_nodes__AVisibility.color;
9272 idtype23 = type_nullable_parser_nodes__AVisibility.id;
9273 if(var_pvisibilitynode4 == NULL) {
9274 var21 = 1;
9275 } else {
9276 if(cltype22 >= var_pvisibilitynode4->type->table_size) {
9277 var21 = 0;
9278 } else {
9279 var21 = var_pvisibilitynode4->type->type_table[cltype22] == idtype23;
9280 }
9281 }
9282 if (!var21) {
9283 fprintf(stderr, "Runtime error: %s", "Assert failed");
9284 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8055);
9285 exit(1);
9286 }
9287 var_pclasskindnode5 = var_nodearraylist4;
9288 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
9289 cltype25 = type_nullable_parser_nodes__AClasskind.color;
9290 idtype26 = type_nullable_parser_nodes__AClasskind.id;
9291 if(var_pclasskindnode5 == NULL) {
9292 var24 = 1;
9293 } else {
9294 if(cltype25 >= var_pclasskindnode5->type->table_size) {
9295 var24 = 0;
9296 } else {
9297 var24 = var_pclasskindnode5->type->type_table[cltype25] == idtype26;
9298 }
9299 }
9300 if (!var24) {
9301 fprintf(stderr, "Runtime error: %s", "Assert failed");
9302 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8057);
9303 exit(1);
9304 }
9305 var_tclassidnode6 = var_nodearraylist8;
9306 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9307 cltype28 = type_nullable_parser_nodes__TClassid.color;
9308 idtype29 = type_nullable_parser_nodes__TClassid.id;
9309 if(var_tclassidnode6 == NULL) {
9310 var27 = 1;
9311 } else {
9312 if(cltype28 >= var_tclassidnode6->type->table_size) {
9313 var27 = 0;
9314 } else {
9315 var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29;
9316 }
9317 }
9318 if (!var27) {
9319 fprintf(stderr, "Runtime error: %s", "Assert failed");
9320 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8059);
9321 exit(1);
9322 }
9323 var_listnode7 = var_nodearraylist9;
9324 /* <var_listnode7:nullable Object> isa Array[Object] */
9325 cltype31 = type_array__Arraykernel__Object.color;
9326 idtype32 = type_array__Arraykernel__Object.id;
9327 if(var_listnode7 == NULL) {
9328 var30 = 0;
9329 } else {
9330 if(cltype31 >= var_listnode7->type->table_size) {
9331 var30 = 0;
9332 } else {
9333 var30 = var_listnode7->type->type_table[cltype31] == idtype32;
9334 }
9335 }
9336 if (!var30) {
9337 fprintf(stderr, "Runtime error: %s", "Assert failed");
9338 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8061);
9339 exit(1);
9340 }
9341 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction167>*/;
9342 var_listnode8 = var33;
9343 var34 = NEW_array__Array(&type_array__Arraykernel__Object);
9344 ((void (*)(val*))(var34->class->vft[COLOR_array__Array__init]))(var34) /* init on <var34:Array[Object]>*/;
9345 CHECK_NEW_array__Array(var34);
9346 var_listnode13 = var34;
9347 var_listnode12 = var_nodearraylist10;
9348 /* <var_listnode12:nullable Object> isa Array[Object] */
9349 cltype36 = type_array__Arraykernel__Object.color;
9350 idtype37 = type_array__Arraykernel__Object.id;
9351 if(var_listnode12 == NULL) {
9352 var35 = 0;
9353 } else {
9354 if(cltype36 >= var_listnode12->type->table_size) {
9355 var35 = 0;
9356 } else {
9357 var35 = var_listnode12->type->type_table[cltype36] == idtype37;
9358 }
9359 }
9360 if (!var35) {
9361 fprintf(stderr, "Runtime error: %s", "Assert failed");
9362 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8065);
9363 exit(1);
9364 }
9365 var38 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction167>*/;
9366 var_listnode13 = var38;
9367 var39 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
9368 var40 = NULL;
9369 var41 = NULL;
9370 var42 = NULL;
9371 ((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>*/;
9372 CHECK_NEW_parser_nodes__AAnnotations(var39);
9373 var_pannotationsnode9 = var39;
9374 var_listnode16 = var_nodearraylist11;
9375 /* <var_listnode16:nullable Object> isa Array[Object] */
9376 cltype44 = type_array__Arraykernel__Object.color;
9377 idtype45 = type_array__Arraykernel__Object.id;
9378 if(var_listnode16 == NULL) {
9379 var43 = 0;
9380 } else {
9381 if(cltype44 >= var_listnode16->type->table_size) {
9382 var43 = 0;
9383 } else {
9384 var43 = var_listnode16->type->type_table[cltype44] == idtype45;
9385 }
9386 }
9387 if (!var43) {
9388 fprintf(stderr, "Runtime error: %s", "Assert failed");
9389 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8074);
9390 exit(1);
9391 }
9392 var46 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction167>*/;
9393 var_listnode17 = var46;
9394 var_tkwendnode19 = var_nodearraylist13;
9395 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
9396 cltype48 = type_nullable_parser_nodes__TKwend.color;
9397 idtype49 = type_nullable_parser_nodes__TKwend.id;
9398 if(var_tkwendnode19 == NULL) {
9399 var47 = 1;
9400 } else {
9401 if(cltype48 >= var_tkwendnode19->type->table_size) {
9402 var47 = 0;
9403 } else {
9404 var47 = var_tkwendnode19->type->type_table[cltype48] == idtype49;
9405 }
9406 }
9407 if (!var47) {
9408 fprintf(stderr, "Runtime error: %s", "Assert failed");
9409 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8077);
9410 exit(1);
9411 }
9412 var50 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9413 var51 = NULL;
9414 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var50->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var50, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var51, var_listnode17, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var50:AStdClassdef>*/;
9415 CHECK_NEW_parser_nodes__AStdClassdef(var50);
9416 var_pclassdefnode1 = var50;
9417 var_node_list = var_pclassdefnode1;
9418 var52 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction167> */
9419 var53 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var52) /* go_to on <var_p:Parser>*/;
9420 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var53, var_node_list) /* push on <var_p:Parser>*/;
9421 RET_LABEL:;
9422 }
9423 /* method parser#ReduceAction167#action for (self: Object, Parser) */
9424 void VIRTUAL_parser__ReduceAction167__action(val* self, val* p0) {
9425 parser__ReduceAction167__action(self, p0);
9426 RET_LABEL:;
9427 }
9428 /* method parser#ReduceAction169#action for (self: ReduceAction169, Parser) */
9429 void parser__ReduceAction169__action(val* self, val* p0) {
9430 val* var_p /* var p: Parser */;
9431 val* var /* : null */;
9432 val* var_node_list /* var node_list: nullable Object */;
9433 val* var1 /* : nullable Object */;
9434 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9435 val* var2 /* : nullable Object */;
9436 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9437 val* var3 /* : nullable Object */;
9438 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9439 val* var4 /* : nullable Object */;
9440 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9441 val* var5 /* : nullable Object */;
9442 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9443 val* var6 /* : nullable Object */;
9444 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9445 val* var7 /* : nullable Object */;
9446 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9447 val* var8 /* : nullable Object */;
9448 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9449 val* var9 /* : nullable Object */;
9450 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9451 val* var10 /* : Array[Object] */;
9452 val* var_listnode7 /* var listnode7: Array[Object] */;
9453 val* var11 /* : Array[Object] */;
9454 val* var_listnode11 /* var listnode11: Array[Object] */;
9455 val* var12 /* : Array[Object] */;
9456 val* var_listnode12 /* var listnode12: Array[Object] */;
9457 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9458 short int var13 /* : Bool */;
9459 int cltype;
9460 int idtype;
9461 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9462 short int var14 /* : Bool */;
9463 int cltype15;
9464 int idtype16;
9465 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
9466 short int var17 /* : Bool */;
9467 int cltype18;
9468 int idtype19;
9469 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9470 short int var20 /* : Bool */;
9471 int cltype21;
9472 int idtype22;
9473 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
9474 short int var23 /* : Bool */;
9475 int cltype24;
9476 int idtype25;
9477 val* var_listnode10 /* var listnode10: nullable Object */;
9478 short int var26 /* : Bool */;
9479 int cltype27;
9480 int idtype28;
9481 val* var29 /* : Array[Object] */;
9482 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
9483 short int var30 /* : Bool */;
9484 int cltype31;
9485 int idtype32;
9486 val* var33 /* : AStdClassdef */;
9487 val* var34 /* : null */;
9488 val* var35 /* : null */;
9489 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
9490 long var36 /* : Int */;
9491 long var37 /* : Int */;
9492 var_p = p0;
9493 var = NULL;
9494 var_node_list = var;
9495 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9496 var_nodearraylist9 = var1;
9497 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9498 var_nodearraylist8 = var2;
9499 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9500 var_nodearraylist7 = var3;
9501 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9502 var_nodearraylist6 = var4;
9503 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9504 var_nodearraylist5 = var5;
9505 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9506 var_nodearraylist4 = var6;
9507 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9508 var_nodearraylist3 = var7;
9509 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9510 var_nodearraylist2 = var8;
9511 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9512 var_nodearraylist1 = var9;
9513 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
9514 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
9515 CHECK_NEW_array__Array(var10);
9516 var_listnode7 = var10;
9517 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
9518 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
9519 CHECK_NEW_array__Array(var11);
9520 var_listnode11 = var11;
9521 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
9522 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
9523 CHECK_NEW_array__Array(var12);
9524 var_listnode12 = var12;
9525 var_pdocnode2 = var_nodearraylist1;
9526 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9527 cltype = type_nullable_parser_nodes__ADoc.color;
9528 idtype = type_nullable_parser_nodes__ADoc.id;
9529 if(var_pdocnode2 == NULL) {
9530 var13 = 1;
9531 } else {
9532 if(cltype >= var_pdocnode2->type->table_size) {
9533 var13 = 0;
9534 } else {
9535 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
9536 }
9537 }
9538 if (!var13) {
9539 fprintf(stderr, "Runtime error: %s", "Assert failed");
9540 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8113);
9541 exit(1);
9542 }
9543 var_pvisibilitynode4 = var_nodearraylist2;
9544 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9545 cltype15 = type_nullable_parser_nodes__AVisibility.color;
9546 idtype16 = type_nullable_parser_nodes__AVisibility.id;
9547 if(var_pvisibilitynode4 == NULL) {
9548 var14 = 1;
9549 } else {
9550 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
9551 var14 = 0;
9552 } else {
9553 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
9554 }
9555 }
9556 if (!var14) {
9557 fprintf(stderr, "Runtime error: %s", "Assert failed");
9558 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8115);
9559 exit(1);
9560 }
9561 var_pclasskindnode5 = var_nodearraylist3;
9562 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
9563 cltype18 = type_nullable_parser_nodes__AClasskind.color;
9564 idtype19 = type_nullable_parser_nodes__AClasskind.id;
9565 if(var_pclasskindnode5 == NULL) {
9566 var17 = 1;
9567 } else {
9568 if(cltype18 >= var_pclasskindnode5->type->table_size) {
9569 var17 = 0;
9570 } else {
9571 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
9572 }
9573 }
9574 if (!var17) {
9575 fprintf(stderr, "Runtime error: %s", "Assert failed");
9576 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8117);
9577 exit(1);
9578 }
9579 var_tclassidnode6 = var_nodearraylist5;
9580 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9581 cltype21 = type_nullable_parser_nodes__TClassid.color;
9582 idtype22 = type_nullable_parser_nodes__TClassid.id;
9583 if(var_tclassidnode6 == NULL) {
9584 var20 = 1;
9585 } else {
9586 if(cltype21 >= var_tclassidnode6->type->table_size) {
9587 var20 = 0;
9588 } else {
9589 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
9590 }
9591 }
9592 if (!var20) {
9593 fprintf(stderr, "Runtime error: %s", "Assert failed");
9594 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8119);
9595 exit(1);
9596 }
9597 var_pexterncodeblocknode9 = var_nodearraylist6;
9598 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
9599 cltype24 = type_nullable_parser_nodes__AExternCodeBlock.color;
9600 idtype25 = type_nullable_parser_nodes__AExternCodeBlock.id;
9601 if(var_pexterncodeblocknode9 == NULL) {
9602 var23 = 1;
9603 } else {
9604 if(cltype24 >= var_pexterncodeblocknode9->type->table_size) {
9605 var23 = 0;
9606 } else {
9607 var23 = var_pexterncodeblocknode9->type->type_table[cltype24] == idtype25;
9608 }
9609 }
9610 if (!var23) {
9611 fprintf(stderr, "Runtime error: %s", "Assert failed");
9612 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8121);
9613 exit(1);
9614 }
9615 var_listnode10 = var_nodearraylist7;
9616 /* <var_listnode10:nullable Object> isa Array[Object] */
9617 cltype27 = type_array__Arraykernel__Object.color;
9618 idtype28 = type_array__Arraykernel__Object.id;
9619 if(var_listnode10 == NULL) {
9620 var26 = 0;
9621 } else {
9622 if(cltype27 >= var_listnode10->type->table_size) {
9623 var26 = 0;
9624 } else {
9625 var26 = var_listnode10->type->type_table[cltype27] == idtype28;
9626 }
9627 }
9628 if (!var26) {
9629 fprintf(stderr, "Runtime error: %s", "Assert failed");
9630 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8123);
9631 exit(1);
9632 }
9633 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction169>*/;
9634 var_listnode11 = var29;
9635 var_tkwendnode13 = var_nodearraylist9;
9636 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
9637 cltype31 = type_nullable_parser_nodes__TKwend.color;
9638 idtype32 = type_nullable_parser_nodes__TKwend.id;
9639 if(var_tkwendnode13 == NULL) {
9640 var30 = 1;
9641 } else {
9642 if(cltype31 >= var_tkwendnode13->type->table_size) {
9643 var30 = 0;
9644 } else {
9645 var30 = var_tkwendnode13->type->type_table[cltype31] == idtype32;
9646 }
9647 }
9648 if (!var30) {
9649 fprintf(stderr, "Runtime error: %s", "Assert failed");
9650 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8126);
9651 exit(1);
9652 }
9653 var33 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9654 var34 = NULL;
9655 var35 = NULL;
9656 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var33, var_pdocnode2, var34, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var35, var_pexterncodeblocknode9, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var33:AStdClassdef>*/;
9657 CHECK_NEW_parser_nodes__AStdClassdef(var33);
9658 var_pclassdefnode1 = var33;
9659 var_node_list = var_pclassdefnode1;
9660 var36 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction169> */
9661 var37 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var36) /* go_to on <var_p:Parser>*/;
9662 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var37, var_node_list) /* push on <var_p:Parser>*/;
9663 RET_LABEL:;
9664 }
9665 /* method parser#ReduceAction169#action for (self: Object, Parser) */
9666 void VIRTUAL_parser__ReduceAction169__action(val* self, val* p0) {
9667 parser__ReduceAction169__action(self, p0);
9668 RET_LABEL:;
9669 }
9670 /* method parser#ReduceAction170#action for (self: ReduceAction170, Parser) */
9671 void parser__ReduceAction170__action(val* self, val* p0) {
9672 val* var_p /* var p: Parser */;
9673 val* var /* : null */;
9674 val* var_node_list /* var node_list: nullable Object */;
9675 val* var1 /* : nullable Object */;
9676 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
9677 val* var2 /* : nullable Object */;
9678 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9679 val* var3 /* : nullable Object */;
9680 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9681 val* var4 /* : nullable Object */;
9682 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9683 val* var5 /* : nullable Object */;
9684 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9685 val* var6 /* : nullable Object */;
9686 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9687 val* var7 /* : nullable Object */;
9688 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9689 val* var8 /* : nullable Object */;
9690 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9691 val* var9 /* : nullable Object */;
9692 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9693 val* var10 /* : nullable Object */;
9694 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9695 val* var11 /* : Array[Object] */;
9696 val* var_listnode7 /* var listnode7: Array[Object] */;
9697 val* var12 /* : Array[Object] */;
9698 val* var_listnode11 /* var listnode11: Array[Object] */;
9699 val* var13 /* : Array[Object] */;
9700 val* var_listnode12 /* var listnode12: Array[Object] */;
9701 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9702 short int var14 /* : Bool */;
9703 int cltype;
9704 int idtype;
9705 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
9706 short int var15 /* : Bool */;
9707 int cltype16;
9708 int idtype17;
9709 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9710 short int var18 /* : Bool */;
9711 int cltype19;
9712 int idtype20;
9713 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
9714 short int var21 /* : Bool */;
9715 int cltype22;
9716 int idtype23;
9717 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9718 short int var24 /* : Bool */;
9719 int cltype25;
9720 int idtype26;
9721 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
9722 short int var27 /* : Bool */;
9723 int cltype28;
9724 int idtype29;
9725 val* var_listnode10 /* var listnode10: nullable Object */;
9726 short int var30 /* : Bool */;
9727 int cltype31;
9728 int idtype32;
9729 val* var33 /* : Array[Object] */;
9730 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
9731 short int var34 /* : Bool */;
9732 int cltype35;
9733 int idtype36;
9734 val* var37 /* : AStdClassdef */;
9735 val* var38 /* : null */;
9736 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
9737 long var39 /* : Int */;
9738 long var40 /* : Int */;
9739 var_p = p0;
9740 var = NULL;
9741 var_node_list = var;
9742 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9743 var_nodearraylist10 = var1;
9744 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9745 var_nodearraylist9 = var2;
9746 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9747 var_nodearraylist8 = var3;
9748 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9749 var_nodearraylist7 = var4;
9750 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9751 var_nodearraylist6 = var5;
9752 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9753 var_nodearraylist5 = var6;
9754 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9755 var_nodearraylist4 = var7;
9756 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9757 var_nodearraylist3 = var8;
9758 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9759 var_nodearraylist2 = var9;
9760 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9761 var_nodearraylist1 = var10;
9762 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
9763 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
9764 CHECK_NEW_array__Array(var11);
9765 var_listnode7 = var11;
9766 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
9767 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
9768 CHECK_NEW_array__Array(var12);
9769 var_listnode11 = var12;
9770 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
9771 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
9772 CHECK_NEW_array__Array(var13);
9773 var_listnode12 = var13;
9774 var_pdocnode2 = var_nodearraylist1;
9775 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9776 cltype = type_nullable_parser_nodes__ADoc.color;
9777 idtype = type_nullable_parser_nodes__ADoc.id;
9778 if(var_pdocnode2 == NULL) {
9779 var14 = 1;
9780 } else {
9781 if(cltype >= var_pdocnode2->type->table_size) {
9782 var14 = 0;
9783 } else {
9784 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
9785 }
9786 }
9787 if (!var14) {
9788 fprintf(stderr, "Runtime error: %s", "Assert failed");
9789 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8163);
9790 exit(1);
9791 }
9792 var_tkwredefnode3 = var_nodearraylist2;
9793 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
9794 cltype16 = type_nullable_parser_nodes__TKwredef.color;
9795 idtype17 = type_nullable_parser_nodes__TKwredef.id;
9796 if(var_tkwredefnode3 == NULL) {
9797 var15 = 1;
9798 } else {
9799 if(cltype16 >= var_tkwredefnode3->type->table_size) {
9800 var15 = 0;
9801 } else {
9802 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
9803 }
9804 }
9805 if (!var15) {
9806 fprintf(stderr, "Runtime error: %s", "Assert failed");
9807 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8165);
9808 exit(1);
9809 }
9810 var_pvisibilitynode4 = var_nodearraylist3;
9811 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9812 cltype19 = type_nullable_parser_nodes__AVisibility.color;
9813 idtype20 = type_nullable_parser_nodes__AVisibility.id;
9814 if(var_pvisibilitynode4 == NULL) {
9815 var18 = 1;
9816 } else {
9817 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
9818 var18 = 0;
9819 } else {
9820 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
9821 }
9822 }
9823 if (!var18) {
9824 fprintf(stderr, "Runtime error: %s", "Assert failed");
9825 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8167);
9826 exit(1);
9827 }
9828 var_pclasskindnode5 = var_nodearraylist4;
9829 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
9830 cltype22 = type_nullable_parser_nodes__AClasskind.color;
9831 idtype23 = type_nullable_parser_nodes__AClasskind.id;
9832 if(var_pclasskindnode5 == NULL) {
9833 var21 = 1;
9834 } else {
9835 if(cltype22 >= var_pclasskindnode5->type->table_size) {
9836 var21 = 0;
9837 } else {
9838 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
9839 }
9840 }
9841 if (!var21) {
9842 fprintf(stderr, "Runtime error: %s", "Assert failed");
9843 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8169);
9844 exit(1);
9845 }
9846 var_tclassidnode6 = var_nodearraylist6;
9847 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9848 cltype25 = type_nullable_parser_nodes__TClassid.color;
9849 idtype26 = type_nullable_parser_nodes__TClassid.id;
9850 if(var_tclassidnode6 == NULL) {
9851 var24 = 1;
9852 } else {
9853 if(cltype25 >= var_tclassidnode6->type->table_size) {
9854 var24 = 0;
9855 } else {
9856 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
9857 }
9858 }
9859 if (!var24) {
9860 fprintf(stderr, "Runtime error: %s", "Assert failed");
9861 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8171);
9862 exit(1);
9863 }
9864 var_pexterncodeblocknode9 = var_nodearraylist7;
9865 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
9866 cltype28 = type_nullable_parser_nodes__AExternCodeBlock.color;
9867 idtype29 = type_nullable_parser_nodes__AExternCodeBlock.id;
9868 if(var_pexterncodeblocknode9 == NULL) {
9869 var27 = 1;
9870 } else {
9871 if(cltype28 >= var_pexterncodeblocknode9->type->table_size) {
9872 var27 = 0;
9873 } else {
9874 var27 = var_pexterncodeblocknode9->type->type_table[cltype28] == idtype29;
9875 }
9876 }
9877 if (!var27) {
9878 fprintf(stderr, "Runtime error: %s", "Assert failed");
9879 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8173);
9880 exit(1);
9881 }
9882 var_listnode10 = var_nodearraylist8;
9883 /* <var_listnode10:nullable Object> isa Array[Object] */
9884 cltype31 = type_array__Arraykernel__Object.color;
9885 idtype32 = type_array__Arraykernel__Object.id;
9886 if(var_listnode10 == NULL) {
9887 var30 = 0;
9888 } else {
9889 if(cltype31 >= var_listnode10->type->table_size) {
9890 var30 = 0;
9891 } else {
9892 var30 = var_listnode10->type->type_table[cltype31] == idtype32;
9893 }
9894 }
9895 if (!var30) {
9896 fprintf(stderr, "Runtime error: %s", "Assert failed");
9897 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8175);
9898 exit(1);
9899 }
9900 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction170>*/;
9901 var_listnode11 = var33;
9902 var_tkwendnode13 = var_nodearraylist10;
9903 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
9904 cltype35 = type_nullable_parser_nodes__TKwend.color;
9905 idtype36 = type_nullable_parser_nodes__TKwend.id;
9906 if(var_tkwendnode13 == NULL) {
9907 var34 = 1;
9908 } else {
9909 if(cltype35 >= var_tkwendnode13->type->table_size) {
9910 var34 = 0;
9911 } else {
9912 var34 = var_tkwendnode13->type->type_table[cltype35] == idtype36;
9913 }
9914 }
9915 if (!var34) {
9916 fprintf(stderr, "Runtime error: %s", "Assert failed");
9917 fprintf(stderr, " (%s:%d)\n", "src/parser/parser.nit", 8178);
9918 exit(1);
9919 }
9920 var37 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9921 var38 = NULL;
9922 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var37->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var37, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var38, var_pexterncodeblocknode9, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var37:AStdClassdef>*/;
9923 CHECK_NEW_parser_nodes__AStdClassdef(var37);
9924 var_pclassdefnode1 = var37;
9925 var_node_list = var_pclassdefnode1;
9926 var39 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction170> */
9927 var40 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var39) /* go_to on <var_p:Parser>*/;
9928 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var40, var_node_list) /* push on <var_p:Parser>*/;
9929 RET_LABEL:;
9930 }
9931 /* method parser#ReduceAction170#action for (self: Object, Parser) */
9932 void VIRTUAL_parser__ReduceAction170__action(val* self, val* p0) {
9933 parser__ReduceAction170__action(self, p0);
9934 RET_LABEL:;
9935 }