ee7d5bbed4d2feea1f342071293c5c1f0a089fd6
[nit.git] / c_src / parser.sep.6.c
1 #include "parser.sep.0.h"
2 /* method parser#ReduceAction175#action for (self: ReduceAction175, Parser) */
3 void parser__ReduceAction175__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_nodearraylist12 /* var nodearraylist12: nullable Object */;
9 val* var2 /* : nullable Object */;
10 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
11 val* var3 /* : nullable Object */;
12 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
13 val* var4 /* : nullable Object */;
14 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
15 val* var5 /* : nullable Object */;
16 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
17 val* var6 /* : nullable Object */;
18 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
19 val* var7 /* : nullable Object */;
20 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
21 val* var8 /* : nullable Object */;
22 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
23 val* var9 /* : nullable Object */;
24 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
25 val* var10 /* : nullable Object */;
26 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
27 val* var11 /* : nullable Object */;
28 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
29 val* var12 /* : nullable Object */;
30 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
31 val* var13 /* : Array[Object] */;
32 val* var_listnode7 /* var listnode7: Array[Object] */;
33 val* var14 /* : Array[Object] */;
34 val* var_listnode11 /* var listnode11: Array[Object] */;
35 val* var15 /* : Array[Object] */;
36 val* var_listnode12 /* var listnode12: Array[Object] */;
37 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
38 short int var16 /* : Bool */;
39 int cltype;
40 int idtype;
41 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
42 short int var17 /* : Bool */;
43 int cltype18;
44 int idtype19;
45 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
46 short int var20 /* : Bool */;
47 int cltype21;
48 int idtype22;
49 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
50 short int var23 /* : Bool */;
51 int cltype24;
52 int idtype25;
53 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
54 short int var26 /* : Bool */;
55 int cltype27;
56 int idtype28;
57 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
58 short int var29 /* : Bool */;
59 int cltype30;
60 int idtype31;
61 val* var_listnode10 /* var listnode10: nullable Object */;
62 short int var32 /* : Bool */;
63 int cltype33;
64 int idtype34;
65 val* var35 /* : Array[Object] */;
66 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
67 short int var36 /* : Bool */;
68 int cltype37;
69 int idtype38;
70 val* var39 /* : AStdClassdef */;
71 val* var40 /* : null */;
72 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
73 long var41 /* : Int */;
74 long var42 /* : Int */;
75 var_p = p0;
76 var = NULL;
77 var_node_list = var;
78 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
79 var_nodearraylist12 = var1;
80 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
81 var_nodearraylist11 = var2;
82 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
83 var_nodearraylist10 = var3;
84 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
85 var_nodearraylist9 = var4;
86 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
87 var_nodearraylist8 = var5;
88 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
89 var_nodearraylist7 = var6;
90 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
91 var_nodearraylist6 = var7;
92 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
93 var_nodearraylist5 = var8;
94 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
95 var_nodearraylist4 = var9;
96 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
97 var_nodearraylist3 = var10;
98 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
99 var_nodearraylist2 = var11;
100 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
101 var_nodearraylist1 = var12;
102 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
103 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
104 CHECK_NEW_array__Array(var13);
105 var_listnode7 = var13;
106 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
107 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
108 CHECK_NEW_array__Array(var14);
109 var_listnode11 = var14;
110 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
111 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
112 CHECK_NEW_array__Array(var15);
113 var_listnode12 = var15;
114 var_pdocnode2 = var_nodearraylist1;
115 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
116 cltype = type_nullable_parser_nodes__ADoc.color;
117 idtype = type_nullable_parser_nodes__ADoc.id;
118 if(var_pdocnode2 == NULL) {
119 var16 = 1;
120 } else {
121 if(cltype >= var_pdocnode2->type->table_size) {
122 var16 = 0;
123 } else {
124 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
125 }
126 }
127 if (!var16) {
128 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8607);
129 exit(1);
130 }
131 var_tkwredefnode3 = var_nodearraylist2;
132 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
133 cltype18 = type_nullable_parser_nodes__TKwredef.color;
134 idtype19 = type_nullable_parser_nodes__TKwredef.id;
135 if(var_tkwredefnode3 == NULL) {
136 var17 = 1;
137 } else {
138 if(cltype18 >= var_tkwredefnode3->type->table_size) {
139 var17 = 0;
140 } else {
141 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
142 }
143 }
144 if (!var17) {
145 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8609);
146 exit(1);
147 }
148 var_pvisibilitynode4 = var_nodearraylist3;
149 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
150 cltype21 = type_nullable_parser_nodes__AVisibility.color;
151 idtype22 = type_nullable_parser_nodes__AVisibility.id;
152 if(var_pvisibilitynode4 == NULL) {
153 var20 = 1;
154 } else {
155 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
156 var20 = 0;
157 } else {
158 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
159 }
160 }
161 if (!var20) {
162 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8611);
163 exit(1);
164 }
165 var_pclasskindnode5 = var_nodearraylist4;
166 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
167 cltype24 = type_nullable_parser_nodes__AClasskind.color;
168 idtype25 = type_nullable_parser_nodes__AClasskind.id;
169 if(var_pclasskindnode5 == NULL) {
170 var23 = 1;
171 } else {
172 if(cltype24 >= var_pclasskindnode5->type->table_size) {
173 var23 = 0;
174 } else {
175 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
176 }
177 }
178 if (!var23) {
179 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8613);
180 exit(1);
181 }
182 var_tclassidnode6 = var_nodearraylist8;
183 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
184 cltype27 = type_nullable_parser_nodes__TClassid.color;
185 idtype28 = type_nullable_parser_nodes__TClassid.id;
186 if(var_tclassidnode6 == NULL) {
187 var26 = 1;
188 } else {
189 if(cltype27 >= var_tclassidnode6->type->table_size) {
190 var26 = 0;
191 } else {
192 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
193 }
194 }
195 if (!var26) {
196 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8615);
197 exit(1);
198 }
199 var_pexterncodeblocknode9 = var_nodearraylist9;
200 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
201 cltype30 = type_nullable_parser_nodes__AExternCodeBlock.color;
202 idtype31 = type_nullable_parser_nodes__AExternCodeBlock.id;
203 if(var_pexterncodeblocknode9 == NULL) {
204 var29 = 1;
205 } else {
206 if(cltype30 >= var_pexterncodeblocknode9->type->table_size) {
207 var29 = 0;
208 } else {
209 var29 = var_pexterncodeblocknode9->type->type_table[cltype30] == idtype31;
210 }
211 }
212 if (!var29) {
213 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8617);
214 exit(1);
215 }
216 var_listnode10 = var_nodearraylist10;
217 /* <var_listnode10:nullable Object> isa Array[Object] */
218 cltype33 = type_array__Arraykernel__Object.color;
219 idtype34 = type_array__Arraykernel__Object.id;
220 if(var_listnode10 == NULL) {
221 var32 = 0;
222 } else {
223 if(cltype33 >= var_listnode10->type->table_size) {
224 var32 = 0;
225 } else {
226 var32 = var_listnode10->type->type_table[cltype33] == idtype34;
227 }
228 }
229 if (!var32) {
230 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8619);
231 exit(1);
232 }
233 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction175>*/;
234 var_listnode11 = var35;
235 var_tkwendnode13 = var_nodearraylist12;
236 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
237 cltype37 = type_nullable_parser_nodes__TKwend.color;
238 idtype38 = type_nullable_parser_nodes__TKwend.id;
239 if(var_tkwendnode13 == NULL) {
240 var36 = 1;
241 } else {
242 if(cltype37 >= var_tkwendnode13->type->table_size) {
243 var36 = 0;
244 } else {
245 var36 = var_tkwendnode13->type->type_table[cltype37] == idtype38;
246 }
247 }
248 if (!var36) {
249 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8622);
250 exit(1);
251 }
252 var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
253 var40 = NULL;
254 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var39->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var39, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var40, var_pexterncodeblocknode9, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var39:AStdClassdef>*/;
255 CHECK_NEW_parser_nodes__AStdClassdef(var39);
256 var_pclassdefnode1 = var39;
257 var_node_list = var_pclassdefnode1;
258 var41 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction175> */
259 var42 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var41) /* go_to on <var_p:Parser>*/;
260 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var42, var_node_list) /* push on <var_p:Parser>*/;
261 RET_LABEL:;
262 }
263 /* method parser#ReduceAction175#action for (self: Object, Parser) */
264 void VIRTUAL_parser__ReduceAction175__action(val* self, val* p0) {
265 parser__ReduceAction175__action(self, p0);
266 RET_LABEL:;
267 }
268 /* method parser#ReduceAction177#action for (self: ReduceAction177, Parser) */
269 void parser__ReduceAction177__action(val* self, val* p0) {
270 val* var_p /* var p: Parser */;
271 val* var /* : null */;
272 val* var_node_list /* var node_list: nullable Object */;
273 val* var1 /* : nullable Object */;
274 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
275 val* var2 /* : nullable Object */;
276 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
277 val* var3 /* : nullable Object */;
278 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
279 val* var4 /* : nullable Object */;
280 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
281 val* var5 /* : nullable Object */;
282 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
283 val* var6 /* : nullable Object */;
284 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
285 val* var7 /* : nullable Object */;
286 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
287 val* var8 /* : nullable Object */;
288 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
289 val* var9 /* : nullable Object */;
290 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
291 val* var10 /* : nullable Object */;
292 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
293 val* var11 /* : Array[Object] */;
294 val* var_listnode8 /* var listnode8: Array[Object] */;
295 val* var12 /* : Array[Object] */;
296 val* var_listnode12 /* var listnode12: Array[Object] */;
297 val* var13 /* : Array[Object] */;
298 val* var_listnode13 /* var listnode13: Array[Object] */;
299 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
300 short int var14 /* : Bool */;
301 int cltype;
302 int idtype;
303 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
304 short int var15 /* : Bool */;
305 int cltype16;
306 int idtype17;
307 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
308 short int var18 /* : Bool */;
309 int cltype19;
310 int idtype20;
311 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
312 short int var21 /* : Bool */;
313 int cltype22;
314 int idtype23;
315 val* var_listnode7 /* var listnode7: nullable Object */;
316 short int var24 /* : Bool */;
317 int cltype25;
318 int idtype26;
319 val* var27 /* : Array[Object] */;
320 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
321 short int var28 /* : Bool */;
322 int cltype29;
323 int idtype30;
324 val* var_listnode11 /* var listnode11: nullable Object */;
325 short int var31 /* : Bool */;
326 int cltype32;
327 int idtype33;
328 val* var34 /* : Array[Object] */;
329 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
330 short int var35 /* : Bool */;
331 int cltype36;
332 int idtype37;
333 val* var38 /* : AStdClassdef */;
334 val* var39 /* : null */;
335 val* var40 /* : null */;
336 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
337 long var41 /* : Int */;
338 long var42 /* : Int */;
339 var_p = p0;
340 var = NULL;
341 var_node_list = var;
342 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
343 var_nodearraylist10 = var1;
344 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
345 var_nodearraylist9 = var2;
346 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
347 var_nodearraylist8 = var3;
348 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
349 var_nodearraylist7 = var4;
350 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
351 var_nodearraylist6 = var5;
352 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
353 var_nodearraylist5 = var6;
354 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
355 var_nodearraylist4 = var7;
356 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
357 var_nodearraylist3 = var8;
358 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
359 var_nodearraylist2 = var9;
360 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
361 var_nodearraylist1 = var10;
362 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
363 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
364 CHECK_NEW_array__Array(var11);
365 var_listnode8 = var11;
366 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
367 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
368 CHECK_NEW_array__Array(var12);
369 var_listnode12 = var12;
370 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
371 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
372 CHECK_NEW_array__Array(var13);
373 var_listnode13 = var13;
374 var_pdocnode2 = var_nodearraylist1;
375 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
376 cltype = type_nullable_parser_nodes__ADoc.color;
377 idtype = type_nullable_parser_nodes__ADoc.id;
378 if(var_pdocnode2 == NULL) {
379 var14 = 1;
380 } else {
381 if(cltype >= var_pdocnode2->type->table_size) {
382 var14 = 0;
383 } else {
384 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
385 }
386 }
387 if (!var14) {
388 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8659);
389 exit(1);
390 }
391 var_pvisibilitynode4 = var_nodearraylist2;
392 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
393 cltype16 = type_nullable_parser_nodes__AVisibility.color;
394 idtype17 = type_nullable_parser_nodes__AVisibility.id;
395 if(var_pvisibilitynode4 == NULL) {
396 var15 = 1;
397 } else {
398 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
399 var15 = 0;
400 } else {
401 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
402 }
403 }
404 if (!var15) {
405 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8661);
406 exit(1);
407 }
408 var_pclasskindnode5 = var_nodearraylist3;
409 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
410 cltype19 = type_nullable_parser_nodes__AClasskind.color;
411 idtype20 = type_nullable_parser_nodes__AClasskind.id;
412 if(var_pclasskindnode5 == NULL) {
413 var18 = 1;
414 } else {
415 if(cltype19 >= var_pclasskindnode5->type->table_size) {
416 var18 = 0;
417 } else {
418 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
419 }
420 }
421 if (!var18) {
422 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8663);
423 exit(1);
424 }
425 var_tclassidnode6 = var_nodearraylist5;
426 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
427 cltype22 = type_nullable_parser_nodes__TClassid.color;
428 idtype23 = type_nullable_parser_nodes__TClassid.id;
429 if(var_tclassidnode6 == NULL) {
430 var21 = 1;
431 } else {
432 if(cltype22 >= var_tclassidnode6->type->table_size) {
433 var21 = 0;
434 } else {
435 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
436 }
437 }
438 if (!var21) {
439 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8665);
440 exit(1);
441 }
442 var_listnode7 = var_nodearraylist6;
443 /* <var_listnode7:nullable Object> isa Array[Object] */
444 cltype25 = type_array__Arraykernel__Object.color;
445 idtype26 = type_array__Arraykernel__Object.id;
446 if(var_listnode7 == NULL) {
447 var24 = 0;
448 } else {
449 if(cltype25 >= var_listnode7->type->table_size) {
450 var24 = 0;
451 } else {
452 var24 = var_listnode7->type->type_table[cltype25] == idtype26;
453 }
454 }
455 if (!var24) {
456 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8667);
457 exit(1);
458 }
459 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction177>*/;
460 var_listnode8 = var27;
461 var_pexterncodeblocknode10 = var_nodearraylist7;
462 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
463 cltype29 = type_nullable_parser_nodes__AExternCodeBlock.color;
464 idtype30 = type_nullable_parser_nodes__AExternCodeBlock.id;
465 if(var_pexterncodeblocknode10 == NULL) {
466 var28 = 1;
467 } else {
468 if(cltype29 >= var_pexterncodeblocknode10->type->table_size) {
469 var28 = 0;
470 } else {
471 var28 = var_pexterncodeblocknode10->type->type_table[cltype29] == idtype30;
472 }
473 }
474 if (!var28) {
475 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8670);
476 exit(1);
477 }
478 var_listnode11 = var_nodearraylist8;
479 /* <var_listnode11:nullable Object> isa Array[Object] */
480 cltype32 = type_array__Arraykernel__Object.color;
481 idtype33 = type_array__Arraykernel__Object.id;
482 if(var_listnode11 == NULL) {
483 var31 = 0;
484 } else {
485 if(cltype32 >= var_listnode11->type->table_size) {
486 var31 = 0;
487 } else {
488 var31 = var_listnode11->type->type_table[cltype32] == idtype33;
489 }
490 }
491 if (!var31) {
492 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8672);
493 exit(1);
494 }
495 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction177>*/;
496 var_listnode12 = var34;
497 var_tkwendnode14 = var_nodearraylist10;
498 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
499 cltype36 = type_nullable_parser_nodes__TKwend.color;
500 idtype37 = type_nullable_parser_nodes__TKwend.id;
501 if(var_tkwendnode14 == NULL) {
502 var35 = 1;
503 } else {
504 if(cltype36 >= var_tkwendnode14->type->table_size) {
505 var35 = 0;
506 } else {
507 var35 = var_tkwendnode14->type->type_table[cltype36] == idtype37;
508 }
509 }
510 if (!var35) {
511 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8675);
512 exit(1);
513 }
514 var38 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
515 var39 = NULL;
516 var40 = NULL;
517 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var38->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var38, var_pdocnode2, var39, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var40, var_pexterncodeblocknode10, var_listnode12, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var38:AStdClassdef>*/;
518 CHECK_NEW_parser_nodes__AStdClassdef(var38);
519 var_pclassdefnode1 = var38;
520 var_node_list = var_pclassdefnode1;
521 var41 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction177> */
522 var42 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var41) /* go_to on <var_p:Parser>*/;
523 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var42, var_node_list) /* push on <var_p:Parser>*/;
524 RET_LABEL:;
525 }
526 /* method parser#ReduceAction177#action for (self: Object, Parser) */
527 void VIRTUAL_parser__ReduceAction177__action(val* self, val* p0) {
528 parser__ReduceAction177__action(self, p0);
529 RET_LABEL:;
530 }
531 /* method parser#ReduceAction178#action for (self: ReduceAction178, Parser) */
532 void parser__ReduceAction178__action(val* self, val* p0) {
533 val* var_p /* var p: Parser */;
534 val* var /* : null */;
535 val* var_node_list /* var node_list: nullable Object */;
536 val* var1 /* : nullable Object */;
537 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
538 val* var2 /* : nullable Object */;
539 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
540 val* var3 /* : nullable Object */;
541 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
542 val* var4 /* : nullable Object */;
543 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
544 val* var5 /* : nullable Object */;
545 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
546 val* var6 /* : nullable Object */;
547 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
548 val* var7 /* : nullable Object */;
549 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
550 val* var8 /* : nullable Object */;
551 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
552 val* var9 /* : nullable Object */;
553 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
554 val* var10 /* : nullable Object */;
555 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
556 val* var11 /* : nullable Object */;
557 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
558 val* var12 /* : Array[Object] */;
559 val* var_listnode8 /* var listnode8: Array[Object] */;
560 val* var13 /* : Array[Object] */;
561 val* var_listnode12 /* var listnode12: Array[Object] */;
562 val* var14 /* : Array[Object] */;
563 val* var_listnode13 /* var listnode13: Array[Object] */;
564 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
565 short int var15 /* : Bool */;
566 int cltype;
567 int idtype;
568 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
569 short int var16 /* : Bool */;
570 int cltype17;
571 int idtype18;
572 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
573 short int var19 /* : Bool */;
574 int cltype20;
575 int idtype21;
576 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
577 short int var22 /* : Bool */;
578 int cltype23;
579 int idtype24;
580 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
581 short int var25 /* : Bool */;
582 int cltype26;
583 int idtype27;
584 val* var_listnode7 /* var listnode7: nullable Object */;
585 short int var28 /* : Bool */;
586 int cltype29;
587 int idtype30;
588 val* var31 /* : Array[Object] */;
589 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
590 short int var32 /* : Bool */;
591 int cltype33;
592 int idtype34;
593 val* var_listnode11 /* var listnode11: nullable Object */;
594 short int var35 /* : Bool */;
595 int cltype36;
596 int idtype37;
597 val* var38 /* : Array[Object] */;
598 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
599 short int var39 /* : Bool */;
600 int cltype40;
601 int idtype41;
602 val* var42 /* : AStdClassdef */;
603 val* var43 /* : null */;
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_listnode8 = 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_listnode12 = 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_listnode13 = 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 (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8713);
659 exit(1);
660 }
661 var_tkwredefnode3 = var_nodearraylist2;
662 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
663 cltype17 = type_nullable_parser_nodes__TKwredef.color;
664 idtype18 = type_nullable_parser_nodes__TKwredef.id;
665 if(var_tkwredefnode3 == NULL) {
666 var16 = 1;
667 } else {
668 if(cltype17 >= var_tkwredefnode3->type->table_size) {
669 var16 = 0;
670 } else {
671 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
672 }
673 }
674 if (!var16) {
675 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8715);
676 exit(1);
677 }
678 var_pvisibilitynode4 = var_nodearraylist3;
679 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
680 cltype20 = type_nullable_parser_nodes__AVisibility.color;
681 idtype21 = type_nullable_parser_nodes__AVisibility.id;
682 if(var_pvisibilitynode4 == NULL) {
683 var19 = 1;
684 } else {
685 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
686 var19 = 0;
687 } else {
688 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
689 }
690 }
691 if (!var19) {
692 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8717);
693 exit(1);
694 }
695 var_pclasskindnode5 = var_nodearraylist4;
696 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
697 cltype23 = type_nullable_parser_nodes__AClasskind.color;
698 idtype24 = type_nullable_parser_nodes__AClasskind.id;
699 if(var_pclasskindnode5 == NULL) {
700 var22 = 1;
701 } else {
702 if(cltype23 >= var_pclasskindnode5->type->table_size) {
703 var22 = 0;
704 } else {
705 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
706 }
707 }
708 if (!var22) {
709 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8719);
710 exit(1);
711 }
712 var_tclassidnode6 = var_nodearraylist6;
713 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
714 cltype26 = type_nullable_parser_nodes__TClassid.color;
715 idtype27 = type_nullable_parser_nodes__TClassid.id;
716 if(var_tclassidnode6 == NULL) {
717 var25 = 1;
718 } else {
719 if(cltype26 >= var_tclassidnode6->type->table_size) {
720 var25 = 0;
721 } else {
722 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
723 }
724 }
725 if (!var25) {
726 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8721);
727 exit(1);
728 }
729 var_listnode7 = var_nodearraylist7;
730 /* <var_listnode7:nullable Object> isa Array[Object] */
731 cltype29 = type_array__Arraykernel__Object.color;
732 idtype30 = type_array__Arraykernel__Object.id;
733 if(var_listnode7 == NULL) {
734 var28 = 0;
735 } else {
736 if(cltype29 >= var_listnode7->type->table_size) {
737 var28 = 0;
738 } else {
739 var28 = var_listnode7->type->type_table[cltype29] == idtype30;
740 }
741 }
742 if (!var28) {
743 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8723);
744 exit(1);
745 }
746 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction178>*/;
747 var_listnode8 = var31;
748 var_pexterncodeblocknode10 = var_nodearraylist8;
749 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
750 cltype33 = type_nullable_parser_nodes__AExternCodeBlock.color;
751 idtype34 = type_nullable_parser_nodes__AExternCodeBlock.id;
752 if(var_pexterncodeblocknode10 == NULL) {
753 var32 = 1;
754 } else {
755 if(cltype33 >= var_pexterncodeblocknode10->type->table_size) {
756 var32 = 0;
757 } else {
758 var32 = var_pexterncodeblocknode10->type->type_table[cltype33] == idtype34;
759 }
760 }
761 if (!var32) {
762 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8726);
763 exit(1);
764 }
765 var_listnode11 = var_nodearraylist9;
766 /* <var_listnode11:nullable Object> isa Array[Object] */
767 cltype36 = type_array__Arraykernel__Object.color;
768 idtype37 = type_array__Arraykernel__Object.id;
769 if(var_listnode11 == NULL) {
770 var35 = 0;
771 } else {
772 if(cltype36 >= var_listnode11->type->table_size) {
773 var35 = 0;
774 } else {
775 var35 = var_listnode11->type->type_table[cltype36] == idtype37;
776 }
777 }
778 if (!var35) {
779 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8728);
780 exit(1);
781 }
782 var38 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction178>*/;
783 var_listnode12 = var38;
784 var_tkwendnode14 = var_nodearraylist11;
785 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
786 cltype40 = type_nullable_parser_nodes__TKwend.color;
787 idtype41 = type_nullable_parser_nodes__TKwend.id;
788 if(var_tkwendnode14 == NULL) {
789 var39 = 1;
790 } else {
791 if(cltype40 >= var_tkwendnode14->type->table_size) {
792 var39 = 0;
793 } else {
794 var39 = var_tkwendnode14->type->type_table[cltype40] == idtype41;
795 }
796 }
797 if (!var39) {
798 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8731);
799 exit(1);
800 }
801 var42 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
802 var43 = NULL;
803 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var42->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var42, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var43, var_pexterncodeblocknode10, var_listnode12, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var42:AStdClassdef>*/;
804 CHECK_NEW_parser_nodes__AStdClassdef(var42);
805 var_pclassdefnode1 = var42;
806 var_node_list = var_pclassdefnode1;
807 var44 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction178> */
808 var45 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var44) /* go_to on <var_p:Parser>*/;
809 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var45, var_node_list) /* push on <var_p:Parser>*/;
810 RET_LABEL:;
811 }
812 /* method parser#ReduceAction178#action for (self: Object, Parser) */
813 void VIRTUAL_parser__ReduceAction178__action(val* self, val* p0) {
814 parser__ReduceAction178__action(self, p0);
815 RET_LABEL:;
816 }
817 /* method parser#ReduceAction179#action for (self: ReduceAction179, Parser) */
818 void parser__ReduceAction179__action(val* self, val* p0) {
819 val* var_p /* var p: Parser */;
820 val* var /* : null */;
821 val* var_node_list /* var node_list: nullable Object */;
822 val* var1 /* : nullable Object */;
823 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
824 val* var2 /* : nullable Object */;
825 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
826 val* var3 /* : nullable Object */;
827 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
828 val* var4 /* : nullable Object */;
829 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
830 val* var5 /* : nullable Object */;
831 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
832 val* var6 /* : nullable Object */;
833 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
834 val* var7 /* : nullable Object */;
835 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
836 val* var8 /* : nullable Object */;
837 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
838 val* var9 /* : nullable Object */;
839 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
840 val* var10 /* : nullable Object */;
841 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
842 val* var11 /* : nullable Object */;
843 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
844 val* var12 /* : Array[Object] */;
845 val* var_listnode8 /* var listnode8: Array[Object] */;
846 val* var13 /* : Array[Object] */;
847 val* var_listnode12 /* var listnode12: Array[Object] */;
848 val* var14 /* : Array[Object] */;
849 val* var_listnode13 /* var listnode13: Array[Object] */;
850 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
851 short int var15 /* : Bool */;
852 int cltype;
853 int idtype;
854 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
855 short int var16 /* : Bool */;
856 int cltype17;
857 int idtype18;
858 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
859 short int var19 /* : Bool */;
860 int cltype20;
861 int idtype21;
862 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
863 short int var22 /* : Bool */;
864 int cltype23;
865 int idtype24;
866 val* var_listnode7 /* var listnode7: nullable Object */;
867 short int var25 /* : Bool */;
868 int cltype26;
869 int idtype27;
870 val* var28 /* : Array[Object] */;
871 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
872 short int var29 /* : Bool */;
873 int cltype30;
874 int idtype31;
875 val* var_listnode11 /* var listnode11: nullable Object */;
876 short int var32 /* : Bool */;
877 int cltype33;
878 int idtype34;
879 val* var35 /* : Array[Object] */;
880 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
881 short int var36 /* : Bool */;
882 int cltype37;
883 int idtype38;
884 val* var39 /* : AStdClassdef */;
885 val* var40 /* : null */;
886 val* var41 /* : null */;
887 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
888 long var42 /* : Int */;
889 long var43 /* : Int */;
890 var_p = p0;
891 var = NULL;
892 var_node_list = var;
893 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
894 var_nodearraylist11 = var1;
895 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
896 var_nodearraylist10 = var2;
897 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
898 var_nodearraylist9 = var3;
899 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
900 var_nodearraylist8 = var4;
901 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
902 var_nodearraylist7 = var5;
903 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
904 var_nodearraylist6 = var6;
905 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
906 var_nodearraylist5 = var7;
907 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
908 var_nodearraylist4 = var8;
909 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
910 var_nodearraylist3 = var9;
911 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
912 var_nodearraylist2 = var10;
913 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
914 var_nodearraylist1 = var11;
915 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
916 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
917 CHECK_NEW_array__Array(var12);
918 var_listnode8 = var12;
919 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
920 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
921 CHECK_NEW_array__Array(var13);
922 var_listnode12 = var13;
923 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
924 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
925 CHECK_NEW_array__Array(var14);
926 var_listnode13 = var14;
927 var_pdocnode2 = var_nodearraylist1;
928 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
929 cltype = type_nullable_parser_nodes__ADoc.color;
930 idtype = type_nullable_parser_nodes__ADoc.id;
931 if(var_pdocnode2 == NULL) {
932 var15 = 1;
933 } else {
934 if(cltype >= var_pdocnode2->type->table_size) {
935 var15 = 0;
936 } else {
937 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
938 }
939 }
940 if (!var15) {
941 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8769);
942 exit(1);
943 }
944 var_pvisibilitynode4 = var_nodearraylist2;
945 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
946 cltype17 = type_nullable_parser_nodes__AVisibility.color;
947 idtype18 = type_nullable_parser_nodes__AVisibility.id;
948 if(var_pvisibilitynode4 == NULL) {
949 var16 = 1;
950 } else {
951 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
952 var16 = 0;
953 } else {
954 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
955 }
956 }
957 if (!var16) {
958 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8771);
959 exit(1);
960 }
961 var_pclasskindnode5 = var_nodearraylist3;
962 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
963 cltype20 = type_nullable_parser_nodes__AClasskind.color;
964 idtype21 = type_nullable_parser_nodes__AClasskind.id;
965 if(var_pclasskindnode5 == NULL) {
966 var19 = 1;
967 } else {
968 if(cltype20 >= var_pclasskindnode5->type->table_size) {
969 var19 = 0;
970 } else {
971 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
972 }
973 }
974 if (!var19) {
975 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8773);
976 exit(1);
977 }
978 var_tclassidnode6 = var_nodearraylist6;
979 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
980 cltype23 = type_nullable_parser_nodes__TClassid.color;
981 idtype24 = type_nullable_parser_nodes__TClassid.id;
982 if(var_tclassidnode6 == NULL) {
983 var22 = 1;
984 } else {
985 if(cltype23 >= var_tclassidnode6->type->table_size) {
986 var22 = 0;
987 } else {
988 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
989 }
990 }
991 if (!var22) {
992 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8775);
993 exit(1);
994 }
995 var_listnode7 = var_nodearraylist7;
996 /* <var_listnode7:nullable Object> isa Array[Object] */
997 cltype26 = type_array__Arraykernel__Object.color;
998 idtype27 = type_array__Arraykernel__Object.id;
999 if(var_listnode7 == NULL) {
1000 var25 = 0;
1001 } else {
1002 if(cltype26 >= var_listnode7->type->table_size) {
1003 var25 = 0;
1004 } else {
1005 var25 = var_listnode7->type->type_table[cltype26] == idtype27;
1006 }
1007 }
1008 if (!var25) {
1009 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8777);
1010 exit(1);
1011 }
1012 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction179>*/;
1013 var_listnode8 = var28;
1014 var_pexterncodeblocknode10 = var_nodearraylist8;
1015 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
1016 cltype30 = type_nullable_parser_nodes__AExternCodeBlock.color;
1017 idtype31 = type_nullable_parser_nodes__AExternCodeBlock.id;
1018 if(var_pexterncodeblocknode10 == NULL) {
1019 var29 = 1;
1020 } else {
1021 if(cltype30 >= var_pexterncodeblocknode10->type->table_size) {
1022 var29 = 0;
1023 } else {
1024 var29 = var_pexterncodeblocknode10->type->type_table[cltype30] == idtype31;
1025 }
1026 }
1027 if (!var29) {
1028 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8780);
1029 exit(1);
1030 }
1031 var_listnode11 = var_nodearraylist9;
1032 /* <var_listnode11:nullable Object> isa Array[Object] */
1033 cltype33 = type_array__Arraykernel__Object.color;
1034 idtype34 = type_array__Arraykernel__Object.id;
1035 if(var_listnode11 == NULL) {
1036 var32 = 0;
1037 } else {
1038 if(cltype33 >= var_listnode11->type->table_size) {
1039 var32 = 0;
1040 } else {
1041 var32 = var_listnode11->type->type_table[cltype33] == idtype34;
1042 }
1043 }
1044 if (!var32) {
1045 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8782);
1046 exit(1);
1047 }
1048 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction179>*/;
1049 var_listnode12 = var35;
1050 var_tkwendnode14 = var_nodearraylist11;
1051 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
1052 cltype37 = type_nullable_parser_nodes__TKwend.color;
1053 idtype38 = type_nullable_parser_nodes__TKwend.id;
1054 if(var_tkwendnode14 == NULL) {
1055 var36 = 1;
1056 } else {
1057 if(cltype37 >= var_tkwendnode14->type->table_size) {
1058 var36 = 0;
1059 } else {
1060 var36 = var_tkwendnode14->type->type_table[cltype37] == idtype38;
1061 }
1062 }
1063 if (!var36) {
1064 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8785);
1065 exit(1);
1066 }
1067 var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1068 var40 = NULL;
1069 var41 = NULL;
1070 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var39->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var39, var_pdocnode2, var40, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var41, var_pexterncodeblocknode10, var_listnode12, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var39:AStdClassdef>*/;
1071 CHECK_NEW_parser_nodes__AStdClassdef(var39);
1072 var_pclassdefnode1 = var39;
1073 var_node_list = var_pclassdefnode1;
1074 var42 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction179> */
1075 var43 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var42) /* go_to on <var_p:Parser>*/;
1076 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var43, var_node_list) /* push on <var_p:Parser>*/;
1077 RET_LABEL:;
1078 }
1079 /* method parser#ReduceAction179#action for (self: Object, Parser) */
1080 void VIRTUAL_parser__ReduceAction179__action(val* self, val* p0) {
1081 parser__ReduceAction179__action(self, p0);
1082 RET_LABEL:;
1083 }
1084 /* method parser#ReduceAction180#action for (self: ReduceAction180, Parser) */
1085 void parser__ReduceAction180__action(val* self, val* p0) {
1086 val* var_p /* var p: Parser */;
1087 val* var /* : null */;
1088 val* var_node_list /* var node_list: nullable Object */;
1089 val* var1 /* : nullable Object */;
1090 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
1091 val* var2 /* : nullable Object */;
1092 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
1093 val* var3 /* : nullable Object */;
1094 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1095 val* var4 /* : nullable Object */;
1096 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1097 val* var5 /* : nullable Object */;
1098 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1099 val* var6 /* : nullable Object */;
1100 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1101 val* var7 /* : nullable Object */;
1102 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1103 val* var8 /* : nullable Object */;
1104 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1105 val* var9 /* : nullable Object */;
1106 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1107 val* var10 /* : nullable Object */;
1108 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1109 val* var11 /* : nullable Object */;
1110 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1111 val* var12 /* : nullable Object */;
1112 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1113 val* var13 /* : Array[Object] */;
1114 val* var_listnode8 /* var listnode8: Array[Object] */;
1115 val* var14 /* : Array[Object] */;
1116 val* var_listnode12 /* var listnode12: Array[Object] */;
1117 val* var15 /* : Array[Object] */;
1118 val* var_listnode13 /* var listnode13: Array[Object] */;
1119 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1120 short int var16 /* : Bool */;
1121 int cltype;
1122 int idtype;
1123 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1124 short int var17 /* : Bool */;
1125 int cltype18;
1126 int idtype19;
1127 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1128 short int var20 /* : Bool */;
1129 int cltype21;
1130 int idtype22;
1131 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1132 short int var23 /* : Bool */;
1133 int cltype24;
1134 int idtype25;
1135 val* var_listnode7 /* var listnode7: nullable Object */;
1136 short int var26 /* : Bool */;
1137 int cltype27;
1138 int idtype28;
1139 val* var29 /* : Array[Object] */;
1140 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
1141 short int var30 /* : Bool */;
1142 int cltype31;
1143 int idtype32;
1144 val* var_listnode11 /* var listnode11: nullable Object */;
1145 short int var33 /* : Bool */;
1146 int cltype34;
1147 int idtype35;
1148 val* var36 /* : Array[Object] */;
1149 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
1150 short int var37 /* : Bool */;
1151 int cltype38;
1152 int idtype39;
1153 val* var40 /* : AStdClassdef */;
1154 val* var41 /* : null */;
1155 val* var42 /* : null */;
1156 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1157 long var43 /* : Int */;
1158 long var44 /* : Int */;
1159 var_p = p0;
1160 var = NULL;
1161 var_node_list = var;
1162 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1163 var_nodearraylist12 = var1;
1164 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1165 var_nodearraylist11 = var2;
1166 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1167 var_nodearraylist10 = var3;
1168 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1169 var_nodearraylist9 = var4;
1170 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1171 var_nodearraylist8 = var5;
1172 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1173 var_nodearraylist7 = var6;
1174 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1175 var_nodearraylist6 = var7;
1176 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1177 var_nodearraylist5 = var8;
1178 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1179 var_nodearraylist4 = var9;
1180 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1181 var_nodearraylist3 = var10;
1182 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1183 var_nodearraylist2 = var11;
1184 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1185 var_nodearraylist1 = var12;
1186 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
1187 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
1188 CHECK_NEW_array__Array(var13);
1189 var_listnode8 = var13;
1190 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
1191 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
1192 CHECK_NEW_array__Array(var14);
1193 var_listnode12 = var14;
1194 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
1195 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
1196 CHECK_NEW_array__Array(var15);
1197 var_listnode13 = var15;
1198 var_pdocnode2 = var_nodearraylist1;
1199 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1200 cltype = type_nullable_parser_nodes__ADoc.color;
1201 idtype = type_nullable_parser_nodes__ADoc.id;
1202 if(var_pdocnode2 == NULL) {
1203 var16 = 1;
1204 } else {
1205 if(cltype >= var_pdocnode2->type->table_size) {
1206 var16 = 0;
1207 } else {
1208 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
1209 }
1210 }
1211 if (!var16) {
1212 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8824);
1213 exit(1);
1214 }
1215 var_pvisibilitynode4 = var_nodearraylist2;
1216 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1217 cltype18 = type_nullable_parser_nodes__AVisibility.color;
1218 idtype19 = type_nullable_parser_nodes__AVisibility.id;
1219 if(var_pvisibilitynode4 == NULL) {
1220 var17 = 1;
1221 } else {
1222 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
1223 var17 = 0;
1224 } else {
1225 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
1226 }
1227 }
1228 if (!var17) {
1229 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8826);
1230 exit(1);
1231 }
1232 var_pclasskindnode5 = var_nodearraylist3;
1233 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1234 cltype21 = type_nullable_parser_nodes__AClasskind.color;
1235 idtype22 = type_nullable_parser_nodes__AClasskind.id;
1236 if(var_pclasskindnode5 == NULL) {
1237 var20 = 1;
1238 } else {
1239 if(cltype21 >= var_pclasskindnode5->type->table_size) {
1240 var20 = 0;
1241 } else {
1242 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
1243 }
1244 }
1245 if (!var20) {
1246 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8828);
1247 exit(1);
1248 }
1249 var_tclassidnode6 = var_nodearraylist7;
1250 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1251 cltype24 = type_nullable_parser_nodes__TClassid.color;
1252 idtype25 = type_nullable_parser_nodes__TClassid.id;
1253 if(var_tclassidnode6 == NULL) {
1254 var23 = 1;
1255 } else {
1256 if(cltype24 >= var_tclassidnode6->type->table_size) {
1257 var23 = 0;
1258 } else {
1259 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
1260 }
1261 }
1262 if (!var23) {
1263 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8830);
1264 exit(1);
1265 }
1266 var_listnode7 = var_nodearraylist8;
1267 /* <var_listnode7:nullable Object> isa Array[Object] */
1268 cltype27 = type_array__Arraykernel__Object.color;
1269 idtype28 = type_array__Arraykernel__Object.id;
1270 if(var_listnode7 == NULL) {
1271 var26 = 0;
1272 } else {
1273 if(cltype27 >= var_listnode7->type->table_size) {
1274 var26 = 0;
1275 } else {
1276 var26 = var_listnode7->type->type_table[cltype27] == idtype28;
1277 }
1278 }
1279 if (!var26) {
1280 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8832);
1281 exit(1);
1282 }
1283 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction180>*/;
1284 var_listnode8 = var29;
1285 var_pexterncodeblocknode10 = var_nodearraylist9;
1286 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
1287 cltype31 = type_nullable_parser_nodes__AExternCodeBlock.color;
1288 idtype32 = type_nullable_parser_nodes__AExternCodeBlock.id;
1289 if(var_pexterncodeblocknode10 == NULL) {
1290 var30 = 1;
1291 } else {
1292 if(cltype31 >= var_pexterncodeblocknode10->type->table_size) {
1293 var30 = 0;
1294 } else {
1295 var30 = var_pexterncodeblocknode10->type->type_table[cltype31] == idtype32;
1296 }
1297 }
1298 if (!var30) {
1299 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8835);
1300 exit(1);
1301 }
1302 var_listnode11 = var_nodearraylist10;
1303 /* <var_listnode11:nullable Object> isa Array[Object] */
1304 cltype34 = type_array__Arraykernel__Object.color;
1305 idtype35 = type_array__Arraykernel__Object.id;
1306 if(var_listnode11 == NULL) {
1307 var33 = 0;
1308 } else {
1309 if(cltype34 >= var_listnode11->type->table_size) {
1310 var33 = 0;
1311 } else {
1312 var33 = var_listnode11->type->type_table[cltype34] == idtype35;
1313 }
1314 }
1315 if (!var33) {
1316 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8837);
1317 exit(1);
1318 }
1319 var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction180>*/;
1320 var_listnode12 = var36;
1321 var_tkwendnode14 = var_nodearraylist12;
1322 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
1323 cltype38 = type_nullable_parser_nodes__TKwend.color;
1324 idtype39 = type_nullable_parser_nodes__TKwend.id;
1325 if(var_tkwendnode14 == NULL) {
1326 var37 = 1;
1327 } else {
1328 if(cltype38 >= var_tkwendnode14->type->table_size) {
1329 var37 = 0;
1330 } else {
1331 var37 = var_tkwendnode14->type->type_table[cltype38] == idtype39;
1332 }
1333 }
1334 if (!var37) {
1335 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8840);
1336 exit(1);
1337 }
1338 var40 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1339 var41 = NULL;
1340 var42 = NULL;
1341 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var40->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var40, var_pdocnode2, var41, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var42, var_pexterncodeblocknode10, var_listnode12, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var40:AStdClassdef>*/;
1342 CHECK_NEW_parser_nodes__AStdClassdef(var40);
1343 var_pclassdefnode1 = var40;
1344 var_node_list = var_pclassdefnode1;
1345 var43 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction180> */
1346 var44 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var43) /* go_to on <var_p:Parser>*/;
1347 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var44, var_node_list) /* push on <var_p:Parser>*/;
1348 RET_LABEL:;
1349 }
1350 /* method parser#ReduceAction180#action for (self: Object, Parser) */
1351 void VIRTUAL_parser__ReduceAction180__action(val* self, val* p0) {
1352 parser__ReduceAction180__action(self, p0);
1353 RET_LABEL:;
1354 }
1355 /* method parser#ReduceAction182#action for (self: ReduceAction182, Parser) */
1356 void parser__ReduceAction182__action(val* self, val* p0) {
1357 val* var_p /* var p: Parser */;
1358 val* var /* : null */;
1359 val* var_node_list /* var node_list: nullable Object */;
1360 val* var1 /* : nullable Object */;
1361 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
1362 val* var2 /* : nullable Object */;
1363 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
1364 val* var3 /* : nullable Object */;
1365 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1366 val* var4 /* : nullable Object */;
1367 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1368 val* var5 /* : nullable Object */;
1369 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1370 val* var6 /* : nullable Object */;
1371 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1372 val* var7 /* : nullable Object */;
1373 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1374 val* var8 /* : nullable Object */;
1375 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1376 val* var9 /* : nullable Object */;
1377 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1378 val* var10 /* : nullable Object */;
1379 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1380 val* var11 /* : nullable Object */;
1381 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1382 val* var12 /* : nullable Object */;
1383 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1384 val* var13 /* : Array[Object] */;
1385 val* var_listnode8 /* var listnode8: Array[Object] */;
1386 val* var14 /* : Array[Object] */;
1387 val* var_listnode12 /* var listnode12: Array[Object] */;
1388 val* var15 /* : Array[Object] */;
1389 val* var_listnode13 /* var listnode13: Array[Object] */;
1390 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1391 short int var16 /* : Bool */;
1392 int cltype;
1393 int idtype;
1394 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
1395 short int var17 /* : Bool */;
1396 int cltype18;
1397 int idtype19;
1398 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1399 short int var20 /* : Bool */;
1400 int cltype21;
1401 int idtype22;
1402 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1403 short int var23 /* : Bool */;
1404 int cltype24;
1405 int idtype25;
1406 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1407 short int var26 /* : Bool */;
1408 int cltype27;
1409 int idtype28;
1410 val* var_listnode7 /* var listnode7: nullable Object */;
1411 short int var29 /* : Bool */;
1412 int cltype30;
1413 int idtype31;
1414 val* var32 /* : Array[Object] */;
1415 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
1416 short int var33 /* : Bool */;
1417 int cltype34;
1418 int idtype35;
1419 val* var_listnode11 /* var listnode11: nullable Object */;
1420 short int var36 /* : Bool */;
1421 int cltype37;
1422 int idtype38;
1423 val* var39 /* : Array[Object] */;
1424 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
1425 short int var40 /* : Bool */;
1426 int cltype41;
1427 int idtype42;
1428 val* var43 /* : AStdClassdef */;
1429 val* var44 /* : null */;
1430 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1431 long var45 /* : Int */;
1432 long var46 /* : Int */;
1433 var_p = p0;
1434 var = NULL;
1435 var_node_list = var;
1436 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1437 var_nodearraylist12 = var1;
1438 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1439 var_nodearraylist11 = var2;
1440 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1441 var_nodearraylist10 = var3;
1442 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1443 var_nodearraylist9 = var4;
1444 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1445 var_nodearraylist8 = var5;
1446 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1447 var_nodearraylist7 = var6;
1448 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1449 var_nodearraylist6 = var7;
1450 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1451 var_nodearraylist5 = var8;
1452 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1453 var_nodearraylist4 = var9;
1454 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1455 var_nodearraylist3 = var10;
1456 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1457 var_nodearraylist2 = var11;
1458 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1459 var_nodearraylist1 = var12;
1460 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
1461 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
1462 CHECK_NEW_array__Array(var13);
1463 var_listnode8 = var13;
1464 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
1465 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
1466 CHECK_NEW_array__Array(var14);
1467 var_listnode12 = var14;
1468 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
1469 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
1470 CHECK_NEW_array__Array(var15);
1471 var_listnode13 = var15;
1472 var_pdocnode2 = var_nodearraylist1;
1473 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1474 cltype = type_nullable_parser_nodes__ADoc.color;
1475 idtype = type_nullable_parser_nodes__ADoc.id;
1476 if(var_pdocnode2 == NULL) {
1477 var16 = 1;
1478 } else {
1479 if(cltype >= var_pdocnode2->type->table_size) {
1480 var16 = 0;
1481 } else {
1482 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
1483 }
1484 }
1485 if (!var16) {
1486 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8879);
1487 exit(1);
1488 }
1489 var_tkwredefnode3 = var_nodearraylist2;
1490 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1491 cltype18 = type_nullable_parser_nodes__TKwredef.color;
1492 idtype19 = type_nullable_parser_nodes__TKwredef.id;
1493 if(var_tkwredefnode3 == NULL) {
1494 var17 = 1;
1495 } else {
1496 if(cltype18 >= var_tkwredefnode3->type->table_size) {
1497 var17 = 0;
1498 } else {
1499 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
1500 }
1501 }
1502 if (!var17) {
1503 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8881);
1504 exit(1);
1505 }
1506 var_pvisibilitynode4 = var_nodearraylist3;
1507 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1508 cltype21 = type_nullable_parser_nodes__AVisibility.color;
1509 idtype22 = type_nullable_parser_nodes__AVisibility.id;
1510 if(var_pvisibilitynode4 == NULL) {
1511 var20 = 1;
1512 } else {
1513 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
1514 var20 = 0;
1515 } else {
1516 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
1517 }
1518 }
1519 if (!var20) {
1520 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8883);
1521 exit(1);
1522 }
1523 var_pclasskindnode5 = var_nodearraylist4;
1524 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1525 cltype24 = type_nullable_parser_nodes__AClasskind.color;
1526 idtype25 = type_nullable_parser_nodes__AClasskind.id;
1527 if(var_pclasskindnode5 == NULL) {
1528 var23 = 1;
1529 } else {
1530 if(cltype24 >= var_pclasskindnode5->type->table_size) {
1531 var23 = 0;
1532 } else {
1533 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
1534 }
1535 }
1536 if (!var23) {
1537 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8885);
1538 exit(1);
1539 }
1540 var_tclassidnode6 = var_nodearraylist7;
1541 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1542 cltype27 = type_nullable_parser_nodes__TClassid.color;
1543 idtype28 = type_nullable_parser_nodes__TClassid.id;
1544 if(var_tclassidnode6 == NULL) {
1545 var26 = 1;
1546 } else {
1547 if(cltype27 >= var_tclassidnode6->type->table_size) {
1548 var26 = 0;
1549 } else {
1550 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
1551 }
1552 }
1553 if (!var26) {
1554 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8887);
1555 exit(1);
1556 }
1557 var_listnode7 = var_nodearraylist8;
1558 /* <var_listnode7:nullable Object> isa Array[Object] */
1559 cltype30 = type_array__Arraykernel__Object.color;
1560 idtype31 = type_array__Arraykernel__Object.id;
1561 if(var_listnode7 == NULL) {
1562 var29 = 0;
1563 } else {
1564 if(cltype30 >= var_listnode7->type->table_size) {
1565 var29 = 0;
1566 } else {
1567 var29 = var_listnode7->type->type_table[cltype30] == idtype31;
1568 }
1569 }
1570 if (!var29) {
1571 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8889);
1572 exit(1);
1573 }
1574 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction182>*/;
1575 var_listnode8 = var32;
1576 var_pexterncodeblocknode10 = var_nodearraylist9;
1577 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
1578 cltype34 = type_nullable_parser_nodes__AExternCodeBlock.color;
1579 idtype35 = type_nullable_parser_nodes__AExternCodeBlock.id;
1580 if(var_pexterncodeblocknode10 == NULL) {
1581 var33 = 1;
1582 } else {
1583 if(cltype34 >= var_pexterncodeblocknode10->type->table_size) {
1584 var33 = 0;
1585 } else {
1586 var33 = var_pexterncodeblocknode10->type->type_table[cltype34] == idtype35;
1587 }
1588 }
1589 if (!var33) {
1590 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8892);
1591 exit(1);
1592 }
1593 var_listnode11 = var_nodearraylist10;
1594 /* <var_listnode11:nullable Object> isa Array[Object] */
1595 cltype37 = type_array__Arraykernel__Object.color;
1596 idtype38 = type_array__Arraykernel__Object.id;
1597 if(var_listnode11 == NULL) {
1598 var36 = 0;
1599 } else {
1600 if(cltype37 >= var_listnode11->type->table_size) {
1601 var36 = 0;
1602 } else {
1603 var36 = var_listnode11->type->type_table[cltype37] == idtype38;
1604 }
1605 }
1606 if (!var36) {
1607 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8894);
1608 exit(1);
1609 }
1610 var39 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction182>*/;
1611 var_listnode12 = var39;
1612 var_tkwendnode14 = var_nodearraylist12;
1613 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
1614 cltype41 = type_nullable_parser_nodes__TKwend.color;
1615 idtype42 = type_nullable_parser_nodes__TKwend.id;
1616 if(var_tkwendnode14 == NULL) {
1617 var40 = 1;
1618 } else {
1619 if(cltype41 >= var_tkwendnode14->type->table_size) {
1620 var40 = 0;
1621 } else {
1622 var40 = var_tkwendnode14->type->type_table[cltype41] == idtype42;
1623 }
1624 }
1625 if (!var40) {
1626 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8897);
1627 exit(1);
1628 }
1629 var43 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1630 var44 = NULL;
1631 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var43->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var43, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var44, var_pexterncodeblocknode10, var_listnode12, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var43:AStdClassdef>*/;
1632 CHECK_NEW_parser_nodes__AStdClassdef(var43);
1633 var_pclassdefnode1 = var43;
1634 var_node_list = var_pclassdefnode1;
1635 var45 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction182> */
1636 var46 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var45) /* go_to on <var_p:Parser>*/;
1637 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var46, var_node_list) /* push on <var_p:Parser>*/;
1638 RET_LABEL:;
1639 }
1640 /* method parser#ReduceAction182#action for (self: Object, Parser) */
1641 void VIRTUAL_parser__ReduceAction182__action(val* self, val* p0) {
1642 parser__ReduceAction182__action(self, p0);
1643 RET_LABEL:;
1644 }
1645 /* method parser#ReduceAction183#action for (self: ReduceAction183, Parser) */
1646 void parser__ReduceAction183__action(val* self, val* p0) {
1647 val* var_p /* var p: Parser */;
1648 val* var /* : null */;
1649 val* var_node_list /* var node_list: nullable Object */;
1650 val* var1 /* : nullable Object */;
1651 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
1652 val* var2 /* : nullable Object */;
1653 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
1654 val* var3 /* : nullable Object */;
1655 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
1656 val* var4 /* : nullable Object */;
1657 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1658 val* var5 /* : nullable Object */;
1659 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1660 val* var6 /* : nullable Object */;
1661 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1662 val* var7 /* : nullable Object */;
1663 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1664 val* var8 /* : nullable Object */;
1665 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1666 val* var9 /* : nullable Object */;
1667 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1668 val* var10 /* : nullable Object */;
1669 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1670 val* var11 /* : nullable Object */;
1671 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1672 val* var12 /* : nullable Object */;
1673 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1674 val* var13 /* : nullable Object */;
1675 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1676 val* var14 /* : Array[Object] */;
1677 val* var_listnode8 /* var listnode8: Array[Object] */;
1678 val* var15 /* : Array[Object] */;
1679 val* var_listnode12 /* var listnode12: Array[Object] */;
1680 val* var16 /* : Array[Object] */;
1681 val* var_listnode13 /* var listnode13: Array[Object] */;
1682 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1683 short int var17 /* : Bool */;
1684 int cltype;
1685 int idtype;
1686 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
1687 short int var18 /* : Bool */;
1688 int cltype19;
1689 int idtype20;
1690 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1691 short int var21 /* : Bool */;
1692 int cltype22;
1693 int idtype23;
1694 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1695 short int var24 /* : Bool */;
1696 int cltype25;
1697 int idtype26;
1698 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1699 short int var27 /* : Bool */;
1700 int cltype28;
1701 int idtype29;
1702 val* var_listnode7 /* var listnode7: nullable Object */;
1703 short int var30 /* : Bool */;
1704 int cltype31;
1705 int idtype32;
1706 val* var33 /* : Array[Object] */;
1707 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
1708 short int var34 /* : Bool */;
1709 int cltype35;
1710 int idtype36;
1711 val* var_listnode11 /* var listnode11: nullable Object */;
1712 short int var37 /* : Bool */;
1713 int cltype38;
1714 int idtype39;
1715 val* var40 /* : Array[Object] */;
1716 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
1717 short int var41 /* : Bool */;
1718 int cltype42;
1719 int idtype43;
1720 val* var44 /* : AStdClassdef */;
1721 val* var45 /* : null */;
1722 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1723 long var46 /* : Int */;
1724 long var47 /* : Int */;
1725 var_p = p0;
1726 var = NULL;
1727 var_node_list = var;
1728 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1729 var_nodearraylist13 = var1;
1730 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1731 var_nodearraylist12 = var2;
1732 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1733 var_nodearraylist11 = var3;
1734 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1735 var_nodearraylist10 = var4;
1736 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1737 var_nodearraylist9 = var5;
1738 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1739 var_nodearraylist8 = var6;
1740 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1741 var_nodearraylist7 = var7;
1742 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1743 var_nodearraylist6 = var8;
1744 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1745 var_nodearraylist5 = var9;
1746 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1747 var_nodearraylist4 = var10;
1748 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1749 var_nodearraylist3 = var11;
1750 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1751 var_nodearraylist2 = var12;
1752 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1753 var_nodearraylist1 = var13;
1754 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
1755 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
1756 CHECK_NEW_array__Array(var14);
1757 var_listnode8 = var14;
1758 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
1759 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
1760 CHECK_NEW_array__Array(var15);
1761 var_listnode12 = var15;
1762 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
1763 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
1764 CHECK_NEW_array__Array(var16);
1765 var_listnode13 = var16;
1766 var_pdocnode2 = var_nodearraylist1;
1767 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1768 cltype = type_nullable_parser_nodes__ADoc.color;
1769 idtype = type_nullable_parser_nodes__ADoc.id;
1770 if(var_pdocnode2 == NULL) {
1771 var17 = 1;
1772 } else {
1773 if(cltype >= var_pdocnode2->type->table_size) {
1774 var17 = 0;
1775 } else {
1776 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
1777 }
1778 }
1779 if (!var17) {
1780 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8937);
1781 exit(1);
1782 }
1783 var_tkwredefnode3 = var_nodearraylist2;
1784 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1785 cltype19 = type_nullable_parser_nodes__TKwredef.color;
1786 idtype20 = type_nullable_parser_nodes__TKwredef.id;
1787 if(var_tkwredefnode3 == NULL) {
1788 var18 = 1;
1789 } else {
1790 if(cltype19 >= var_tkwredefnode3->type->table_size) {
1791 var18 = 0;
1792 } else {
1793 var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20;
1794 }
1795 }
1796 if (!var18) {
1797 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8939);
1798 exit(1);
1799 }
1800 var_pvisibilitynode4 = var_nodearraylist3;
1801 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1802 cltype22 = type_nullable_parser_nodes__AVisibility.color;
1803 idtype23 = type_nullable_parser_nodes__AVisibility.id;
1804 if(var_pvisibilitynode4 == NULL) {
1805 var21 = 1;
1806 } else {
1807 if(cltype22 >= var_pvisibilitynode4->type->table_size) {
1808 var21 = 0;
1809 } else {
1810 var21 = var_pvisibilitynode4->type->type_table[cltype22] == idtype23;
1811 }
1812 }
1813 if (!var21) {
1814 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8941);
1815 exit(1);
1816 }
1817 var_pclasskindnode5 = var_nodearraylist4;
1818 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1819 cltype25 = type_nullable_parser_nodes__AClasskind.color;
1820 idtype26 = type_nullable_parser_nodes__AClasskind.id;
1821 if(var_pclasskindnode5 == NULL) {
1822 var24 = 1;
1823 } else {
1824 if(cltype25 >= var_pclasskindnode5->type->table_size) {
1825 var24 = 0;
1826 } else {
1827 var24 = var_pclasskindnode5->type->type_table[cltype25] == idtype26;
1828 }
1829 }
1830 if (!var24) {
1831 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8943);
1832 exit(1);
1833 }
1834 var_tclassidnode6 = var_nodearraylist8;
1835 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1836 cltype28 = type_nullable_parser_nodes__TClassid.color;
1837 idtype29 = type_nullable_parser_nodes__TClassid.id;
1838 if(var_tclassidnode6 == NULL) {
1839 var27 = 1;
1840 } else {
1841 if(cltype28 >= var_tclassidnode6->type->table_size) {
1842 var27 = 0;
1843 } else {
1844 var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29;
1845 }
1846 }
1847 if (!var27) {
1848 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8945);
1849 exit(1);
1850 }
1851 var_listnode7 = var_nodearraylist9;
1852 /* <var_listnode7:nullable Object> isa Array[Object] */
1853 cltype31 = type_array__Arraykernel__Object.color;
1854 idtype32 = type_array__Arraykernel__Object.id;
1855 if(var_listnode7 == NULL) {
1856 var30 = 0;
1857 } else {
1858 if(cltype31 >= var_listnode7->type->table_size) {
1859 var30 = 0;
1860 } else {
1861 var30 = var_listnode7->type->type_table[cltype31] == idtype32;
1862 }
1863 }
1864 if (!var30) {
1865 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8947);
1866 exit(1);
1867 }
1868 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction183>*/;
1869 var_listnode8 = var33;
1870 var_pexterncodeblocknode10 = var_nodearraylist10;
1871 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
1872 cltype35 = type_nullable_parser_nodes__AExternCodeBlock.color;
1873 idtype36 = type_nullable_parser_nodes__AExternCodeBlock.id;
1874 if(var_pexterncodeblocknode10 == NULL) {
1875 var34 = 1;
1876 } else {
1877 if(cltype35 >= var_pexterncodeblocknode10->type->table_size) {
1878 var34 = 0;
1879 } else {
1880 var34 = var_pexterncodeblocknode10->type->type_table[cltype35] == idtype36;
1881 }
1882 }
1883 if (!var34) {
1884 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8950);
1885 exit(1);
1886 }
1887 var_listnode11 = var_nodearraylist11;
1888 /* <var_listnode11:nullable Object> isa Array[Object] */
1889 cltype38 = type_array__Arraykernel__Object.color;
1890 idtype39 = type_array__Arraykernel__Object.id;
1891 if(var_listnode11 == NULL) {
1892 var37 = 0;
1893 } else {
1894 if(cltype38 >= var_listnode11->type->table_size) {
1895 var37 = 0;
1896 } else {
1897 var37 = var_listnode11->type->type_table[cltype38] == idtype39;
1898 }
1899 }
1900 if (!var37) {
1901 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8952);
1902 exit(1);
1903 }
1904 var40 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction183>*/;
1905 var_listnode12 = var40;
1906 var_tkwendnode14 = var_nodearraylist13;
1907 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
1908 cltype42 = type_nullable_parser_nodes__TKwend.color;
1909 idtype43 = type_nullable_parser_nodes__TKwend.id;
1910 if(var_tkwendnode14 == NULL) {
1911 var41 = 1;
1912 } else {
1913 if(cltype42 >= var_tkwendnode14->type->table_size) {
1914 var41 = 0;
1915 } else {
1916 var41 = var_tkwendnode14->type->type_table[cltype42] == idtype43;
1917 }
1918 }
1919 if (!var41) {
1920 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8955);
1921 exit(1);
1922 }
1923 var44 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1924 var45 = NULL;
1925 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var44->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var44, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var45, var_pexterncodeblocknode10, var_listnode12, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var44:AStdClassdef>*/;
1926 CHECK_NEW_parser_nodes__AStdClassdef(var44);
1927 var_pclassdefnode1 = var44;
1928 var_node_list = var_pclassdefnode1;
1929 var46 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction183> */
1930 var47 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var46) /* go_to on <var_p:Parser>*/;
1931 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var47, var_node_list) /* push on <var_p:Parser>*/;
1932 RET_LABEL:;
1933 }
1934 /* method parser#ReduceAction183#action for (self: Object, Parser) */
1935 void VIRTUAL_parser__ReduceAction183__action(val* self, val* p0) {
1936 parser__ReduceAction183__action(self, p0);
1937 RET_LABEL:;
1938 }
1939 /* method parser#ReduceAction185#action for (self: ReduceAction185, Parser) */
1940 void parser__ReduceAction185__action(val* self, val* p0) {
1941 val* var_p /* var p: Parser */;
1942 val* var /* : null */;
1943 val* var_node_list /* var node_list: nullable Object */;
1944 val* var1 /* : nullable Object */;
1945 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1946 val* var2 /* : nullable Object */;
1947 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1948 val* var3 /* : nullable Object */;
1949 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1950 val* var4 /* : nullable Object */;
1951 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1952 val* var5 /* : nullable Object */;
1953 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1954 val* var6 /* : nullable Object */;
1955 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1956 val* var7 /* : nullable Object */;
1957 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1958 val* var8 /* : nullable Object */;
1959 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1960 val* var9 /* : nullable Object */;
1961 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1962 val* var10 /* : nullable Object */;
1963 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1964 val* var11 /* : Array[Object] */;
1965 val* var_listnode7 /* var listnode7: Array[Object] */;
1966 val* var12 /* : Array[Object] */;
1967 val* var_listnode16 /* var listnode16: Array[Object] */;
1968 val* var13 /* : Array[Object] */;
1969 val* var_listnode17 /* var listnode17: Array[Object] */;
1970 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1971 short int var14 /* : Bool */;
1972 int cltype;
1973 int idtype;
1974 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1975 short int var15 /* : Bool */;
1976 int cltype16;
1977 int idtype17;
1978 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1979 short int var18 /* : Bool */;
1980 int cltype19;
1981 int idtype20;
1982 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1983 short int var21 /* : Bool */;
1984 int cltype22;
1985 int idtype23;
1986 val* var24 /* : Array[Object] */;
1987 val* var_listnode12 /* var listnode12: Array[Object] */;
1988 val* var_listnode11 /* var listnode11: nullable Object */;
1989 short int var25 /* : Bool */;
1990 int cltype26;
1991 int idtype27;
1992 val* var28 /* : Array[Object] */;
1993 val* var29 /* : AAnnotations */;
1994 val* var30 /* : null */;
1995 val* var31 /* : null */;
1996 val* var32 /* : null */;
1997 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
1998 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
1999 short int var33 /* : Bool */;
2000 int cltype34;
2001 int idtype35;
2002 val* var_listnode15 /* var listnode15: nullable Object */;
2003 short int var36 /* : Bool */;
2004 int cltype37;
2005 int idtype38;
2006 val* var39 /* : Array[Object] */;
2007 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
2008 short int var40 /* : Bool */;
2009 int cltype41;
2010 int idtype42;
2011 val* var43 /* : AStdClassdef */;
2012 val* var44 /* : null */;
2013 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2014 long var45 /* : Int */;
2015 long var46 /* : Int */;
2016 var_p = p0;
2017 var = NULL;
2018 var_node_list = var;
2019 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2020 var_nodearraylist10 = var1;
2021 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2022 var_nodearraylist9 = var2;
2023 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2024 var_nodearraylist8 = var3;
2025 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2026 var_nodearraylist7 = var4;
2027 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2028 var_nodearraylist6 = var5;
2029 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2030 var_nodearraylist5 = var6;
2031 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2032 var_nodearraylist4 = var7;
2033 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2034 var_nodearraylist3 = var8;
2035 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2036 var_nodearraylist2 = var9;
2037 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2038 var_nodearraylist1 = var10;
2039 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
2040 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
2041 CHECK_NEW_array__Array(var11);
2042 var_listnode7 = var11;
2043 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
2044 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
2045 CHECK_NEW_array__Array(var12);
2046 var_listnode16 = var12;
2047 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
2048 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
2049 CHECK_NEW_array__Array(var13);
2050 var_listnode17 = var13;
2051 var_pdocnode2 = var_nodearraylist1;
2052 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2053 cltype = type_nullable_parser_nodes__ADoc.color;
2054 idtype = type_nullable_parser_nodes__ADoc.id;
2055 if(var_pdocnode2 == NULL) {
2056 var14 = 1;
2057 } else {
2058 if(cltype >= var_pdocnode2->type->table_size) {
2059 var14 = 0;
2060 } else {
2061 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
2062 }
2063 }
2064 if (!var14) {
2065 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8992);
2066 exit(1);
2067 }
2068 var_pvisibilitynode4 = var_nodearraylist2;
2069 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2070 cltype16 = type_nullable_parser_nodes__AVisibility.color;
2071 idtype17 = type_nullable_parser_nodes__AVisibility.id;
2072 if(var_pvisibilitynode4 == NULL) {
2073 var15 = 1;
2074 } else {
2075 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
2076 var15 = 0;
2077 } else {
2078 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
2079 }
2080 }
2081 if (!var15) {
2082 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8994);
2083 exit(1);
2084 }
2085 var_pclasskindnode5 = var_nodearraylist3;
2086 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2087 cltype19 = type_nullable_parser_nodes__AClasskind.color;
2088 idtype20 = type_nullable_parser_nodes__AClasskind.id;
2089 if(var_pclasskindnode5 == NULL) {
2090 var18 = 1;
2091 } else {
2092 if(cltype19 >= var_pclasskindnode5->type->table_size) {
2093 var18 = 0;
2094 } else {
2095 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
2096 }
2097 }
2098 if (!var18) {
2099 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8996);
2100 exit(1);
2101 }
2102 var_tclassidnode6 = var_nodearraylist5;
2103 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2104 cltype22 = type_nullable_parser_nodes__TClassid.color;
2105 idtype23 = type_nullable_parser_nodes__TClassid.id;
2106 if(var_tclassidnode6 == NULL) {
2107 var21 = 1;
2108 } else {
2109 if(cltype22 >= var_tclassidnode6->type->table_size) {
2110 var21 = 0;
2111 } else {
2112 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
2113 }
2114 }
2115 if (!var21) {
2116 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8998);
2117 exit(1);
2118 }
2119 var24 = NEW_array__Array(&type_array__Arraykernel__Object);
2120 ((void (*)(val*))(var24->class->vft[COLOR_array__Array__init]))(var24) /* init on <var24:Array[Object]>*/;
2121 CHECK_NEW_array__Array(var24);
2122 var_listnode12 = var24;
2123 var_listnode11 = var_nodearraylist6;
2124 /* <var_listnode11:nullable Object> isa Array[Object] */
2125 cltype26 = type_array__Arraykernel__Object.color;
2126 idtype27 = type_array__Arraykernel__Object.id;
2127 if(var_listnode11 == NULL) {
2128 var25 = 0;
2129 } else {
2130 if(cltype26 >= var_listnode11->type->table_size) {
2131 var25 = 0;
2132 } else {
2133 var25 = var_listnode11->type->type_table[cltype26] == idtype27;
2134 }
2135 }
2136 if (!var25) {
2137 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9001);
2138 exit(1);
2139 }
2140 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction185>*/;
2141 var_listnode12 = var28;
2142 var29 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
2143 var30 = NULL;
2144 var31 = NULL;
2145 var32 = NULL;
2146 ((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>*/;
2147 CHECK_NEW_parser_nodes__AAnnotations(var29);
2148 var_pannotationsnode8 = var29;
2149 var_pexterncodeblocknode14 = var_nodearraylist7;
2150 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
2151 cltype34 = type_nullable_parser_nodes__AExternCodeBlock.color;
2152 idtype35 = type_nullable_parser_nodes__AExternCodeBlock.id;
2153 if(var_pexterncodeblocknode14 == NULL) {
2154 var33 = 1;
2155 } else {
2156 if(cltype34 >= var_pexterncodeblocknode14->type->table_size) {
2157 var33 = 0;
2158 } else {
2159 var33 = var_pexterncodeblocknode14->type->type_table[cltype34] == idtype35;
2160 }
2161 }
2162 if (!var33) {
2163 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9010);
2164 exit(1);
2165 }
2166 var_listnode15 = var_nodearraylist8;
2167 /* <var_listnode15:nullable Object> isa Array[Object] */
2168 cltype37 = type_array__Arraykernel__Object.color;
2169 idtype38 = type_array__Arraykernel__Object.id;
2170 if(var_listnode15 == NULL) {
2171 var36 = 0;
2172 } else {
2173 if(cltype37 >= var_listnode15->type->table_size) {
2174 var36 = 0;
2175 } else {
2176 var36 = var_listnode15->type->type_table[cltype37] == idtype38;
2177 }
2178 }
2179 if (!var36) {
2180 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9012);
2181 exit(1);
2182 }
2183 var39 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction185>*/;
2184 var_listnode16 = var39;
2185 var_tkwendnode18 = var_nodearraylist10;
2186 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
2187 cltype41 = type_nullable_parser_nodes__TKwend.color;
2188 idtype42 = type_nullable_parser_nodes__TKwend.id;
2189 if(var_tkwendnode18 == NULL) {
2190 var40 = 1;
2191 } else {
2192 if(cltype41 >= var_tkwendnode18->type->table_size) {
2193 var40 = 0;
2194 } else {
2195 var40 = var_tkwendnode18->type->type_table[cltype41] == idtype42;
2196 }
2197 }
2198 if (!var40) {
2199 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9015);
2200 exit(1);
2201 }
2202 var43 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2203 var44 = NULL;
2204 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var43->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var43, var_pdocnode2, var44, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var43:AStdClassdef>*/;
2205 CHECK_NEW_parser_nodes__AStdClassdef(var43);
2206 var_pclassdefnode1 = var43;
2207 var_node_list = var_pclassdefnode1;
2208 var45 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction185> */
2209 var46 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var45) /* go_to on <var_p:Parser>*/;
2210 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var46, var_node_list) /* push on <var_p:Parser>*/;
2211 RET_LABEL:;
2212 }
2213 /* method parser#ReduceAction185#action for (self: Object, Parser) */
2214 void VIRTUAL_parser__ReduceAction185__action(val* self, val* p0) {
2215 parser__ReduceAction185__action(self, p0);
2216 RET_LABEL:;
2217 }
2218 /* method parser#ReduceAction186#action for (self: ReduceAction186, Parser) */
2219 void parser__ReduceAction186__action(val* self, val* p0) {
2220 val* var_p /* var p: Parser */;
2221 val* var /* : null */;
2222 val* var_node_list /* var node_list: nullable Object */;
2223 val* var1 /* : nullable Object */;
2224 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
2225 val* var2 /* : nullable Object */;
2226 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2227 val* var3 /* : nullable Object */;
2228 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2229 val* var4 /* : nullable Object */;
2230 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2231 val* var5 /* : nullable Object */;
2232 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2233 val* var6 /* : nullable Object */;
2234 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2235 val* var7 /* : nullable Object */;
2236 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2237 val* var8 /* : nullable Object */;
2238 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2239 val* var9 /* : nullable Object */;
2240 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2241 val* var10 /* : nullable Object */;
2242 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2243 val* var11 /* : nullable Object */;
2244 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2245 val* var12 /* : Array[Object] */;
2246 val* var_listnode7 /* var listnode7: Array[Object] */;
2247 val* var13 /* : Array[Object] */;
2248 val* var_listnode16 /* var listnode16: Array[Object] */;
2249 val* var14 /* : Array[Object] */;
2250 val* var_listnode17 /* var listnode17: Array[Object] */;
2251 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2252 short int var15 /* : Bool */;
2253 int cltype;
2254 int idtype;
2255 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
2256 short int var16 /* : Bool */;
2257 int cltype17;
2258 int idtype18;
2259 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2260 short int var19 /* : Bool */;
2261 int cltype20;
2262 int idtype21;
2263 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2264 short int var22 /* : Bool */;
2265 int cltype23;
2266 int idtype24;
2267 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2268 short int var25 /* : Bool */;
2269 int cltype26;
2270 int idtype27;
2271 val* var28 /* : Array[Object] */;
2272 val* var_listnode12 /* var listnode12: Array[Object] */;
2273 val* var_listnode11 /* var listnode11: nullable Object */;
2274 short int var29 /* : Bool */;
2275 int cltype30;
2276 int idtype31;
2277 val* var32 /* : Array[Object] */;
2278 val* var33 /* : AAnnotations */;
2279 val* var34 /* : null */;
2280 val* var35 /* : null */;
2281 val* var36 /* : null */;
2282 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
2283 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
2284 short int var37 /* : Bool */;
2285 int cltype38;
2286 int idtype39;
2287 val* var_listnode15 /* var listnode15: nullable Object */;
2288 short int var40 /* : Bool */;
2289 int cltype41;
2290 int idtype42;
2291 val* var43 /* : Array[Object] */;
2292 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
2293 short int var44 /* : Bool */;
2294 int cltype45;
2295 int idtype46;
2296 val* var47 /* : AStdClassdef */;
2297 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2298 long var48 /* : Int */;
2299 long var49 /* : Int */;
2300 var_p = p0;
2301 var = NULL;
2302 var_node_list = var;
2303 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2304 var_nodearraylist11 = var1;
2305 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2306 var_nodearraylist10 = var2;
2307 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2308 var_nodearraylist9 = var3;
2309 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2310 var_nodearraylist8 = var4;
2311 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2312 var_nodearraylist7 = var5;
2313 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2314 var_nodearraylist6 = var6;
2315 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2316 var_nodearraylist5 = var7;
2317 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2318 var_nodearraylist4 = var8;
2319 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2320 var_nodearraylist3 = var9;
2321 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2322 var_nodearraylist2 = var10;
2323 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2324 var_nodearraylist1 = var11;
2325 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
2326 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
2327 CHECK_NEW_array__Array(var12);
2328 var_listnode7 = var12;
2329 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
2330 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
2331 CHECK_NEW_array__Array(var13);
2332 var_listnode16 = var13;
2333 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
2334 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
2335 CHECK_NEW_array__Array(var14);
2336 var_listnode17 = var14;
2337 var_pdocnode2 = var_nodearraylist1;
2338 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2339 cltype = type_nullable_parser_nodes__ADoc.color;
2340 idtype = type_nullable_parser_nodes__ADoc.id;
2341 if(var_pdocnode2 == NULL) {
2342 var15 = 1;
2343 } else {
2344 if(cltype >= var_pdocnode2->type->table_size) {
2345 var15 = 0;
2346 } else {
2347 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
2348 }
2349 }
2350 if (!var15) {
2351 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9053);
2352 exit(1);
2353 }
2354 var_tkwredefnode3 = var_nodearraylist2;
2355 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2356 cltype17 = type_nullable_parser_nodes__TKwredef.color;
2357 idtype18 = type_nullable_parser_nodes__TKwredef.id;
2358 if(var_tkwredefnode3 == NULL) {
2359 var16 = 1;
2360 } else {
2361 if(cltype17 >= var_tkwredefnode3->type->table_size) {
2362 var16 = 0;
2363 } else {
2364 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
2365 }
2366 }
2367 if (!var16) {
2368 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9055);
2369 exit(1);
2370 }
2371 var_pvisibilitynode4 = var_nodearraylist3;
2372 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2373 cltype20 = type_nullable_parser_nodes__AVisibility.color;
2374 idtype21 = type_nullable_parser_nodes__AVisibility.id;
2375 if(var_pvisibilitynode4 == NULL) {
2376 var19 = 1;
2377 } else {
2378 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
2379 var19 = 0;
2380 } else {
2381 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
2382 }
2383 }
2384 if (!var19) {
2385 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9057);
2386 exit(1);
2387 }
2388 var_pclasskindnode5 = var_nodearraylist4;
2389 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2390 cltype23 = type_nullable_parser_nodes__AClasskind.color;
2391 idtype24 = type_nullable_parser_nodes__AClasskind.id;
2392 if(var_pclasskindnode5 == NULL) {
2393 var22 = 1;
2394 } else {
2395 if(cltype23 >= var_pclasskindnode5->type->table_size) {
2396 var22 = 0;
2397 } else {
2398 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
2399 }
2400 }
2401 if (!var22) {
2402 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9059);
2403 exit(1);
2404 }
2405 var_tclassidnode6 = var_nodearraylist6;
2406 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2407 cltype26 = type_nullable_parser_nodes__TClassid.color;
2408 idtype27 = type_nullable_parser_nodes__TClassid.id;
2409 if(var_tclassidnode6 == NULL) {
2410 var25 = 1;
2411 } else {
2412 if(cltype26 >= var_tclassidnode6->type->table_size) {
2413 var25 = 0;
2414 } else {
2415 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
2416 }
2417 }
2418 if (!var25) {
2419 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9061);
2420 exit(1);
2421 }
2422 var28 = NEW_array__Array(&type_array__Arraykernel__Object);
2423 ((void (*)(val*))(var28->class->vft[COLOR_array__Array__init]))(var28) /* init on <var28:Array[Object]>*/;
2424 CHECK_NEW_array__Array(var28);
2425 var_listnode12 = var28;
2426 var_listnode11 = var_nodearraylist7;
2427 /* <var_listnode11:nullable Object> isa Array[Object] */
2428 cltype30 = type_array__Arraykernel__Object.color;
2429 idtype31 = type_array__Arraykernel__Object.id;
2430 if(var_listnode11 == NULL) {
2431 var29 = 0;
2432 } else {
2433 if(cltype30 >= var_listnode11->type->table_size) {
2434 var29 = 0;
2435 } else {
2436 var29 = var_listnode11->type->type_table[cltype30] == idtype31;
2437 }
2438 }
2439 if (!var29) {
2440 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9064);
2441 exit(1);
2442 }
2443 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction186>*/;
2444 var_listnode12 = var32;
2445 var33 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
2446 var34 = NULL;
2447 var35 = NULL;
2448 var36 = NULL;
2449 ((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>*/;
2450 CHECK_NEW_parser_nodes__AAnnotations(var33);
2451 var_pannotationsnode8 = var33;
2452 var_pexterncodeblocknode14 = var_nodearraylist8;
2453 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
2454 cltype38 = type_nullable_parser_nodes__AExternCodeBlock.color;
2455 idtype39 = type_nullable_parser_nodes__AExternCodeBlock.id;
2456 if(var_pexterncodeblocknode14 == NULL) {
2457 var37 = 1;
2458 } else {
2459 if(cltype38 >= var_pexterncodeblocknode14->type->table_size) {
2460 var37 = 0;
2461 } else {
2462 var37 = var_pexterncodeblocknode14->type->type_table[cltype38] == idtype39;
2463 }
2464 }
2465 if (!var37) {
2466 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9073);
2467 exit(1);
2468 }
2469 var_listnode15 = var_nodearraylist9;
2470 /* <var_listnode15:nullable Object> isa Array[Object] */
2471 cltype41 = type_array__Arraykernel__Object.color;
2472 idtype42 = type_array__Arraykernel__Object.id;
2473 if(var_listnode15 == NULL) {
2474 var40 = 0;
2475 } else {
2476 if(cltype41 >= var_listnode15->type->table_size) {
2477 var40 = 0;
2478 } else {
2479 var40 = var_listnode15->type->type_table[cltype41] == idtype42;
2480 }
2481 }
2482 if (!var40) {
2483 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9075);
2484 exit(1);
2485 }
2486 var43 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction186>*/;
2487 var_listnode16 = var43;
2488 var_tkwendnode18 = var_nodearraylist11;
2489 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
2490 cltype45 = type_nullable_parser_nodes__TKwend.color;
2491 idtype46 = type_nullable_parser_nodes__TKwend.id;
2492 if(var_tkwendnode18 == NULL) {
2493 var44 = 1;
2494 } else {
2495 if(cltype45 >= var_tkwendnode18->type->table_size) {
2496 var44 = 0;
2497 } else {
2498 var44 = var_tkwendnode18->type->type_table[cltype45] == idtype46;
2499 }
2500 }
2501 if (!var44) {
2502 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9078);
2503 exit(1);
2504 }
2505 var47 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2506 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var47->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var47, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var47:AStdClassdef>*/;
2507 CHECK_NEW_parser_nodes__AStdClassdef(var47);
2508 var_pclassdefnode1 = var47;
2509 var_node_list = var_pclassdefnode1;
2510 var48 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction186> */
2511 var49 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var48) /* go_to on <var_p:Parser>*/;
2512 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var49, var_node_list) /* push on <var_p:Parser>*/;
2513 RET_LABEL:;
2514 }
2515 /* method parser#ReduceAction186#action for (self: Object, Parser) */
2516 void VIRTUAL_parser__ReduceAction186__action(val* self, val* p0) {
2517 parser__ReduceAction186__action(self, p0);
2518 RET_LABEL:;
2519 }
2520 /* method parser#ReduceAction187#action for (self: ReduceAction187, Parser) */
2521 void parser__ReduceAction187__action(val* self, val* p0) {
2522 val* var_p /* var p: Parser */;
2523 val* var /* : null */;
2524 val* var_node_list /* var node_list: nullable Object */;
2525 val* var1 /* : nullable Object */;
2526 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
2527 val* var2 /* : nullable Object */;
2528 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2529 val* var3 /* : nullable Object */;
2530 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2531 val* var4 /* : nullable Object */;
2532 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2533 val* var5 /* : nullable Object */;
2534 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2535 val* var6 /* : nullable Object */;
2536 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2537 val* var7 /* : nullable Object */;
2538 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2539 val* var8 /* : nullable Object */;
2540 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2541 val* var9 /* : nullable Object */;
2542 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2543 val* var10 /* : nullable Object */;
2544 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2545 val* var11 /* : nullable Object */;
2546 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2547 val* var12 /* : Array[Object] */;
2548 val* var_listnode7 /* var listnode7: Array[Object] */;
2549 val* var13 /* : Array[Object] */;
2550 val* var_listnode16 /* var listnode16: Array[Object] */;
2551 val* var14 /* : Array[Object] */;
2552 val* var_listnode17 /* var listnode17: Array[Object] */;
2553 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2554 short int var15 /* : Bool */;
2555 int cltype;
2556 int idtype;
2557 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2558 short int var16 /* : Bool */;
2559 int cltype17;
2560 int idtype18;
2561 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2562 short int var19 /* : Bool */;
2563 int cltype20;
2564 int idtype21;
2565 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2566 short int var22 /* : Bool */;
2567 int cltype23;
2568 int idtype24;
2569 val* var25 /* : Array[Object] */;
2570 val* var_listnode12 /* var listnode12: Array[Object] */;
2571 val* var_listnode11 /* var listnode11: nullable Object */;
2572 short int var26 /* : Bool */;
2573 int cltype27;
2574 int idtype28;
2575 val* var29 /* : Array[Object] */;
2576 val* var30 /* : AAnnotations */;
2577 val* var31 /* : null */;
2578 val* var32 /* : null */;
2579 val* var33 /* : null */;
2580 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
2581 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
2582 short int var34 /* : Bool */;
2583 int cltype35;
2584 int idtype36;
2585 val* var_listnode15 /* var listnode15: nullable Object */;
2586 short int var37 /* : Bool */;
2587 int cltype38;
2588 int idtype39;
2589 val* var40 /* : Array[Object] */;
2590 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
2591 short int var41 /* : Bool */;
2592 int cltype42;
2593 int idtype43;
2594 val* var44 /* : AStdClassdef */;
2595 val* var45 /* : null */;
2596 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2597 long var46 /* : Int */;
2598 long var47 /* : Int */;
2599 var_p = p0;
2600 var = NULL;
2601 var_node_list = var;
2602 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2603 var_nodearraylist11 = var1;
2604 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2605 var_nodearraylist10 = var2;
2606 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2607 var_nodearraylist9 = var3;
2608 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2609 var_nodearraylist8 = var4;
2610 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2611 var_nodearraylist7 = var5;
2612 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2613 var_nodearraylist6 = var6;
2614 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2615 var_nodearraylist5 = var7;
2616 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2617 var_nodearraylist4 = var8;
2618 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2619 var_nodearraylist3 = var9;
2620 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2621 var_nodearraylist2 = var10;
2622 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2623 var_nodearraylist1 = var11;
2624 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
2625 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
2626 CHECK_NEW_array__Array(var12);
2627 var_listnode7 = var12;
2628 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
2629 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
2630 CHECK_NEW_array__Array(var13);
2631 var_listnode16 = var13;
2632 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
2633 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
2634 CHECK_NEW_array__Array(var14);
2635 var_listnode17 = var14;
2636 var_pdocnode2 = var_nodearraylist1;
2637 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2638 cltype = type_nullable_parser_nodes__ADoc.color;
2639 idtype = type_nullable_parser_nodes__ADoc.id;
2640 if(var_pdocnode2 == NULL) {
2641 var15 = 1;
2642 } else {
2643 if(cltype >= var_pdocnode2->type->table_size) {
2644 var15 = 0;
2645 } else {
2646 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
2647 }
2648 }
2649 if (!var15) {
2650 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9116);
2651 exit(1);
2652 }
2653 var_pvisibilitynode4 = var_nodearraylist2;
2654 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2655 cltype17 = type_nullable_parser_nodes__AVisibility.color;
2656 idtype18 = type_nullable_parser_nodes__AVisibility.id;
2657 if(var_pvisibilitynode4 == NULL) {
2658 var16 = 1;
2659 } else {
2660 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
2661 var16 = 0;
2662 } else {
2663 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
2664 }
2665 }
2666 if (!var16) {
2667 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9118);
2668 exit(1);
2669 }
2670 var_pclasskindnode5 = var_nodearraylist3;
2671 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2672 cltype20 = type_nullable_parser_nodes__AClasskind.color;
2673 idtype21 = type_nullable_parser_nodes__AClasskind.id;
2674 if(var_pclasskindnode5 == NULL) {
2675 var19 = 1;
2676 } else {
2677 if(cltype20 >= var_pclasskindnode5->type->table_size) {
2678 var19 = 0;
2679 } else {
2680 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
2681 }
2682 }
2683 if (!var19) {
2684 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9120);
2685 exit(1);
2686 }
2687 var_tclassidnode6 = var_nodearraylist6;
2688 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2689 cltype23 = type_nullable_parser_nodes__TClassid.color;
2690 idtype24 = type_nullable_parser_nodes__TClassid.id;
2691 if(var_tclassidnode6 == NULL) {
2692 var22 = 1;
2693 } else {
2694 if(cltype23 >= var_tclassidnode6->type->table_size) {
2695 var22 = 0;
2696 } else {
2697 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
2698 }
2699 }
2700 if (!var22) {
2701 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9122);
2702 exit(1);
2703 }
2704 var25 = NEW_array__Array(&type_array__Arraykernel__Object);
2705 ((void (*)(val*))(var25->class->vft[COLOR_array__Array__init]))(var25) /* init on <var25:Array[Object]>*/;
2706 CHECK_NEW_array__Array(var25);
2707 var_listnode12 = var25;
2708 var_listnode11 = var_nodearraylist7;
2709 /* <var_listnode11:nullable Object> isa Array[Object] */
2710 cltype27 = type_array__Arraykernel__Object.color;
2711 idtype28 = type_array__Arraykernel__Object.id;
2712 if(var_listnode11 == NULL) {
2713 var26 = 0;
2714 } else {
2715 if(cltype27 >= var_listnode11->type->table_size) {
2716 var26 = 0;
2717 } else {
2718 var26 = var_listnode11->type->type_table[cltype27] == idtype28;
2719 }
2720 }
2721 if (!var26) {
2722 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9125);
2723 exit(1);
2724 }
2725 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction187>*/;
2726 var_listnode12 = var29;
2727 var30 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
2728 var31 = NULL;
2729 var32 = NULL;
2730 var33 = NULL;
2731 ((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>*/;
2732 CHECK_NEW_parser_nodes__AAnnotations(var30);
2733 var_pannotationsnode8 = var30;
2734 var_pexterncodeblocknode14 = var_nodearraylist8;
2735 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
2736 cltype35 = type_nullable_parser_nodes__AExternCodeBlock.color;
2737 idtype36 = type_nullable_parser_nodes__AExternCodeBlock.id;
2738 if(var_pexterncodeblocknode14 == NULL) {
2739 var34 = 1;
2740 } else {
2741 if(cltype35 >= var_pexterncodeblocknode14->type->table_size) {
2742 var34 = 0;
2743 } else {
2744 var34 = var_pexterncodeblocknode14->type->type_table[cltype35] == idtype36;
2745 }
2746 }
2747 if (!var34) {
2748 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9134);
2749 exit(1);
2750 }
2751 var_listnode15 = var_nodearraylist9;
2752 /* <var_listnode15:nullable Object> isa Array[Object] */
2753 cltype38 = type_array__Arraykernel__Object.color;
2754 idtype39 = type_array__Arraykernel__Object.id;
2755 if(var_listnode15 == NULL) {
2756 var37 = 0;
2757 } else {
2758 if(cltype38 >= var_listnode15->type->table_size) {
2759 var37 = 0;
2760 } else {
2761 var37 = var_listnode15->type->type_table[cltype38] == idtype39;
2762 }
2763 }
2764 if (!var37) {
2765 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9136);
2766 exit(1);
2767 }
2768 var40 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction187>*/;
2769 var_listnode16 = var40;
2770 var_tkwendnode18 = var_nodearraylist11;
2771 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
2772 cltype42 = type_nullable_parser_nodes__TKwend.color;
2773 idtype43 = type_nullable_parser_nodes__TKwend.id;
2774 if(var_tkwendnode18 == NULL) {
2775 var41 = 1;
2776 } else {
2777 if(cltype42 >= var_tkwendnode18->type->table_size) {
2778 var41 = 0;
2779 } else {
2780 var41 = var_tkwendnode18->type->type_table[cltype42] == idtype43;
2781 }
2782 }
2783 if (!var41) {
2784 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9139);
2785 exit(1);
2786 }
2787 var44 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2788 var45 = NULL;
2789 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var44->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var44, var_pdocnode2, var45, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var44:AStdClassdef>*/;
2790 CHECK_NEW_parser_nodes__AStdClassdef(var44);
2791 var_pclassdefnode1 = var44;
2792 var_node_list = var_pclassdefnode1;
2793 var46 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction187> */
2794 var47 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var46) /* go_to on <var_p:Parser>*/;
2795 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var47, var_node_list) /* push on <var_p:Parser>*/;
2796 RET_LABEL:;
2797 }
2798 /* method parser#ReduceAction187#action for (self: Object, Parser) */
2799 void VIRTUAL_parser__ReduceAction187__action(val* self, val* p0) {
2800 parser__ReduceAction187__action(self, p0);
2801 RET_LABEL:;
2802 }
2803 /* method parser#ReduceAction188#action for (self: ReduceAction188, Parser) */
2804 void parser__ReduceAction188__action(val* self, val* p0) {
2805 val* var_p /* var p: Parser */;
2806 val* var /* : null */;
2807 val* var_node_list /* var node_list: nullable Object */;
2808 val* var1 /* : nullable Object */;
2809 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
2810 val* var2 /* : nullable Object */;
2811 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
2812 val* var3 /* : nullable Object */;
2813 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2814 val* var4 /* : nullable Object */;
2815 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2816 val* var5 /* : nullable Object */;
2817 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2818 val* var6 /* : nullable Object */;
2819 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2820 val* var7 /* : nullable Object */;
2821 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2822 val* var8 /* : nullable Object */;
2823 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2824 val* var9 /* : nullable Object */;
2825 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2826 val* var10 /* : nullable Object */;
2827 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2828 val* var11 /* : nullable Object */;
2829 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2830 val* var12 /* : nullable Object */;
2831 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2832 val* var13 /* : Array[Object] */;
2833 val* var_listnode7 /* var listnode7: Array[Object] */;
2834 val* var14 /* : Array[Object] */;
2835 val* var_listnode16 /* var listnode16: Array[Object] */;
2836 val* var15 /* : Array[Object] */;
2837 val* var_listnode17 /* var listnode17: Array[Object] */;
2838 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2839 short int var16 /* : Bool */;
2840 int cltype;
2841 int idtype;
2842 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2843 short int var17 /* : Bool */;
2844 int cltype18;
2845 int idtype19;
2846 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2847 short int var20 /* : Bool */;
2848 int cltype21;
2849 int idtype22;
2850 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2851 short int var23 /* : Bool */;
2852 int cltype24;
2853 int idtype25;
2854 val* var26 /* : Array[Object] */;
2855 val* var_listnode12 /* var listnode12: Array[Object] */;
2856 val* var_listnode11 /* var listnode11: nullable Object */;
2857 short int var27 /* : Bool */;
2858 int cltype28;
2859 int idtype29;
2860 val* var30 /* : Array[Object] */;
2861 val* var31 /* : AAnnotations */;
2862 val* var32 /* : null */;
2863 val* var33 /* : null */;
2864 val* var34 /* : null */;
2865 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
2866 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
2867 short int var35 /* : Bool */;
2868 int cltype36;
2869 int idtype37;
2870 val* var_listnode15 /* var listnode15: nullable Object */;
2871 short int var38 /* : Bool */;
2872 int cltype39;
2873 int idtype40;
2874 val* var41 /* : Array[Object] */;
2875 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
2876 short int var42 /* : Bool */;
2877 int cltype43;
2878 int idtype44;
2879 val* var45 /* : AStdClassdef */;
2880 val* var46 /* : null */;
2881 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2882 long var47 /* : Int */;
2883 long var48 /* : Int */;
2884 var_p = p0;
2885 var = NULL;
2886 var_node_list = var;
2887 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2888 var_nodearraylist12 = var1;
2889 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2890 var_nodearraylist11 = var2;
2891 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2892 var_nodearraylist10 = var3;
2893 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2894 var_nodearraylist9 = var4;
2895 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2896 var_nodearraylist8 = var5;
2897 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2898 var_nodearraylist7 = var6;
2899 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2900 var_nodearraylist6 = var7;
2901 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2902 var_nodearraylist5 = var8;
2903 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2904 var_nodearraylist4 = var9;
2905 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2906 var_nodearraylist3 = var10;
2907 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2908 var_nodearraylist2 = var11;
2909 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2910 var_nodearraylist1 = var12;
2911 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
2912 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
2913 CHECK_NEW_array__Array(var13);
2914 var_listnode7 = var13;
2915 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
2916 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
2917 CHECK_NEW_array__Array(var14);
2918 var_listnode16 = var14;
2919 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
2920 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
2921 CHECK_NEW_array__Array(var15);
2922 var_listnode17 = var15;
2923 var_pdocnode2 = var_nodearraylist1;
2924 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2925 cltype = type_nullable_parser_nodes__ADoc.color;
2926 idtype = type_nullable_parser_nodes__ADoc.id;
2927 if(var_pdocnode2 == NULL) {
2928 var16 = 1;
2929 } else {
2930 if(cltype >= var_pdocnode2->type->table_size) {
2931 var16 = 0;
2932 } else {
2933 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
2934 }
2935 }
2936 if (!var16) {
2937 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9178);
2938 exit(1);
2939 }
2940 var_pvisibilitynode4 = var_nodearraylist2;
2941 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2942 cltype18 = type_nullable_parser_nodes__AVisibility.color;
2943 idtype19 = type_nullable_parser_nodes__AVisibility.id;
2944 if(var_pvisibilitynode4 == NULL) {
2945 var17 = 1;
2946 } else {
2947 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
2948 var17 = 0;
2949 } else {
2950 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
2951 }
2952 }
2953 if (!var17) {
2954 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9180);
2955 exit(1);
2956 }
2957 var_pclasskindnode5 = var_nodearraylist3;
2958 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2959 cltype21 = type_nullable_parser_nodes__AClasskind.color;
2960 idtype22 = type_nullable_parser_nodes__AClasskind.id;
2961 if(var_pclasskindnode5 == NULL) {
2962 var20 = 1;
2963 } else {
2964 if(cltype21 >= var_pclasskindnode5->type->table_size) {
2965 var20 = 0;
2966 } else {
2967 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
2968 }
2969 }
2970 if (!var20) {
2971 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9182);
2972 exit(1);
2973 }
2974 var_tclassidnode6 = var_nodearraylist7;
2975 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2976 cltype24 = type_nullable_parser_nodes__TClassid.color;
2977 idtype25 = type_nullable_parser_nodes__TClassid.id;
2978 if(var_tclassidnode6 == NULL) {
2979 var23 = 1;
2980 } else {
2981 if(cltype24 >= var_tclassidnode6->type->table_size) {
2982 var23 = 0;
2983 } else {
2984 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
2985 }
2986 }
2987 if (!var23) {
2988 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9184);
2989 exit(1);
2990 }
2991 var26 = NEW_array__Array(&type_array__Arraykernel__Object);
2992 ((void (*)(val*))(var26->class->vft[COLOR_array__Array__init]))(var26) /* init on <var26:Array[Object]>*/;
2993 CHECK_NEW_array__Array(var26);
2994 var_listnode12 = var26;
2995 var_listnode11 = var_nodearraylist8;
2996 /* <var_listnode11:nullable Object> isa Array[Object] */
2997 cltype28 = type_array__Arraykernel__Object.color;
2998 idtype29 = type_array__Arraykernel__Object.id;
2999 if(var_listnode11 == NULL) {
3000 var27 = 0;
3001 } else {
3002 if(cltype28 >= var_listnode11->type->table_size) {
3003 var27 = 0;
3004 } else {
3005 var27 = var_listnode11->type->type_table[cltype28] == idtype29;
3006 }
3007 }
3008 if (!var27) {
3009 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9187);
3010 exit(1);
3011 }
3012 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction188>*/;
3013 var_listnode12 = var30;
3014 var31 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
3015 var32 = NULL;
3016 var33 = NULL;
3017 var34 = NULL;
3018 ((void (*)(val*, val*, val*, val*, val*))(var31->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var31, var32, var33, var_listnode12, var34) /* init_aannotations on <var31:AAnnotations>*/;
3019 CHECK_NEW_parser_nodes__AAnnotations(var31);
3020 var_pannotationsnode8 = var31;
3021 var_pexterncodeblocknode14 = var_nodearraylist9;
3022 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
3023 cltype36 = type_nullable_parser_nodes__AExternCodeBlock.color;
3024 idtype37 = type_nullable_parser_nodes__AExternCodeBlock.id;
3025 if(var_pexterncodeblocknode14 == NULL) {
3026 var35 = 1;
3027 } else {
3028 if(cltype36 >= var_pexterncodeblocknode14->type->table_size) {
3029 var35 = 0;
3030 } else {
3031 var35 = var_pexterncodeblocknode14->type->type_table[cltype36] == idtype37;
3032 }
3033 }
3034 if (!var35) {
3035 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9196);
3036 exit(1);
3037 }
3038 var_listnode15 = var_nodearraylist10;
3039 /* <var_listnode15:nullable Object> isa Array[Object] */
3040 cltype39 = type_array__Arraykernel__Object.color;
3041 idtype40 = type_array__Arraykernel__Object.id;
3042 if(var_listnode15 == NULL) {
3043 var38 = 0;
3044 } else {
3045 if(cltype39 >= var_listnode15->type->table_size) {
3046 var38 = 0;
3047 } else {
3048 var38 = var_listnode15->type->type_table[cltype39] == idtype40;
3049 }
3050 }
3051 if (!var38) {
3052 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9198);
3053 exit(1);
3054 }
3055 var41 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction188>*/;
3056 var_listnode16 = var41;
3057 var_tkwendnode18 = var_nodearraylist12;
3058 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
3059 cltype43 = type_nullable_parser_nodes__TKwend.color;
3060 idtype44 = type_nullable_parser_nodes__TKwend.id;
3061 if(var_tkwendnode18 == NULL) {
3062 var42 = 1;
3063 } else {
3064 if(cltype43 >= var_tkwendnode18->type->table_size) {
3065 var42 = 0;
3066 } else {
3067 var42 = var_tkwendnode18->type->type_table[cltype43] == idtype44;
3068 }
3069 }
3070 if (!var42) {
3071 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9201);
3072 exit(1);
3073 }
3074 var45 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3075 var46 = NULL;
3076 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var45->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var45, var_pdocnode2, var46, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var45:AStdClassdef>*/;
3077 CHECK_NEW_parser_nodes__AStdClassdef(var45);
3078 var_pclassdefnode1 = var45;
3079 var_node_list = var_pclassdefnode1;
3080 var47 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction188> */
3081 var48 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var47) /* go_to on <var_p:Parser>*/;
3082 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var48, var_node_list) /* push on <var_p:Parser>*/;
3083 RET_LABEL:;
3084 }
3085 /* method parser#ReduceAction188#action for (self: Object, Parser) */
3086 void VIRTUAL_parser__ReduceAction188__action(val* self, val* p0) {
3087 parser__ReduceAction188__action(self, p0);
3088 RET_LABEL:;
3089 }
3090 /* method parser#ReduceAction190#action for (self: ReduceAction190, Parser) */
3091 void parser__ReduceAction190__action(val* self, val* p0) {
3092 val* var_p /* var p: Parser */;
3093 val* var /* : null */;
3094 val* var_node_list /* var node_list: nullable Object */;
3095 val* var1 /* : nullable Object */;
3096 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
3097 val* var2 /* : nullable Object */;
3098 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
3099 val* var3 /* : nullable Object */;
3100 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
3101 val* var4 /* : nullable Object */;
3102 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3103 val* var5 /* : nullable Object */;
3104 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3105 val* var6 /* : nullable Object */;
3106 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3107 val* var7 /* : nullable Object */;
3108 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3109 val* var8 /* : nullable Object */;
3110 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3111 val* var9 /* : nullable Object */;
3112 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3113 val* var10 /* : nullable Object */;
3114 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3115 val* var11 /* : nullable Object */;
3116 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3117 val* var12 /* : nullable Object */;
3118 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3119 val* var13 /* : Array[Object] */;
3120 val* var_listnode7 /* var listnode7: Array[Object] */;
3121 val* var14 /* : Array[Object] */;
3122 val* var_listnode16 /* var listnode16: Array[Object] */;
3123 val* var15 /* : Array[Object] */;
3124 val* var_listnode17 /* var listnode17: Array[Object] */;
3125 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3126 short int var16 /* : Bool */;
3127 int cltype;
3128 int idtype;
3129 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
3130 short int var17 /* : Bool */;
3131 int cltype18;
3132 int idtype19;
3133 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3134 short int var20 /* : Bool */;
3135 int cltype21;
3136 int idtype22;
3137 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3138 short int var23 /* : Bool */;
3139 int cltype24;
3140 int idtype25;
3141 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3142 short int var26 /* : Bool */;
3143 int cltype27;
3144 int idtype28;
3145 val* var29 /* : Array[Object] */;
3146 val* var_listnode12 /* var listnode12: Array[Object] */;
3147 val* var_listnode11 /* var listnode11: nullable Object */;
3148 short int var30 /* : Bool */;
3149 int cltype31;
3150 int idtype32;
3151 val* var33 /* : Array[Object] */;
3152 val* var34 /* : AAnnotations */;
3153 val* var35 /* : null */;
3154 val* var36 /* : null */;
3155 val* var37 /* : null */;
3156 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
3157 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
3158 short int var38 /* : Bool */;
3159 int cltype39;
3160 int idtype40;
3161 val* var_listnode15 /* var listnode15: nullable Object */;
3162 short int var41 /* : Bool */;
3163 int cltype42;
3164 int idtype43;
3165 val* var44 /* : Array[Object] */;
3166 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
3167 short int var45 /* : Bool */;
3168 int cltype46;
3169 int idtype47;
3170 val* var48 /* : AStdClassdef */;
3171 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3172 long var49 /* : Int */;
3173 long var50 /* : Int */;
3174 var_p = p0;
3175 var = NULL;
3176 var_node_list = var;
3177 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3178 var_nodearraylist12 = var1;
3179 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3180 var_nodearraylist11 = var2;
3181 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3182 var_nodearraylist10 = var3;
3183 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3184 var_nodearraylist9 = var4;
3185 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3186 var_nodearraylist8 = var5;
3187 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3188 var_nodearraylist7 = var6;
3189 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3190 var_nodearraylist6 = var7;
3191 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3192 var_nodearraylist5 = var8;
3193 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3194 var_nodearraylist4 = var9;
3195 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3196 var_nodearraylist3 = var10;
3197 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3198 var_nodearraylist2 = var11;
3199 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3200 var_nodearraylist1 = var12;
3201 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
3202 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
3203 CHECK_NEW_array__Array(var13);
3204 var_listnode7 = var13;
3205 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
3206 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
3207 CHECK_NEW_array__Array(var14);
3208 var_listnode16 = var14;
3209 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
3210 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
3211 CHECK_NEW_array__Array(var15);
3212 var_listnode17 = var15;
3213 var_pdocnode2 = var_nodearraylist1;
3214 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3215 cltype = type_nullable_parser_nodes__ADoc.color;
3216 idtype = type_nullable_parser_nodes__ADoc.id;
3217 if(var_pdocnode2 == NULL) {
3218 var16 = 1;
3219 } else {
3220 if(cltype >= var_pdocnode2->type->table_size) {
3221 var16 = 0;
3222 } else {
3223 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
3224 }
3225 }
3226 if (!var16) {
3227 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9240);
3228 exit(1);
3229 }
3230 var_tkwredefnode3 = var_nodearraylist2;
3231 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3232 cltype18 = type_nullable_parser_nodes__TKwredef.color;
3233 idtype19 = type_nullable_parser_nodes__TKwredef.id;
3234 if(var_tkwredefnode3 == NULL) {
3235 var17 = 1;
3236 } else {
3237 if(cltype18 >= var_tkwredefnode3->type->table_size) {
3238 var17 = 0;
3239 } else {
3240 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
3241 }
3242 }
3243 if (!var17) {
3244 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9242);
3245 exit(1);
3246 }
3247 var_pvisibilitynode4 = var_nodearraylist3;
3248 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3249 cltype21 = type_nullable_parser_nodes__AVisibility.color;
3250 idtype22 = type_nullable_parser_nodes__AVisibility.id;
3251 if(var_pvisibilitynode4 == NULL) {
3252 var20 = 1;
3253 } else {
3254 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
3255 var20 = 0;
3256 } else {
3257 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
3258 }
3259 }
3260 if (!var20) {
3261 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9244);
3262 exit(1);
3263 }
3264 var_pclasskindnode5 = var_nodearraylist4;
3265 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3266 cltype24 = type_nullable_parser_nodes__AClasskind.color;
3267 idtype25 = type_nullable_parser_nodes__AClasskind.id;
3268 if(var_pclasskindnode5 == NULL) {
3269 var23 = 1;
3270 } else {
3271 if(cltype24 >= var_pclasskindnode5->type->table_size) {
3272 var23 = 0;
3273 } else {
3274 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
3275 }
3276 }
3277 if (!var23) {
3278 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9246);
3279 exit(1);
3280 }
3281 var_tclassidnode6 = var_nodearraylist7;
3282 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3283 cltype27 = type_nullable_parser_nodes__TClassid.color;
3284 idtype28 = type_nullable_parser_nodes__TClassid.id;
3285 if(var_tclassidnode6 == NULL) {
3286 var26 = 1;
3287 } else {
3288 if(cltype27 >= var_tclassidnode6->type->table_size) {
3289 var26 = 0;
3290 } else {
3291 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
3292 }
3293 }
3294 if (!var26) {
3295 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9248);
3296 exit(1);
3297 }
3298 var29 = NEW_array__Array(&type_array__Arraykernel__Object);
3299 ((void (*)(val*))(var29->class->vft[COLOR_array__Array__init]))(var29) /* init on <var29:Array[Object]>*/;
3300 CHECK_NEW_array__Array(var29);
3301 var_listnode12 = var29;
3302 var_listnode11 = var_nodearraylist8;
3303 /* <var_listnode11:nullable Object> isa Array[Object] */
3304 cltype31 = type_array__Arraykernel__Object.color;
3305 idtype32 = type_array__Arraykernel__Object.id;
3306 if(var_listnode11 == NULL) {
3307 var30 = 0;
3308 } else {
3309 if(cltype31 >= var_listnode11->type->table_size) {
3310 var30 = 0;
3311 } else {
3312 var30 = var_listnode11->type->type_table[cltype31] == idtype32;
3313 }
3314 }
3315 if (!var30) {
3316 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9251);
3317 exit(1);
3318 }
3319 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction190>*/;
3320 var_listnode12 = var33;
3321 var34 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
3322 var35 = NULL;
3323 var36 = NULL;
3324 var37 = NULL;
3325 ((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>*/;
3326 CHECK_NEW_parser_nodes__AAnnotations(var34);
3327 var_pannotationsnode8 = var34;
3328 var_pexterncodeblocknode14 = var_nodearraylist9;
3329 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
3330 cltype39 = type_nullable_parser_nodes__AExternCodeBlock.color;
3331 idtype40 = type_nullable_parser_nodes__AExternCodeBlock.id;
3332 if(var_pexterncodeblocknode14 == NULL) {
3333 var38 = 1;
3334 } else {
3335 if(cltype39 >= var_pexterncodeblocknode14->type->table_size) {
3336 var38 = 0;
3337 } else {
3338 var38 = var_pexterncodeblocknode14->type->type_table[cltype39] == idtype40;
3339 }
3340 }
3341 if (!var38) {
3342 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9260);
3343 exit(1);
3344 }
3345 var_listnode15 = var_nodearraylist10;
3346 /* <var_listnode15:nullable Object> isa Array[Object] */
3347 cltype42 = type_array__Arraykernel__Object.color;
3348 idtype43 = type_array__Arraykernel__Object.id;
3349 if(var_listnode15 == NULL) {
3350 var41 = 0;
3351 } else {
3352 if(cltype42 >= var_listnode15->type->table_size) {
3353 var41 = 0;
3354 } else {
3355 var41 = var_listnode15->type->type_table[cltype42] == idtype43;
3356 }
3357 }
3358 if (!var41) {
3359 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9262);
3360 exit(1);
3361 }
3362 var44 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction190>*/;
3363 var_listnode16 = var44;
3364 var_tkwendnode18 = var_nodearraylist12;
3365 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
3366 cltype46 = type_nullable_parser_nodes__TKwend.color;
3367 idtype47 = type_nullable_parser_nodes__TKwend.id;
3368 if(var_tkwendnode18 == NULL) {
3369 var45 = 1;
3370 } else {
3371 if(cltype46 >= var_tkwendnode18->type->table_size) {
3372 var45 = 0;
3373 } else {
3374 var45 = var_tkwendnode18->type->type_table[cltype46] == idtype47;
3375 }
3376 }
3377 if (!var45) {
3378 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9265);
3379 exit(1);
3380 }
3381 var48 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3382 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var48->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var48, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var48:AStdClassdef>*/;
3383 CHECK_NEW_parser_nodes__AStdClassdef(var48);
3384 var_pclassdefnode1 = var48;
3385 var_node_list = var_pclassdefnode1;
3386 var49 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction190> */
3387 var50 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var49) /* go_to on <var_p:Parser>*/;
3388 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var50, var_node_list) /* push on <var_p:Parser>*/;
3389 RET_LABEL:;
3390 }
3391 /* method parser#ReduceAction190#action for (self: Object, Parser) */
3392 void VIRTUAL_parser__ReduceAction190__action(val* self, val* p0) {
3393 parser__ReduceAction190__action(self, p0);
3394 RET_LABEL:;
3395 }
3396 /* method parser#ReduceAction191#action for (self: ReduceAction191, Parser) */
3397 void parser__ReduceAction191__action(val* self, val* p0) {
3398 val* var_p /* var p: Parser */;
3399 val* var /* : null */;
3400 val* var_node_list /* var node_list: nullable Object */;
3401 val* var1 /* : nullable Object */;
3402 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
3403 val* var2 /* : nullable Object */;
3404 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
3405 val* var3 /* : nullable Object */;
3406 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
3407 val* var4 /* : nullable Object */;
3408 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
3409 val* var5 /* : nullable Object */;
3410 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3411 val* var6 /* : nullable Object */;
3412 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3413 val* var7 /* : nullable Object */;
3414 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3415 val* var8 /* : nullable Object */;
3416 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3417 val* var9 /* : nullable Object */;
3418 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3419 val* var10 /* : nullable Object */;
3420 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3421 val* var11 /* : nullable Object */;
3422 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3423 val* var12 /* : nullable Object */;
3424 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3425 val* var13 /* : nullable Object */;
3426 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3427 val* var14 /* : Array[Object] */;
3428 val* var_listnode7 /* var listnode7: Array[Object] */;
3429 val* var15 /* : Array[Object] */;
3430 val* var_listnode16 /* var listnode16: Array[Object] */;
3431 val* var16 /* : Array[Object] */;
3432 val* var_listnode17 /* var listnode17: Array[Object] */;
3433 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3434 short int var17 /* : Bool */;
3435 int cltype;
3436 int idtype;
3437 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
3438 short int var18 /* : Bool */;
3439 int cltype19;
3440 int idtype20;
3441 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3442 short int var21 /* : Bool */;
3443 int cltype22;
3444 int idtype23;
3445 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3446 short int var24 /* : Bool */;
3447 int cltype25;
3448 int idtype26;
3449 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3450 short int var27 /* : Bool */;
3451 int cltype28;
3452 int idtype29;
3453 val* var30 /* : Array[Object] */;
3454 val* var_listnode12 /* var listnode12: Array[Object] */;
3455 val* var_listnode11 /* var listnode11: nullable Object */;
3456 short int var31 /* : Bool */;
3457 int cltype32;
3458 int idtype33;
3459 val* var34 /* : Array[Object] */;
3460 val* var35 /* : AAnnotations */;
3461 val* var36 /* : null */;
3462 val* var37 /* : null */;
3463 val* var38 /* : null */;
3464 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
3465 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
3466 short int var39 /* : Bool */;
3467 int cltype40;
3468 int idtype41;
3469 val* var_listnode15 /* var listnode15: nullable Object */;
3470 short int var42 /* : Bool */;
3471 int cltype43;
3472 int idtype44;
3473 val* var45 /* : Array[Object] */;
3474 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
3475 short int var46 /* : Bool */;
3476 int cltype47;
3477 int idtype48;
3478 val* var49 /* : AStdClassdef */;
3479 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3480 long var50 /* : Int */;
3481 long var51 /* : Int */;
3482 var_p = p0;
3483 var = NULL;
3484 var_node_list = var;
3485 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3486 var_nodearraylist13 = var1;
3487 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3488 var_nodearraylist12 = var2;
3489 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3490 var_nodearraylist11 = var3;
3491 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3492 var_nodearraylist10 = var4;
3493 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3494 var_nodearraylist9 = var5;
3495 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3496 var_nodearraylist8 = var6;
3497 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3498 var_nodearraylist7 = var7;
3499 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3500 var_nodearraylist6 = var8;
3501 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3502 var_nodearraylist5 = var9;
3503 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3504 var_nodearraylist4 = var10;
3505 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3506 var_nodearraylist3 = var11;
3507 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3508 var_nodearraylist2 = var12;
3509 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3510 var_nodearraylist1 = var13;
3511 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
3512 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
3513 CHECK_NEW_array__Array(var14);
3514 var_listnode7 = var14;
3515 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
3516 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
3517 CHECK_NEW_array__Array(var15);
3518 var_listnode16 = var15;
3519 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
3520 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
3521 CHECK_NEW_array__Array(var16);
3522 var_listnode17 = var16;
3523 var_pdocnode2 = var_nodearraylist1;
3524 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3525 cltype = type_nullable_parser_nodes__ADoc.color;
3526 idtype = type_nullable_parser_nodes__ADoc.id;
3527 if(var_pdocnode2 == NULL) {
3528 var17 = 1;
3529 } else {
3530 if(cltype >= var_pdocnode2->type->table_size) {
3531 var17 = 0;
3532 } else {
3533 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
3534 }
3535 }
3536 if (!var17) {
3537 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9305);
3538 exit(1);
3539 }
3540 var_tkwredefnode3 = var_nodearraylist2;
3541 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3542 cltype19 = type_nullable_parser_nodes__TKwredef.color;
3543 idtype20 = type_nullable_parser_nodes__TKwredef.id;
3544 if(var_tkwredefnode3 == NULL) {
3545 var18 = 1;
3546 } else {
3547 if(cltype19 >= var_tkwredefnode3->type->table_size) {
3548 var18 = 0;
3549 } else {
3550 var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20;
3551 }
3552 }
3553 if (!var18) {
3554 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9307);
3555 exit(1);
3556 }
3557 var_pvisibilitynode4 = var_nodearraylist3;
3558 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3559 cltype22 = type_nullable_parser_nodes__AVisibility.color;
3560 idtype23 = type_nullable_parser_nodes__AVisibility.id;
3561 if(var_pvisibilitynode4 == NULL) {
3562 var21 = 1;
3563 } else {
3564 if(cltype22 >= var_pvisibilitynode4->type->table_size) {
3565 var21 = 0;
3566 } else {
3567 var21 = var_pvisibilitynode4->type->type_table[cltype22] == idtype23;
3568 }
3569 }
3570 if (!var21) {
3571 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9309);
3572 exit(1);
3573 }
3574 var_pclasskindnode5 = var_nodearraylist4;
3575 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3576 cltype25 = type_nullable_parser_nodes__AClasskind.color;
3577 idtype26 = type_nullable_parser_nodes__AClasskind.id;
3578 if(var_pclasskindnode5 == NULL) {
3579 var24 = 1;
3580 } else {
3581 if(cltype25 >= var_pclasskindnode5->type->table_size) {
3582 var24 = 0;
3583 } else {
3584 var24 = var_pclasskindnode5->type->type_table[cltype25] == idtype26;
3585 }
3586 }
3587 if (!var24) {
3588 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9311);
3589 exit(1);
3590 }
3591 var_tclassidnode6 = var_nodearraylist8;
3592 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3593 cltype28 = type_nullable_parser_nodes__TClassid.color;
3594 idtype29 = type_nullable_parser_nodes__TClassid.id;
3595 if(var_tclassidnode6 == NULL) {
3596 var27 = 1;
3597 } else {
3598 if(cltype28 >= var_tclassidnode6->type->table_size) {
3599 var27 = 0;
3600 } else {
3601 var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29;
3602 }
3603 }
3604 if (!var27) {
3605 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9313);
3606 exit(1);
3607 }
3608 var30 = NEW_array__Array(&type_array__Arraykernel__Object);
3609 ((void (*)(val*))(var30->class->vft[COLOR_array__Array__init]))(var30) /* init on <var30:Array[Object]>*/;
3610 CHECK_NEW_array__Array(var30);
3611 var_listnode12 = var30;
3612 var_listnode11 = var_nodearraylist9;
3613 /* <var_listnode11:nullable Object> isa Array[Object] */
3614 cltype32 = type_array__Arraykernel__Object.color;
3615 idtype33 = type_array__Arraykernel__Object.id;
3616 if(var_listnode11 == NULL) {
3617 var31 = 0;
3618 } else {
3619 if(cltype32 >= var_listnode11->type->table_size) {
3620 var31 = 0;
3621 } else {
3622 var31 = var_listnode11->type->type_table[cltype32] == idtype33;
3623 }
3624 }
3625 if (!var31) {
3626 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9316);
3627 exit(1);
3628 }
3629 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction191>*/;
3630 var_listnode12 = var34;
3631 var35 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
3632 var36 = NULL;
3633 var37 = NULL;
3634 var38 = NULL;
3635 ((void (*)(val*, val*, val*, val*, val*))(var35->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var35, var36, var37, var_listnode12, var38) /* init_aannotations on <var35:AAnnotations>*/;
3636 CHECK_NEW_parser_nodes__AAnnotations(var35);
3637 var_pannotationsnode8 = var35;
3638 var_pexterncodeblocknode14 = var_nodearraylist10;
3639 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
3640 cltype40 = type_nullable_parser_nodes__AExternCodeBlock.color;
3641 idtype41 = type_nullable_parser_nodes__AExternCodeBlock.id;
3642 if(var_pexterncodeblocknode14 == NULL) {
3643 var39 = 1;
3644 } else {
3645 if(cltype40 >= var_pexterncodeblocknode14->type->table_size) {
3646 var39 = 0;
3647 } else {
3648 var39 = var_pexterncodeblocknode14->type->type_table[cltype40] == idtype41;
3649 }
3650 }
3651 if (!var39) {
3652 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9325);
3653 exit(1);
3654 }
3655 var_listnode15 = var_nodearraylist11;
3656 /* <var_listnode15:nullable Object> isa Array[Object] */
3657 cltype43 = type_array__Arraykernel__Object.color;
3658 idtype44 = type_array__Arraykernel__Object.id;
3659 if(var_listnode15 == NULL) {
3660 var42 = 0;
3661 } else {
3662 if(cltype43 >= var_listnode15->type->table_size) {
3663 var42 = 0;
3664 } else {
3665 var42 = var_listnode15->type->type_table[cltype43] == idtype44;
3666 }
3667 }
3668 if (!var42) {
3669 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9327);
3670 exit(1);
3671 }
3672 var45 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction191>*/;
3673 var_listnode16 = var45;
3674 var_tkwendnode18 = var_nodearraylist13;
3675 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
3676 cltype47 = type_nullable_parser_nodes__TKwend.color;
3677 idtype48 = type_nullable_parser_nodes__TKwend.id;
3678 if(var_tkwendnode18 == NULL) {
3679 var46 = 1;
3680 } else {
3681 if(cltype47 >= var_tkwendnode18->type->table_size) {
3682 var46 = 0;
3683 } else {
3684 var46 = var_tkwendnode18->type->type_table[cltype47] == idtype48;
3685 }
3686 }
3687 if (!var46) {
3688 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9330);
3689 exit(1);
3690 }
3691 var49 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3692 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var49->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var49, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var49:AStdClassdef>*/;
3693 CHECK_NEW_parser_nodes__AStdClassdef(var49);
3694 var_pclassdefnode1 = var49;
3695 var_node_list = var_pclassdefnode1;
3696 var50 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction191> */
3697 var51 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var50) /* go_to on <var_p:Parser>*/;
3698 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var51, var_node_list) /* push on <var_p:Parser>*/;
3699 RET_LABEL:;
3700 }
3701 /* method parser#ReduceAction191#action for (self: Object, Parser) */
3702 void VIRTUAL_parser__ReduceAction191__action(val* self, val* p0) {
3703 parser__ReduceAction191__action(self, p0);
3704 RET_LABEL:;
3705 }
3706 /* method parser#ReduceAction193#action for (self: ReduceAction193, Parser) */
3707 void parser__ReduceAction193__action(val* self, val* p0) {
3708 val* var_p /* var p: Parser */;
3709 val* var /* : null */;
3710 val* var_node_list /* var node_list: nullable Object */;
3711 val* var1 /* : nullable Object */;
3712 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
3713 val* var2 /* : nullable Object */;
3714 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
3715 val* var3 /* : nullable Object */;
3716 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3717 val* var4 /* : nullable Object */;
3718 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3719 val* var5 /* : nullable Object */;
3720 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3721 val* var6 /* : nullable Object */;
3722 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3723 val* var7 /* : nullable Object */;
3724 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3725 val* var8 /* : nullable Object */;
3726 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3727 val* var9 /* : nullable Object */;
3728 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3729 val* var10 /* : nullable Object */;
3730 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3731 val* var11 /* : nullable Object */;
3732 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3733 val* var12 /* : Array[Object] */;
3734 val* var_listnode8 /* var listnode8: Array[Object] */;
3735 val* var13 /* : Array[Object] */;
3736 val* var_listnode17 /* var listnode17: Array[Object] */;
3737 val* var14 /* : Array[Object] */;
3738 val* var_listnode18 /* var listnode18: Array[Object] */;
3739 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3740 short int var15 /* : Bool */;
3741 int cltype;
3742 int idtype;
3743 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3744 short int var16 /* : Bool */;
3745 int cltype17;
3746 int idtype18;
3747 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3748 short int var19 /* : Bool */;
3749 int cltype20;
3750 int idtype21;
3751 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3752 short int var22 /* : Bool */;
3753 int cltype23;
3754 int idtype24;
3755 val* var_listnode7 /* var listnode7: nullable Object */;
3756 short int var25 /* : Bool */;
3757 int cltype26;
3758 int idtype27;
3759 val* var28 /* : Array[Object] */;
3760 val* var29 /* : Array[Object] */;
3761 val* var_listnode13 /* var listnode13: Array[Object] */;
3762 val* var_listnode12 /* var listnode12: nullable Object */;
3763 short int var30 /* : Bool */;
3764 int cltype31;
3765 int idtype32;
3766 val* var33 /* : Array[Object] */;
3767 val* var34 /* : AAnnotations */;
3768 val* var35 /* : null */;
3769 val* var36 /* : null */;
3770 val* var37 /* : null */;
3771 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
3772 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
3773 short int var38 /* : Bool */;
3774 int cltype39;
3775 int idtype40;
3776 val* var_listnode16 /* var listnode16: nullable Object */;
3777 short int var41 /* : Bool */;
3778 int cltype42;
3779 int idtype43;
3780 val* var44 /* : Array[Object] */;
3781 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
3782 short int var45 /* : Bool */;
3783 int cltype46;
3784 int idtype47;
3785 val* var48 /* : AStdClassdef */;
3786 val* var49 /* : null */;
3787 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3788 long var50 /* : Int */;
3789 long var51 /* : Int */;
3790 var_p = p0;
3791 var = NULL;
3792 var_node_list = var;
3793 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3794 var_nodearraylist11 = var1;
3795 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3796 var_nodearraylist10 = var2;
3797 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3798 var_nodearraylist9 = var3;
3799 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3800 var_nodearraylist8 = var4;
3801 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3802 var_nodearraylist7 = var5;
3803 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3804 var_nodearraylist6 = var6;
3805 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3806 var_nodearraylist5 = var7;
3807 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3808 var_nodearraylist4 = var8;
3809 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3810 var_nodearraylist3 = var9;
3811 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3812 var_nodearraylist2 = var10;
3813 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3814 var_nodearraylist1 = var11;
3815 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
3816 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
3817 CHECK_NEW_array__Array(var12);
3818 var_listnode8 = var12;
3819 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
3820 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
3821 CHECK_NEW_array__Array(var13);
3822 var_listnode17 = var13;
3823 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
3824 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
3825 CHECK_NEW_array__Array(var14);
3826 var_listnode18 = var14;
3827 var_pdocnode2 = var_nodearraylist1;
3828 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3829 cltype = type_nullable_parser_nodes__ADoc.color;
3830 idtype = type_nullable_parser_nodes__ADoc.id;
3831 if(var_pdocnode2 == NULL) {
3832 var15 = 1;
3833 } else {
3834 if(cltype >= var_pdocnode2->type->table_size) {
3835 var15 = 0;
3836 } else {
3837 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
3838 }
3839 }
3840 if (!var15) {
3841 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9368);
3842 exit(1);
3843 }
3844 var_pvisibilitynode4 = var_nodearraylist2;
3845 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3846 cltype17 = type_nullable_parser_nodes__AVisibility.color;
3847 idtype18 = type_nullable_parser_nodes__AVisibility.id;
3848 if(var_pvisibilitynode4 == NULL) {
3849 var16 = 1;
3850 } else {
3851 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
3852 var16 = 0;
3853 } else {
3854 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
3855 }
3856 }
3857 if (!var16) {
3858 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9370);
3859 exit(1);
3860 }
3861 var_pclasskindnode5 = var_nodearraylist3;
3862 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3863 cltype20 = type_nullable_parser_nodes__AClasskind.color;
3864 idtype21 = type_nullable_parser_nodes__AClasskind.id;
3865 if(var_pclasskindnode5 == NULL) {
3866 var19 = 1;
3867 } else {
3868 if(cltype20 >= var_pclasskindnode5->type->table_size) {
3869 var19 = 0;
3870 } else {
3871 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
3872 }
3873 }
3874 if (!var19) {
3875 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9372);
3876 exit(1);
3877 }
3878 var_tclassidnode6 = var_nodearraylist5;
3879 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3880 cltype23 = type_nullable_parser_nodes__TClassid.color;
3881 idtype24 = type_nullable_parser_nodes__TClassid.id;
3882 if(var_tclassidnode6 == NULL) {
3883 var22 = 1;
3884 } else {
3885 if(cltype23 >= var_tclassidnode6->type->table_size) {
3886 var22 = 0;
3887 } else {
3888 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
3889 }
3890 }
3891 if (!var22) {
3892 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9374);
3893 exit(1);
3894 }
3895 var_listnode7 = var_nodearraylist6;
3896 /* <var_listnode7:nullable Object> isa Array[Object] */
3897 cltype26 = type_array__Arraykernel__Object.color;
3898 idtype27 = type_array__Arraykernel__Object.id;
3899 if(var_listnode7 == NULL) {
3900 var25 = 0;
3901 } else {
3902 if(cltype26 >= var_listnode7->type->table_size) {
3903 var25 = 0;
3904 } else {
3905 var25 = var_listnode7->type->type_table[cltype26] == idtype27;
3906 }
3907 }
3908 if (!var25) {
3909 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9376);
3910 exit(1);
3911 }
3912 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction193>*/;
3913 var_listnode8 = var28;
3914 var29 = NEW_array__Array(&type_array__Arraykernel__Object);
3915 ((void (*)(val*))(var29->class->vft[COLOR_array__Array__init]))(var29) /* init on <var29:Array[Object]>*/;
3916 CHECK_NEW_array__Array(var29);
3917 var_listnode13 = var29;
3918 var_listnode12 = var_nodearraylist7;
3919 /* <var_listnode12:nullable Object> isa Array[Object] */
3920 cltype31 = type_array__Arraykernel__Object.color;
3921 idtype32 = type_array__Arraykernel__Object.id;
3922 if(var_listnode12 == NULL) {
3923 var30 = 0;
3924 } else {
3925 if(cltype31 >= var_listnode12->type->table_size) {
3926 var30 = 0;
3927 } else {
3928 var30 = var_listnode12->type->type_table[cltype31] == idtype32;
3929 }
3930 }
3931 if (!var30) {
3932 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9380);
3933 exit(1);
3934 }
3935 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction193>*/;
3936 var_listnode13 = var33;
3937 var34 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
3938 var35 = NULL;
3939 var36 = NULL;
3940 var37 = NULL;
3941 ((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>*/;
3942 CHECK_NEW_parser_nodes__AAnnotations(var34);
3943 var_pannotationsnode9 = var34;
3944 var_pexterncodeblocknode15 = var_nodearraylist8;
3945 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
3946 cltype39 = type_nullable_parser_nodes__AExternCodeBlock.color;
3947 idtype40 = type_nullable_parser_nodes__AExternCodeBlock.id;
3948 if(var_pexterncodeblocknode15 == NULL) {
3949 var38 = 1;
3950 } else {
3951 if(cltype39 >= var_pexterncodeblocknode15->type->table_size) {
3952 var38 = 0;
3953 } else {
3954 var38 = var_pexterncodeblocknode15->type->type_table[cltype39] == idtype40;
3955 }
3956 }
3957 if (!var38) {
3958 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9389);
3959 exit(1);
3960 }
3961 var_listnode16 = var_nodearraylist9;
3962 /* <var_listnode16:nullable Object> isa Array[Object] */
3963 cltype42 = type_array__Arraykernel__Object.color;
3964 idtype43 = type_array__Arraykernel__Object.id;
3965 if(var_listnode16 == NULL) {
3966 var41 = 0;
3967 } else {
3968 if(cltype42 >= var_listnode16->type->table_size) {
3969 var41 = 0;
3970 } else {
3971 var41 = var_listnode16->type->type_table[cltype42] == idtype43;
3972 }
3973 }
3974 if (!var41) {
3975 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9391);
3976 exit(1);
3977 }
3978 var44 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction193>*/;
3979 var_listnode17 = var44;
3980 var_tkwendnode19 = var_nodearraylist11;
3981 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
3982 cltype46 = type_nullable_parser_nodes__TKwend.color;
3983 idtype47 = type_nullable_parser_nodes__TKwend.id;
3984 if(var_tkwendnode19 == NULL) {
3985 var45 = 1;
3986 } else {
3987 if(cltype46 >= var_tkwendnode19->type->table_size) {
3988 var45 = 0;
3989 } else {
3990 var45 = var_tkwendnode19->type->type_table[cltype46] == idtype47;
3991 }
3992 }
3993 if (!var45) {
3994 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9394);
3995 exit(1);
3996 }
3997 var48 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3998 var49 = NULL;
3999 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var48->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var48, var_pdocnode2, var49, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode17, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var48:AStdClassdef>*/;
4000 CHECK_NEW_parser_nodes__AStdClassdef(var48);
4001 var_pclassdefnode1 = var48;
4002 var_node_list = var_pclassdefnode1;
4003 var50 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction193> */
4004 var51 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var50) /* go_to on <var_p:Parser>*/;
4005 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var51, var_node_list) /* push on <var_p:Parser>*/;
4006 RET_LABEL:;
4007 }
4008 /* method parser#ReduceAction193#action for (self: Object, Parser) */
4009 void VIRTUAL_parser__ReduceAction193__action(val* self, val* p0) {
4010 parser__ReduceAction193__action(self, p0);
4011 RET_LABEL:;
4012 }
4013 /* method parser#ReduceAction194#action for (self: ReduceAction194, Parser) */
4014 void parser__ReduceAction194__action(val* self, val* p0) {
4015 val* var_p /* var p: Parser */;
4016 val* var /* : null */;
4017 val* var_node_list /* var node_list: nullable Object */;
4018 val* var1 /* : nullable Object */;
4019 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
4020 val* var2 /* : nullable Object */;
4021 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
4022 val* var3 /* : nullable Object */;
4023 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4024 val* var4 /* : nullable Object */;
4025 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4026 val* var5 /* : nullable Object */;
4027 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4028 val* var6 /* : nullable Object */;
4029 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4030 val* var7 /* : nullable Object */;
4031 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4032 val* var8 /* : nullable Object */;
4033 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4034 val* var9 /* : nullable Object */;
4035 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4036 val* var10 /* : nullable Object */;
4037 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4038 val* var11 /* : nullable Object */;
4039 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4040 val* var12 /* : nullable Object */;
4041 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4042 val* var13 /* : Array[Object] */;
4043 val* var_listnode8 /* var listnode8: Array[Object] */;
4044 val* var14 /* : Array[Object] */;
4045 val* var_listnode17 /* var listnode17: Array[Object] */;
4046 val* var15 /* : Array[Object] */;
4047 val* var_listnode18 /* var listnode18: Array[Object] */;
4048 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4049 short int var16 /* : Bool */;
4050 int cltype;
4051 int idtype;
4052 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
4053 short int var17 /* : Bool */;
4054 int cltype18;
4055 int idtype19;
4056 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4057 short int var20 /* : Bool */;
4058 int cltype21;
4059 int idtype22;
4060 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4061 short int var23 /* : Bool */;
4062 int cltype24;
4063 int idtype25;
4064 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4065 short int var26 /* : Bool */;
4066 int cltype27;
4067 int idtype28;
4068 val* var_listnode7 /* var listnode7: nullable Object */;
4069 short int var29 /* : Bool */;
4070 int cltype30;
4071 int idtype31;
4072 val* var32 /* : Array[Object] */;
4073 val* var33 /* : Array[Object] */;
4074 val* var_listnode13 /* var listnode13: Array[Object] */;
4075 val* var_listnode12 /* var listnode12: nullable Object */;
4076 short int var34 /* : Bool */;
4077 int cltype35;
4078 int idtype36;
4079 val* var37 /* : Array[Object] */;
4080 val* var38 /* : AAnnotations */;
4081 val* var39 /* : null */;
4082 val* var40 /* : null */;
4083 val* var41 /* : null */;
4084 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
4085 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
4086 short int var42 /* : Bool */;
4087 int cltype43;
4088 int idtype44;
4089 val* var_listnode16 /* var listnode16: nullable Object */;
4090 short int var45 /* : Bool */;
4091 int cltype46;
4092 int idtype47;
4093 val* var48 /* : Array[Object] */;
4094 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
4095 short int var49 /* : Bool */;
4096 int cltype50;
4097 int idtype51;
4098 val* var52 /* : AStdClassdef */;
4099 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4100 long var53 /* : Int */;
4101 long var54 /* : Int */;
4102 var_p = p0;
4103 var = NULL;
4104 var_node_list = var;
4105 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4106 var_nodearraylist12 = var1;
4107 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4108 var_nodearraylist11 = var2;
4109 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4110 var_nodearraylist10 = var3;
4111 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4112 var_nodearraylist9 = var4;
4113 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4114 var_nodearraylist8 = var5;
4115 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4116 var_nodearraylist7 = var6;
4117 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4118 var_nodearraylist6 = var7;
4119 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4120 var_nodearraylist5 = var8;
4121 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4122 var_nodearraylist4 = var9;
4123 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4124 var_nodearraylist3 = var10;
4125 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4126 var_nodearraylist2 = var11;
4127 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4128 var_nodearraylist1 = var12;
4129 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
4130 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
4131 CHECK_NEW_array__Array(var13);
4132 var_listnode8 = var13;
4133 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
4134 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
4135 CHECK_NEW_array__Array(var14);
4136 var_listnode17 = var14;
4137 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
4138 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
4139 CHECK_NEW_array__Array(var15);
4140 var_listnode18 = var15;
4141 var_pdocnode2 = var_nodearraylist1;
4142 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4143 cltype = type_nullable_parser_nodes__ADoc.color;
4144 idtype = type_nullable_parser_nodes__ADoc.id;
4145 if(var_pdocnode2 == NULL) {
4146 var16 = 1;
4147 } else {
4148 if(cltype >= var_pdocnode2->type->table_size) {
4149 var16 = 0;
4150 } else {
4151 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
4152 }
4153 }
4154 if (!var16) {
4155 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9433);
4156 exit(1);
4157 }
4158 var_tkwredefnode3 = var_nodearraylist2;
4159 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4160 cltype18 = type_nullable_parser_nodes__TKwredef.color;
4161 idtype19 = type_nullable_parser_nodes__TKwredef.id;
4162 if(var_tkwredefnode3 == NULL) {
4163 var17 = 1;
4164 } else {
4165 if(cltype18 >= var_tkwredefnode3->type->table_size) {
4166 var17 = 0;
4167 } else {
4168 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
4169 }
4170 }
4171 if (!var17) {
4172 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9435);
4173 exit(1);
4174 }
4175 var_pvisibilitynode4 = var_nodearraylist3;
4176 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4177 cltype21 = type_nullable_parser_nodes__AVisibility.color;
4178 idtype22 = type_nullable_parser_nodes__AVisibility.id;
4179 if(var_pvisibilitynode4 == NULL) {
4180 var20 = 1;
4181 } else {
4182 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
4183 var20 = 0;
4184 } else {
4185 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
4186 }
4187 }
4188 if (!var20) {
4189 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9437);
4190 exit(1);
4191 }
4192 var_pclasskindnode5 = var_nodearraylist4;
4193 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4194 cltype24 = type_nullable_parser_nodes__AClasskind.color;
4195 idtype25 = type_nullable_parser_nodes__AClasskind.id;
4196 if(var_pclasskindnode5 == NULL) {
4197 var23 = 1;
4198 } else {
4199 if(cltype24 >= var_pclasskindnode5->type->table_size) {
4200 var23 = 0;
4201 } else {
4202 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
4203 }
4204 }
4205 if (!var23) {
4206 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9439);
4207 exit(1);
4208 }
4209 var_tclassidnode6 = var_nodearraylist6;
4210 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4211 cltype27 = type_nullable_parser_nodes__TClassid.color;
4212 idtype28 = type_nullable_parser_nodes__TClassid.id;
4213 if(var_tclassidnode6 == NULL) {
4214 var26 = 1;
4215 } else {
4216 if(cltype27 >= var_tclassidnode6->type->table_size) {
4217 var26 = 0;
4218 } else {
4219 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
4220 }
4221 }
4222 if (!var26) {
4223 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9441);
4224 exit(1);
4225 }
4226 var_listnode7 = var_nodearraylist7;
4227 /* <var_listnode7:nullable Object> isa Array[Object] */
4228 cltype30 = type_array__Arraykernel__Object.color;
4229 idtype31 = type_array__Arraykernel__Object.id;
4230 if(var_listnode7 == NULL) {
4231 var29 = 0;
4232 } else {
4233 if(cltype30 >= var_listnode7->type->table_size) {
4234 var29 = 0;
4235 } else {
4236 var29 = var_listnode7->type->type_table[cltype30] == idtype31;
4237 }
4238 }
4239 if (!var29) {
4240 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9443);
4241 exit(1);
4242 }
4243 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction194>*/;
4244 var_listnode8 = var32;
4245 var33 = NEW_array__Array(&type_array__Arraykernel__Object);
4246 ((void (*)(val*))(var33->class->vft[COLOR_array__Array__init]))(var33) /* init on <var33:Array[Object]>*/;
4247 CHECK_NEW_array__Array(var33);
4248 var_listnode13 = var33;
4249 var_listnode12 = var_nodearraylist8;
4250 /* <var_listnode12:nullable Object> isa Array[Object] */
4251 cltype35 = type_array__Arraykernel__Object.color;
4252 idtype36 = type_array__Arraykernel__Object.id;
4253 if(var_listnode12 == NULL) {
4254 var34 = 0;
4255 } else {
4256 if(cltype35 >= var_listnode12->type->table_size) {
4257 var34 = 0;
4258 } else {
4259 var34 = var_listnode12->type->type_table[cltype35] == idtype36;
4260 }
4261 }
4262 if (!var34) {
4263 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9447);
4264 exit(1);
4265 }
4266 var37 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction194>*/;
4267 var_listnode13 = var37;
4268 var38 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
4269 var39 = NULL;
4270 var40 = NULL;
4271 var41 = NULL;
4272 ((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>*/;
4273 CHECK_NEW_parser_nodes__AAnnotations(var38);
4274 var_pannotationsnode9 = var38;
4275 var_pexterncodeblocknode15 = var_nodearraylist9;
4276 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
4277 cltype43 = type_nullable_parser_nodes__AExternCodeBlock.color;
4278 idtype44 = type_nullable_parser_nodes__AExternCodeBlock.id;
4279 if(var_pexterncodeblocknode15 == NULL) {
4280 var42 = 1;
4281 } else {
4282 if(cltype43 >= var_pexterncodeblocknode15->type->table_size) {
4283 var42 = 0;
4284 } else {
4285 var42 = var_pexterncodeblocknode15->type->type_table[cltype43] == idtype44;
4286 }
4287 }
4288 if (!var42) {
4289 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9456);
4290 exit(1);
4291 }
4292 var_listnode16 = var_nodearraylist10;
4293 /* <var_listnode16:nullable Object> isa Array[Object] */
4294 cltype46 = type_array__Arraykernel__Object.color;
4295 idtype47 = type_array__Arraykernel__Object.id;
4296 if(var_listnode16 == NULL) {
4297 var45 = 0;
4298 } else {
4299 if(cltype46 >= var_listnode16->type->table_size) {
4300 var45 = 0;
4301 } else {
4302 var45 = var_listnode16->type->type_table[cltype46] == idtype47;
4303 }
4304 }
4305 if (!var45) {
4306 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9458);
4307 exit(1);
4308 }
4309 var48 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction194>*/;
4310 var_listnode17 = var48;
4311 var_tkwendnode19 = var_nodearraylist12;
4312 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
4313 cltype50 = type_nullable_parser_nodes__TKwend.color;
4314 idtype51 = type_nullable_parser_nodes__TKwend.id;
4315 if(var_tkwendnode19 == NULL) {
4316 var49 = 1;
4317 } else {
4318 if(cltype50 >= var_tkwendnode19->type->table_size) {
4319 var49 = 0;
4320 } else {
4321 var49 = var_tkwendnode19->type->type_table[cltype50] == idtype51;
4322 }
4323 }
4324 if (!var49) {
4325 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9461);
4326 exit(1);
4327 }
4328 var52 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4329 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var52->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var52, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode17, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var52:AStdClassdef>*/;
4330 CHECK_NEW_parser_nodes__AStdClassdef(var52);
4331 var_pclassdefnode1 = var52;
4332 var_node_list = var_pclassdefnode1;
4333 var53 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction194> */
4334 var54 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var53) /* go_to on <var_p:Parser>*/;
4335 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var54, var_node_list) /* push on <var_p:Parser>*/;
4336 RET_LABEL:;
4337 }
4338 /* method parser#ReduceAction194#action for (self: Object, Parser) */
4339 void VIRTUAL_parser__ReduceAction194__action(val* self, val* p0) {
4340 parser__ReduceAction194__action(self, p0);
4341 RET_LABEL:;
4342 }
4343 /* method parser#ReduceAction195#action for (self: ReduceAction195, Parser) */
4344 void parser__ReduceAction195__action(val* self, val* p0) {
4345 val* var_p /* var p: Parser */;
4346 val* var /* : null */;
4347 val* var_node_list /* var node_list: nullable Object */;
4348 val* var1 /* : nullable Object */;
4349 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
4350 val* var2 /* : nullable Object */;
4351 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
4352 val* var3 /* : nullable Object */;
4353 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4354 val* var4 /* : nullable Object */;
4355 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4356 val* var5 /* : nullable Object */;
4357 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4358 val* var6 /* : nullable Object */;
4359 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4360 val* var7 /* : nullable Object */;
4361 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4362 val* var8 /* : nullable Object */;
4363 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4364 val* var9 /* : nullable Object */;
4365 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4366 val* var10 /* : nullable Object */;
4367 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4368 val* var11 /* : nullable Object */;
4369 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4370 val* var12 /* : nullable Object */;
4371 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4372 val* var13 /* : Array[Object] */;
4373 val* var_listnode8 /* var listnode8: Array[Object] */;
4374 val* var14 /* : Array[Object] */;
4375 val* var_listnode17 /* var listnode17: Array[Object] */;
4376 val* var15 /* : Array[Object] */;
4377 val* var_listnode18 /* var listnode18: Array[Object] */;
4378 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4379 short int var16 /* : Bool */;
4380 int cltype;
4381 int idtype;
4382 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4383 short int var17 /* : Bool */;
4384 int cltype18;
4385 int idtype19;
4386 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4387 short int var20 /* : Bool */;
4388 int cltype21;
4389 int idtype22;
4390 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4391 short int var23 /* : Bool */;
4392 int cltype24;
4393 int idtype25;
4394 val* var_listnode7 /* var listnode7: nullable Object */;
4395 short int var26 /* : Bool */;
4396 int cltype27;
4397 int idtype28;
4398 val* var29 /* : Array[Object] */;
4399 val* var30 /* : Array[Object] */;
4400 val* var_listnode13 /* var listnode13: Array[Object] */;
4401 val* var_listnode12 /* var listnode12: nullable Object */;
4402 short int var31 /* : Bool */;
4403 int cltype32;
4404 int idtype33;
4405 val* var34 /* : Array[Object] */;
4406 val* var35 /* : AAnnotations */;
4407 val* var36 /* : null */;
4408 val* var37 /* : null */;
4409 val* var38 /* : null */;
4410 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
4411 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
4412 short int var39 /* : Bool */;
4413 int cltype40;
4414 int idtype41;
4415 val* var_listnode16 /* var listnode16: nullable Object */;
4416 short int var42 /* : Bool */;
4417 int cltype43;
4418 int idtype44;
4419 val* var45 /* : Array[Object] */;
4420 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
4421 short int var46 /* : Bool */;
4422 int cltype47;
4423 int idtype48;
4424 val* var49 /* : AStdClassdef */;
4425 val* var50 /* : null */;
4426 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4427 long var51 /* : Int */;
4428 long var52 /* : Int */;
4429 var_p = p0;
4430 var = NULL;
4431 var_node_list = var;
4432 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4433 var_nodearraylist12 = var1;
4434 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4435 var_nodearraylist11 = var2;
4436 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4437 var_nodearraylist10 = var3;
4438 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4439 var_nodearraylist9 = var4;
4440 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4441 var_nodearraylist8 = var5;
4442 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4443 var_nodearraylist7 = var6;
4444 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4445 var_nodearraylist6 = var7;
4446 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4447 var_nodearraylist5 = var8;
4448 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4449 var_nodearraylist4 = var9;
4450 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4451 var_nodearraylist3 = var10;
4452 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4453 var_nodearraylist2 = var11;
4454 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4455 var_nodearraylist1 = var12;
4456 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
4457 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
4458 CHECK_NEW_array__Array(var13);
4459 var_listnode8 = var13;
4460 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
4461 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
4462 CHECK_NEW_array__Array(var14);
4463 var_listnode17 = var14;
4464 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
4465 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
4466 CHECK_NEW_array__Array(var15);
4467 var_listnode18 = var15;
4468 var_pdocnode2 = var_nodearraylist1;
4469 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4470 cltype = type_nullable_parser_nodes__ADoc.color;
4471 idtype = type_nullable_parser_nodes__ADoc.id;
4472 if(var_pdocnode2 == NULL) {
4473 var16 = 1;
4474 } else {
4475 if(cltype >= var_pdocnode2->type->table_size) {
4476 var16 = 0;
4477 } else {
4478 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
4479 }
4480 }
4481 if (!var16) {
4482 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9500);
4483 exit(1);
4484 }
4485 var_pvisibilitynode4 = var_nodearraylist2;
4486 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4487 cltype18 = type_nullable_parser_nodes__AVisibility.color;
4488 idtype19 = type_nullable_parser_nodes__AVisibility.id;
4489 if(var_pvisibilitynode4 == NULL) {
4490 var17 = 1;
4491 } else {
4492 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
4493 var17 = 0;
4494 } else {
4495 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
4496 }
4497 }
4498 if (!var17) {
4499 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9502);
4500 exit(1);
4501 }
4502 var_pclasskindnode5 = var_nodearraylist3;
4503 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4504 cltype21 = type_nullable_parser_nodes__AClasskind.color;
4505 idtype22 = type_nullable_parser_nodes__AClasskind.id;
4506 if(var_pclasskindnode5 == NULL) {
4507 var20 = 1;
4508 } else {
4509 if(cltype21 >= var_pclasskindnode5->type->table_size) {
4510 var20 = 0;
4511 } else {
4512 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
4513 }
4514 }
4515 if (!var20) {
4516 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9504);
4517 exit(1);
4518 }
4519 var_tclassidnode6 = var_nodearraylist6;
4520 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4521 cltype24 = type_nullable_parser_nodes__TClassid.color;
4522 idtype25 = type_nullable_parser_nodes__TClassid.id;
4523 if(var_tclassidnode6 == NULL) {
4524 var23 = 1;
4525 } else {
4526 if(cltype24 >= var_tclassidnode6->type->table_size) {
4527 var23 = 0;
4528 } else {
4529 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
4530 }
4531 }
4532 if (!var23) {
4533 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9506);
4534 exit(1);
4535 }
4536 var_listnode7 = var_nodearraylist7;
4537 /* <var_listnode7:nullable Object> isa Array[Object] */
4538 cltype27 = type_array__Arraykernel__Object.color;
4539 idtype28 = type_array__Arraykernel__Object.id;
4540 if(var_listnode7 == NULL) {
4541 var26 = 0;
4542 } else {
4543 if(cltype27 >= var_listnode7->type->table_size) {
4544 var26 = 0;
4545 } else {
4546 var26 = var_listnode7->type->type_table[cltype27] == idtype28;
4547 }
4548 }
4549 if (!var26) {
4550 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9508);
4551 exit(1);
4552 }
4553 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction195>*/;
4554 var_listnode8 = var29;
4555 var30 = NEW_array__Array(&type_array__Arraykernel__Object);
4556 ((void (*)(val*))(var30->class->vft[COLOR_array__Array__init]))(var30) /* init on <var30:Array[Object]>*/;
4557 CHECK_NEW_array__Array(var30);
4558 var_listnode13 = var30;
4559 var_listnode12 = var_nodearraylist8;
4560 /* <var_listnode12:nullable Object> isa Array[Object] */
4561 cltype32 = type_array__Arraykernel__Object.color;
4562 idtype33 = type_array__Arraykernel__Object.id;
4563 if(var_listnode12 == NULL) {
4564 var31 = 0;
4565 } else {
4566 if(cltype32 >= var_listnode12->type->table_size) {
4567 var31 = 0;
4568 } else {
4569 var31 = var_listnode12->type->type_table[cltype32] == idtype33;
4570 }
4571 }
4572 if (!var31) {
4573 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9512);
4574 exit(1);
4575 }
4576 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction195>*/;
4577 var_listnode13 = var34;
4578 var35 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
4579 var36 = NULL;
4580 var37 = NULL;
4581 var38 = NULL;
4582 ((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>*/;
4583 CHECK_NEW_parser_nodes__AAnnotations(var35);
4584 var_pannotationsnode9 = var35;
4585 var_pexterncodeblocknode15 = var_nodearraylist9;
4586 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
4587 cltype40 = type_nullable_parser_nodes__AExternCodeBlock.color;
4588 idtype41 = type_nullable_parser_nodes__AExternCodeBlock.id;
4589 if(var_pexterncodeblocknode15 == NULL) {
4590 var39 = 1;
4591 } else {
4592 if(cltype40 >= var_pexterncodeblocknode15->type->table_size) {
4593 var39 = 0;
4594 } else {
4595 var39 = var_pexterncodeblocknode15->type->type_table[cltype40] == idtype41;
4596 }
4597 }
4598 if (!var39) {
4599 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9521);
4600 exit(1);
4601 }
4602 var_listnode16 = var_nodearraylist10;
4603 /* <var_listnode16:nullable Object> isa Array[Object] */
4604 cltype43 = type_array__Arraykernel__Object.color;
4605 idtype44 = type_array__Arraykernel__Object.id;
4606 if(var_listnode16 == NULL) {
4607 var42 = 0;
4608 } else {
4609 if(cltype43 >= var_listnode16->type->table_size) {
4610 var42 = 0;
4611 } else {
4612 var42 = var_listnode16->type->type_table[cltype43] == idtype44;
4613 }
4614 }
4615 if (!var42) {
4616 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9523);
4617 exit(1);
4618 }
4619 var45 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction195>*/;
4620 var_listnode17 = var45;
4621 var_tkwendnode19 = var_nodearraylist12;
4622 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
4623 cltype47 = type_nullable_parser_nodes__TKwend.color;
4624 idtype48 = type_nullable_parser_nodes__TKwend.id;
4625 if(var_tkwendnode19 == NULL) {
4626 var46 = 1;
4627 } else {
4628 if(cltype47 >= var_tkwendnode19->type->table_size) {
4629 var46 = 0;
4630 } else {
4631 var46 = var_tkwendnode19->type->type_table[cltype47] == idtype48;
4632 }
4633 }
4634 if (!var46) {
4635 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9526);
4636 exit(1);
4637 }
4638 var49 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4639 var50 = NULL;
4640 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var49->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var49, var_pdocnode2, var50, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode17, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var49:AStdClassdef>*/;
4641 CHECK_NEW_parser_nodes__AStdClassdef(var49);
4642 var_pclassdefnode1 = var49;
4643 var_node_list = var_pclassdefnode1;
4644 var51 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction195> */
4645 var52 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var51) /* go_to on <var_p:Parser>*/;
4646 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var52, var_node_list) /* push on <var_p:Parser>*/;
4647 RET_LABEL:;
4648 }
4649 /* method parser#ReduceAction195#action for (self: Object, Parser) */
4650 void VIRTUAL_parser__ReduceAction195__action(val* self, val* p0) {
4651 parser__ReduceAction195__action(self, p0);
4652 RET_LABEL:;
4653 }
4654 /* method parser#ReduceAction196#action for (self: ReduceAction196, Parser) */
4655 void parser__ReduceAction196__action(val* self, val* p0) {
4656 val* var_p /* var p: Parser */;
4657 val* var /* : null */;
4658 val* var_node_list /* var node_list: nullable Object */;
4659 val* var1 /* : nullable Object */;
4660 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
4661 val* var2 /* : nullable Object */;
4662 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
4663 val* var3 /* : nullable Object */;
4664 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
4665 val* var4 /* : nullable Object */;
4666 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4667 val* var5 /* : nullable Object */;
4668 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4669 val* var6 /* : nullable Object */;
4670 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4671 val* var7 /* : nullable Object */;
4672 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4673 val* var8 /* : nullable Object */;
4674 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4675 val* var9 /* : nullable Object */;
4676 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4677 val* var10 /* : nullable Object */;
4678 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4679 val* var11 /* : nullable Object */;
4680 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4681 val* var12 /* : nullable Object */;
4682 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4683 val* var13 /* : nullable Object */;
4684 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4685 val* var14 /* : Array[Object] */;
4686 val* var_listnode8 /* var listnode8: Array[Object] */;
4687 val* var15 /* : Array[Object] */;
4688 val* var_listnode17 /* var listnode17: Array[Object] */;
4689 val* var16 /* : Array[Object] */;
4690 val* var_listnode18 /* var listnode18: Array[Object] */;
4691 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4692 short int var17 /* : Bool */;
4693 int cltype;
4694 int idtype;
4695 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4696 short int var18 /* : Bool */;
4697 int cltype19;
4698 int idtype20;
4699 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4700 short int var21 /* : Bool */;
4701 int cltype22;
4702 int idtype23;
4703 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4704 short int var24 /* : Bool */;
4705 int cltype25;
4706 int idtype26;
4707 val* var_listnode7 /* var listnode7: nullable Object */;
4708 short int var27 /* : Bool */;
4709 int cltype28;
4710 int idtype29;
4711 val* var30 /* : Array[Object] */;
4712 val* var31 /* : Array[Object] */;
4713 val* var_listnode13 /* var listnode13: Array[Object] */;
4714 val* var_listnode12 /* var listnode12: nullable Object */;
4715 short int var32 /* : Bool */;
4716 int cltype33;
4717 int idtype34;
4718 val* var35 /* : Array[Object] */;
4719 val* var36 /* : AAnnotations */;
4720 val* var37 /* : null */;
4721 val* var38 /* : null */;
4722 val* var39 /* : null */;
4723 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
4724 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
4725 short int var40 /* : Bool */;
4726 int cltype41;
4727 int idtype42;
4728 val* var_listnode16 /* var listnode16: nullable Object */;
4729 short int var43 /* : Bool */;
4730 int cltype44;
4731 int idtype45;
4732 val* var46 /* : Array[Object] */;
4733 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
4734 short int var47 /* : Bool */;
4735 int cltype48;
4736 int idtype49;
4737 val* var50 /* : AStdClassdef */;
4738 val* var51 /* : null */;
4739 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4740 long var52 /* : Int */;
4741 long var53 /* : Int */;
4742 var_p = p0;
4743 var = NULL;
4744 var_node_list = var;
4745 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4746 var_nodearraylist13 = var1;
4747 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4748 var_nodearraylist12 = var2;
4749 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4750 var_nodearraylist11 = var3;
4751 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4752 var_nodearraylist10 = var4;
4753 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4754 var_nodearraylist9 = var5;
4755 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4756 var_nodearraylist8 = var6;
4757 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4758 var_nodearraylist7 = var7;
4759 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4760 var_nodearraylist6 = var8;
4761 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4762 var_nodearraylist5 = var9;
4763 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4764 var_nodearraylist4 = var10;
4765 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4766 var_nodearraylist3 = var11;
4767 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4768 var_nodearraylist2 = var12;
4769 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4770 var_nodearraylist1 = var13;
4771 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
4772 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
4773 CHECK_NEW_array__Array(var14);
4774 var_listnode8 = var14;
4775 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
4776 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
4777 CHECK_NEW_array__Array(var15);
4778 var_listnode17 = var15;
4779 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
4780 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
4781 CHECK_NEW_array__Array(var16);
4782 var_listnode18 = var16;
4783 var_pdocnode2 = var_nodearraylist1;
4784 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4785 cltype = type_nullable_parser_nodes__ADoc.color;
4786 idtype = type_nullable_parser_nodes__ADoc.id;
4787 if(var_pdocnode2 == NULL) {
4788 var17 = 1;
4789 } else {
4790 if(cltype >= var_pdocnode2->type->table_size) {
4791 var17 = 0;
4792 } else {
4793 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
4794 }
4795 }
4796 if (!var17) {
4797 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9566);
4798 exit(1);
4799 }
4800 var_pvisibilitynode4 = var_nodearraylist2;
4801 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4802 cltype19 = type_nullable_parser_nodes__AVisibility.color;
4803 idtype20 = type_nullable_parser_nodes__AVisibility.id;
4804 if(var_pvisibilitynode4 == NULL) {
4805 var18 = 1;
4806 } else {
4807 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
4808 var18 = 0;
4809 } else {
4810 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
4811 }
4812 }
4813 if (!var18) {
4814 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9568);
4815 exit(1);
4816 }
4817 var_pclasskindnode5 = var_nodearraylist3;
4818 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4819 cltype22 = type_nullable_parser_nodes__AClasskind.color;
4820 idtype23 = type_nullable_parser_nodes__AClasskind.id;
4821 if(var_pclasskindnode5 == NULL) {
4822 var21 = 1;
4823 } else {
4824 if(cltype22 >= var_pclasskindnode5->type->table_size) {
4825 var21 = 0;
4826 } else {
4827 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
4828 }
4829 }
4830 if (!var21) {
4831 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9570);
4832 exit(1);
4833 }
4834 var_tclassidnode6 = var_nodearraylist7;
4835 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4836 cltype25 = type_nullable_parser_nodes__TClassid.color;
4837 idtype26 = type_nullable_parser_nodes__TClassid.id;
4838 if(var_tclassidnode6 == NULL) {
4839 var24 = 1;
4840 } else {
4841 if(cltype25 >= var_tclassidnode6->type->table_size) {
4842 var24 = 0;
4843 } else {
4844 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
4845 }
4846 }
4847 if (!var24) {
4848 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9572);
4849 exit(1);
4850 }
4851 var_listnode7 = var_nodearraylist8;
4852 /* <var_listnode7:nullable Object> isa Array[Object] */
4853 cltype28 = type_array__Arraykernel__Object.color;
4854 idtype29 = type_array__Arraykernel__Object.id;
4855 if(var_listnode7 == NULL) {
4856 var27 = 0;
4857 } else {
4858 if(cltype28 >= var_listnode7->type->table_size) {
4859 var27 = 0;
4860 } else {
4861 var27 = var_listnode7->type->type_table[cltype28] == idtype29;
4862 }
4863 }
4864 if (!var27) {
4865 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9574);
4866 exit(1);
4867 }
4868 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction196>*/;
4869 var_listnode8 = var30;
4870 var31 = NEW_array__Array(&type_array__Arraykernel__Object);
4871 ((void (*)(val*))(var31->class->vft[COLOR_array__Array__init]))(var31) /* init on <var31:Array[Object]>*/;
4872 CHECK_NEW_array__Array(var31);
4873 var_listnode13 = var31;
4874 var_listnode12 = var_nodearraylist9;
4875 /* <var_listnode12:nullable Object> isa Array[Object] */
4876 cltype33 = type_array__Arraykernel__Object.color;
4877 idtype34 = type_array__Arraykernel__Object.id;
4878 if(var_listnode12 == NULL) {
4879 var32 = 0;
4880 } else {
4881 if(cltype33 >= var_listnode12->type->table_size) {
4882 var32 = 0;
4883 } else {
4884 var32 = var_listnode12->type->type_table[cltype33] == idtype34;
4885 }
4886 }
4887 if (!var32) {
4888 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9578);
4889 exit(1);
4890 }
4891 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction196>*/;
4892 var_listnode13 = var35;
4893 var36 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
4894 var37 = NULL;
4895 var38 = NULL;
4896 var39 = NULL;
4897 ((void (*)(val*, val*, val*, val*, val*))(var36->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var36, var37, var38, var_listnode13, var39) /* init_aannotations on <var36:AAnnotations>*/;
4898 CHECK_NEW_parser_nodes__AAnnotations(var36);
4899 var_pannotationsnode9 = var36;
4900 var_pexterncodeblocknode15 = var_nodearraylist10;
4901 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
4902 cltype41 = type_nullable_parser_nodes__AExternCodeBlock.color;
4903 idtype42 = type_nullable_parser_nodes__AExternCodeBlock.id;
4904 if(var_pexterncodeblocknode15 == NULL) {
4905 var40 = 1;
4906 } else {
4907 if(cltype41 >= var_pexterncodeblocknode15->type->table_size) {
4908 var40 = 0;
4909 } else {
4910 var40 = var_pexterncodeblocknode15->type->type_table[cltype41] == idtype42;
4911 }
4912 }
4913 if (!var40) {
4914 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9587);
4915 exit(1);
4916 }
4917 var_listnode16 = var_nodearraylist11;
4918 /* <var_listnode16:nullable Object> isa Array[Object] */
4919 cltype44 = type_array__Arraykernel__Object.color;
4920 idtype45 = type_array__Arraykernel__Object.id;
4921 if(var_listnode16 == NULL) {
4922 var43 = 0;
4923 } else {
4924 if(cltype44 >= var_listnode16->type->table_size) {
4925 var43 = 0;
4926 } else {
4927 var43 = var_listnode16->type->type_table[cltype44] == idtype45;
4928 }
4929 }
4930 if (!var43) {
4931 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9589);
4932 exit(1);
4933 }
4934 var46 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction196>*/;
4935 var_listnode17 = var46;
4936 var_tkwendnode19 = var_nodearraylist13;
4937 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
4938 cltype48 = type_nullable_parser_nodes__TKwend.color;
4939 idtype49 = type_nullable_parser_nodes__TKwend.id;
4940 if(var_tkwendnode19 == NULL) {
4941 var47 = 1;
4942 } else {
4943 if(cltype48 >= var_tkwendnode19->type->table_size) {
4944 var47 = 0;
4945 } else {
4946 var47 = var_tkwendnode19->type->type_table[cltype48] == idtype49;
4947 }
4948 }
4949 if (!var47) {
4950 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9592);
4951 exit(1);
4952 }
4953 var50 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4954 var51 = NULL;
4955 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var50->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var50, var_pdocnode2, var51, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode17, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var50:AStdClassdef>*/;
4956 CHECK_NEW_parser_nodes__AStdClassdef(var50);
4957 var_pclassdefnode1 = var50;
4958 var_node_list = var_pclassdefnode1;
4959 var52 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction196> */
4960 var53 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var52) /* go_to on <var_p:Parser>*/;
4961 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var53, var_node_list) /* push on <var_p:Parser>*/;
4962 RET_LABEL:;
4963 }
4964 /* method parser#ReduceAction196#action for (self: Object, Parser) */
4965 void VIRTUAL_parser__ReduceAction196__action(val* self, val* p0) {
4966 parser__ReduceAction196__action(self, p0);
4967 RET_LABEL:;
4968 }
4969 /* method parser#ReduceAction198#action for (self: ReduceAction198, Parser) */
4970 void parser__ReduceAction198__action(val* self, val* p0) {
4971 val* var_p /* var p: Parser */;
4972 val* var /* : null */;
4973 val* var_node_list /* var node_list: nullable Object */;
4974 val* var1 /* : nullable Object */;
4975 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
4976 val* var2 /* : nullable Object */;
4977 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
4978 val* var3 /* : nullable Object */;
4979 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
4980 val* var4 /* : nullable Object */;
4981 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4982 val* var5 /* : nullable Object */;
4983 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4984 val* var6 /* : nullable Object */;
4985 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4986 val* var7 /* : nullable Object */;
4987 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4988 val* var8 /* : nullable Object */;
4989 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4990 val* var9 /* : nullable Object */;
4991 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4992 val* var10 /* : nullable Object */;
4993 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4994 val* var11 /* : nullable Object */;
4995 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4996 val* var12 /* : nullable Object */;
4997 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4998 val* var13 /* : nullable Object */;
4999 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5000 val* var14 /* : Array[Object] */;
5001 val* var_listnode8 /* var listnode8: Array[Object] */;
5002 val* var15 /* : Array[Object] */;
5003 val* var_listnode17 /* var listnode17: Array[Object] */;
5004 val* var16 /* : Array[Object] */;
5005 val* var_listnode18 /* var listnode18: Array[Object] */;
5006 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5007 short int var17 /* : Bool */;
5008 int cltype;
5009 int idtype;
5010 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
5011 short int var18 /* : Bool */;
5012 int cltype19;
5013 int idtype20;
5014 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5015 short int var21 /* : Bool */;
5016 int cltype22;
5017 int idtype23;
5018 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5019 short int var24 /* : Bool */;
5020 int cltype25;
5021 int idtype26;
5022 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5023 short int var27 /* : Bool */;
5024 int cltype28;
5025 int idtype29;
5026 val* var_listnode7 /* var listnode7: nullable Object */;
5027 short int var30 /* : Bool */;
5028 int cltype31;
5029 int idtype32;
5030 val* var33 /* : Array[Object] */;
5031 val* var34 /* : Array[Object] */;
5032 val* var_listnode13 /* var listnode13: Array[Object] */;
5033 val* var_listnode12 /* var listnode12: nullable Object */;
5034 short int var35 /* : Bool */;
5035 int cltype36;
5036 int idtype37;
5037 val* var38 /* : Array[Object] */;
5038 val* var39 /* : AAnnotations */;
5039 val* var40 /* : null */;
5040 val* var41 /* : null */;
5041 val* var42 /* : null */;
5042 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
5043 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
5044 short int var43 /* : Bool */;
5045 int cltype44;
5046 int idtype45;
5047 val* var_listnode16 /* var listnode16: nullable Object */;
5048 short int var46 /* : Bool */;
5049 int cltype47;
5050 int idtype48;
5051 val* var49 /* : Array[Object] */;
5052 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
5053 short int var50 /* : Bool */;
5054 int cltype51;
5055 int idtype52;
5056 val* var53 /* : AStdClassdef */;
5057 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5058 long var54 /* : Int */;
5059 long var55 /* : Int */;
5060 var_p = p0;
5061 var = NULL;
5062 var_node_list = var;
5063 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5064 var_nodearraylist13 = var1;
5065 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5066 var_nodearraylist12 = var2;
5067 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5068 var_nodearraylist11 = var3;
5069 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5070 var_nodearraylist10 = var4;
5071 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5072 var_nodearraylist9 = var5;
5073 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5074 var_nodearraylist8 = var6;
5075 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5076 var_nodearraylist7 = var7;
5077 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5078 var_nodearraylist6 = var8;
5079 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5080 var_nodearraylist5 = var9;
5081 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5082 var_nodearraylist4 = var10;
5083 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5084 var_nodearraylist3 = var11;
5085 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5086 var_nodearraylist2 = var12;
5087 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5088 var_nodearraylist1 = var13;
5089 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
5090 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
5091 CHECK_NEW_array__Array(var14);
5092 var_listnode8 = var14;
5093 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
5094 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
5095 CHECK_NEW_array__Array(var15);
5096 var_listnode17 = var15;
5097 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
5098 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
5099 CHECK_NEW_array__Array(var16);
5100 var_listnode18 = var16;
5101 var_pdocnode2 = var_nodearraylist1;
5102 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5103 cltype = type_nullable_parser_nodes__ADoc.color;
5104 idtype = type_nullable_parser_nodes__ADoc.id;
5105 if(var_pdocnode2 == NULL) {
5106 var17 = 1;
5107 } else {
5108 if(cltype >= var_pdocnode2->type->table_size) {
5109 var17 = 0;
5110 } else {
5111 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
5112 }
5113 }
5114 if (!var17) {
5115 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9632);
5116 exit(1);
5117 }
5118 var_tkwredefnode3 = var_nodearraylist2;
5119 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
5120 cltype19 = type_nullable_parser_nodes__TKwredef.color;
5121 idtype20 = type_nullable_parser_nodes__TKwredef.id;
5122 if(var_tkwredefnode3 == NULL) {
5123 var18 = 1;
5124 } else {
5125 if(cltype19 >= var_tkwredefnode3->type->table_size) {
5126 var18 = 0;
5127 } else {
5128 var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20;
5129 }
5130 }
5131 if (!var18) {
5132 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9634);
5133 exit(1);
5134 }
5135 var_pvisibilitynode4 = var_nodearraylist3;
5136 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5137 cltype22 = type_nullable_parser_nodes__AVisibility.color;
5138 idtype23 = type_nullable_parser_nodes__AVisibility.id;
5139 if(var_pvisibilitynode4 == NULL) {
5140 var21 = 1;
5141 } else {
5142 if(cltype22 >= var_pvisibilitynode4->type->table_size) {
5143 var21 = 0;
5144 } else {
5145 var21 = var_pvisibilitynode4->type->type_table[cltype22] == idtype23;
5146 }
5147 }
5148 if (!var21) {
5149 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9636);
5150 exit(1);
5151 }
5152 var_pclasskindnode5 = var_nodearraylist4;
5153 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5154 cltype25 = type_nullable_parser_nodes__AClasskind.color;
5155 idtype26 = type_nullable_parser_nodes__AClasskind.id;
5156 if(var_pclasskindnode5 == NULL) {
5157 var24 = 1;
5158 } else {
5159 if(cltype25 >= var_pclasskindnode5->type->table_size) {
5160 var24 = 0;
5161 } else {
5162 var24 = var_pclasskindnode5->type->type_table[cltype25] == idtype26;
5163 }
5164 }
5165 if (!var24) {
5166 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9638);
5167 exit(1);
5168 }
5169 var_tclassidnode6 = var_nodearraylist7;
5170 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5171 cltype28 = type_nullable_parser_nodes__TClassid.color;
5172 idtype29 = type_nullable_parser_nodes__TClassid.id;
5173 if(var_tclassidnode6 == NULL) {
5174 var27 = 1;
5175 } else {
5176 if(cltype28 >= var_tclassidnode6->type->table_size) {
5177 var27 = 0;
5178 } else {
5179 var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29;
5180 }
5181 }
5182 if (!var27) {
5183 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9640);
5184 exit(1);
5185 }
5186 var_listnode7 = var_nodearraylist8;
5187 /* <var_listnode7:nullable Object> isa Array[Object] */
5188 cltype31 = type_array__Arraykernel__Object.color;
5189 idtype32 = type_array__Arraykernel__Object.id;
5190 if(var_listnode7 == NULL) {
5191 var30 = 0;
5192 } else {
5193 if(cltype31 >= var_listnode7->type->table_size) {
5194 var30 = 0;
5195 } else {
5196 var30 = var_listnode7->type->type_table[cltype31] == idtype32;
5197 }
5198 }
5199 if (!var30) {
5200 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9642);
5201 exit(1);
5202 }
5203 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction198>*/;
5204 var_listnode8 = var33;
5205 var34 = NEW_array__Array(&type_array__Arraykernel__Object);
5206 ((void (*)(val*))(var34->class->vft[COLOR_array__Array__init]))(var34) /* init on <var34:Array[Object]>*/;
5207 CHECK_NEW_array__Array(var34);
5208 var_listnode13 = var34;
5209 var_listnode12 = var_nodearraylist9;
5210 /* <var_listnode12:nullable Object> isa Array[Object] */
5211 cltype36 = type_array__Arraykernel__Object.color;
5212 idtype37 = type_array__Arraykernel__Object.id;
5213 if(var_listnode12 == NULL) {
5214 var35 = 0;
5215 } else {
5216 if(cltype36 >= var_listnode12->type->table_size) {
5217 var35 = 0;
5218 } else {
5219 var35 = var_listnode12->type->type_table[cltype36] == idtype37;
5220 }
5221 }
5222 if (!var35) {
5223 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9646);
5224 exit(1);
5225 }
5226 var38 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction198>*/;
5227 var_listnode13 = var38;
5228 var39 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
5229 var40 = NULL;
5230 var41 = NULL;
5231 var42 = NULL;
5232 ((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>*/;
5233 CHECK_NEW_parser_nodes__AAnnotations(var39);
5234 var_pannotationsnode9 = var39;
5235 var_pexterncodeblocknode15 = var_nodearraylist10;
5236 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
5237 cltype44 = type_nullable_parser_nodes__AExternCodeBlock.color;
5238 idtype45 = type_nullable_parser_nodes__AExternCodeBlock.id;
5239 if(var_pexterncodeblocknode15 == NULL) {
5240 var43 = 1;
5241 } else {
5242 if(cltype44 >= var_pexterncodeblocknode15->type->table_size) {
5243 var43 = 0;
5244 } else {
5245 var43 = var_pexterncodeblocknode15->type->type_table[cltype44] == idtype45;
5246 }
5247 }
5248 if (!var43) {
5249 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9655);
5250 exit(1);
5251 }
5252 var_listnode16 = var_nodearraylist11;
5253 /* <var_listnode16:nullable Object> isa Array[Object] */
5254 cltype47 = type_array__Arraykernel__Object.color;
5255 idtype48 = type_array__Arraykernel__Object.id;
5256 if(var_listnode16 == NULL) {
5257 var46 = 0;
5258 } else {
5259 if(cltype47 >= var_listnode16->type->table_size) {
5260 var46 = 0;
5261 } else {
5262 var46 = var_listnode16->type->type_table[cltype47] == idtype48;
5263 }
5264 }
5265 if (!var46) {
5266 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9657);
5267 exit(1);
5268 }
5269 var49 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction198>*/;
5270 var_listnode17 = var49;
5271 var_tkwendnode19 = var_nodearraylist13;
5272 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
5273 cltype51 = type_nullable_parser_nodes__TKwend.color;
5274 idtype52 = type_nullable_parser_nodes__TKwend.id;
5275 if(var_tkwendnode19 == NULL) {
5276 var50 = 1;
5277 } else {
5278 if(cltype51 >= var_tkwendnode19->type->table_size) {
5279 var50 = 0;
5280 } else {
5281 var50 = var_tkwendnode19->type->type_table[cltype51] == idtype52;
5282 }
5283 }
5284 if (!var50) {
5285 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9660);
5286 exit(1);
5287 }
5288 var53 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5289 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var53->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var53, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode17, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var53:AStdClassdef>*/;
5290 CHECK_NEW_parser_nodes__AStdClassdef(var53);
5291 var_pclassdefnode1 = var53;
5292 var_node_list = var_pclassdefnode1;
5293 var54 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction198> */
5294 var55 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var54) /* go_to on <var_p:Parser>*/;
5295 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var55, var_node_list) /* push on <var_p:Parser>*/;
5296 RET_LABEL:;
5297 }
5298 /* method parser#ReduceAction198#action for (self: Object, Parser) */
5299 void VIRTUAL_parser__ReduceAction198__action(val* self, val* p0) {
5300 parser__ReduceAction198__action(self, p0);
5301 RET_LABEL:;
5302 }
5303 /* method parser#ReduceAction199#action for (self: ReduceAction199, Parser) */
5304 void parser__ReduceAction199__action(val* self, val* p0) {
5305 val* var_p /* var p: Parser */;
5306 val* var /* : null */;
5307 val* var_node_list /* var node_list: nullable Object */;
5308 val* var1 /* : nullable Object */;
5309 val* var_nodearraylist14 /* var nodearraylist14: nullable Object */;
5310 val* var2 /* : nullable Object */;
5311 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
5312 val* var3 /* : nullable Object */;
5313 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
5314 val* var4 /* : nullable Object */;
5315 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
5316 val* var5 /* : nullable Object */;
5317 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5318 val* var6 /* : nullable Object */;
5319 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5320 val* var7 /* : nullable Object */;
5321 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5322 val* var8 /* : nullable Object */;
5323 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5324 val* var9 /* : nullable Object */;
5325 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5326 val* var10 /* : nullable Object */;
5327 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5328 val* var11 /* : nullable Object */;
5329 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5330 val* var12 /* : nullable Object */;
5331 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5332 val* var13 /* : nullable Object */;
5333 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5334 val* var14 /* : nullable Object */;
5335 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5336 val* var15 /* : Array[Object] */;
5337 val* var_listnode8 /* var listnode8: Array[Object] */;
5338 val* var16 /* : Array[Object] */;
5339 val* var_listnode17 /* var listnode17: Array[Object] */;
5340 val* var17 /* : Array[Object] */;
5341 val* var_listnode18 /* var listnode18: Array[Object] */;
5342 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5343 short int var18 /* : Bool */;
5344 int cltype;
5345 int idtype;
5346 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
5347 short int var19 /* : Bool */;
5348 int cltype20;
5349 int idtype21;
5350 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5351 short int var22 /* : Bool */;
5352 int cltype23;
5353 int idtype24;
5354 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5355 short int var25 /* : Bool */;
5356 int cltype26;
5357 int idtype27;
5358 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5359 short int var28 /* : Bool */;
5360 int cltype29;
5361 int idtype30;
5362 val* var_listnode7 /* var listnode7: nullable Object */;
5363 short int var31 /* : Bool */;
5364 int cltype32;
5365 int idtype33;
5366 val* var34 /* : Array[Object] */;
5367 val* var35 /* : Array[Object] */;
5368 val* var_listnode13 /* var listnode13: Array[Object] */;
5369 val* var_listnode12 /* var listnode12: nullable Object */;
5370 short int var36 /* : Bool */;
5371 int cltype37;
5372 int idtype38;
5373 val* var39 /* : Array[Object] */;
5374 val* var40 /* : AAnnotations */;
5375 val* var41 /* : null */;
5376 val* var42 /* : null */;
5377 val* var43 /* : null */;
5378 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
5379 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
5380 short int var44 /* : Bool */;
5381 int cltype45;
5382 int idtype46;
5383 val* var_listnode16 /* var listnode16: nullable Object */;
5384 short int var47 /* : Bool */;
5385 int cltype48;
5386 int idtype49;
5387 val* var50 /* : Array[Object] */;
5388 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
5389 short int var51 /* : Bool */;
5390 int cltype52;
5391 int idtype53;
5392 val* var54 /* : AStdClassdef */;
5393 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5394 long var55 /* : Int */;
5395 long var56 /* : Int */;
5396 var_p = p0;
5397 var = NULL;
5398 var_node_list = var;
5399 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5400 var_nodearraylist14 = var1;
5401 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5402 var_nodearraylist13 = var2;
5403 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5404 var_nodearraylist12 = var3;
5405 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5406 var_nodearraylist11 = var4;
5407 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5408 var_nodearraylist10 = var5;
5409 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5410 var_nodearraylist9 = var6;
5411 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5412 var_nodearraylist8 = var7;
5413 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5414 var_nodearraylist7 = var8;
5415 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5416 var_nodearraylist6 = var9;
5417 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5418 var_nodearraylist5 = var10;
5419 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5420 var_nodearraylist4 = var11;
5421 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5422 var_nodearraylist3 = var12;
5423 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5424 var_nodearraylist2 = var13;
5425 var14 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5426 var_nodearraylist1 = var14;
5427 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
5428 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
5429 CHECK_NEW_array__Array(var15);
5430 var_listnode8 = var15;
5431 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
5432 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
5433 CHECK_NEW_array__Array(var16);
5434 var_listnode17 = var16;
5435 var17 = NEW_array__Array(&type_array__Arraykernel__Object);
5436 ((void (*)(val*))(var17->class->vft[COLOR_array__Array__init]))(var17) /* init on <var17:Array[Object]>*/;
5437 CHECK_NEW_array__Array(var17);
5438 var_listnode18 = var17;
5439 var_pdocnode2 = var_nodearraylist1;
5440 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5441 cltype = type_nullable_parser_nodes__ADoc.color;
5442 idtype = type_nullable_parser_nodes__ADoc.id;
5443 if(var_pdocnode2 == NULL) {
5444 var18 = 1;
5445 } else {
5446 if(cltype >= var_pdocnode2->type->table_size) {
5447 var18 = 0;
5448 } else {
5449 var18 = var_pdocnode2->type->type_table[cltype] == idtype;
5450 }
5451 }
5452 if (!var18) {
5453 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9701);
5454 exit(1);
5455 }
5456 var_tkwredefnode3 = var_nodearraylist2;
5457 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
5458 cltype20 = type_nullable_parser_nodes__TKwredef.color;
5459 idtype21 = type_nullable_parser_nodes__TKwredef.id;
5460 if(var_tkwredefnode3 == NULL) {
5461 var19 = 1;
5462 } else {
5463 if(cltype20 >= var_tkwredefnode3->type->table_size) {
5464 var19 = 0;
5465 } else {
5466 var19 = var_tkwredefnode3->type->type_table[cltype20] == idtype21;
5467 }
5468 }
5469 if (!var19) {
5470 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9703);
5471 exit(1);
5472 }
5473 var_pvisibilitynode4 = var_nodearraylist3;
5474 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5475 cltype23 = type_nullable_parser_nodes__AVisibility.color;
5476 idtype24 = type_nullable_parser_nodes__AVisibility.id;
5477 if(var_pvisibilitynode4 == NULL) {
5478 var22 = 1;
5479 } else {
5480 if(cltype23 >= var_pvisibilitynode4->type->table_size) {
5481 var22 = 0;
5482 } else {
5483 var22 = var_pvisibilitynode4->type->type_table[cltype23] == idtype24;
5484 }
5485 }
5486 if (!var22) {
5487 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9705);
5488 exit(1);
5489 }
5490 var_pclasskindnode5 = var_nodearraylist4;
5491 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5492 cltype26 = type_nullable_parser_nodes__AClasskind.color;
5493 idtype27 = type_nullable_parser_nodes__AClasskind.id;
5494 if(var_pclasskindnode5 == NULL) {
5495 var25 = 1;
5496 } else {
5497 if(cltype26 >= var_pclasskindnode5->type->table_size) {
5498 var25 = 0;
5499 } else {
5500 var25 = var_pclasskindnode5->type->type_table[cltype26] == idtype27;
5501 }
5502 }
5503 if (!var25) {
5504 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9707);
5505 exit(1);
5506 }
5507 var_tclassidnode6 = var_nodearraylist8;
5508 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5509 cltype29 = type_nullable_parser_nodes__TClassid.color;
5510 idtype30 = type_nullable_parser_nodes__TClassid.id;
5511 if(var_tclassidnode6 == NULL) {
5512 var28 = 1;
5513 } else {
5514 if(cltype29 >= var_tclassidnode6->type->table_size) {
5515 var28 = 0;
5516 } else {
5517 var28 = var_tclassidnode6->type->type_table[cltype29] == idtype30;
5518 }
5519 }
5520 if (!var28) {
5521 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9709);
5522 exit(1);
5523 }
5524 var_listnode7 = var_nodearraylist9;
5525 /* <var_listnode7:nullable Object> isa Array[Object] */
5526 cltype32 = type_array__Arraykernel__Object.color;
5527 idtype33 = type_array__Arraykernel__Object.id;
5528 if(var_listnode7 == NULL) {
5529 var31 = 0;
5530 } else {
5531 if(cltype32 >= var_listnode7->type->table_size) {
5532 var31 = 0;
5533 } else {
5534 var31 = var_listnode7->type->type_table[cltype32] == idtype33;
5535 }
5536 }
5537 if (!var31) {
5538 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9711);
5539 exit(1);
5540 }
5541 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction199>*/;
5542 var_listnode8 = var34;
5543 var35 = NEW_array__Array(&type_array__Arraykernel__Object);
5544 ((void (*)(val*))(var35->class->vft[COLOR_array__Array__init]))(var35) /* init on <var35:Array[Object]>*/;
5545 CHECK_NEW_array__Array(var35);
5546 var_listnode13 = var35;
5547 var_listnode12 = var_nodearraylist10;
5548 /* <var_listnode12:nullable Object> isa Array[Object] */
5549 cltype37 = type_array__Arraykernel__Object.color;
5550 idtype38 = type_array__Arraykernel__Object.id;
5551 if(var_listnode12 == NULL) {
5552 var36 = 0;
5553 } else {
5554 if(cltype37 >= var_listnode12->type->table_size) {
5555 var36 = 0;
5556 } else {
5557 var36 = var_listnode12->type->type_table[cltype37] == idtype38;
5558 }
5559 }
5560 if (!var36) {
5561 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9715);
5562 exit(1);
5563 }
5564 var39 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction199>*/;
5565 var_listnode13 = var39;
5566 var40 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
5567 var41 = NULL;
5568 var42 = NULL;
5569 var43 = NULL;
5570 ((void (*)(val*, val*, val*, val*, val*))(var40->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var40, var41, var42, var_listnode13, var43) /* init_aannotations on <var40:AAnnotations>*/;
5571 CHECK_NEW_parser_nodes__AAnnotations(var40);
5572 var_pannotationsnode9 = var40;
5573 var_pexterncodeblocknode15 = var_nodearraylist11;
5574 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
5575 cltype45 = type_nullable_parser_nodes__AExternCodeBlock.color;
5576 idtype46 = type_nullable_parser_nodes__AExternCodeBlock.id;
5577 if(var_pexterncodeblocknode15 == NULL) {
5578 var44 = 1;
5579 } else {
5580 if(cltype45 >= var_pexterncodeblocknode15->type->table_size) {
5581 var44 = 0;
5582 } else {
5583 var44 = var_pexterncodeblocknode15->type->type_table[cltype45] == idtype46;
5584 }
5585 }
5586 if (!var44) {
5587 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9724);
5588 exit(1);
5589 }
5590 var_listnode16 = var_nodearraylist12;
5591 /* <var_listnode16:nullable Object> isa Array[Object] */
5592 cltype48 = type_array__Arraykernel__Object.color;
5593 idtype49 = type_array__Arraykernel__Object.id;
5594 if(var_listnode16 == NULL) {
5595 var47 = 0;
5596 } else {
5597 if(cltype48 >= var_listnode16->type->table_size) {
5598 var47 = 0;
5599 } else {
5600 var47 = var_listnode16->type->type_table[cltype48] == idtype49;
5601 }
5602 }
5603 if (!var47) {
5604 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9726);
5605 exit(1);
5606 }
5607 var50 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction199>*/;
5608 var_listnode17 = var50;
5609 var_tkwendnode19 = var_nodearraylist14;
5610 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
5611 cltype52 = type_nullable_parser_nodes__TKwend.color;
5612 idtype53 = type_nullable_parser_nodes__TKwend.id;
5613 if(var_tkwendnode19 == NULL) {
5614 var51 = 1;
5615 } else {
5616 if(cltype52 >= var_tkwendnode19->type->table_size) {
5617 var51 = 0;
5618 } else {
5619 var51 = var_tkwendnode19->type->type_table[cltype52] == idtype53;
5620 }
5621 }
5622 if (!var51) {
5623 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9729);
5624 exit(1);
5625 }
5626 var54 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5627 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var54->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var54, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode17, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var54:AStdClassdef>*/;
5628 CHECK_NEW_parser_nodes__AStdClassdef(var54);
5629 var_pclassdefnode1 = var54;
5630 var_node_list = var_pclassdefnode1;
5631 var55 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction199> */
5632 var56 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var55) /* go_to on <var_p:Parser>*/;
5633 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var56, var_node_list) /* push on <var_p:Parser>*/;
5634 RET_LABEL:;
5635 }
5636 /* method parser#ReduceAction199#action for (self: Object, Parser) */
5637 void VIRTUAL_parser__ReduceAction199__action(val* self, val* p0) {
5638 parser__ReduceAction199__action(self, p0);
5639 RET_LABEL:;
5640 }
5641 /* method parser#ReduceAction201#action for (self: ReduceAction201, Parser) */
5642 void parser__ReduceAction201__action(val* self, val* p0) {
5643 val* var_p /* var p: Parser */;
5644 val* var /* : null */;
5645 val* var_node_list /* var node_list: nullable Object */;
5646 val* var1 /* : nullable Object */;
5647 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5648 val* var2 /* : nullable Object */;
5649 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5650 val* var3 /* : nullable Object */;
5651 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5652 val* var4 /* : nullable Object */;
5653 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5654 val* var5 /* : nullable Object */;
5655 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5656 val* var6 /* : nullable Object */;
5657 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5658 val* var7 /* : nullable Object */;
5659 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5660 val* var8 /* : nullable Object */;
5661 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5662 val* var9 /* : Array[Object] */;
5663 val* var_listnode7 /* var listnode7: Array[Object] */;
5664 val* var10 /* : Array[Object] */;
5665 val* var_listnode10 /* var listnode10: Array[Object] */;
5666 val* var11 /* : Array[Object] */;
5667 val* var_listnode12 /* var listnode12: Array[Object] */;
5668 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5669 short int var12 /* : Bool */;
5670 int cltype;
5671 int idtype;
5672 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5673 short int var13 /* : Bool */;
5674 int cltype14;
5675 int idtype15;
5676 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5677 short int var16 /* : Bool */;
5678 int cltype17;
5679 int idtype18;
5680 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5681 short int var19 /* : Bool */;
5682 int cltype20;
5683 int idtype21;
5684 val* var_listnode11 /* var listnode11: nullable Object */;
5685 short int var22 /* : Bool */;
5686 int cltype23;
5687 int idtype24;
5688 val* var25 /* : Array[Object] */;
5689 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
5690 short int var26 /* : Bool */;
5691 int cltype27;
5692 int idtype28;
5693 val* var29 /* : AStdClassdef */;
5694 val* var30 /* : null */;
5695 val* var31 /* : null */;
5696 val* var32 /* : null */;
5697 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5698 long var33 /* : Int */;
5699 long var34 /* : Int */;
5700 var_p = p0;
5701 var = NULL;
5702 var_node_list = var;
5703 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5704 var_nodearraylist8 = var1;
5705 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5706 var_nodearraylist7 = var2;
5707 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5708 var_nodearraylist6 = var3;
5709 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5710 var_nodearraylist5 = var4;
5711 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5712 var_nodearraylist4 = var5;
5713 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5714 var_nodearraylist3 = var6;
5715 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5716 var_nodearraylist2 = var7;
5717 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5718 var_nodearraylist1 = var8;
5719 var9 = NEW_array__Array(&type_array__Arraykernel__Object);
5720 ((void (*)(val*))(var9->class->vft[COLOR_array__Array__init]))(var9) /* init on <var9:Array[Object]>*/;
5721 CHECK_NEW_array__Array(var9);
5722 var_listnode7 = var9;
5723 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
5724 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
5725 CHECK_NEW_array__Array(var10);
5726 var_listnode10 = var10;
5727 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
5728 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
5729 CHECK_NEW_array__Array(var11);
5730 var_listnode12 = var11;
5731 var_pdocnode2 = var_nodearraylist1;
5732 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5733 cltype = type_nullable_parser_nodes__ADoc.color;
5734 idtype = type_nullable_parser_nodes__ADoc.id;
5735 if(var_pdocnode2 == NULL) {
5736 var12 = 1;
5737 } else {
5738 if(cltype >= var_pdocnode2->type->table_size) {
5739 var12 = 0;
5740 } else {
5741 var12 = var_pdocnode2->type->type_table[cltype] == idtype;
5742 }
5743 }
5744 if (!var12) {
5745 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9764);
5746 exit(1);
5747 }
5748 var_pvisibilitynode4 = var_nodearraylist2;
5749 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5750 cltype14 = type_nullable_parser_nodes__AVisibility.color;
5751 idtype15 = type_nullable_parser_nodes__AVisibility.id;
5752 if(var_pvisibilitynode4 == NULL) {
5753 var13 = 1;
5754 } else {
5755 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
5756 var13 = 0;
5757 } else {
5758 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
5759 }
5760 }
5761 if (!var13) {
5762 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9766);
5763 exit(1);
5764 }
5765 var_pclasskindnode5 = var_nodearraylist3;
5766 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5767 cltype17 = type_nullable_parser_nodes__AClasskind.color;
5768 idtype18 = type_nullable_parser_nodes__AClasskind.id;
5769 if(var_pclasskindnode5 == NULL) {
5770 var16 = 1;
5771 } else {
5772 if(cltype17 >= var_pclasskindnode5->type->table_size) {
5773 var16 = 0;
5774 } else {
5775 var16 = var_pclasskindnode5->type->type_table[cltype17] == idtype18;
5776 }
5777 }
5778 if (!var16) {
5779 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9768);
5780 exit(1);
5781 }
5782 var_tclassidnode6 = var_nodearraylist5;
5783 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5784 cltype20 = type_nullable_parser_nodes__TClassid.color;
5785 idtype21 = type_nullable_parser_nodes__TClassid.id;
5786 if(var_tclassidnode6 == NULL) {
5787 var19 = 1;
5788 } else {
5789 if(cltype20 >= var_tclassidnode6->type->table_size) {
5790 var19 = 0;
5791 } else {
5792 var19 = var_tclassidnode6->type->type_table[cltype20] == idtype21;
5793 }
5794 }
5795 if (!var19) {
5796 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9770);
5797 exit(1);
5798 }
5799 var_listnode11 = var_nodearraylist6;
5800 /* <var_listnode11:nullable Object> isa Array[Object] */
5801 cltype23 = type_array__Arraykernel__Object.color;
5802 idtype24 = type_array__Arraykernel__Object.id;
5803 if(var_listnode11 == NULL) {
5804 var22 = 0;
5805 } else {
5806 if(cltype23 >= var_listnode11->type->table_size) {
5807 var22 = 0;
5808 } else {
5809 var22 = var_listnode11->type->type_table[cltype23] == idtype24;
5810 }
5811 }
5812 if (!var22) {
5813 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9772);
5814 exit(1);
5815 }
5816 var25 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction201>*/;
5817 var_listnode12 = var25;
5818 var_tkwendnode13 = var_nodearraylist8;
5819 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
5820 cltype27 = type_nullable_parser_nodes__TKwend.color;
5821 idtype28 = type_nullable_parser_nodes__TKwend.id;
5822 if(var_tkwendnode13 == NULL) {
5823 var26 = 1;
5824 } else {
5825 if(cltype27 >= var_tkwendnode13->type->table_size) {
5826 var26 = 0;
5827 } else {
5828 var26 = var_tkwendnode13->type->type_table[cltype27] == idtype28;
5829 }
5830 }
5831 if (!var26) {
5832 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9775);
5833 exit(1);
5834 }
5835 var29 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5836 var30 = NULL;
5837 var31 = NULL;
5838 var32 = NULL;
5839 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var29, var_pdocnode2, var30, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var31, var32, var_listnode10, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var29:AStdClassdef>*/;
5840 CHECK_NEW_parser_nodes__AStdClassdef(var29);
5841 var_pclassdefnode1 = var29;
5842 var_node_list = var_pclassdefnode1;
5843 var33 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction201> */
5844 var34 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var33) /* go_to on <var_p:Parser>*/;
5845 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var34, var_node_list) /* push on <var_p:Parser>*/;
5846 RET_LABEL:;
5847 }
5848 /* method parser#ReduceAction201#action for (self: Object, Parser) */
5849 void VIRTUAL_parser__ReduceAction201__action(val* self, val* p0) {
5850 parser__ReduceAction201__action(self, p0);
5851 RET_LABEL:;
5852 }
5853 /* method parser#ReduceAction202#action for (self: ReduceAction202, Parser) */
5854 void parser__ReduceAction202__action(val* self, val* p0) {
5855 val* var_p /* var p: Parser */;
5856 val* var /* : null */;
5857 val* var_node_list /* var node_list: nullable Object */;
5858 val* var1 /* : nullable Object */;
5859 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5860 val* var2 /* : nullable Object */;
5861 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5862 val* var3 /* : nullable Object */;
5863 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5864 val* var4 /* : nullable Object */;
5865 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5866 val* var5 /* : nullable Object */;
5867 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5868 val* var6 /* : nullable Object */;
5869 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5870 val* var7 /* : nullable Object */;
5871 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5872 val* var8 /* : nullable Object */;
5873 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5874 val* var9 /* : nullable Object */;
5875 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5876 val* var10 /* : Array[Object] */;
5877 val* var_listnode7 /* var listnode7: Array[Object] */;
5878 val* var11 /* : Array[Object] */;
5879 val* var_listnode10 /* var listnode10: Array[Object] */;
5880 val* var12 /* : Array[Object] */;
5881 val* var_listnode12 /* var listnode12: Array[Object] */;
5882 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5883 short int var13 /* : Bool */;
5884 int cltype;
5885 int idtype;
5886 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
5887 short int var14 /* : Bool */;
5888 int cltype15;
5889 int idtype16;
5890 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5891 short int var17 /* : Bool */;
5892 int cltype18;
5893 int idtype19;
5894 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5895 short int var20 /* : Bool */;
5896 int cltype21;
5897 int idtype22;
5898 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5899 short int var23 /* : Bool */;
5900 int cltype24;
5901 int idtype25;
5902 val* var_listnode11 /* var listnode11: nullable Object */;
5903 short int var26 /* : Bool */;
5904 int cltype27;
5905 int idtype28;
5906 val* var29 /* : Array[Object] */;
5907 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
5908 short int var30 /* : Bool */;
5909 int cltype31;
5910 int idtype32;
5911 val* var33 /* : AStdClassdef */;
5912 val* var34 /* : null */;
5913 val* var35 /* : null */;
5914 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5915 long var36 /* : Int */;
5916 long var37 /* : Int */;
5917 var_p = p0;
5918 var = NULL;
5919 var_node_list = var;
5920 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5921 var_nodearraylist9 = var1;
5922 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5923 var_nodearraylist8 = var2;
5924 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5925 var_nodearraylist7 = var3;
5926 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5927 var_nodearraylist6 = var4;
5928 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5929 var_nodearraylist5 = var5;
5930 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5931 var_nodearraylist4 = var6;
5932 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5933 var_nodearraylist3 = var7;
5934 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5935 var_nodearraylist2 = var8;
5936 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5937 var_nodearraylist1 = var9;
5938 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
5939 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
5940 CHECK_NEW_array__Array(var10);
5941 var_listnode7 = var10;
5942 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
5943 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
5944 CHECK_NEW_array__Array(var11);
5945 var_listnode10 = var11;
5946 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
5947 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
5948 CHECK_NEW_array__Array(var12);
5949 var_listnode12 = var12;
5950 var_pdocnode2 = var_nodearraylist1;
5951 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5952 cltype = type_nullable_parser_nodes__ADoc.color;
5953 idtype = type_nullable_parser_nodes__ADoc.id;
5954 if(var_pdocnode2 == NULL) {
5955 var13 = 1;
5956 } else {
5957 if(cltype >= var_pdocnode2->type->table_size) {
5958 var13 = 0;
5959 } else {
5960 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
5961 }
5962 }
5963 if (!var13) {
5964 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9811);
5965 exit(1);
5966 }
5967 var_tkwredefnode3 = var_nodearraylist2;
5968 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
5969 cltype15 = type_nullable_parser_nodes__TKwredef.color;
5970 idtype16 = type_nullable_parser_nodes__TKwredef.id;
5971 if(var_tkwredefnode3 == NULL) {
5972 var14 = 1;
5973 } else {
5974 if(cltype15 >= var_tkwredefnode3->type->table_size) {
5975 var14 = 0;
5976 } else {
5977 var14 = var_tkwredefnode3->type->type_table[cltype15] == idtype16;
5978 }
5979 }
5980 if (!var14) {
5981 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9813);
5982 exit(1);
5983 }
5984 var_pvisibilitynode4 = var_nodearraylist3;
5985 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5986 cltype18 = type_nullable_parser_nodes__AVisibility.color;
5987 idtype19 = type_nullable_parser_nodes__AVisibility.id;
5988 if(var_pvisibilitynode4 == NULL) {
5989 var17 = 1;
5990 } else {
5991 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
5992 var17 = 0;
5993 } else {
5994 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
5995 }
5996 }
5997 if (!var17) {
5998 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9815);
5999 exit(1);
6000 }
6001 var_pclasskindnode5 = var_nodearraylist4;
6002 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6003 cltype21 = type_nullable_parser_nodes__AClasskind.color;
6004 idtype22 = type_nullable_parser_nodes__AClasskind.id;
6005 if(var_pclasskindnode5 == NULL) {
6006 var20 = 1;
6007 } else {
6008 if(cltype21 >= var_pclasskindnode5->type->table_size) {
6009 var20 = 0;
6010 } else {
6011 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
6012 }
6013 }
6014 if (!var20) {
6015 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9817);
6016 exit(1);
6017 }
6018 var_tclassidnode6 = var_nodearraylist6;
6019 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6020 cltype24 = type_nullable_parser_nodes__TClassid.color;
6021 idtype25 = type_nullable_parser_nodes__TClassid.id;
6022 if(var_tclassidnode6 == NULL) {
6023 var23 = 1;
6024 } else {
6025 if(cltype24 >= var_tclassidnode6->type->table_size) {
6026 var23 = 0;
6027 } else {
6028 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
6029 }
6030 }
6031 if (!var23) {
6032 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9819);
6033 exit(1);
6034 }
6035 var_listnode11 = var_nodearraylist7;
6036 /* <var_listnode11:nullable Object> isa Array[Object] */
6037 cltype27 = type_array__Arraykernel__Object.color;
6038 idtype28 = type_array__Arraykernel__Object.id;
6039 if(var_listnode11 == NULL) {
6040 var26 = 0;
6041 } else {
6042 if(cltype27 >= var_listnode11->type->table_size) {
6043 var26 = 0;
6044 } else {
6045 var26 = var_listnode11->type->type_table[cltype27] == idtype28;
6046 }
6047 }
6048 if (!var26) {
6049 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9821);
6050 exit(1);
6051 }
6052 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction202>*/;
6053 var_listnode12 = var29;
6054 var_tkwendnode13 = var_nodearraylist9;
6055 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
6056 cltype31 = type_nullable_parser_nodes__TKwend.color;
6057 idtype32 = type_nullable_parser_nodes__TKwend.id;
6058 if(var_tkwendnode13 == NULL) {
6059 var30 = 1;
6060 } else {
6061 if(cltype31 >= var_tkwendnode13->type->table_size) {
6062 var30 = 0;
6063 } else {
6064 var30 = var_tkwendnode13->type->type_table[cltype31] == idtype32;
6065 }
6066 }
6067 if (!var30) {
6068 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9824);
6069 exit(1);
6070 }
6071 var33 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6072 var34 = NULL;
6073 var35 = NULL;
6074 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var34, var35, var_listnode10, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var33:AStdClassdef>*/;
6075 CHECK_NEW_parser_nodes__AStdClassdef(var33);
6076 var_pclassdefnode1 = var33;
6077 var_node_list = var_pclassdefnode1;
6078 var36 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction202> */
6079 var37 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var36) /* go_to on <var_p:Parser>*/;
6080 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var37, var_node_list) /* push on <var_p:Parser>*/;
6081 RET_LABEL:;
6082 }
6083 /* method parser#ReduceAction202#action for (self: Object, Parser) */
6084 void VIRTUAL_parser__ReduceAction202__action(val* self, val* p0) {
6085 parser__ReduceAction202__action(self, p0);
6086 RET_LABEL:;
6087 }
6088 /* method parser#ReduceAction203#action for (self: ReduceAction203, Parser) */
6089 void parser__ReduceAction203__action(val* self, val* p0) {
6090 val* var_p /* var p: Parser */;
6091 val* var /* : null */;
6092 val* var_node_list /* var node_list: nullable Object */;
6093 val* var1 /* : nullable Object */;
6094 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6095 val* var2 /* : nullable Object */;
6096 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6097 val* var3 /* : nullable Object */;
6098 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6099 val* var4 /* : nullable Object */;
6100 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6101 val* var5 /* : nullable Object */;
6102 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6103 val* var6 /* : nullable Object */;
6104 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6105 val* var7 /* : nullable Object */;
6106 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6107 val* var8 /* : nullable Object */;
6108 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6109 val* var9 /* : nullable Object */;
6110 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6111 val* var10 /* : Array[Object] */;
6112 val* var_listnode7 /* var listnode7: Array[Object] */;
6113 val* var11 /* : Array[Object] */;
6114 val* var_listnode10 /* var listnode10: Array[Object] */;
6115 val* var12 /* : Array[Object] */;
6116 val* var_listnode12 /* var listnode12: Array[Object] */;
6117 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6118 short int var13 /* : Bool */;
6119 int cltype;
6120 int idtype;
6121 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6122 short int var14 /* : Bool */;
6123 int cltype15;
6124 int idtype16;
6125 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6126 short int var17 /* : Bool */;
6127 int cltype18;
6128 int idtype19;
6129 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6130 short int var20 /* : Bool */;
6131 int cltype21;
6132 int idtype22;
6133 val* var_listnode11 /* var listnode11: nullable Object */;
6134 short int var23 /* : Bool */;
6135 int cltype24;
6136 int idtype25;
6137 val* var26 /* : Array[Object] */;
6138 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
6139 short int var27 /* : Bool */;
6140 int cltype28;
6141 int idtype29;
6142 val* var30 /* : AStdClassdef */;
6143 val* var31 /* : null */;
6144 val* var32 /* : null */;
6145 val* var33 /* : null */;
6146 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6147 long var34 /* : Int */;
6148 long var35 /* : Int */;
6149 var_p = p0;
6150 var = NULL;
6151 var_node_list = var;
6152 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6153 var_nodearraylist9 = var1;
6154 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6155 var_nodearraylist8 = var2;
6156 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6157 var_nodearraylist7 = var3;
6158 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6159 var_nodearraylist6 = var4;
6160 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6161 var_nodearraylist5 = var5;
6162 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6163 var_nodearraylist4 = var6;
6164 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6165 var_nodearraylist3 = var7;
6166 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6167 var_nodearraylist2 = var8;
6168 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6169 var_nodearraylist1 = var9;
6170 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
6171 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
6172 CHECK_NEW_array__Array(var10);
6173 var_listnode7 = var10;
6174 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
6175 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
6176 CHECK_NEW_array__Array(var11);
6177 var_listnode10 = var11;
6178 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
6179 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
6180 CHECK_NEW_array__Array(var12);
6181 var_listnode12 = var12;
6182 var_pdocnode2 = var_nodearraylist1;
6183 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6184 cltype = type_nullable_parser_nodes__ADoc.color;
6185 idtype = type_nullable_parser_nodes__ADoc.id;
6186 if(var_pdocnode2 == NULL) {
6187 var13 = 1;
6188 } else {
6189 if(cltype >= var_pdocnode2->type->table_size) {
6190 var13 = 0;
6191 } else {
6192 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
6193 }
6194 }
6195 if (!var13) {
6196 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9860);
6197 exit(1);
6198 }
6199 var_pvisibilitynode4 = var_nodearraylist2;
6200 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6201 cltype15 = type_nullable_parser_nodes__AVisibility.color;
6202 idtype16 = type_nullable_parser_nodes__AVisibility.id;
6203 if(var_pvisibilitynode4 == NULL) {
6204 var14 = 1;
6205 } else {
6206 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
6207 var14 = 0;
6208 } else {
6209 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
6210 }
6211 }
6212 if (!var14) {
6213 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9862);
6214 exit(1);
6215 }
6216 var_pclasskindnode5 = var_nodearraylist3;
6217 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6218 cltype18 = type_nullable_parser_nodes__AClasskind.color;
6219 idtype19 = type_nullable_parser_nodes__AClasskind.id;
6220 if(var_pclasskindnode5 == NULL) {
6221 var17 = 1;
6222 } else {
6223 if(cltype18 >= var_pclasskindnode5->type->table_size) {
6224 var17 = 0;
6225 } else {
6226 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
6227 }
6228 }
6229 if (!var17) {
6230 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9864);
6231 exit(1);
6232 }
6233 var_tclassidnode6 = var_nodearraylist6;
6234 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6235 cltype21 = type_nullable_parser_nodes__TClassid.color;
6236 idtype22 = type_nullable_parser_nodes__TClassid.id;
6237 if(var_tclassidnode6 == NULL) {
6238 var20 = 1;
6239 } else {
6240 if(cltype21 >= var_tclassidnode6->type->table_size) {
6241 var20 = 0;
6242 } else {
6243 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
6244 }
6245 }
6246 if (!var20) {
6247 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9866);
6248 exit(1);
6249 }
6250 var_listnode11 = var_nodearraylist7;
6251 /* <var_listnode11:nullable Object> isa Array[Object] */
6252 cltype24 = type_array__Arraykernel__Object.color;
6253 idtype25 = type_array__Arraykernel__Object.id;
6254 if(var_listnode11 == NULL) {
6255 var23 = 0;
6256 } else {
6257 if(cltype24 >= var_listnode11->type->table_size) {
6258 var23 = 0;
6259 } else {
6260 var23 = var_listnode11->type->type_table[cltype24] == idtype25;
6261 }
6262 }
6263 if (!var23) {
6264 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9868);
6265 exit(1);
6266 }
6267 var26 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction203>*/;
6268 var_listnode12 = var26;
6269 var_tkwendnode13 = var_nodearraylist9;
6270 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
6271 cltype28 = type_nullable_parser_nodes__TKwend.color;
6272 idtype29 = type_nullable_parser_nodes__TKwend.id;
6273 if(var_tkwendnode13 == NULL) {
6274 var27 = 1;
6275 } else {
6276 if(cltype28 >= var_tkwendnode13->type->table_size) {
6277 var27 = 0;
6278 } else {
6279 var27 = var_tkwendnode13->type->type_table[cltype28] == idtype29;
6280 }
6281 }
6282 if (!var27) {
6283 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9871);
6284 exit(1);
6285 }
6286 var30 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6287 var31 = NULL;
6288 var32 = NULL;
6289 var33 = NULL;
6290 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var30->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var30, var_pdocnode2, var31, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var32, var33, var_listnode10, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var30:AStdClassdef>*/;
6291 CHECK_NEW_parser_nodes__AStdClassdef(var30);
6292 var_pclassdefnode1 = var30;
6293 var_node_list = var_pclassdefnode1;
6294 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction203> */
6295 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
6296 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
6297 RET_LABEL:;
6298 }
6299 /* method parser#ReduceAction203#action for (self: Object, Parser) */
6300 void VIRTUAL_parser__ReduceAction203__action(val* self, val* p0) {
6301 parser__ReduceAction203__action(self, p0);
6302 RET_LABEL:;
6303 }
6304 /* method parser#ReduceAction204#action for (self: ReduceAction204, Parser) */
6305 void parser__ReduceAction204__action(val* self, val* p0) {
6306 val* var_p /* var p: Parser */;
6307 val* var /* : null */;
6308 val* var_node_list /* var node_list: nullable Object */;
6309 val* var1 /* : nullable Object */;
6310 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6311 val* var2 /* : nullable Object */;
6312 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6313 val* var3 /* : nullable Object */;
6314 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6315 val* var4 /* : nullable Object */;
6316 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6317 val* var5 /* : nullable Object */;
6318 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6319 val* var6 /* : nullable Object */;
6320 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6321 val* var7 /* : nullable Object */;
6322 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6323 val* var8 /* : nullable Object */;
6324 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6325 val* var9 /* : nullable Object */;
6326 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6327 val* var10 /* : nullable Object */;
6328 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6329 val* var11 /* : Array[Object] */;
6330 val* var_listnode7 /* var listnode7: Array[Object] */;
6331 val* var12 /* : Array[Object] */;
6332 val* var_listnode10 /* var listnode10: Array[Object] */;
6333 val* var13 /* : Array[Object] */;
6334 val* var_listnode12 /* var listnode12: Array[Object] */;
6335 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6336 short int var14 /* : Bool */;
6337 int cltype;
6338 int idtype;
6339 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6340 short int var15 /* : Bool */;
6341 int cltype16;
6342 int idtype17;
6343 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6344 short int var18 /* : Bool */;
6345 int cltype19;
6346 int idtype20;
6347 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6348 short int var21 /* : Bool */;
6349 int cltype22;
6350 int idtype23;
6351 val* var_listnode11 /* var listnode11: nullable Object */;
6352 short int var24 /* : Bool */;
6353 int cltype25;
6354 int idtype26;
6355 val* var27 /* : Array[Object] */;
6356 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
6357 short int var28 /* : Bool */;
6358 int cltype29;
6359 int idtype30;
6360 val* var31 /* : AStdClassdef */;
6361 val* var32 /* : null */;
6362 val* var33 /* : null */;
6363 val* var34 /* : null */;
6364 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6365 long var35 /* : Int */;
6366 long var36 /* : Int */;
6367 var_p = p0;
6368 var = NULL;
6369 var_node_list = var;
6370 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6371 var_nodearraylist10 = var1;
6372 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6373 var_nodearraylist9 = var2;
6374 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6375 var_nodearraylist8 = var3;
6376 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6377 var_nodearraylist7 = var4;
6378 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6379 var_nodearraylist6 = var5;
6380 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6381 var_nodearraylist5 = var6;
6382 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6383 var_nodearraylist4 = var7;
6384 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6385 var_nodearraylist3 = var8;
6386 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6387 var_nodearraylist2 = var9;
6388 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6389 var_nodearraylist1 = var10;
6390 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
6391 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
6392 CHECK_NEW_array__Array(var11);
6393 var_listnode7 = var11;
6394 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
6395 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
6396 CHECK_NEW_array__Array(var12);
6397 var_listnode10 = var12;
6398 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
6399 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
6400 CHECK_NEW_array__Array(var13);
6401 var_listnode12 = var13;
6402 var_pdocnode2 = var_nodearraylist1;
6403 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6404 cltype = type_nullable_parser_nodes__ADoc.color;
6405 idtype = type_nullable_parser_nodes__ADoc.id;
6406 if(var_pdocnode2 == NULL) {
6407 var14 = 1;
6408 } else {
6409 if(cltype >= var_pdocnode2->type->table_size) {
6410 var14 = 0;
6411 } else {
6412 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
6413 }
6414 }
6415 if (!var14) {
6416 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9908);
6417 exit(1);
6418 }
6419 var_pvisibilitynode4 = var_nodearraylist2;
6420 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6421 cltype16 = type_nullable_parser_nodes__AVisibility.color;
6422 idtype17 = type_nullable_parser_nodes__AVisibility.id;
6423 if(var_pvisibilitynode4 == NULL) {
6424 var15 = 1;
6425 } else {
6426 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
6427 var15 = 0;
6428 } else {
6429 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
6430 }
6431 }
6432 if (!var15) {
6433 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9910);
6434 exit(1);
6435 }
6436 var_pclasskindnode5 = var_nodearraylist3;
6437 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6438 cltype19 = type_nullable_parser_nodes__AClasskind.color;
6439 idtype20 = type_nullable_parser_nodes__AClasskind.id;
6440 if(var_pclasskindnode5 == NULL) {
6441 var18 = 1;
6442 } else {
6443 if(cltype19 >= var_pclasskindnode5->type->table_size) {
6444 var18 = 0;
6445 } else {
6446 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
6447 }
6448 }
6449 if (!var18) {
6450 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9912);
6451 exit(1);
6452 }
6453 var_tclassidnode6 = var_nodearraylist7;
6454 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6455 cltype22 = type_nullable_parser_nodes__TClassid.color;
6456 idtype23 = type_nullable_parser_nodes__TClassid.id;
6457 if(var_tclassidnode6 == NULL) {
6458 var21 = 1;
6459 } else {
6460 if(cltype22 >= var_tclassidnode6->type->table_size) {
6461 var21 = 0;
6462 } else {
6463 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
6464 }
6465 }
6466 if (!var21) {
6467 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9914);
6468 exit(1);
6469 }
6470 var_listnode11 = var_nodearraylist8;
6471 /* <var_listnode11:nullable Object> isa Array[Object] */
6472 cltype25 = type_array__Arraykernel__Object.color;
6473 idtype26 = type_array__Arraykernel__Object.id;
6474 if(var_listnode11 == NULL) {
6475 var24 = 0;
6476 } else {
6477 if(cltype25 >= var_listnode11->type->table_size) {
6478 var24 = 0;
6479 } else {
6480 var24 = var_listnode11->type->type_table[cltype25] == idtype26;
6481 }
6482 }
6483 if (!var24) {
6484 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9916);
6485 exit(1);
6486 }
6487 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction204>*/;
6488 var_listnode12 = var27;
6489 var_tkwendnode13 = var_nodearraylist10;
6490 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
6491 cltype29 = type_nullable_parser_nodes__TKwend.color;
6492 idtype30 = type_nullable_parser_nodes__TKwend.id;
6493 if(var_tkwendnode13 == NULL) {
6494 var28 = 1;
6495 } else {
6496 if(cltype29 >= var_tkwendnode13->type->table_size) {
6497 var28 = 0;
6498 } else {
6499 var28 = var_tkwendnode13->type->type_table[cltype29] == idtype30;
6500 }
6501 }
6502 if (!var28) {
6503 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9919);
6504 exit(1);
6505 }
6506 var31 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6507 var32 = NULL;
6508 var33 = NULL;
6509 var34 = NULL;
6510 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var31->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var31, var_pdocnode2, var32, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var33, var34, var_listnode10, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var31:AStdClassdef>*/;
6511 CHECK_NEW_parser_nodes__AStdClassdef(var31);
6512 var_pclassdefnode1 = var31;
6513 var_node_list = var_pclassdefnode1;
6514 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction204> */
6515 var36 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var35) /* go_to on <var_p:Parser>*/;
6516 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var36, var_node_list) /* push on <var_p:Parser>*/;
6517 RET_LABEL:;
6518 }
6519 /* method parser#ReduceAction204#action for (self: Object, Parser) */
6520 void VIRTUAL_parser__ReduceAction204__action(val* self, val* p0) {
6521 parser__ReduceAction204__action(self, p0);
6522 RET_LABEL:;
6523 }
6524 /* method parser#ReduceAction206#action for (self: ReduceAction206, Parser) */
6525 void parser__ReduceAction206__action(val* self, val* p0) {
6526 val* var_p /* var p: Parser */;
6527 val* var /* : null */;
6528 val* var_node_list /* var node_list: nullable Object */;
6529 val* var1 /* : nullable Object */;
6530 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6531 val* var2 /* : nullable Object */;
6532 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6533 val* var3 /* : nullable Object */;
6534 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6535 val* var4 /* : nullable Object */;
6536 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6537 val* var5 /* : nullable Object */;
6538 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6539 val* var6 /* : nullable Object */;
6540 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6541 val* var7 /* : nullable Object */;
6542 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6543 val* var8 /* : nullable Object */;
6544 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6545 val* var9 /* : nullable Object */;
6546 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6547 val* var10 /* : nullable Object */;
6548 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6549 val* var11 /* : Array[Object] */;
6550 val* var_listnode7 /* var listnode7: Array[Object] */;
6551 val* var12 /* : Array[Object] */;
6552 val* var_listnode10 /* var listnode10: Array[Object] */;
6553 val* var13 /* : Array[Object] */;
6554 val* var_listnode12 /* var listnode12: Array[Object] */;
6555 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6556 short int var14 /* : Bool */;
6557 int cltype;
6558 int idtype;
6559 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
6560 short int var15 /* : Bool */;
6561 int cltype16;
6562 int idtype17;
6563 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6564 short int var18 /* : Bool */;
6565 int cltype19;
6566 int idtype20;
6567 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6568 short int var21 /* : Bool */;
6569 int cltype22;
6570 int idtype23;
6571 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6572 short int var24 /* : Bool */;
6573 int cltype25;
6574 int idtype26;
6575 val* var_listnode11 /* var listnode11: nullable Object */;
6576 short int var27 /* : Bool */;
6577 int cltype28;
6578 int idtype29;
6579 val* var30 /* : Array[Object] */;
6580 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
6581 short int var31 /* : Bool */;
6582 int cltype32;
6583 int idtype33;
6584 val* var34 /* : AStdClassdef */;
6585 val* var35 /* : null */;
6586 val* var36 /* : null */;
6587 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6588 long var37 /* : Int */;
6589 long var38 /* : Int */;
6590 var_p = p0;
6591 var = NULL;
6592 var_node_list = var;
6593 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6594 var_nodearraylist10 = var1;
6595 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6596 var_nodearraylist9 = var2;
6597 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6598 var_nodearraylist8 = var3;
6599 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6600 var_nodearraylist7 = var4;
6601 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6602 var_nodearraylist6 = var5;
6603 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6604 var_nodearraylist5 = var6;
6605 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6606 var_nodearraylist4 = var7;
6607 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6608 var_nodearraylist3 = var8;
6609 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6610 var_nodearraylist2 = var9;
6611 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6612 var_nodearraylist1 = var10;
6613 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
6614 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
6615 CHECK_NEW_array__Array(var11);
6616 var_listnode7 = var11;
6617 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
6618 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
6619 CHECK_NEW_array__Array(var12);
6620 var_listnode10 = var12;
6621 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
6622 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
6623 CHECK_NEW_array__Array(var13);
6624 var_listnode12 = var13;
6625 var_pdocnode2 = var_nodearraylist1;
6626 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6627 cltype = type_nullable_parser_nodes__ADoc.color;
6628 idtype = type_nullable_parser_nodes__ADoc.id;
6629 if(var_pdocnode2 == NULL) {
6630 var14 = 1;
6631 } else {
6632 if(cltype >= var_pdocnode2->type->table_size) {
6633 var14 = 0;
6634 } else {
6635 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
6636 }
6637 }
6638 if (!var14) {
6639 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9956);
6640 exit(1);
6641 }
6642 var_tkwredefnode3 = var_nodearraylist2;
6643 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6644 cltype16 = type_nullable_parser_nodes__TKwredef.color;
6645 idtype17 = type_nullable_parser_nodes__TKwredef.id;
6646 if(var_tkwredefnode3 == NULL) {
6647 var15 = 1;
6648 } else {
6649 if(cltype16 >= var_tkwredefnode3->type->table_size) {
6650 var15 = 0;
6651 } else {
6652 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
6653 }
6654 }
6655 if (!var15) {
6656 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9958);
6657 exit(1);
6658 }
6659 var_pvisibilitynode4 = var_nodearraylist3;
6660 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6661 cltype19 = type_nullable_parser_nodes__AVisibility.color;
6662 idtype20 = type_nullable_parser_nodes__AVisibility.id;
6663 if(var_pvisibilitynode4 == NULL) {
6664 var18 = 1;
6665 } else {
6666 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
6667 var18 = 0;
6668 } else {
6669 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
6670 }
6671 }
6672 if (!var18) {
6673 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9960);
6674 exit(1);
6675 }
6676 var_pclasskindnode5 = var_nodearraylist4;
6677 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6678 cltype22 = type_nullable_parser_nodes__AClasskind.color;
6679 idtype23 = type_nullable_parser_nodes__AClasskind.id;
6680 if(var_pclasskindnode5 == NULL) {
6681 var21 = 1;
6682 } else {
6683 if(cltype22 >= var_pclasskindnode5->type->table_size) {
6684 var21 = 0;
6685 } else {
6686 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
6687 }
6688 }
6689 if (!var21) {
6690 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9962);
6691 exit(1);
6692 }
6693 var_tclassidnode6 = var_nodearraylist7;
6694 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6695 cltype25 = type_nullable_parser_nodes__TClassid.color;
6696 idtype26 = type_nullable_parser_nodes__TClassid.id;
6697 if(var_tclassidnode6 == NULL) {
6698 var24 = 1;
6699 } else {
6700 if(cltype25 >= var_tclassidnode6->type->table_size) {
6701 var24 = 0;
6702 } else {
6703 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
6704 }
6705 }
6706 if (!var24) {
6707 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9964);
6708 exit(1);
6709 }
6710 var_listnode11 = var_nodearraylist8;
6711 /* <var_listnode11:nullable Object> isa Array[Object] */
6712 cltype28 = type_array__Arraykernel__Object.color;
6713 idtype29 = type_array__Arraykernel__Object.id;
6714 if(var_listnode11 == NULL) {
6715 var27 = 0;
6716 } else {
6717 if(cltype28 >= var_listnode11->type->table_size) {
6718 var27 = 0;
6719 } else {
6720 var27 = var_listnode11->type->type_table[cltype28] == idtype29;
6721 }
6722 }
6723 if (!var27) {
6724 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9966);
6725 exit(1);
6726 }
6727 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction206>*/;
6728 var_listnode12 = var30;
6729 var_tkwendnode13 = var_nodearraylist10;
6730 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
6731 cltype32 = type_nullable_parser_nodes__TKwend.color;
6732 idtype33 = type_nullable_parser_nodes__TKwend.id;
6733 if(var_tkwendnode13 == NULL) {
6734 var31 = 1;
6735 } else {
6736 if(cltype32 >= var_tkwendnode13->type->table_size) {
6737 var31 = 0;
6738 } else {
6739 var31 = var_tkwendnode13->type->type_table[cltype32] == idtype33;
6740 }
6741 }
6742 if (!var31) {
6743 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 9969);
6744 exit(1);
6745 }
6746 var34 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6747 var35 = NULL;
6748 var36 = NULL;
6749 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var34->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var34, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var35, var36, var_listnode10, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var34:AStdClassdef>*/;
6750 CHECK_NEW_parser_nodes__AStdClassdef(var34);
6751 var_pclassdefnode1 = var34;
6752 var_node_list = var_pclassdefnode1;
6753 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction206> */
6754 var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on <var_p:Parser>*/;
6755 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on <var_p:Parser>*/;
6756 RET_LABEL:;
6757 }
6758 /* method parser#ReduceAction206#action for (self: Object, Parser) */
6759 void VIRTUAL_parser__ReduceAction206__action(val* self, val* p0) {
6760 parser__ReduceAction206__action(self, p0);
6761 RET_LABEL:;
6762 }
6763 /* method parser#ReduceAction207#action for (self: ReduceAction207, Parser) */
6764 void parser__ReduceAction207__action(val* self, val* p0) {
6765 val* var_p /* var p: Parser */;
6766 val* var /* : null */;
6767 val* var_node_list /* var node_list: nullable Object */;
6768 val* var1 /* : nullable Object */;
6769 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
6770 val* var2 /* : nullable Object */;
6771 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6772 val* var3 /* : nullable Object */;
6773 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6774 val* var4 /* : nullable Object */;
6775 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6776 val* var5 /* : nullable Object */;
6777 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6778 val* var6 /* : nullable Object */;
6779 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6780 val* var7 /* : nullable Object */;
6781 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6782 val* var8 /* : nullable Object */;
6783 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6784 val* var9 /* : nullable Object */;
6785 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6786 val* var10 /* : nullable Object */;
6787 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6788 val* var11 /* : nullable Object */;
6789 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6790 val* var12 /* : Array[Object] */;
6791 val* var_listnode7 /* var listnode7: Array[Object] */;
6792 val* var13 /* : Array[Object] */;
6793 val* var_listnode10 /* var listnode10: Array[Object] */;
6794 val* var14 /* : Array[Object] */;
6795 val* var_listnode12 /* var listnode12: Array[Object] */;
6796 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6797 short int var15 /* : Bool */;
6798 int cltype;
6799 int idtype;
6800 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
6801 short int var16 /* : Bool */;
6802 int cltype17;
6803 int idtype18;
6804 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6805 short int var19 /* : Bool */;
6806 int cltype20;
6807 int idtype21;
6808 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6809 short int var22 /* : Bool */;
6810 int cltype23;
6811 int idtype24;
6812 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6813 short int var25 /* : Bool */;
6814 int cltype26;
6815 int idtype27;
6816 val* var_listnode11 /* var listnode11: nullable Object */;
6817 short int var28 /* : Bool */;
6818 int cltype29;
6819 int idtype30;
6820 val* var31 /* : Array[Object] */;
6821 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
6822 short int var32 /* : Bool */;
6823 int cltype33;
6824 int idtype34;
6825 val* var35 /* : AStdClassdef */;
6826 val* var36 /* : null */;
6827 val* var37 /* : null */;
6828 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6829 long var38 /* : Int */;
6830 long var39 /* : Int */;
6831 var_p = p0;
6832 var = NULL;
6833 var_node_list = var;
6834 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6835 var_nodearraylist11 = var1;
6836 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6837 var_nodearraylist10 = var2;
6838 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6839 var_nodearraylist9 = var3;
6840 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6841 var_nodearraylist8 = var4;
6842 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6843 var_nodearraylist7 = var5;
6844 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6845 var_nodearraylist6 = var6;
6846 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6847 var_nodearraylist5 = var7;
6848 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6849 var_nodearraylist4 = var8;
6850 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6851 var_nodearraylist3 = var9;
6852 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6853 var_nodearraylist2 = var10;
6854 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6855 var_nodearraylist1 = var11;
6856 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
6857 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
6858 CHECK_NEW_array__Array(var12);
6859 var_listnode7 = var12;
6860 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
6861 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
6862 CHECK_NEW_array__Array(var13);
6863 var_listnode10 = var13;
6864 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
6865 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
6866 CHECK_NEW_array__Array(var14);
6867 var_listnode12 = var14;
6868 var_pdocnode2 = var_nodearraylist1;
6869 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6870 cltype = type_nullable_parser_nodes__ADoc.color;
6871 idtype = type_nullable_parser_nodes__ADoc.id;
6872 if(var_pdocnode2 == NULL) {
6873 var15 = 1;
6874 } else {
6875 if(cltype >= var_pdocnode2->type->table_size) {
6876 var15 = 0;
6877 } else {
6878 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
6879 }
6880 }
6881 if (!var15) {
6882 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10007);
6883 exit(1);
6884 }
6885 var_tkwredefnode3 = var_nodearraylist2;
6886 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6887 cltype17 = type_nullable_parser_nodes__TKwredef.color;
6888 idtype18 = type_nullable_parser_nodes__TKwredef.id;
6889 if(var_tkwredefnode3 == NULL) {
6890 var16 = 1;
6891 } else {
6892 if(cltype17 >= var_tkwredefnode3->type->table_size) {
6893 var16 = 0;
6894 } else {
6895 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
6896 }
6897 }
6898 if (!var16) {
6899 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10009);
6900 exit(1);
6901 }
6902 var_pvisibilitynode4 = var_nodearraylist3;
6903 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6904 cltype20 = type_nullable_parser_nodes__AVisibility.color;
6905 idtype21 = type_nullable_parser_nodes__AVisibility.id;
6906 if(var_pvisibilitynode4 == NULL) {
6907 var19 = 1;
6908 } else {
6909 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
6910 var19 = 0;
6911 } else {
6912 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
6913 }
6914 }
6915 if (!var19) {
6916 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10011);
6917 exit(1);
6918 }
6919 var_pclasskindnode5 = var_nodearraylist4;
6920 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6921 cltype23 = type_nullable_parser_nodes__AClasskind.color;
6922 idtype24 = type_nullable_parser_nodes__AClasskind.id;
6923 if(var_pclasskindnode5 == NULL) {
6924 var22 = 1;
6925 } else {
6926 if(cltype23 >= var_pclasskindnode5->type->table_size) {
6927 var22 = 0;
6928 } else {
6929 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
6930 }
6931 }
6932 if (!var22) {
6933 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10013);
6934 exit(1);
6935 }
6936 var_tclassidnode6 = var_nodearraylist8;
6937 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6938 cltype26 = type_nullable_parser_nodes__TClassid.color;
6939 idtype27 = type_nullable_parser_nodes__TClassid.id;
6940 if(var_tclassidnode6 == NULL) {
6941 var25 = 1;
6942 } else {
6943 if(cltype26 >= var_tclassidnode6->type->table_size) {
6944 var25 = 0;
6945 } else {
6946 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
6947 }
6948 }
6949 if (!var25) {
6950 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10015);
6951 exit(1);
6952 }
6953 var_listnode11 = var_nodearraylist9;
6954 /* <var_listnode11:nullable Object> isa Array[Object] */
6955 cltype29 = type_array__Arraykernel__Object.color;
6956 idtype30 = type_array__Arraykernel__Object.id;
6957 if(var_listnode11 == NULL) {
6958 var28 = 0;
6959 } else {
6960 if(cltype29 >= var_listnode11->type->table_size) {
6961 var28 = 0;
6962 } else {
6963 var28 = var_listnode11->type->type_table[cltype29] == idtype30;
6964 }
6965 }
6966 if (!var28) {
6967 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10017);
6968 exit(1);
6969 }
6970 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction207>*/;
6971 var_listnode12 = var31;
6972 var_tkwendnode13 = var_nodearraylist11;
6973 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
6974 cltype33 = type_nullable_parser_nodes__TKwend.color;
6975 idtype34 = type_nullable_parser_nodes__TKwend.id;
6976 if(var_tkwendnode13 == NULL) {
6977 var32 = 1;
6978 } else {
6979 if(cltype33 >= var_tkwendnode13->type->table_size) {
6980 var32 = 0;
6981 } else {
6982 var32 = var_tkwendnode13->type->type_table[cltype33] == idtype34;
6983 }
6984 }
6985 if (!var32) {
6986 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10020);
6987 exit(1);
6988 }
6989 var35 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6990 var36 = NULL;
6991 var37 = NULL;
6992 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var35->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var35, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var36, var37, var_listnode10, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var35:AStdClassdef>*/;
6993 CHECK_NEW_parser_nodes__AStdClassdef(var35);
6994 var_pclassdefnode1 = var35;
6995 var_node_list = var_pclassdefnode1;
6996 var38 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction207> */
6997 var39 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var38) /* go_to on <var_p:Parser>*/;
6998 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var39, var_node_list) /* push on <var_p:Parser>*/;
6999 RET_LABEL:;
7000 }
7001 /* method parser#ReduceAction207#action for (self: Object, Parser) */
7002 void VIRTUAL_parser__ReduceAction207__action(val* self, val* p0) {
7003 parser__ReduceAction207__action(self, p0);
7004 RET_LABEL:;
7005 }
7006 /* method parser#ReduceAction209#action for (self: ReduceAction209, Parser) */
7007 void parser__ReduceAction209__action(val* self, val* p0) {
7008 val* var_p /* var p: Parser */;
7009 val* var /* : null */;
7010 val* var_node_list /* var node_list: nullable Object */;
7011 val* var1 /* : nullable Object */;
7012 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7013 val* var2 /* : nullable Object */;
7014 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7015 val* var3 /* : nullable Object */;
7016 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7017 val* var4 /* : nullable Object */;
7018 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7019 val* var5 /* : nullable Object */;
7020 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7021 val* var6 /* : nullable Object */;
7022 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7023 val* var7 /* : nullable Object */;
7024 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7025 val* var8 /* : nullable Object */;
7026 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7027 val* var9 /* : nullable Object */;
7028 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7029 val* var10 /* : Array[Object] */;
7030 val* var_listnode8 /* var listnode8: Array[Object] */;
7031 val* var11 /* : Array[Object] */;
7032 val* var_listnode11 /* var listnode11: Array[Object] */;
7033 val* var12 /* : Array[Object] */;
7034 val* var_listnode13 /* var listnode13: Array[Object] */;
7035 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7036 short int var13 /* : Bool */;
7037 int cltype;
7038 int idtype;
7039 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7040 short int var14 /* : Bool */;
7041 int cltype15;
7042 int idtype16;
7043 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7044 short int var17 /* : Bool */;
7045 int cltype18;
7046 int idtype19;
7047 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7048 short int var20 /* : Bool */;
7049 int cltype21;
7050 int idtype22;
7051 val* var_listnode7 /* var listnode7: nullable Object */;
7052 short int var23 /* : Bool */;
7053 int cltype24;
7054 int idtype25;
7055 val* var26 /* : Array[Object] */;
7056 val* var_listnode12 /* var listnode12: nullable Object */;
7057 short int var27 /* : Bool */;
7058 int cltype28;
7059 int idtype29;
7060 val* var30 /* : Array[Object] */;
7061 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
7062 short int var31 /* : Bool */;
7063 int cltype32;
7064 int idtype33;
7065 val* var34 /* : AStdClassdef */;
7066 val* var35 /* : null */;
7067 val* var36 /* : null */;
7068 val* var37 /* : null */;
7069 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7070 long var38 /* : Int */;
7071 long var39 /* : Int */;
7072 var_p = p0;
7073 var = NULL;
7074 var_node_list = var;
7075 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7076 var_nodearraylist9 = var1;
7077 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7078 var_nodearraylist8 = var2;
7079 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7080 var_nodearraylist7 = var3;
7081 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7082 var_nodearraylist6 = var4;
7083 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7084 var_nodearraylist5 = var5;
7085 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7086 var_nodearraylist4 = var6;
7087 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7088 var_nodearraylist3 = var7;
7089 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7090 var_nodearraylist2 = var8;
7091 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7092 var_nodearraylist1 = var9;
7093 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
7094 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
7095 CHECK_NEW_array__Array(var10);
7096 var_listnode8 = var10;
7097 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
7098 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
7099 CHECK_NEW_array__Array(var11);
7100 var_listnode11 = var11;
7101 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
7102 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
7103 CHECK_NEW_array__Array(var12);
7104 var_listnode13 = var12;
7105 var_pdocnode2 = var_nodearraylist1;
7106 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7107 cltype = type_nullable_parser_nodes__ADoc.color;
7108 idtype = type_nullable_parser_nodes__ADoc.id;
7109 if(var_pdocnode2 == NULL) {
7110 var13 = 1;
7111 } else {
7112 if(cltype >= var_pdocnode2->type->table_size) {
7113 var13 = 0;
7114 } else {
7115 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
7116 }
7117 }
7118 if (!var13) {
7119 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10056);
7120 exit(1);
7121 }
7122 var_pvisibilitynode4 = var_nodearraylist2;
7123 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7124 cltype15 = type_nullable_parser_nodes__AVisibility.color;
7125 idtype16 = type_nullable_parser_nodes__AVisibility.id;
7126 if(var_pvisibilitynode4 == NULL) {
7127 var14 = 1;
7128 } else {
7129 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
7130 var14 = 0;
7131 } else {
7132 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
7133 }
7134 }
7135 if (!var14) {
7136 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10058);
7137 exit(1);
7138 }
7139 var_pclasskindnode5 = var_nodearraylist3;
7140 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7141 cltype18 = type_nullable_parser_nodes__AClasskind.color;
7142 idtype19 = type_nullable_parser_nodes__AClasskind.id;
7143 if(var_pclasskindnode5 == NULL) {
7144 var17 = 1;
7145 } else {
7146 if(cltype18 >= var_pclasskindnode5->type->table_size) {
7147 var17 = 0;
7148 } else {
7149 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
7150 }
7151 }
7152 if (!var17) {
7153 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10060);
7154 exit(1);
7155 }
7156 var_tclassidnode6 = var_nodearraylist5;
7157 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7158 cltype21 = type_nullable_parser_nodes__TClassid.color;
7159 idtype22 = type_nullable_parser_nodes__TClassid.id;
7160 if(var_tclassidnode6 == NULL) {
7161 var20 = 1;
7162 } else {
7163 if(cltype21 >= var_tclassidnode6->type->table_size) {
7164 var20 = 0;
7165 } else {
7166 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
7167 }
7168 }
7169 if (!var20) {
7170 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10062);
7171 exit(1);
7172 }
7173 var_listnode7 = var_nodearraylist6;
7174 /* <var_listnode7:nullable Object> isa Array[Object] */
7175 cltype24 = type_array__Arraykernel__Object.color;
7176 idtype25 = type_array__Arraykernel__Object.id;
7177 if(var_listnode7 == NULL) {
7178 var23 = 0;
7179 } else {
7180 if(cltype24 >= var_listnode7->type->table_size) {
7181 var23 = 0;
7182 } else {
7183 var23 = var_listnode7->type->type_table[cltype24] == idtype25;
7184 }
7185 }
7186 if (!var23) {
7187 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10064);
7188 exit(1);
7189 }
7190 var26 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction209>*/;
7191 var_listnode8 = var26;
7192 var_listnode12 = var_nodearraylist7;
7193 /* <var_listnode12:nullable Object> isa Array[Object] */
7194 cltype28 = type_array__Arraykernel__Object.color;
7195 idtype29 = type_array__Arraykernel__Object.id;
7196 if(var_listnode12 == NULL) {
7197 var27 = 0;
7198 } else {
7199 if(cltype28 >= var_listnode12->type->table_size) {
7200 var27 = 0;
7201 } else {
7202 var27 = var_listnode12->type->type_table[cltype28] == idtype29;
7203 }
7204 }
7205 if (!var27) {
7206 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10067);
7207 exit(1);
7208 }
7209 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction209>*/;
7210 var_listnode13 = var30;
7211 var_tkwendnode14 = var_nodearraylist9;
7212 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
7213 cltype32 = type_nullable_parser_nodes__TKwend.color;
7214 idtype33 = type_nullable_parser_nodes__TKwend.id;
7215 if(var_tkwendnode14 == NULL) {
7216 var31 = 1;
7217 } else {
7218 if(cltype32 >= var_tkwendnode14->type->table_size) {
7219 var31 = 0;
7220 } else {
7221 var31 = var_tkwendnode14->type->type_table[cltype32] == idtype33;
7222 }
7223 }
7224 if (!var31) {
7225 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10070);
7226 exit(1);
7227 }
7228 var34 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7229 var35 = NULL;
7230 var36 = NULL;
7231 var37 = NULL;
7232 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var34->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var34, var_pdocnode2, var35, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var36, var37, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var34:AStdClassdef>*/;
7233 CHECK_NEW_parser_nodes__AStdClassdef(var34);
7234 var_pclassdefnode1 = var34;
7235 var_node_list = var_pclassdefnode1;
7236 var38 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction209> */
7237 var39 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var38) /* go_to on <var_p:Parser>*/;
7238 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var39, var_node_list) /* push on <var_p:Parser>*/;
7239 RET_LABEL:;
7240 }
7241 /* method parser#ReduceAction209#action for (self: Object, Parser) */
7242 void VIRTUAL_parser__ReduceAction209__action(val* self, val* p0) {
7243 parser__ReduceAction209__action(self, p0);
7244 RET_LABEL:;
7245 }
7246 /* method parser#ReduceAction210#action for (self: ReduceAction210, Parser) */
7247 void parser__ReduceAction210__action(val* self, val* p0) {
7248 val* var_p /* var p: Parser */;
7249 val* var /* : null */;
7250 val* var_node_list /* var node_list: nullable Object */;
7251 val* var1 /* : nullable Object */;
7252 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7253 val* var2 /* : nullable Object */;
7254 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7255 val* var3 /* : nullable Object */;
7256 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7257 val* var4 /* : nullable Object */;
7258 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7259 val* var5 /* : nullable Object */;
7260 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7261 val* var6 /* : nullable Object */;
7262 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7263 val* var7 /* : nullable Object */;
7264 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7265 val* var8 /* : nullable Object */;
7266 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7267 val* var9 /* : nullable Object */;
7268 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7269 val* var10 /* : nullable Object */;
7270 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7271 val* var11 /* : Array[Object] */;
7272 val* var_listnode8 /* var listnode8: Array[Object] */;
7273 val* var12 /* : Array[Object] */;
7274 val* var_listnode11 /* var listnode11: Array[Object] */;
7275 val* var13 /* : Array[Object] */;
7276 val* var_listnode13 /* var listnode13: Array[Object] */;
7277 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7278 short int var14 /* : Bool */;
7279 int cltype;
7280 int idtype;
7281 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
7282 short int var15 /* : Bool */;
7283 int cltype16;
7284 int idtype17;
7285 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7286 short int var18 /* : Bool */;
7287 int cltype19;
7288 int idtype20;
7289 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7290 short int var21 /* : Bool */;
7291 int cltype22;
7292 int idtype23;
7293 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7294 short int var24 /* : Bool */;
7295 int cltype25;
7296 int idtype26;
7297 val* var_listnode7 /* var listnode7: nullable Object */;
7298 short int var27 /* : Bool */;
7299 int cltype28;
7300 int idtype29;
7301 val* var30 /* : Array[Object] */;
7302 val* var_listnode12 /* var listnode12: nullable Object */;
7303 short int var31 /* : Bool */;
7304 int cltype32;
7305 int idtype33;
7306 val* var34 /* : Array[Object] */;
7307 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
7308 short int var35 /* : Bool */;
7309 int cltype36;
7310 int idtype37;
7311 val* var38 /* : AStdClassdef */;
7312 val* var39 /* : null */;
7313 val* var40 /* : null */;
7314 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7315 long var41 /* : Int */;
7316 long var42 /* : Int */;
7317 var_p = p0;
7318 var = NULL;
7319 var_node_list = var;
7320 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7321 var_nodearraylist10 = var1;
7322 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7323 var_nodearraylist9 = var2;
7324 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7325 var_nodearraylist8 = var3;
7326 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7327 var_nodearraylist7 = var4;
7328 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7329 var_nodearraylist6 = var5;
7330 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7331 var_nodearraylist5 = var6;
7332 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7333 var_nodearraylist4 = var7;
7334 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7335 var_nodearraylist3 = var8;
7336 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7337 var_nodearraylist2 = var9;
7338 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7339 var_nodearraylist1 = var10;
7340 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
7341 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
7342 CHECK_NEW_array__Array(var11);
7343 var_listnode8 = var11;
7344 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
7345 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
7346 CHECK_NEW_array__Array(var12);
7347 var_listnode11 = var12;
7348 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
7349 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
7350 CHECK_NEW_array__Array(var13);
7351 var_listnode13 = var13;
7352 var_pdocnode2 = var_nodearraylist1;
7353 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7354 cltype = type_nullable_parser_nodes__ADoc.color;
7355 idtype = type_nullable_parser_nodes__ADoc.id;
7356 if(var_pdocnode2 == NULL) {
7357 var14 = 1;
7358 } else {
7359 if(cltype >= var_pdocnode2->type->table_size) {
7360 var14 = 0;
7361 } else {
7362 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
7363 }
7364 }
7365 if (!var14) {
7366 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10107);
7367 exit(1);
7368 }
7369 var_tkwredefnode3 = var_nodearraylist2;
7370 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7371 cltype16 = type_nullable_parser_nodes__TKwredef.color;
7372 idtype17 = type_nullable_parser_nodes__TKwredef.id;
7373 if(var_tkwredefnode3 == NULL) {
7374 var15 = 1;
7375 } else {
7376 if(cltype16 >= var_tkwredefnode3->type->table_size) {
7377 var15 = 0;
7378 } else {
7379 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
7380 }
7381 }
7382 if (!var15) {
7383 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10109);
7384 exit(1);
7385 }
7386 var_pvisibilitynode4 = var_nodearraylist3;
7387 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7388 cltype19 = type_nullable_parser_nodes__AVisibility.color;
7389 idtype20 = type_nullable_parser_nodes__AVisibility.id;
7390 if(var_pvisibilitynode4 == NULL) {
7391 var18 = 1;
7392 } else {
7393 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
7394 var18 = 0;
7395 } else {
7396 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
7397 }
7398 }
7399 if (!var18) {
7400 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10111);
7401 exit(1);
7402 }
7403 var_pclasskindnode5 = var_nodearraylist4;
7404 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7405 cltype22 = type_nullable_parser_nodes__AClasskind.color;
7406 idtype23 = type_nullable_parser_nodes__AClasskind.id;
7407 if(var_pclasskindnode5 == NULL) {
7408 var21 = 1;
7409 } else {
7410 if(cltype22 >= var_pclasskindnode5->type->table_size) {
7411 var21 = 0;
7412 } else {
7413 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
7414 }
7415 }
7416 if (!var21) {
7417 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10113);
7418 exit(1);
7419 }
7420 var_tclassidnode6 = var_nodearraylist6;
7421 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7422 cltype25 = type_nullable_parser_nodes__TClassid.color;
7423 idtype26 = type_nullable_parser_nodes__TClassid.id;
7424 if(var_tclassidnode6 == NULL) {
7425 var24 = 1;
7426 } else {
7427 if(cltype25 >= var_tclassidnode6->type->table_size) {
7428 var24 = 0;
7429 } else {
7430 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
7431 }
7432 }
7433 if (!var24) {
7434 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10115);
7435 exit(1);
7436 }
7437 var_listnode7 = var_nodearraylist7;
7438 /* <var_listnode7:nullable Object> isa Array[Object] */
7439 cltype28 = type_array__Arraykernel__Object.color;
7440 idtype29 = type_array__Arraykernel__Object.id;
7441 if(var_listnode7 == NULL) {
7442 var27 = 0;
7443 } else {
7444 if(cltype28 >= var_listnode7->type->table_size) {
7445 var27 = 0;
7446 } else {
7447 var27 = var_listnode7->type->type_table[cltype28] == idtype29;
7448 }
7449 }
7450 if (!var27) {
7451 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10117);
7452 exit(1);
7453 }
7454 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction210>*/;
7455 var_listnode8 = var30;
7456 var_listnode12 = var_nodearraylist8;
7457 /* <var_listnode12:nullable Object> isa Array[Object] */
7458 cltype32 = type_array__Arraykernel__Object.color;
7459 idtype33 = type_array__Arraykernel__Object.id;
7460 if(var_listnode12 == NULL) {
7461 var31 = 0;
7462 } else {
7463 if(cltype32 >= var_listnode12->type->table_size) {
7464 var31 = 0;
7465 } else {
7466 var31 = var_listnode12->type->type_table[cltype32] == idtype33;
7467 }
7468 }
7469 if (!var31) {
7470 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10120);
7471 exit(1);
7472 }
7473 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction210>*/;
7474 var_listnode13 = var34;
7475 var_tkwendnode14 = var_nodearraylist10;
7476 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
7477 cltype36 = type_nullable_parser_nodes__TKwend.color;
7478 idtype37 = type_nullable_parser_nodes__TKwend.id;
7479 if(var_tkwendnode14 == NULL) {
7480 var35 = 1;
7481 } else {
7482 if(cltype36 >= var_tkwendnode14->type->table_size) {
7483 var35 = 0;
7484 } else {
7485 var35 = var_tkwendnode14->type->type_table[cltype36] == idtype37;
7486 }
7487 }
7488 if (!var35) {
7489 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10123);
7490 exit(1);
7491 }
7492 var38 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7493 var39 = NULL;
7494 var40 = NULL;
7495 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var38->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var38, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var39, var40, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var38:AStdClassdef>*/;
7496 CHECK_NEW_parser_nodes__AStdClassdef(var38);
7497 var_pclassdefnode1 = var38;
7498 var_node_list = var_pclassdefnode1;
7499 var41 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction210> */
7500 var42 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var41) /* go_to on <var_p:Parser>*/;
7501 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var42, var_node_list) /* push on <var_p:Parser>*/;
7502 RET_LABEL:;
7503 }
7504 /* method parser#ReduceAction210#action for (self: Object, Parser) */
7505 void VIRTUAL_parser__ReduceAction210__action(val* self, val* p0) {
7506 parser__ReduceAction210__action(self, p0);
7507 RET_LABEL:;
7508 }
7509 /* method parser#ReduceAction211#action for (self: ReduceAction211, Parser) */
7510 void parser__ReduceAction211__action(val* self, val* p0) {
7511 val* var_p /* var p: Parser */;
7512 val* var /* : null */;
7513 val* var_node_list /* var node_list: nullable Object */;
7514 val* var1 /* : nullable Object */;
7515 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7516 val* var2 /* : nullable Object */;
7517 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7518 val* var3 /* : nullable Object */;
7519 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7520 val* var4 /* : nullable Object */;
7521 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7522 val* var5 /* : nullable Object */;
7523 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7524 val* var6 /* : nullable Object */;
7525 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7526 val* var7 /* : nullable Object */;
7527 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7528 val* var8 /* : nullable Object */;
7529 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7530 val* var9 /* : nullable Object */;
7531 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7532 val* var10 /* : nullable Object */;
7533 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7534 val* var11 /* : Array[Object] */;
7535 val* var_listnode8 /* var listnode8: Array[Object] */;
7536 val* var12 /* : Array[Object] */;
7537 val* var_listnode11 /* var listnode11: Array[Object] */;
7538 val* var13 /* : Array[Object] */;
7539 val* var_listnode13 /* var listnode13: Array[Object] */;
7540 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7541 short int var14 /* : Bool */;
7542 int cltype;
7543 int idtype;
7544 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7545 short int var15 /* : Bool */;
7546 int cltype16;
7547 int idtype17;
7548 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7549 short int var18 /* : Bool */;
7550 int cltype19;
7551 int idtype20;
7552 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7553 short int var21 /* : Bool */;
7554 int cltype22;
7555 int idtype23;
7556 val* var_listnode7 /* var listnode7: nullable Object */;
7557 short int var24 /* : Bool */;
7558 int cltype25;
7559 int idtype26;
7560 val* var27 /* : Array[Object] */;
7561 val* var_listnode12 /* var listnode12: nullable Object */;
7562 short int var28 /* : Bool */;
7563 int cltype29;
7564 int idtype30;
7565 val* var31 /* : Array[Object] */;
7566 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
7567 short int var32 /* : Bool */;
7568 int cltype33;
7569 int idtype34;
7570 val* var35 /* : AStdClassdef */;
7571 val* var36 /* : null */;
7572 val* var37 /* : null */;
7573 val* var38 /* : null */;
7574 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7575 long var39 /* : Int */;
7576 long var40 /* : Int */;
7577 var_p = p0;
7578 var = NULL;
7579 var_node_list = var;
7580 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7581 var_nodearraylist10 = var1;
7582 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7583 var_nodearraylist9 = var2;
7584 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7585 var_nodearraylist8 = var3;
7586 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7587 var_nodearraylist7 = var4;
7588 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7589 var_nodearraylist6 = var5;
7590 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7591 var_nodearraylist5 = var6;
7592 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7593 var_nodearraylist4 = var7;
7594 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7595 var_nodearraylist3 = var8;
7596 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7597 var_nodearraylist2 = var9;
7598 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7599 var_nodearraylist1 = var10;
7600 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
7601 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
7602 CHECK_NEW_array__Array(var11);
7603 var_listnode8 = var11;
7604 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
7605 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
7606 CHECK_NEW_array__Array(var12);
7607 var_listnode11 = var12;
7608 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
7609 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
7610 CHECK_NEW_array__Array(var13);
7611 var_listnode13 = var13;
7612 var_pdocnode2 = var_nodearraylist1;
7613 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7614 cltype = type_nullable_parser_nodes__ADoc.color;
7615 idtype = type_nullable_parser_nodes__ADoc.id;
7616 if(var_pdocnode2 == NULL) {
7617 var14 = 1;
7618 } else {
7619 if(cltype >= var_pdocnode2->type->table_size) {
7620 var14 = 0;
7621 } else {
7622 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
7623 }
7624 }
7625 if (!var14) {
7626 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10160);
7627 exit(1);
7628 }
7629 var_pvisibilitynode4 = var_nodearraylist2;
7630 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7631 cltype16 = type_nullable_parser_nodes__AVisibility.color;
7632 idtype17 = type_nullable_parser_nodes__AVisibility.id;
7633 if(var_pvisibilitynode4 == NULL) {
7634 var15 = 1;
7635 } else {
7636 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
7637 var15 = 0;
7638 } else {
7639 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
7640 }
7641 }
7642 if (!var15) {
7643 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10162);
7644 exit(1);
7645 }
7646 var_pclasskindnode5 = var_nodearraylist3;
7647 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7648 cltype19 = type_nullable_parser_nodes__AClasskind.color;
7649 idtype20 = type_nullable_parser_nodes__AClasskind.id;
7650 if(var_pclasskindnode5 == NULL) {
7651 var18 = 1;
7652 } else {
7653 if(cltype19 >= var_pclasskindnode5->type->table_size) {
7654 var18 = 0;
7655 } else {
7656 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
7657 }
7658 }
7659 if (!var18) {
7660 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10164);
7661 exit(1);
7662 }
7663 var_tclassidnode6 = var_nodearraylist6;
7664 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7665 cltype22 = type_nullable_parser_nodes__TClassid.color;
7666 idtype23 = type_nullable_parser_nodes__TClassid.id;
7667 if(var_tclassidnode6 == NULL) {
7668 var21 = 1;
7669 } else {
7670 if(cltype22 >= var_tclassidnode6->type->table_size) {
7671 var21 = 0;
7672 } else {
7673 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
7674 }
7675 }
7676 if (!var21) {
7677 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10166);
7678 exit(1);
7679 }
7680 var_listnode7 = var_nodearraylist7;
7681 /* <var_listnode7:nullable Object> isa Array[Object] */
7682 cltype25 = type_array__Arraykernel__Object.color;
7683 idtype26 = type_array__Arraykernel__Object.id;
7684 if(var_listnode7 == NULL) {
7685 var24 = 0;
7686 } else {
7687 if(cltype25 >= var_listnode7->type->table_size) {
7688 var24 = 0;
7689 } else {
7690 var24 = var_listnode7->type->type_table[cltype25] == idtype26;
7691 }
7692 }
7693 if (!var24) {
7694 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10168);
7695 exit(1);
7696 }
7697 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction211>*/;
7698 var_listnode8 = var27;
7699 var_listnode12 = var_nodearraylist8;
7700 /* <var_listnode12:nullable Object> isa Array[Object] */
7701 cltype29 = type_array__Arraykernel__Object.color;
7702 idtype30 = type_array__Arraykernel__Object.id;
7703 if(var_listnode12 == NULL) {
7704 var28 = 0;
7705 } else {
7706 if(cltype29 >= var_listnode12->type->table_size) {
7707 var28 = 0;
7708 } else {
7709 var28 = var_listnode12->type->type_table[cltype29] == idtype30;
7710 }
7711 }
7712 if (!var28) {
7713 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10171);
7714 exit(1);
7715 }
7716 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction211>*/;
7717 var_listnode13 = var31;
7718 var_tkwendnode14 = var_nodearraylist10;
7719 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
7720 cltype33 = type_nullable_parser_nodes__TKwend.color;
7721 idtype34 = type_nullable_parser_nodes__TKwend.id;
7722 if(var_tkwendnode14 == NULL) {
7723 var32 = 1;
7724 } else {
7725 if(cltype33 >= var_tkwendnode14->type->table_size) {
7726 var32 = 0;
7727 } else {
7728 var32 = var_tkwendnode14->type->type_table[cltype33] == idtype34;
7729 }
7730 }
7731 if (!var32) {
7732 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10174);
7733 exit(1);
7734 }
7735 var35 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7736 var36 = NULL;
7737 var37 = NULL;
7738 var38 = NULL;
7739 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var35->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var35, var_pdocnode2, var36, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var37, var38, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var35:AStdClassdef>*/;
7740 CHECK_NEW_parser_nodes__AStdClassdef(var35);
7741 var_pclassdefnode1 = var35;
7742 var_node_list = var_pclassdefnode1;
7743 var39 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction211> */
7744 var40 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var39) /* go_to on <var_p:Parser>*/;
7745 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var40, var_node_list) /* push on <var_p:Parser>*/;
7746 RET_LABEL:;
7747 }
7748 /* method parser#ReduceAction211#action for (self: Object, Parser) */
7749 void VIRTUAL_parser__ReduceAction211__action(val* self, val* p0) {
7750 parser__ReduceAction211__action(self, p0);
7751 RET_LABEL:;
7752 }
7753 /* method parser#ReduceAction212#action for (self: ReduceAction212, Parser) */
7754 void parser__ReduceAction212__action(val* self, val* p0) {
7755 val* var_p /* var p: Parser */;
7756 val* var /* : null */;
7757 val* var_node_list /* var node_list: nullable Object */;
7758 val* var1 /* : nullable Object */;
7759 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
7760 val* var2 /* : nullable Object */;
7761 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7762 val* var3 /* : nullable Object */;
7763 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7764 val* var4 /* : nullable Object */;
7765 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7766 val* var5 /* : nullable Object */;
7767 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7768 val* var6 /* : nullable Object */;
7769 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7770 val* var7 /* : nullable Object */;
7771 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7772 val* var8 /* : nullable Object */;
7773 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7774 val* var9 /* : nullable Object */;
7775 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7776 val* var10 /* : nullable Object */;
7777 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7778 val* var11 /* : nullable Object */;
7779 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7780 val* var12 /* : Array[Object] */;
7781 val* var_listnode8 /* var listnode8: Array[Object] */;
7782 val* var13 /* : Array[Object] */;
7783 val* var_listnode11 /* var listnode11: Array[Object] */;
7784 val* var14 /* : Array[Object] */;
7785 val* var_listnode13 /* var listnode13: Array[Object] */;
7786 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7787 short int var15 /* : Bool */;
7788 int cltype;
7789 int idtype;
7790 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7791 short int var16 /* : Bool */;
7792 int cltype17;
7793 int idtype18;
7794 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7795 short int var19 /* : Bool */;
7796 int cltype20;
7797 int idtype21;
7798 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7799 short int var22 /* : Bool */;
7800 int cltype23;
7801 int idtype24;
7802 val* var_listnode7 /* var listnode7: nullable Object */;
7803 short int var25 /* : Bool */;
7804 int cltype26;
7805 int idtype27;
7806 val* var28 /* : Array[Object] */;
7807 val* var_listnode12 /* var listnode12: nullable Object */;
7808 short int var29 /* : Bool */;
7809 int cltype30;
7810 int idtype31;
7811 val* var32 /* : Array[Object] */;
7812 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
7813 short int var33 /* : Bool */;
7814 int cltype34;
7815 int idtype35;
7816 val* var36 /* : AStdClassdef */;
7817 val* var37 /* : null */;
7818 val* var38 /* : null */;
7819 val* var39 /* : null */;
7820 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7821 long var40 /* : Int */;
7822 long var41 /* : Int */;
7823 var_p = p0;
7824 var = NULL;
7825 var_node_list = var;
7826 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7827 var_nodearraylist11 = var1;
7828 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7829 var_nodearraylist10 = var2;
7830 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7831 var_nodearraylist9 = var3;
7832 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7833 var_nodearraylist8 = var4;
7834 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7835 var_nodearraylist7 = var5;
7836 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7837 var_nodearraylist6 = var6;
7838 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7839 var_nodearraylist5 = var7;
7840 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7841 var_nodearraylist4 = var8;
7842 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7843 var_nodearraylist3 = var9;
7844 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7845 var_nodearraylist2 = var10;
7846 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7847 var_nodearraylist1 = var11;
7848 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
7849 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
7850 CHECK_NEW_array__Array(var12);
7851 var_listnode8 = var12;
7852 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
7853 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
7854 CHECK_NEW_array__Array(var13);
7855 var_listnode11 = var13;
7856 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
7857 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
7858 CHECK_NEW_array__Array(var14);
7859 var_listnode13 = var14;
7860 var_pdocnode2 = var_nodearraylist1;
7861 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7862 cltype = type_nullable_parser_nodes__ADoc.color;
7863 idtype = type_nullable_parser_nodes__ADoc.id;
7864 if(var_pdocnode2 == NULL) {
7865 var15 = 1;
7866 } else {
7867 if(cltype >= var_pdocnode2->type->table_size) {
7868 var15 = 0;
7869 } else {
7870 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
7871 }
7872 }
7873 if (!var15) {
7874 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10212);
7875 exit(1);
7876 }
7877 var_pvisibilitynode4 = var_nodearraylist2;
7878 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7879 cltype17 = type_nullable_parser_nodes__AVisibility.color;
7880 idtype18 = type_nullable_parser_nodes__AVisibility.id;
7881 if(var_pvisibilitynode4 == NULL) {
7882 var16 = 1;
7883 } else {
7884 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
7885 var16 = 0;
7886 } else {
7887 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
7888 }
7889 }
7890 if (!var16) {
7891 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10214);
7892 exit(1);
7893 }
7894 var_pclasskindnode5 = var_nodearraylist3;
7895 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7896 cltype20 = type_nullable_parser_nodes__AClasskind.color;
7897 idtype21 = type_nullable_parser_nodes__AClasskind.id;
7898 if(var_pclasskindnode5 == NULL) {
7899 var19 = 1;
7900 } else {
7901 if(cltype20 >= var_pclasskindnode5->type->table_size) {
7902 var19 = 0;
7903 } else {
7904 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
7905 }
7906 }
7907 if (!var19) {
7908 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10216);
7909 exit(1);
7910 }
7911 var_tclassidnode6 = var_nodearraylist7;
7912 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7913 cltype23 = type_nullable_parser_nodes__TClassid.color;
7914 idtype24 = type_nullable_parser_nodes__TClassid.id;
7915 if(var_tclassidnode6 == NULL) {
7916 var22 = 1;
7917 } else {
7918 if(cltype23 >= var_tclassidnode6->type->table_size) {
7919 var22 = 0;
7920 } else {
7921 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
7922 }
7923 }
7924 if (!var22) {
7925 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10218);
7926 exit(1);
7927 }
7928 var_listnode7 = var_nodearraylist8;
7929 /* <var_listnode7:nullable Object> isa Array[Object] */
7930 cltype26 = type_array__Arraykernel__Object.color;
7931 idtype27 = type_array__Arraykernel__Object.id;
7932 if(var_listnode7 == NULL) {
7933 var25 = 0;
7934 } else {
7935 if(cltype26 >= var_listnode7->type->table_size) {
7936 var25 = 0;
7937 } else {
7938 var25 = var_listnode7->type->type_table[cltype26] == idtype27;
7939 }
7940 }
7941 if (!var25) {
7942 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10220);
7943 exit(1);
7944 }
7945 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction212>*/;
7946 var_listnode8 = var28;
7947 var_listnode12 = var_nodearraylist9;
7948 /* <var_listnode12:nullable Object> isa Array[Object] */
7949 cltype30 = type_array__Arraykernel__Object.color;
7950 idtype31 = type_array__Arraykernel__Object.id;
7951 if(var_listnode12 == NULL) {
7952 var29 = 0;
7953 } else {
7954 if(cltype30 >= var_listnode12->type->table_size) {
7955 var29 = 0;
7956 } else {
7957 var29 = var_listnode12->type->type_table[cltype30] == idtype31;
7958 }
7959 }
7960 if (!var29) {
7961 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10223);
7962 exit(1);
7963 }
7964 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction212>*/;
7965 var_listnode13 = var32;
7966 var_tkwendnode14 = var_nodearraylist11;
7967 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
7968 cltype34 = type_nullable_parser_nodes__TKwend.color;
7969 idtype35 = type_nullable_parser_nodes__TKwend.id;
7970 if(var_tkwendnode14 == NULL) {
7971 var33 = 1;
7972 } else {
7973 if(cltype34 >= var_tkwendnode14->type->table_size) {
7974 var33 = 0;
7975 } else {
7976 var33 = var_tkwendnode14->type->type_table[cltype34] == idtype35;
7977 }
7978 }
7979 if (!var33) {
7980 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10226);
7981 exit(1);
7982 }
7983 var36 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7984 var37 = NULL;
7985 var38 = NULL;
7986 var39 = NULL;
7987 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var36->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var36, var_pdocnode2, var37, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var38, var39, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var36:AStdClassdef>*/;
7988 CHECK_NEW_parser_nodes__AStdClassdef(var36);
7989 var_pclassdefnode1 = var36;
7990 var_node_list = var_pclassdefnode1;
7991 var40 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction212> */
7992 var41 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var40) /* go_to on <var_p:Parser>*/;
7993 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var41, var_node_list) /* push on <var_p:Parser>*/;
7994 RET_LABEL:;
7995 }
7996 /* method parser#ReduceAction212#action for (self: Object, Parser) */
7997 void VIRTUAL_parser__ReduceAction212__action(val* self, val* p0) {
7998 parser__ReduceAction212__action(self, p0);
7999 RET_LABEL:;
8000 }
8001 /* method parser#ReduceAction214#action for (self: ReduceAction214, Parser) */
8002 void parser__ReduceAction214__action(val* self, val* p0) {
8003 val* var_p /* var p: Parser */;
8004 val* var /* : null */;
8005 val* var_node_list /* var node_list: nullable Object */;
8006 val* var1 /* : nullable Object */;
8007 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
8008 val* var2 /* : nullable Object */;
8009 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8010 val* var3 /* : nullable Object */;
8011 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8012 val* var4 /* : nullable Object */;
8013 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8014 val* var5 /* : nullable Object */;
8015 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8016 val* var6 /* : nullable Object */;
8017 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8018 val* var7 /* : nullable Object */;
8019 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8020 val* var8 /* : nullable Object */;
8021 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8022 val* var9 /* : nullable Object */;
8023 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8024 val* var10 /* : nullable Object */;
8025 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8026 val* var11 /* : nullable Object */;
8027 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8028 val* var12 /* : Array[Object] */;
8029 val* var_listnode8 /* var listnode8: Array[Object] */;
8030 val* var13 /* : Array[Object] */;
8031 val* var_listnode11 /* var listnode11: Array[Object] */;
8032 val* var14 /* : Array[Object] */;
8033 val* var_listnode13 /* var listnode13: Array[Object] */;
8034 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8035 short int var15 /* : Bool */;
8036 int cltype;
8037 int idtype;
8038 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
8039 short int var16 /* : Bool */;
8040 int cltype17;
8041 int idtype18;
8042 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8043 short int var19 /* : Bool */;
8044 int cltype20;
8045 int idtype21;
8046 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8047 short int var22 /* : Bool */;
8048 int cltype23;
8049 int idtype24;
8050 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8051 short int var25 /* : Bool */;
8052 int cltype26;
8053 int idtype27;
8054 val* var_listnode7 /* var listnode7: nullable Object */;
8055 short int var28 /* : Bool */;
8056 int cltype29;
8057 int idtype30;
8058 val* var31 /* : Array[Object] */;
8059 val* var_listnode12 /* var listnode12: nullable Object */;
8060 short int var32 /* : Bool */;
8061 int cltype33;
8062 int idtype34;
8063 val* var35 /* : Array[Object] */;
8064 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
8065 short int var36 /* : Bool */;
8066 int cltype37;
8067 int idtype38;
8068 val* var39 /* : AStdClassdef */;
8069 val* var40 /* : null */;
8070 val* var41 /* : null */;
8071 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8072 long var42 /* : Int */;
8073 long var43 /* : Int */;
8074 var_p = p0;
8075 var = NULL;
8076 var_node_list = var;
8077 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8078 var_nodearraylist11 = var1;
8079 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8080 var_nodearraylist10 = var2;
8081 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8082 var_nodearraylist9 = var3;
8083 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8084 var_nodearraylist8 = var4;
8085 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8086 var_nodearraylist7 = var5;
8087 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8088 var_nodearraylist6 = var6;
8089 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8090 var_nodearraylist5 = var7;
8091 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8092 var_nodearraylist4 = var8;
8093 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8094 var_nodearraylist3 = var9;
8095 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8096 var_nodearraylist2 = var10;
8097 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8098 var_nodearraylist1 = var11;
8099 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
8100 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
8101 CHECK_NEW_array__Array(var12);
8102 var_listnode8 = var12;
8103 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
8104 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
8105 CHECK_NEW_array__Array(var13);
8106 var_listnode11 = var13;
8107 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
8108 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
8109 CHECK_NEW_array__Array(var14);
8110 var_listnode13 = var14;
8111 var_pdocnode2 = var_nodearraylist1;
8112 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8113 cltype = type_nullable_parser_nodes__ADoc.color;
8114 idtype = type_nullable_parser_nodes__ADoc.id;
8115 if(var_pdocnode2 == NULL) {
8116 var15 = 1;
8117 } else {
8118 if(cltype >= var_pdocnode2->type->table_size) {
8119 var15 = 0;
8120 } else {
8121 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
8122 }
8123 }
8124 if (!var15) {
8125 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10264);
8126 exit(1);
8127 }
8128 var_tkwredefnode3 = var_nodearraylist2;
8129 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8130 cltype17 = type_nullable_parser_nodes__TKwredef.color;
8131 idtype18 = type_nullable_parser_nodes__TKwredef.id;
8132 if(var_tkwredefnode3 == NULL) {
8133 var16 = 1;
8134 } else {
8135 if(cltype17 >= var_tkwredefnode3->type->table_size) {
8136 var16 = 0;
8137 } else {
8138 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
8139 }
8140 }
8141 if (!var16) {
8142 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10266);
8143 exit(1);
8144 }
8145 var_pvisibilitynode4 = var_nodearraylist3;
8146 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8147 cltype20 = type_nullable_parser_nodes__AVisibility.color;
8148 idtype21 = type_nullable_parser_nodes__AVisibility.id;
8149 if(var_pvisibilitynode4 == NULL) {
8150 var19 = 1;
8151 } else {
8152 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
8153 var19 = 0;
8154 } else {
8155 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
8156 }
8157 }
8158 if (!var19) {
8159 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10268);
8160 exit(1);
8161 }
8162 var_pclasskindnode5 = var_nodearraylist4;
8163 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8164 cltype23 = type_nullable_parser_nodes__AClasskind.color;
8165 idtype24 = type_nullable_parser_nodes__AClasskind.id;
8166 if(var_pclasskindnode5 == NULL) {
8167 var22 = 1;
8168 } else {
8169 if(cltype23 >= var_pclasskindnode5->type->table_size) {
8170 var22 = 0;
8171 } else {
8172 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
8173 }
8174 }
8175 if (!var22) {
8176 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10270);
8177 exit(1);
8178 }
8179 var_tclassidnode6 = var_nodearraylist7;
8180 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8181 cltype26 = type_nullable_parser_nodes__TClassid.color;
8182 idtype27 = type_nullable_parser_nodes__TClassid.id;
8183 if(var_tclassidnode6 == NULL) {
8184 var25 = 1;
8185 } else {
8186 if(cltype26 >= var_tclassidnode6->type->table_size) {
8187 var25 = 0;
8188 } else {
8189 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
8190 }
8191 }
8192 if (!var25) {
8193 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10272);
8194 exit(1);
8195 }
8196 var_listnode7 = var_nodearraylist8;
8197 /* <var_listnode7:nullable Object> isa Array[Object] */
8198 cltype29 = type_array__Arraykernel__Object.color;
8199 idtype30 = type_array__Arraykernel__Object.id;
8200 if(var_listnode7 == NULL) {
8201 var28 = 0;
8202 } else {
8203 if(cltype29 >= var_listnode7->type->table_size) {
8204 var28 = 0;
8205 } else {
8206 var28 = var_listnode7->type->type_table[cltype29] == idtype30;
8207 }
8208 }
8209 if (!var28) {
8210 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10274);
8211 exit(1);
8212 }
8213 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction214>*/;
8214 var_listnode8 = var31;
8215 var_listnode12 = var_nodearraylist9;
8216 /* <var_listnode12:nullable Object> isa Array[Object] */
8217 cltype33 = type_array__Arraykernel__Object.color;
8218 idtype34 = type_array__Arraykernel__Object.id;
8219 if(var_listnode12 == NULL) {
8220 var32 = 0;
8221 } else {
8222 if(cltype33 >= var_listnode12->type->table_size) {
8223 var32 = 0;
8224 } else {
8225 var32 = var_listnode12->type->type_table[cltype33] == idtype34;
8226 }
8227 }
8228 if (!var32) {
8229 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10277);
8230 exit(1);
8231 }
8232 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction214>*/;
8233 var_listnode13 = var35;
8234 var_tkwendnode14 = var_nodearraylist11;
8235 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
8236 cltype37 = type_nullable_parser_nodes__TKwend.color;
8237 idtype38 = type_nullable_parser_nodes__TKwend.id;
8238 if(var_tkwendnode14 == NULL) {
8239 var36 = 1;
8240 } else {
8241 if(cltype37 >= var_tkwendnode14->type->table_size) {
8242 var36 = 0;
8243 } else {
8244 var36 = var_tkwendnode14->type->type_table[cltype37] == idtype38;
8245 }
8246 }
8247 if (!var36) {
8248 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10280);
8249 exit(1);
8250 }
8251 var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8252 var40 = NULL;
8253 var41 = NULL;
8254 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var39->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var39, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var40, var41, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var39:AStdClassdef>*/;
8255 CHECK_NEW_parser_nodes__AStdClassdef(var39);
8256 var_pclassdefnode1 = var39;
8257 var_node_list = var_pclassdefnode1;
8258 var42 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction214> */
8259 var43 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var42) /* go_to on <var_p:Parser>*/;
8260 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var43, var_node_list) /* push on <var_p:Parser>*/;
8261 RET_LABEL:;
8262 }
8263 /* method parser#ReduceAction214#action for (self: Object, Parser) */
8264 void VIRTUAL_parser__ReduceAction214__action(val* self, val* p0) {
8265 parser__ReduceAction214__action(self, p0);
8266 RET_LABEL:;
8267 }
8268 /* method parser#ReduceAction215#action for (self: ReduceAction215, Parser) */
8269 void parser__ReduceAction215__action(val* self, val* p0) {
8270 val* var_p /* var p: Parser */;
8271 val* var /* : null */;
8272 val* var_node_list /* var node_list: nullable Object */;
8273 val* var1 /* : nullable Object */;
8274 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
8275 val* var2 /* : nullable Object */;
8276 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
8277 val* var3 /* : nullable Object */;
8278 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8279 val* var4 /* : nullable Object */;
8280 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8281 val* var5 /* : nullable Object */;
8282 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8283 val* var6 /* : nullable Object */;
8284 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8285 val* var7 /* : nullable Object */;
8286 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8287 val* var8 /* : nullable Object */;
8288 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8289 val* var9 /* : nullable Object */;
8290 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8291 val* var10 /* : nullable Object */;
8292 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8293 val* var11 /* : nullable Object */;
8294 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8295 val* var12 /* : nullable Object */;
8296 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8297 val* var13 /* : Array[Object] */;
8298 val* var_listnode8 /* var listnode8: Array[Object] */;
8299 val* var14 /* : Array[Object] */;
8300 val* var_listnode11 /* var listnode11: Array[Object] */;
8301 val* var15 /* : Array[Object] */;
8302 val* var_listnode13 /* var listnode13: Array[Object] */;
8303 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8304 short int var16 /* : Bool */;
8305 int cltype;
8306 int idtype;
8307 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
8308 short int var17 /* : Bool */;
8309 int cltype18;
8310 int idtype19;
8311 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8312 short int var20 /* : Bool */;
8313 int cltype21;
8314 int idtype22;
8315 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8316 short int var23 /* : Bool */;
8317 int cltype24;
8318 int idtype25;
8319 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8320 short int var26 /* : Bool */;
8321 int cltype27;
8322 int idtype28;
8323 val* var_listnode7 /* var listnode7: nullable Object */;
8324 short int var29 /* : Bool */;
8325 int cltype30;
8326 int idtype31;
8327 val* var32 /* : Array[Object] */;
8328 val* var_listnode12 /* var listnode12: nullable Object */;
8329 short int var33 /* : Bool */;
8330 int cltype34;
8331 int idtype35;
8332 val* var36 /* : Array[Object] */;
8333 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
8334 short int var37 /* : Bool */;
8335 int cltype38;
8336 int idtype39;
8337 val* var40 /* : AStdClassdef */;
8338 val* var41 /* : null */;
8339 val* var42 /* : null */;
8340 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8341 long var43 /* : Int */;
8342 long var44 /* : Int */;
8343 var_p = p0;
8344 var = NULL;
8345 var_node_list = var;
8346 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8347 var_nodearraylist12 = var1;
8348 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8349 var_nodearraylist11 = var2;
8350 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8351 var_nodearraylist10 = var3;
8352 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8353 var_nodearraylist9 = var4;
8354 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8355 var_nodearraylist8 = var5;
8356 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8357 var_nodearraylist7 = var6;
8358 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8359 var_nodearraylist6 = var7;
8360 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8361 var_nodearraylist5 = var8;
8362 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8363 var_nodearraylist4 = var9;
8364 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8365 var_nodearraylist3 = var10;
8366 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8367 var_nodearraylist2 = var11;
8368 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8369 var_nodearraylist1 = var12;
8370 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
8371 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
8372 CHECK_NEW_array__Array(var13);
8373 var_listnode8 = var13;
8374 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
8375 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
8376 CHECK_NEW_array__Array(var14);
8377 var_listnode11 = var14;
8378 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
8379 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
8380 CHECK_NEW_array__Array(var15);
8381 var_listnode13 = var15;
8382 var_pdocnode2 = var_nodearraylist1;
8383 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8384 cltype = type_nullable_parser_nodes__ADoc.color;
8385 idtype = type_nullable_parser_nodes__ADoc.id;
8386 if(var_pdocnode2 == NULL) {
8387 var16 = 1;
8388 } else {
8389 if(cltype >= var_pdocnode2->type->table_size) {
8390 var16 = 0;
8391 } else {
8392 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
8393 }
8394 }
8395 if (!var16) {
8396 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10319);
8397 exit(1);
8398 }
8399 var_tkwredefnode3 = var_nodearraylist2;
8400 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8401 cltype18 = type_nullable_parser_nodes__TKwredef.color;
8402 idtype19 = type_nullable_parser_nodes__TKwredef.id;
8403 if(var_tkwredefnode3 == NULL) {
8404 var17 = 1;
8405 } else {
8406 if(cltype18 >= var_tkwredefnode3->type->table_size) {
8407 var17 = 0;
8408 } else {
8409 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
8410 }
8411 }
8412 if (!var17) {
8413 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10321);
8414 exit(1);
8415 }
8416 var_pvisibilitynode4 = var_nodearraylist3;
8417 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8418 cltype21 = type_nullable_parser_nodes__AVisibility.color;
8419 idtype22 = type_nullable_parser_nodes__AVisibility.id;
8420 if(var_pvisibilitynode4 == NULL) {
8421 var20 = 1;
8422 } else {
8423 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
8424 var20 = 0;
8425 } else {
8426 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
8427 }
8428 }
8429 if (!var20) {
8430 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10323);
8431 exit(1);
8432 }
8433 var_pclasskindnode5 = var_nodearraylist4;
8434 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8435 cltype24 = type_nullable_parser_nodes__AClasskind.color;
8436 idtype25 = type_nullable_parser_nodes__AClasskind.id;
8437 if(var_pclasskindnode5 == NULL) {
8438 var23 = 1;
8439 } else {
8440 if(cltype24 >= var_pclasskindnode5->type->table_size) {
8441 var23 = 0;
8442 } else {
8443 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
8444 }
8445 }
8446 if (!var23) {
8447 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10325);
8448 exit(1);
8449 }
8450 var_tclassidnode6 = var_nodearraylist8;
8451 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8452 cltype27 = type_nullable_parser_nodes__TClassid.color;
8453 idtype28 = type_nullable_parser_nodes__TClassid.id;
8454 if(var_tclassidnode6 == NULL) {
8455 var26 = 1;
8456 } else {
8457 if(cltype27 >= var_tclassidnode6->type->table_size) {
8458 var26 = 0;
8459 } else {
8460 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
8461 }
8462 }
8463 if (!var26) {
8464 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10327);
8465 exit(1);
8466 }
8467 var_listnode7 = var_nodearraylist9;
8468 /* <var_listnode7:nullable Object> isa Array[Object] */
8469 cltype30 = type_array__Arraykernel__Object.color;
8470 idtype31 = type_array__Arraykernel__Object.id;
8471 if(var_listnode7 == NULL) {
8472 var29 = 0;
8473 } else {
8474 if(cltype30 >= var_listnode7->type->table_size) {
8475 var29 = 0;
8476 } else {
8477 var29 = var_listnode7->type->type_table[cltype30] == idtype31;
8478 }
8479 }
8480 if (!var29) {
8481 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10329);
8482 exit(1);
8483 }
8484 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction215>*/;
8485 var_listnode8 = var32;
8486 var_listnode12 = var_nodearraylist10;
8487 /* <var_listnode12:nullable Object> isa Array[Object] */
8488 cltype34 = type_array__Arraykernel__Object.color;
8489 idtype35 = type_array__Arraykernel__Object.id;
8490 if(var_listnode12 == NULL) {
8491 var33 = 0;
8492 } else {
8493 if(cltype34 >= var_listnode12->type->table_size) {
8494 var33 = 0;
8495 } else {
8496 var33 = var_listnode12->type->type_table[cltype34] == idtype35;
8497 }
8498 }
8499 if (!var33) {
8500 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10332);
8501 exit(1);
8502 }
8503 var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction215>*/;
8504 var_listnode13 = var36;
8505 var_tkwendnode14 = var_nodearraylist12;
8506 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
8507 cltype38 = type_nullable_parser_nodes__TKwend.color;
8508 idtype39 = type_nullable_parser_nodes__TKwend.id;
8509 if(var_tkwendnode14 == NULL) {
8510 var37 = 1;
8511 } else {
8512 if(cltype38 >= var_tkwendnode14->type->table_size) {
8513 var37 = 0;
8514 } else {
8515 var37 = var_tkwendnode14->type->type_table[cltype38] == idtype39;
8516 }
8517 }
8518 if (!var37) {
8519 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10335);
8520 exit(1);
8521 }
8522 var40 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8523 var41 = NULL;
8524 var42 = NULL;
8525 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var40->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var40, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var41, var42, var_listnode11, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var40:AStdClassdef>*/;
8526 CHECK_NEW_parser_nodes__AStdClassdef(var40);
8527 var_pclassdefnode1 = var40;
8528 var_node_list = var_pclassdefnode1;
8529 var43 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction215> */
8530 var44 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var43) /* go_to on <var_p:Parser>*/;
8531 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var44, var_node_list) /* push on <var_p:Parser>*/;
8532 RET_LABEL:;
8533 }
8534 /* method parser#ReduceAction215#action for (self: Object, Parser) */
8535 void VIRTUAL_parser__ReduceAction215__action(val* self, val* p0) {
8536 parser__ReduceAction215__action(self, p0);
8537 RET_LABEL:;
8538 }
8539 /* method parser#ReduceAction217#action for (self: ReduceAction217, Parser) */
8540 void parser__ReduceAction217__action(val* self, val* p0) {
8541 val* var_p /* var p: Parser */;
8542 val* var /* : null */;
8543 val* var_node_list /* var node_list: nullable Object */;
8544 val* var1 /* : nullable Object */;
8545 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8546 val* var2 /* : nullable Object */;
8547 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8548 val* var3 /* : nullable Object */;
8549 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8550 val* var4 /* : nullable Object */;
8551 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8552 val* var5 /* : nullable Object */;
8553 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8554 val* var6 /* : nullable Object */;
8555 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8556 val* var7 /* : nullable Object */;
8557 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8558 val* var8 /* : nullable Object */;
8559 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8560 val* var9 /* : nullable Object */;
8561 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8562 val* var10 /* : Array[Object] */;
8563 val* var_listnode7 /* var listnode7: Array[Object] */;
8564 val* var11 /* : Array[Object] */;
8565 val* var_listnode15 /* var listnode15: Array[Object] */;
8566 val* var12 /* : Array[Object] */;
8567 val* var_listnode17 /* var listnode17: Array[Object] */;
8568 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8569 short int var13 /* : Bool */;
8570 int cltype;
8571 int idtype;
8572 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8573 short int var14 /* : Bool */;
8574 int cltype15;
8575 int idtype16;
8576 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8577 short int var17 /* : Bool */;
8578 int cltype18;
8579 int idtype19;
8580 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8581 short int var20 /* : Bool */;
8582 int cltype21;
8583 int idtype22;
8584 val* var23 /* : Array[Object] */;
8585 val* var_listnode12 /* var listnode12: Array[Object] */;
8586 val* var_listnode11 /* var listnode11: nullable Object */;
8587 short int var24 /* : Bool */;
8588 int cltype25;
8589 int idtype26;
8590 val* var27 /* : Array[Object] */;
8591 val* var28 /* : AAnnotations */;
8592 val* var29 /* : null */;
8593 val* var30 /* : null */;
8594 val* var31 /* : null */;
8595 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
8596 val* var_listnode16 /* var listnode16: nullable Object */;
8597 short int var32 /* : Bool */;
8598 int cltype33;
8599 int idtype34;
8600 val* var35 /* : Array[Object] */;
8601 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
8602 short int var36 /* : Bool */;
8603 int cltype37;
8604 int idtype38;
8605 val* var39 /* : AStdClassdef */;
8606 val* var40 /* : null */;
8607 val* var41 /* : null */;
8608 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8609 long var42 /* : Int */;
8610 long var43 /* : Int */;
8611 var_p = p0;
8612 var = NULL;
8613 var_node_list = var;
8614 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8615 var_nodearraylist9 = var1;
8616 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8617 var_nodearraylist8 = var2;
8618 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8619 var_nodearraylist7 = var3;
8620 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8621 var_nodearraylist6 = var4;
8622 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8623 var_nodearraylist5 = var5;
8624 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8625 var_nodearraylist4 = var6;
8626 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8627 var_nodearraylist3 = var7;
8628 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8629 var_nodearraylist2 = var8;
8630 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8631 var_nodearraylist1 = var9;
8632 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
8633 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
8634 CHECK_NEW_array__Array(var10);
8635 var_listnode7 = var10;
8636 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
8637 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
8638 CHECK_NEW_array__Array(var11);
8639 var_listnode15 = var11;
8640 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
8641 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
8642 CHECK_NEW_array__Array(var12);
8643 var_listnode17 = var12;
8644 var_pdocnode2 = var_nodearraylist1;
8645 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8646 cltype = type_nullable_parser_nodes__ADoc.color;
8647 idtype = type_nullable_parser_nodes__ADoc.id;
8648 if(var_pdocnode2 == NULL) {
8649 var13 = 1;
8650 } else {
8651 if(cltype >= var_pdocnode2->type->table_size) {
8652 var13 = 0;
8653 } else {
8654 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
8655 }
8656 }
8657 if (!var13) {
8658 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10371);
8659 exit(1);
8660 }
8661 var_pvisibilitynode4 = var_nodearraylist2;
8662 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8663 cltype15 = type_nullable_parser_nodes__AVisibility.color;
8664 idtype16 = type_nullable_parser_nodes__AVisibility.id;
8665 if(var_pvisibilitynode4 == NULL) {
8666 var14 = 1;
8667 } else {
8668 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
8669 var14 = 0;
8670 } else {
8671 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
8672 }
8673 }
8674 if (!var14) {
8675 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10373);
8676 exit(1);
8677 }
8678 var_pclasskindnode5 = var_nodearraylist3;
8679 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8680 cltype18 = type_nullable_parser_nodes__AClasskind.color;
8681 idtype19 = type_nullable_parser_nodes__AClasskind.id;
8682 if(var_pclasskindnode5 == NULL) {
8683 var17 = 1;
8684 } else {
8685 if(cltype18 >= var_pclasskindnode5->type->table_size) {
8686 var17 = 0;
8687 } else {
8688 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
8689 }
8690 }
8691 if (!var17) {
8692 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10375);
8693 exit(1);
8694 }
8695 var_tclassidnode6 = var_nodearraylist5;
8696 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8697 cltype21 = type_nullable_parser_nodes__TClassid.color;
8698 idtype22 = type_nullable_parser_nodes__TClassid.id;
8699 if(var_tclassidnode6 == NULL) {
8700 var20 = 1;
8701 } else {
8702 if(cltype21 >= var_tclassidnode6->type->table_size) {
8703 var20 = 0;
8704 } else {
8705 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
8706 }
8707 }
8708 if (!var20) {
8709 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10377);
8710 exit(1);
8711 }
8712 var23 = NEW_array__Array(&type_array__Arraykernel__Object);
8713 ((void (*)(val*))(var23->class->vft[COLOR_array__Array__init]))(var23) /* init on <var23:Array[Object]>*/;
8714 CHECK_NEW_array__Array(var23);
8715 var_listnode12 = var23;
8716 var_listnode11 = var_nodearraylist6;
8717 /* <var_listnode11:nullable Object> isa Array[Object] */
8718 cltype25 = type_array__Arraykernel__Object.color;
8719 idtype26 = type_array__Arraykernel__Object.id;
8720 if(var_listnode11 == NULL) {
8721 var24 = 0;
8722 } else {
8723 if(cltype25 >= var_listnode11->type->table_size) {
8724 var24 = 0;
8725 } else {
8726 var24 = var_listnode11->type->type_table[cltype25] == idtype26;
8727 }
8728 }
8729 if (!var24) {
8730 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10380);
8731 exit(1);
8732 }
8733 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction217>*/;
8734 var_listnode12 = var27;
8735 var28 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
8736 var29 = NULL;
8737 var30 = NULL;
8738 var31 = NULL;
8739 ((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>*/;
8740 CHECK_NEW_parser_nodes__AAnnotations(var28);
8741 var_pannotationsnode8 = var28;
8742 var_listnode16 = var_nodearraylist7;
8743 /* <var_listnode16:nullable Object> isa Array[Object] */
8744 cltype33 = type_array__Arraykernel__Object.color;
8745 idtype34 = type_array__Arraykernel__Object.id;
8746 if(var_listnode16 == NULL) {
8747 var32 = 0;
8748 } else {
8749 if(cltype33 >= var_listnode16->type->table_size) {
8750 var32 = 0;
8751 } else {
8752 var32 = var_listnode16->type->type_table[cltype33] == idtype34;
8753 }
8754 }
8755 if (!var32) {
8756 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10389);
8757 exit(1);
8758 }
8759 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction217>*/;
8760 var_listnode17 = var35;
8761 var_tkwendnode18 = var_nodearraylist9;
8762 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
8763 cltype37 = type_nullable_parser_nodes__TKwend.color;
8764 idtype38 = type_nullable_parser_nodes__TKwend.id;
8765 if(var_tkwendnode18 == NULL) {
8766 var36 = 1;
8767 } else {
8768 if(cltype37 >= var_tkwendnode18->type->table_size) {
8769 var36 = 0;
8770 } else {
8771 var36 = var_tkwendnode18->type->type_table[cltype37] == idtype38;
8772 }
8773 }
8774 if (!var36) {
8775 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10392);
8776 exit(1);
8777 }
8778 var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8779 var40 = NULL;
8780 var41 = NULL;
8781 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var39->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var39, var_pdocnode2, var40, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var41, var_listnode15, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var39:AStdClassdef>*/;
8782 CHECK_NEW_parser_nodes__AStdClassdef(var39);
8783 var_pclassdefnode1 = var39;
8784 var_node_list = var_pclassdefnode1;
8785 var42 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction217> */
8786 var43 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var42) /* go_to on <var_p:Parser>*/;
8787 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var43, var_node_list) /* push on <var_p:Parser>*/;
8788 RET_LABEL:;
8789 }
8790 /* method parser#ReduceAction217#action for (self: Object, Parser) */
8791 void VIRTUAL_parser__ReduceAction217__action(val* self, val* p0) {
8792 parser__ReduceAction217__action(self, p0);
8793 RET_LABEL:;
8794 }
8795 /* method parser#ReduceAction218#action for (self: ReduceAction218, Parser) */
8796 void parser__ReduceAction218__action(val* self, val* p0) {
8797 val* var_p /* var p: Parser */;
8798 val* var /* : null */;
8799 val* var_node_list /* var node_list: nullable Object */;
8800 val* var1 /* : nullable Object */;
8801 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8802 val* var2 /* : nullable Object */;
8803 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8804 val* var3 /* : nullable Object */;
8805 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8806 val* var4 /* : nullable Object */;
8807 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8808 val* var5 /* : nullable Object */;
8809 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8810 val* var6 /* : nullable Object */;
8811 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8812 val* var7 /* : nullable Object */;
8813 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8814 val* var8 /* : nullable Object */;
8815 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8816 val* var9 /* : nullable Object */;
8817 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8818 val* var10 /* : nullable Object */;
8819 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8820 val* var11 /* : Array[Object] */;
8821 val* var_listnode7 /* var listnode7: Array[Object] */;
8822 val* var12 /* : Array[Object] */;
8823 val* var_listnode15 /* var listnode15: Array[Object] */;
8824 val* var13 /* : Array[Object] */;
8825 val* var_listnode17 /* var listnode17: Array[Object] */;
8826 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8827 short int var14 /* : Bool */;
8828 int cltype;
8829 int idtype;
8830 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
8831 short int var15 /* : Bool */;
8832 int cltype16;
8833 int idtype17;
8834 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8835 short int var18 /* : Bool */;
8836 int cltype19;
8837 int idtype20;
8838 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8839 short int var21 /* : Bool */;
8840 int cltype22;
8841 int idtype23;
8842 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8843 short int var24 /* : Bool */;
8844 int cltype25;
8845 int idtype26;
8846 val* var27 /* : Array[Object] */;
8847 val* var_listnode12 /* var listnode12: Array[Object] */;
8848 val* var_listnode11 /* var listnode11: nullable Object */;
8849 short int var28 /* : Bool */;
8850 int cltype29;
8851 int idtype30;
8852 val* var31 /* : Array[Object] */;
8853 val* var32 /* : AAnnotations */;
8854 val* var33 /* : null */;
8855 val* var34 /* : null */;
8856 val* var35 /* : null */;
8857 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
8858 val* var_listnode16 /* var listnode16: nullable Object */;
8859 short int var36 /* : Bool */;
8860 int cltype37;
8861 int idtype38;
8862 val* var39 /* : Array[Object] */;
8863 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
8864 short int var40 /* : Bool */;
8865 int cltype41;
8866 int idtype42;
8867 val* var43 /* : AStdClassdef */;
8868 val* var44 /* : null */;
8869 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8870 long var45 /* : Int */;
8871 long var46 /* : Int */;
8872 var_p = p0;
8873 var = NULL;
8874 var_node_list = var;
8875 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8876 var_nodearraylist10 = var1;
8877 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8878 var_nodearraylist9 = var2;
8879 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8880 var_nodearraylist8 = var3;
8881 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8882 var_nodearraylist7 = var4;
8883 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8884 var_nodearraylist6 = var5;
8885 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8886 var_nodearraylist5 = var6;
8887 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8888 var_nodearraylist4 = var7;
8889 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8890 var_nodearraylist3 = var8;
8891 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8892 var_nodearraylist2 = var9;
8893 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8894 var_nodearraylist1 = var10;
8895 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
8896 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
8897 CHECK_NEW_array__Array(var11);
8898 var_listnode7 = var11;
8899 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
8900 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
8901 CHECK_NEW_array__Array(var12);
8902 var_listnode15 = var12;
8903 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
8904 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
8905 CHECK_NEW_array__Array(var13);
8906 var_listnode17 = var13;
8907 var_pdocnode2 = var_nodearraylist1;
8908 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8909 cltype = type_nullable_parser_nodes__ADoc.color;
8910 idtype = type_nullable_parser_nodes__ADoc.id;
8911 if(var_pdocnode2 == NULL) {
8912 var14 = 1;
8913 } else {
8914 if(cltype >= var_pdocnode2->type->table_size) {
8915 var14 = 0;
8916 } else {
8917 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
8918 }
8919 }
8920 if (!var14) {
8921 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10429);
8922 exit(1);
8923 }
8924 var_tkwredefnode3 = var_nodearraylist2;
8925 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8926 cltype16 = type_nullable_parser_nodes__TKwredef.color;
8927 idtype17 = type_nullable_parser_nodes__TKwredef.id;
8928 if(var_tkwredefnode3 == NULL) {
8929 var15 = 1;
8930 } else {
8931 if(cltype16 >= var_tkwredefnode3->type->table_size) {
8932 var15 = 0;
8933 } else {
8934 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
8935 }
8936 }
8937 if (!var15) {
8938 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10431);
8939 exit(1);
8940 }
8941 var_pvisibilitynode4 = var_nodearraylist3;
8942 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8943 cltype19 = type_nullable_parser_nodes__AVisibility.color;
8944 idtype20 = type_nullable_parser_nodes__AVisibility.id;
8945 if(var_pvisibilitynode4 == NULL) {
8946 var18 = 1;
8947 } else {
8948 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
8949 var18 = 0;
8950 } else {
8951 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
8952 }
8953 }
8954 if (!var18) {
8955 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10433);
8956 exit(1);
8957 }
8958 var_pclasskindnode5 = var_nodearraylist4;
8959 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8960 cltype22 = type_nullable_parser_nodes__AClasskind.color;
8961 idtype23 = type_nullable_parser_nodes__AClasskind.id;
8962 if(var_pclasskindnode5 == NULL) {
8963 var21 = 1;
8964 } else {
8965 if(cltype22 >= var_pclasskindnode5->type->table_size) {
8966 var21 = 0;
8967 } else {
8968 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
8969 }
8970 }
8971 if (!var21) {
8972 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10435);
8973 exit(1);
8974 }
8975 var_tclassidnode6 = var_nodearraylist6;
8976 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8977 cltype25 = type_nullable_parser_nodes__TClassid.color;
8978 idtype26 = type_nullable_parser_nodes__TClassid.id;
8979 if(var_tclassidnode6 == NULL) {
8980 var24 = 1;
8981 } else {
8982 if(cltype25 >= var_tclassidnode6->type->table_size) {
8983 var24 = 0;
8984 } else {
8985 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
8986 }
8987 }
8988 if (!var24) {
8989 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10437);
8990 exit(1);
8991 }
8992 var27 = NEW_array__Array(&type_array__Arraykernel__Object);
8993 ((void (*)(val*))(var27->class->vft[COLOR_array__Array__init]))(var27) /* init on <var27:Array[Object]>*/;
8994 CHECK_NEW_array__Array(var27);
8995 var_listnode12 = var27;
8996 var_listnode11 = var_nodearraylist7;
8997 /* <var_listnode11:nullable Object> isa Array[Object] */
8998 cltype29 = type_array__Arraykernel__Object.color;
8999 idtype30 = type_array__Arraykernel__Object.id;
9000 if(var_listnode11 == NULL) {
9001 var28 = 0;
9002 } else {
9003 if(cltype29 >= var_listnode11->type->table_size) {
9004 var28 = 0;
9005 } else {
9006 var28 = var_listnode11->type->type_table[cltype29] == idtype30;
9007 }
9008 }
9009 if (!var28) {
9010 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10440);
9011 exit(1);
9012 }
9013 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction218>*/;
9014 var_listnode12 = var31;
9015 var32 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
9016 var33 = NULL;
9017 var34 = NULL;
9018 var35 = NULL;
9019 ((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>*/;
9020 CHECK_NEW_parser_nodes__AAnnotations(var32);
9021 var_pannotationsnode8 = var32;
9022 var_listnode16 = var_nodearraylist8;
9023 /* <var_listnode16:nullable Object> isa Array[Object] */
9024 cltype37 = type_array__Arraykernel__Object.color;
9025 idtype38 = type_array__Arraykernel__Object.id;
9026 if(var_listnode16 == NULL) {
9027 var36 = 0;
9028 } else {
9029 if(cltype37 >= var_listnode16->type->table_size) {
9030 var36 = 0;
9031 } else {
9032 var36 = var_listnode16->type->type_table[cltype37] == idtype38;
9033 }
9034 }
9035 if (!var36) {
9036 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10449);
9037 exit(1);
9038 }
9039 var39 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction218>*/;
9040 var_listnode17 = var39;
9041 var_tkwendnode18 = var_nodearraylist10;
9042 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
9043 cltype41 = type_nullable_parser_nodes__TKwend.color;
9044 idtype42 = type_nullable_parser_nodes__TKwend.id;
9045 if(var_tkwendnode18 == NULL) {
9046 var40 = 1;
9047 } else {
9048 if(cltype41 >= var_tkwendnode18->type->table_size) {
9049 var40 = 0;
9050 } else {
9051 var40 = var_tkwendnode18->type->type_table[cltype41] == idtype42;
9052 }
9053 }
9054 if (!var40) {
9055 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10452);
9056 exit(1);
9057 }
9058 var43 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9059 var44 = NULL;
9060 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var43->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var43, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var44, var_listnode15, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var43:AStdClassdef>*/;
9061 CHECK_NEW_parser_nodes__AStdClassdef(var43);
9062 var_pclassdefnode1 = var43;
9063 var_node_list = var_pclassdefnode1;
9064 var45 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction218> */
9065 var46 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var45) /* go_to on <var_p:Parser>*/;
9066 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var46, var_node_list) /* push on <var_p:Parser>*/;
9067 RET_LABEL:;
9068 }
9069 /* method parser#ReduceAction218#action for (self: Object, Parser) */
9070 void VIRTUAL_parser__ReduceAction218__action(val* self, val* p0) {
9071 parser__ReduceAction218__action(self, p0);
9072 RET_LABEL:;
9073 }
9074 /* method parser#ReduceAction219#action for (self: ReduceAction219, Parser) */
9075 void parser__ReduceAction219__action(val* self, val* p0) {
9076 val* var_p /* var p: Parser */;
9077 val* var /* : null */;
9078 val* var_node_list /* var node_list: nullable Object */;
9079 val* var1 /* : nullable Object */;
9080 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
9081 val* var2 /* : nullable Object */;
9082 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9083 val* var3 /* : nullable Object */;
9084 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9085 val* var4 /* : nullable Object */;
9086 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9087 val* var5 /* : nullable Object */;
9088 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9089 val* var6 /* : nullable Object */;
9090 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9091 val* var7 /* : nullable Object */;
9092 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9093 val* var8 /* : nullable Object */;
9094 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9095 val* var9 /* : nullable Object */;
9096 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9097 val* var10 /* : nullable Object */;
9098 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9099 val* var11 /* : Array[Object] */;
9100 val* var_listnode7 /* var listnode7: Array[Object] */;
9101 val* var12 /* : Array[Object] */;
9102 val* var_listnode15 /* var listnode15: Array[Object] */;
9103 val* var13 /* : Array[Object] */;
9104 val* var_listnode17 /* var listnode17: Array[Object] */;
9105 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9106 short int var14 /* : Bool */;
9107 int cltype;
9108 int idtype;
9109 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9110 short int var15 /* : Bool */;
9111 int cltype16;
9112 int idtype17;
9113 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
9114 short int var18 /* : Bool */;
9115 int cltype19;
9116 int idtype20;
9117 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9118 short int var21 /* : Bool */;
9119 int cltype22;
9120 int idtype23;
9121 val* var24 /* : Array[Object] */;
9122 val* var_listnode12 /* var listnode12: Array[Object] */;
9123 val* var_listnode11 /* var listnode11: nullable Object */;
9124 short int var25 /* : Bool */;
9125 int cltype26;
9126 int idtype27;
9127 val* var28 /* : Array[Object] */;
9128 val* var29 /* : AAnnotations */;
9129 val* var30 /* : null */;
9130 val* var31 /* : null */;
9131 val* var32 /* : null */;
9132 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
9133 val* var_listnode16 /* var listnode16: nullable Object */;
9134 short int var33 /* : Bool */;
9135 int cltype34;
9136 int idtype35;
9137 val* var36 /* : Array[Object] */;
9138 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
9139 short int var37 /* : Bool */;
9140 int cltype38;
9141 int idtype39;
9142 val* var40 /* : AStdClassdef */;
9143 val* var41 /* : null */;
9144 val* var42 /* : null */;
9145 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
9146 long var43 /* : Int */;
9147 long var44 /* : Int */;
9148 var_p = p0;
9149 var = NULL;
9150 var_node_list = var;
9151 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9152 var_nodearraylist10 = var1;
9153 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9154 var_nodearraylist9 = var2;
9155 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9156 var_nodearraylist8 = var3;
9157 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9158 var_nodearraylist7 = var4;
9159 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9160 var_nodearraylist6 = var5;
9161 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9162 var_nodearraylist5 = var6;
9163 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9164 var_nodearraylist4 = var7;
9165 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9166 var_nodearraylist3 = var8;
9167 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9168 var_nodearraylist2 = var9;
9169 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9170 var_nodearraylist1 = var10;
9171 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
9172 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
9173 CHECK_NEW_array__Array(var11);
9174 var_listnode7 = var11;
9175 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
9176 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
9177 CHECK_NEW_array__Array(var12);
9178 var_listnode15 = var12;
9179 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
9180 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
9181 CHECK_NEW_array__Array(var13);
9182 var_listnode17 = var13;
9183 var_pdocnode2 = var_nodearraylist1;
9184 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9185 cltype = type_nullable_parser_nodes__ADoc.color;
9186 idtype = type_nullable_parser_nodes__ADoc.id;
9187 if(var_pdocnode2 == NULL) {
9188 var14 = 1;
9189 } else {
9190 if(cltype >= var_pdocnode2->type->table_size) {
9191 var14 = 0;
9192 } else {
9193 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
9194 }
9195 }
9196 if (!var14) {
9197 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10489);
9198 exit(1);
9199 }
9200 var_pvisibilitynode4 = var_nodearraylist2;
9201 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9202 cltype16 = type_nullable_parser_nodes__AVisibility.color;
9203 idtype17 = type_nullable_parser_nodes__AVisibility.id;
9204 if(var_pvisibilitynode4 == NULL) {
9205 var15 = 1;
9206 } else {
9207 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
9208 var15 = 0;
9209 } else {
9210 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
9211 }
9212 }
9213 if (!var15) {
9214 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10491);
9215 exit(1);
9216 }
9217 var_pclasskindnode5 = var_nodearraylist3;
9218 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
9219 cltype19 = type_nullable_parser_nodes__AClasskind.color;
9220 idtype20 = type_nullable_parser_nodes__AClasskind.id;
9221 if(var_pclasskindnode5 == NULL) {
9222 var18 = 1;
9223 } else {
9224 if(cltype19 >= var_pclasskindnode5->type->table_size) {
9225 var18 = 0;
9226 } else {
9227 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
9228 }
9229 }
9230 if (!var18) {
9231 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10493);
9232 exit(1);
9233 }
9234 var_tclassidnode6 = var_nodearraylist6;
9235 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9236 cltype22 = type_nullable_parser_nodes__TClassid.color;
9237 idtype23 = type_nullable_parser_nodes__TClassid.id;
9238 if(var_tclassidnode6 == NULL) {
9239 var21 = 1;
9240 } else {
9241 if(cltype22 >= var_tclassidnode6->type->table_size) {
9242 var21 = 0;
9243 } else {
9244 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
9245 }
9246 }
9247 if (!var21) {
9248 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10495);
9249 exit(1);
9250 }
9251 var24 = NEW_array__Array(&type_array__Arraykernel__Object);
9252 ((void (*)(val*))(var24->class->vft[COLOR_array__Array__init]))(var24) /* init on <var24:Array[Object]>*/;
9253 CHECK_NEW_array__Array(var24);
9254 var_listnode12 = var24;
9255 var_listnode11 = var_nodearraylist7;
9256 /* <var_listnode11:nullable Object> isa Array[Object] */
9257 cltype26 = type_array__Arraykernel__Object.color;
9258 idtype27 = type_array__Arraykernel__Object.id;
9259 if(var_listnode11 == NULL) {
9260 var25 = 0;
9261 } else {
9262 if(cltype26 >= var_listnode11->type->table_size) {
9263 var25 = 0;
9264 } else {
9265 var25 = var_listnode11->type->type_table[cltype26] == idtype27;
9266 }
9267 }
9268 if (!var25) {
9269 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10498);
9270 exit(1);
9271 }
9272 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction219>*/;
9273 var_listnode12 = var28;
9274 var29 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
9275 var30 = NULL;
9276 var31 = NULL;
9277 var32 = NULL;
9278 ((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>*/;
9279 CHECK_NEW_parser_nodes__AAnnotations(var29);
9280 var_pannotationsnode8 = var29;
9281 var_listnode16 = var_nodearraylist8;
9282 /* <var_listnode16:nullable Object> isa Array[Object] */
9283 cltype34 = type_array__Arraykernel__Object.color;
9284 idtype35 = type_array__Arraykernel__Object.id;
9285 if(var_listnode16 == NULL) {
9286 var33 = 0;
9287 } else {
9288 if(cltype34 >= var_listnode16->type->table_size) {
9289 var33 = 0;
9290 } else {
9291 var33 = var_listnode16->type->type_table[cltype34] == idtype35;
9292 }
9293 }
9294 if (!var33) {
9295 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10507);
9296 exit(1);
9297 }
9298 var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction219>*/;
9299 var_listnode17 = var36;
9300 var_tkwendnode18 = var_nodearraylist10;
9301 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
9302 cltype38 = type_nullable_parser_nodes__TKwend.color;
9303 idtype39 = type_nullable_parser_nodes__TKwend.id;
9304 if(var_tkwendnode18 == NULL) {
9305 var37 = 1;
9306 } else {
9307 if(cltype38 >= var_tkwendnode18->type->table_size) {
9308 var37 = 0;
9309 } else {
9310 var37 = var_tkwendnode18->type->type_table[cltype38] == idtype39;
9311 }
9312 }
9313 if (!var37) {
9314 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10510);
9315 exit(1);
9316 }
9317 var40 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9318 var41 = NULL;
9319 var42 = NULL;
9320 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var40->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var40, var_pdocnode2, var41, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var42, var_listnode15, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var40:AStdClassdef>*/;
9321 CHECK_NEW_parser_nodes__AStdClassdef(var40);
9322 var_pclassdefnode1 = var40;
9323 var_node_list = var_pclassdefnode1;
9324 var43 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction219> */
9325 var44 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var43) /* go_to on <var_p:Parser>*/;
9326 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var44, var_node_list) /* push on <var_p:Parser>*/;
9327 RET_LABEL:;
9328 }
9329 /* method parser#ReduceAction219#action for (self: Object, Parser) */
9330 void VIRTUAL_parser__ReduceAction219__action(val* self, val* p0) {
9331 parser__ReduceAction219__action(self, p0);
9332 RET_LABEL:;
9333 }
9334 /* method parser#ReduceAction220#action for (self: ReduceAction220, Parser) */
9335 void parser__ReduceAction220__action(val* self, val* p0) {
9336 val* var_p /* var p: Parser */;
9337 val* var /* : null */;
9338 val* var_node_list /* var node_list: nullable Object */;
9339 val* var1 /* : nullable Object */;
9340 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
9341 val* var2 /* : nullable Object */;
9342 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
9343 val* var3 /* : nullable Object */;
9344 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9345 val* var4 /* : nullable Object */;
9346 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9347 val* var5 /* : nullable Object */;
9348 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9349 val* var6 /* : nullable Object */;
9350 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9351 val* var7 /* : nullable Object */;
9352 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9353 val* var8 /* : nullable Object */;
9354 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9355 val* var9 /* : nullable Object */;
9356 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9357 val* var10 /* : nullable Object */;
9358 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9359 val* var11 /* : nullable Object */;
9360 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9361 val* var12 /* : Array[Object] */;
9362 val* var_listnode7 /* var listnode7: Array[Object] */;
9363 val* var13 /* : Array[Object] */;
9364 val* var_listnode15 /* var listnode15: Array[Object] */;
9365 val* var14 /* : Array[Object] */;
9366 val* var_listnode17 /* var listnode17: Array[Object] */;
9367 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9368 short int var15 /* : Bool */;
9369 int cltype;
9370 int idtype;
9371 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9372 short int var16 /* : Bool */;
9373 int cltype17;
9374 int idtype18;
9375 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
9376 short int var19 /* : Bool */;
9377 int cltype20;
9378 int idtype21;
9379 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9380 short int var22 /* : Bool */;
9381 int cltype23;
9382 int idtype24;
9383 val* var25 /* : Array[Object] */;
9384 val* var_listnode12 /* var listnode12: Array[Object] */;
9385 val* var_listnode11 /* var listnode11: nullable Object */;
9386 short int var26 /* : Bool */;
9387 int cltype27;
9388 int idtype28;
9389 val* var29 /* : Array[Object] */;
9390 val* var30 /* : AAnnotations */;
9391 val* var31 /* : null */;
9392 val* var32 /* : null */;
9393 val* var33 /* : null */;
9394 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
9395 val* var_listnode16 /* var listnode16: nullable Object */;
9396 short int var34 /* : Bool */;
9397 int cltype35;
9398 int idtype36;
9399 val* var37 /* : Array[Object] */;
9400 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
9401 short int var38 /* : Bool */;
9402 int cltype39;
9403 int idtype40;
9404 val* var41 /* : AStdClassdef */;
9405 val* var42 /* : null */;
9406 val* var43 /* : null */;
9407 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
9408 long var44 /* : Int */;
9409 long var45 /* : Int */;
9410 var_p = p0;
9411 var = NULL;
9412 var_node_list = var;
9413 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9414 var_nodearraylist11 = var1;
9415 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9416 var_nodearraylist10 = var2;
9417 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9418 var_nodearraylist9 = var3;
9419 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9420 var_nodearraylist8 = var4;
9421 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9422 var_nodearraylist7 = var5;
9423 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9424 var_nodearraylist6 = var6;
9425 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9426 var_nodearraylist5 = var7;
9427 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9428 var_nodearraylist4 = var8;
9429 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9430 var_nodearraylist3 = var9;
9431 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9432 var_nodearraylist2 = var10;
9433 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9434 var_nodearraylist1 = var11;
9435 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
9436 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
9437 CHECK_NEW_array__Array(var12);
9438 var_listnode7 = var12;
9439 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
9440 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
9441 CHECK_NEW_array__Array(var13);
9442 var_listnode15 = var13;
9443 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
9444 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
9445 CHECK_NEW_array__Array(var14);
9446 var_listnode17 = var14;
9447 var_pdocnode2 = var_nodearraylist1;
9448 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9449 cltype = type_nullable_parser_nodes__ADoc.color;
9450 idtype = type_nullable_parser_nodes__ADoc.id;
9451 if(var_pdocnode2 == NULL) {
9452 var15 = 1;
9453 } else {
9454 if(cltype >= var_pdocnode2->type->table_size) {
9455 var15 = 0;
9456 } else {
9457 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
9458 }
9459 }
9460 if (!var15) {
9461 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10548);
9462 exit(1);
9463 }
9464 var_pvisibilitynode4 = var_nodearraylist2;
9465 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9466 cltype17 = type_nullable_parser_nodes__AVisibility.color;
9467 idtype18 = type_nullable_parser_nodes__AVisibility.id;
9468 if(var_pvisibilitynode4 == NULL) {
9469 var16 = 1;
9470 } else {
9471 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
9472 var16 = 0;
9473 } else {
9474 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
9475 }
9476 }
9477 if (!var16) {
9478 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10550);
9479 exit(1);
9480 }
9481 var_pclasskindnode5 = var_nodearraylist3;
9482 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
9483 cltype20 = type_nullable_parser_nodes__AClasskind.color;
9484 idtype21 = type_nullable_parser_nodes__AClasskind.id;
9485 if(var_pclasskindnode5 == NULL) {
9486 var19 = 1;
9487 } else {
9488 if(cltype20 >= var_pclasskindnode5->type->table_size) {
9489 var19 = 0;
9490 } else {
9491 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
9492 }
9493 }
9494 if (!var19) {
9495 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10552);
9496 exit(1);
9497 }
9498 var_tclassidnode6 = var_nodearraylist7;
9499 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9500 cltype23 = type_nullable_parser_nodes__TClassid.color;
9501 idtype24 = type_nullable_parser_nodes__TClassid.id;
9502 if(var_tclassidnode6 == NULL) {
9503 var22 = 1;
9504 } else {
9505 if(cltype23 >= var_tclassidnode6->type->table_size) {
9506 var22 = 0;
9507 } else {
9508 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
9509 }
9510 }
9511 if (!var22) {
9512 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10554);
9513 exit(1);
9514 }
9515 var25 = NEW_array__Array(&type_array__Arraykernel__Object);
9516 ((void (*)(val*))(var25->class->vft[COLOR_array__Array__init]))(var25) /* init on <var25:Array[Object]>*/;
9517 CHECK_NEW_array__Array(var25);
9518 var_listnode12 = var25;
9519 var_listnode11 = var_nodearraylist8;
9520 /* <var_listnode11:nullable Object> isa Array[Object] */
9521 cltype27 = type_array__Arraykernel__Object.color;
9522 idtype28 = type_array__Arraykernel__Object.id;
9523 if(var_listnode11 == NULL) {
9524 var26 = 0;
9525 } else {
9526 if(cltype27 >= var_listnode11->type->table_size) {
9527 var26 = 0;
9528 } else {
9529 var26 = var_listnode11->type->type_table[cltype27] == idtype28;
9530 }
9531 }
9532 if (!var26) {
9533 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10557);
9534 exit(1);
9535 }
9536 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction220>*/;
9537 var_listnode12 = var29;
9538 var30 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
9539 var31 = NULL;
9540 var32 = NULL;
9541 var33 = NULL;
9542 ((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>*/;
9543 CHECK_NEW_parser_nodes__AAnnotations(var30);
9544 var_pannotationsnode8 = var30;
9545 var_listnode16 = var_nodearraylist9;
9546 /* <var_listnode16:nullable Object> isa Array[Object] */
9547 cltype35 = type_array__Arraykernel__Object.color;
9548 idtype36 = type_array__Arraykernel__Object.id;
9549 if(var_listnode16 == NULL) {
9550 var34 = 0;
9551 } else {
9552 if(cltype35 >= var_listnode16->type->table_size) {
9553 var34 = 0;
9554 } else {
9555 var34 = var_listnode16->type->type_table[cltype35] == idtype36;
9556 }
9557 }
9558 if (!var34) {
9559 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10566);
9560 exit(1);
9561 }
9562 var37 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction220>*/;
9563 var_listnode17 = var37;
9564 var_tkwendnode18 = var_nodearraylist11;
9565 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
9566 cltype39 = type_nullable_parser_nodes__TKwend.color;
9567 idtype40 = type_nullable_parser_nodes__TKwend.id;
9568 if(var_tkwendnode18 == NULL) {
9569 var38 = 1;
9570 } else {
9571 if(cltype39 >= var_tkwendnode18->type->table_size) {
9572 var38 = 0;
9573 } else {
9574 var38 = var_tkwendnode18->type->type_table[cltype39] == idtype40;
9575 }
9576 }
9577 if (!var38) {
9578 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10569);
9579 exit(1);
9580 }
9581 var41 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9582 var42 = NULL;
9583 var43 = NULL;
9584 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var41->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var41, var_pdocnode2, var42, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var43, var_listnode15, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var41:AStdClassdef>*/;
9585 CHECK_NEW_parser_nodes__AStdClassdef(var41);
9586 var_pclassdefnode1 = var41;
9587 var_node_list = var_pclassdefnode1;
9588 var44 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction220> */
9589 var45 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var44) /* go_to on <var_p:Parser>*/;
9590 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var45, var_node_list) /* push on <var_p:Parser>*/;
9591 RET_LABEL:;
9592 }
9593 /* method parser#ReduceAction220#action for (self: Object, Parser) */
9594 void VIRTUAL_parser__ReduceAction220__action(val* self, val* p0) {
9595 parser__ReduceAction220__action(self, p0);
9596 RET_LABEL:;
9597 }
9598 /* method parser#ReduceAction222#action for (self: ReduceAction222, Parser) */
9599 void parser__ReduceAction222__action(val* self, val* p0) {
9600 val* var_p /* var p: Parser */;
9601 val* var /* : null */;
9602 val* var_node_list /* var node_list: nullable Object */;
9603 val* var1 /* : nullable Object */;
9604 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
9605 val* var2 /* : nullable Object */;
9606 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
9607 val* var3 /* : nullable Object */;
9608 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9609 val* var4 /* : nullable Object */;
9610 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9611 val* var5 /* : nullable Object */;
9612 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9613 val* var6 /* : nullable Object */;
9614 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9615 val* var7 /* : nullable Object */;
9616 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9617 val* var8 /* : nullable Object */;
9618 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9619 val* var9 /* : nullable Object */;
9620 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9621 val* var10 /* : nullable Object */;
9622 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9623 val* var11 /* : nullable Object */;
9624 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9625 val* var12 /* : Array[Object] */;
9626 val* var_listnode7 /* var listnode7: Array[Object] */;
9627 val* var13 /* : Array[Object] */;
9628 val* var_listnode15 /* var listnode15: Array[Object] */;
9629 val* var14 /* : Array[Object] */;
9630 val* var_listnode17 /* var listnode17: Array[Object] */;
9631 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9632 short int var15 /* : Bool */;
9633 int cltype;
9634 int idtype;
9635 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
9636 short int var16 /* : Bool */;
9637 int cltype17;
9638 int idtype18;
9639 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9640 short int var19 /* : Bool */;
9641 int cltype20;
9642 int idtype21;
9643 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
9644 short int var22 /* : Bool */;
9645 int cltype23;
9646 int idtype24;
9647 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9648 short int var25 /* : Bool */;
9649 int cltype26;
9650 int idtype27;
9651 val* var28 /* : Array[Object] */;
9652 val* var_listnode12 /* var listnode12: Array[Object] */;
9653 val* var_listnode11 /* var listnode11: nullable Object */;
9654 short int var29 /* : Bool */;
9655 int cltype30;
9656 int idtype31;
9657 val* var32 /* : Array[Object] */;
9658 val* var33 /* : AAnnotations */;
9659 val* var34 /* : null */;
9660 val* var35 /* : null */;
9661 val* var36 /* : null */;
9662 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
9663 val* var_listnode16 /* var listnode16: nullable Object */;
9664 short int var37 /* : Bool */;
9665 int cltype38;
9666 int idtype39;
9667 val* var40 /* : Array[Object] */;
9668 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
9669 short int var41 /* : Bool */;
9670 int cltype42;
9671 int idtype43;
9672 val* var44 /* : AStdClassdef */;
9673 val* var45 /* : null */;
9674 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
9675 long var46 /* : Int */;
9676 long var47 /* : Int */;
9677 var_p = p0;
9678 var = NULL;
9679 var_node_list = var;
9680 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9681 var_nodearraylist11 = var1;
9682 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9683 var_nodearraylist10 = var2;
9684 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9685 var_nodearraylist9 = var3;
9686 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9687 var_nodearraylist8 = var4;
9688 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9689 var_nodearraylist7 = var5;
9690 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9691 var_nodearraylist6 = var6;
9692 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9693 var_nodearraylist5 = var7;
9694 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9695 var_nodearraylist4 = var8;
9696 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9697 var_nodearraylist3 = var9;
9698 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9699 var_nodearraylist2 = var10;
9700 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9701 var_nodearraylist1 = var11;
9702 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
9703 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
9704 CHECK_NEW_array__Array(var12);
9705 var_listnode7 = var12;
9706 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
9707 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
9708 CHECK_NEW_array__Array(var13);
9709 var_listnode15 = var13;
9710 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
9711 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
9712 CHECK_NEW_array__Array(var14);
9713 var_listnode17 = var14;
9714 var_pdocnode2 = var_nodearraylist1;
9715 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9716 cltype = type_nullable_parser_nodes__ADoc.color;
9717 idtype = type_nullable_parser_nodes__ADoc.id;
9718 if(var_pdocnode2 == NULL) {
9719 var15 = 1;
9720 } else {
9721 if(cltype >= var_pdocnode2->type->table_size) {
9722 var15 = 0;
9723 } else {
9724 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
9725 }
9726 }
9727 if (!var15) {
9728 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10607);
9729 exit(1);
9730 }
9731 var_tkwredefnode3 = var_nodearraylist2;
9732 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
9733 cltype17 = type_nullable_parser_nodes__TKwredef.color;
9734 idtype18 = type_nullable_parser_nodes__TKwredef.id;
9735 if(var_tkwredefnode3 == NULL) {
9736 var16 = 1;
9737 } else {
9738 if(cltype17 >= var_tkwredefnode3->type->table_size) {
9739 var16 = 0;
9740 } else {
9741 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
9742 }
9743 }
9744 if (!var16) {
9745 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10609);
9746 exit(1);
9747 }
9748 var_pvisibilitynode4 = var_nodearraylist3;
9749 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9750 cltype20 = type_nullable_parser_nodes__AVisibility.color;
9751 idtype21 = type_nullable_parser_nodes__AVisibility.id;
9752 if(var_pvisibilitynode4 == NULL) {
9753 var19 = 1;
9754 } else {
9755 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
9756 var19 = 0;
9757 } else {
9758 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
9759 }
9760 }
9761 if (!var19) {
9762 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10611);
9763 exit(1);
9764 }
9765 var_pclasskindnode5 = var_nodearraylist4;
9766 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
9767 cltype23 = type_nullable_parser_nodes__AClasskind.color;
9768 idtype24 = type_nullable_parser_nodes__AClasskind.id;
9769 if(var_pclasskindnode5 == NULL) {
9770 var22 = 1;
9771 } else {
9772 if(cltype23 >= var_pclasskindnode5->type->table_size) {
9773 var22 = 0;
9774 } else {
9775 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
9776 }
9777 }
9778 if (!var22) {
9779 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10613);
9780 exit(1);
9781 }
9782 var_tclassidnode6 = var_nodearraylist7;
9783 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9784 cltype26 = type_nullable_parser_nodes__TClassid.color;
9785 idtype27 = type_nullable_parser_nodes__TClassid.id;
9786 if(var_tclassidnode6 == NULL) {
9787 var25 = 1;
9788 } else {
9789 if(cltype26 >= var_tclassidnode6->type->table_size) {
9790 var25 = 0;
9791 } else {
9792 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
9793 }
9794 }
9795 if (!var25) {
9796 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10615);
9797 exit(1);
9798 }
9799 var28 = NEW_array__Array(&type_array__Arraykernel__Object);
9800 ((void (*)(val*))(var28->class->vft[COLOR_array__Array__init]))(var28) /* init on <var28:Array[Object]>*/;
9801 CHECK_NEW_array__Array(var28);
9802 var_listnode12 = var28;
9803 var_listnode11 = var_nodearraylist8;
9804 /* <var_listnode11:nullable Object> isa Array[Object] */
9805 cltype30 = type_array__Arraykernel__Object.color;
9806 idtype31 = type_array__Arraykernel__Object.id;
9807 if(var_listnode11 == NULL) {
9808 var29 = 0;
9809 } else {
9810 if(cltype30 >= var_listnode11->type->table_size) {
9811 var29 = 0;
9812 } else {
9813 var29 = var_listnode11->type->type_table[cltype30] == idtype31;
9814 }
9815 }
9816 if (!var29) {
9817 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10618);
9818 exit(1);
9819 }
9820 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction222>*/;
9821 var_listnode12 = var32;
9822 var33 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
9823 var34 = NULL;
9824 var35 = NULL;
9825 var36 = NULL;
9826 ((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>*/;
9827 CHECK_NEW_parser_nodes__AAnnotations(var33);
9828 var_pannotationsnode8 = var33;
9829 var_listnode16 = var_nodearraylist9;
9830 /* <var_listnode16:nullable Object> isa Array[Object] */
9831 cltype38 = type_array__Arraykernel__Object.color;
9832 idtype39 = type_array__Arraykernel__Object.id;
9833 if(var_listnode16 == NULL) {
9834 var37 = 0;
9835 } else {
9836 if(cltype38 >= var_listnode16->type->table_size) {
9837 var37 = 0;
9838 } else {
9839 var37 = var_listnode16->type->type_table[cltype38] == idtype39;
9840 }
9841 }
9842 if (!var37) {
9843 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10627);
9844 exit(1);
9845 }
9846 var40 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction222>*/;
9847 var_listnode17 = var40;
9848 var_tkwendnode18 = var_nodearraylist11;
9849 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
9850 cltype42 = type_nullable_parser_nodes__TKwend.color;
9851 idtype43 = type_nullable_parser_nodes__TKwend.id;
9852 if(var_tkwendnode18 == NULL) {
9853 var41 = 1;
9854 } else {
9855 if(cltype42 >= var_tkwendnode18->type->table_size) {
9856 var41 = 0;
9857 } else {
9858 var41 = var_tkwendnode18->type->type_table[cltype42] == idtype43;
9859 }
9860 }
9861 if (!var41) {
9862 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 10630);
9863 exit(1);
9864 }
9865 var44 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9866 var45 = NULL;
9867 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var44->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var44, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var45, var_listnode15, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var44:AStdClassdef>*/;
9868 CHECK_NEW_parser_nodes__AStdClassdef(var44);
9869 var_pclassdefnode1 = var44;
9870 var_node_list = var_pclassdefnode1;
9871 var46 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction222> */
9872 var47 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var46) /* go_to on <var_p:Parser>*/;
9873 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var47, var_node_list) /* push on <var_p:Parser>*/;
9874 RET_LABEL:;
9875 }
9876 /* method parser#ReduceAction222#action for (self: Object, Parser) */
9877 void VIRTUAL_parser__ReduceAction222__action(val* self, val* p0) {
9878 parser__ReduceAction222__action(self, p0);
9879 RET_LABEL:;
9880 }