Merge branch 'killclosures' into killnitc
[nit.git] / c_src / parser.sep.5.c
1 #include "parser.sep.0.h"
2 /* method parser#ReduceAction126#action for (self: ReduceAction126, Parser) */
3 void parser__ReduceAction126__action(val* self, val* p0) {
4 val* var_p /* var p: Parser */;
5 val* var /* : null */;
6 val* var_node_list /* var node_list: nullable Object */;
7 val* var1 /* : nullable Object */;
8 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
9 val* var2 /* : nullable Object */;
10 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
11 val* var3 /* : nullable Object */;
12 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
13 val* var4 /* : nullable Object */;
14 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
15 val* var5 /* : nullable Object */;
16 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
17 val* var6 /* : nullable Object */;
18 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
19 val* var7 /* : nullable Object */;
20 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
21 val* var8 /* : nullable Object */;
22 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
23 val* var9 /* : nullable Object */;
24 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
25 val* var10 /* : nullable Object */;
26 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
27 val* var11 /* : nullable Object */;
28 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
29 val* var12 /* : Array[Object] */;
30 val* var_listnode7 /* var listnode7: Array[Object] */;
31 val* var13 /* : Array[Object] */;
32 val* var_listnode15 /* var listnode15: Array[Object] */;
33 val* var14 /* : Array[Object] */;
34 val* var_listnode16 /* var listnode16: Array[Object] */;
35 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
36 short int var15 /* : Bool */;
37 int cltype;
38 int idtype;
39 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
40 short int var16 /* : Bool */;
41 int cltype17;
42 int idtype18;
43 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
44 short int var19 /* : Bool */;
45 int cltype20;
46 int idtype21;
47 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
48 short int var22 /* : Bool */;
49 int cltype23;
50 int idtype24;
51 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
52 short int var25 /* : Bool */;
53 int cltype26;
54 int idtype27;
55 val* var28 /* : Array[Object] */;
56 val* var_listnode12 /* var listnode12: Array[Object] */;
57 val* var_listnode11 /* var listnode11: nullable Object */;
58 short int var29 /* : Bool */;
59 int cltype30;
60 int idtype31;
61 val* var32 /* : Array[Object] */;
62 val* var33 /* : AAnnotations */;
63 val* var34 /* : null */;
64 val* var35 /* : null */;
65 val* var36 /* : null */;
66 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
67 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
68 short int var37 /* : Bool */;
69 int cltype38;
70 int idtype39;
71 val* var_tkwendnode17 /* var tkwendnode17: nullable Object */;
72 short int var40 /* : Bool */;
73 int cltype41;
74 int idtype42;
75 val* var43 /* : AStdClassdef */;
76 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
77 long var44 /* : Int */;
78 long var45 /* : Int */;
79 var_p = p0;
80 var = NULL;
81 var_node_list = var;
82 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
83 var_nodearraylist11 = var1;
84 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
85 var_nodearraylist10 = var2;
86 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
87 var_nodearraylist9 = var3;
88 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
89 var_nodearraylist8 = var4;
90 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
91 var_nodearraylist7 = var5;
92 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
93 var_nodearraylist6 = var6;
94 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
95 var_nodearraylist5 = var7;
96 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
97 var_nodearraylist4 = var8;
98 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
99 var_nodearraylist3 = var9;
100 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
101 var_nodearraylist2 = var10;
102 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
103 var_nodearraylist1 = var11;
104 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
105 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
106 CHECK_NEW_array__Array(var12);
107 var_listnode7 = var12;
108 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
109 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
110 CHECK_NEW_array__Array(var13);
111 var_listnode15 = var13;
112 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
113 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
114 CHECK_NEW_array__Array(var14);
115 var_listnode16 = var14;
116 var_pdocnode2 = var_nodearraylist1;
117 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
118 cltype = type_nullable_parser_nodes__ADoc.color;
119 idtype = type_nullable_parser_nodes__ADoc.id;
120 if(var_pdocnode2 == NULL) {
121 var15 = 1;
122 } else {
123 if(cltype >= var_pdocnode2->type->table_size) {
124 var15 = 0;
125 } else {
126 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
127 }
128 }
129 if (!var15) {
130 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6511);
131 exit(1);
132 }
133 var_tkwredefnode3 = var_nodearraylist2;
134 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
135 cltype17 = type_nullable_parser_nodes__TKwredef.color;
136 idtype18 = type_nullable_parser_nodes__TKwredef.id;
137 if(var_tkwredefnode3 == NULL) {
138 var16 = 1;
139 } else {
140 if(cltype17 >= var_tkwredefnode3->type->table_size) {
141 var16 = 0;
142 } else {
143 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
144 }
145 }
146 if (!var16) {
147 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6513);
148 exit(1);
149 }
150 var_pvisibilitynode4 = var_nodearraylist3;
151 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
152 cltype20 = type_nullable_parser_nodes__AVisibility.color;
153 idtype21 = type_nullable_parser_nodes__AVisibility.id;
154 if(var_pvisibilitynode4 == NULL) {
155 var19 = 1;
156 } else {
157 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
158 var19 = 0;
159 } else {
160 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
161 }
162 }
163 if (!var19) {
164 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6515);
165 exit(1);
166 }
167 var_pclasskindnode5 = var_nodearraylist4;
168 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
169 cltype23 = type_nullable_parser_nodes__AClasskind.color;
170 idtype24 = type_nullable_parser_nodes__AClasskind.id;
171 if(var_pclasskindnode5 == NULL) {
172 var22 = 1;
173 } else {
174 if(cltype23 >= var_pclasskindnode5->type->table_size) {
175 var22 = 0;
176 } else {
177 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
178 }
179 }
180 if (!var22) {
181 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6517);
182 exit(1);
183 }
184 var_tclassidnode6 = var_nodearraylist7;
185 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
186 cltype26 = type_nullable_parser_nodes__TClassid.color;
187 idtype27 = type_nullable_parser_nodes__TClassid.id;
188 if(var_tclassidnode6 == NULL) {
189 var25 = 1;
190 } else {
191 if(cltype26 >= var_tclassidnode6->type->table_size) {
192 var25 = 0;
193 } else {
194 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
195 }
196 }
197 if (!var25) {
198 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6519);
199 exit(1);
200 }
201 var28 = NEW_array__Array(&type_array__Arraykernel__Object);
202 ((void (*)(val*))(var28->class->vft[COLOR_array__Array__init]))(var28) /* init on <var28:Array[Object]>*/;
203 CHECK_NEW_array__Array(var28);
204 var_listnode12 = var28;
205 var_listnode11 = var_nodearraylist8;
206 /* <var_listnode11:nullable Object> isa Array[Object] */
207 cltype30 = type_array__Arraykernel__Object.color;
208 idtype31 = type_array__Arraykernel__Object.id;
209 if(var_listnode11 == NULL) {
210 var29 = 0;
211 } else {
212 if(cltype30 >= var_listnode11->type->table_size) {
213 var29 = 0;
214 } else {
215 var29 = var_listnode11->type->type_table[cltype30] == idtype31;
216 }
217 }
218 if (!var29) {
219 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6522);
220 exit(1);
221 }
222 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction126>*/;
223 var_listnode12 = var32;
224 var33 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
225 var34 = NULL;
226 var35 = NULL;
227 var36 = NULL;
228 ((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>*/;
229 CHECK_NEW_parser_nodes__AAnnotations(var33);
230 var_pannotationsnode8 = var33;
231 var_pexterncodeblocknode14 = var_nodearraylist9;
232 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
233 cltype38 = type_nullable_parser_nodes__AExternCodeBlock.color;
234 idtype39 = type_nullable_parser_nodes__AExternCodeBlock.id;
235 if(var_pexterncodeblocknode14 == NULL) {
236 var37 = 1;
237 } else {
238 if(cltype38 >= var_pexterncodeblocknode14->type->table_size) {
239 var37 = 0;
240 } else {
241 var37 = var_pexterncodeblocknode14->type->type_table[cltype38] == idtype39;
242 }
243 }
244 if (!var37) {
245 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6531);
246 exit(1);
247 }
248 var_tkwendnode17 = var_nodearraylist11;
249 /* <var_tkwendnode17:nullable Object> isa nullable TKwend */
250 cltype41 = type_nullable_parser_nodes__TKwend.color;
251 idtype42 = type_nullable_parser_nodes__TKwend.id;
252 if(var_tkwendnode17 == NULL) {
253 var40 = 1;
254 } else {
255 if(cltype41 >= var_tkwendnode17->type->table_size) {
256 var40 = 0;
257 } else {
258 var40 = var_tkwendnode17->type->type_table[cltype41] == idtype42;
259 }
260 }
261 if (!var40) {
262 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6533);
263 exit(1);
264 }
265 var43 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
266 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var43->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var43, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on <var43:AStdClassdef>*/;
267 CHECK_NEW_parser_nodes__AStdClassdef(var43);
268 var_pclassdefnode1 = var43;
269 var_node_list = var_pclassdefnode1;
270 var44 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction126> */
271 var45 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var44) /* go_to on <var_p:Parser>*/;
272 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var45, var_node_list) /* push on <var_p:Parser>*/;
273 RET_LABEL:;
274 }
275 /* method parser#ReduceAction126#action for (self: Object, Parser) */
276 void VIRTUAL_parser__ReduceAction126__action(val* self, val* p0) {
277 parser__ReduceAction126__action(self, p0);
278 RET_LABEL:;
279 }
280 /* method parser#ReduceAction127#action for (self: ReduceAction127, Parser) */
281 void parser__ReduceAction127__action(val* self, val* p0) {
282 val* var_p /* var p: Parser */;
283 val* var /* : null */;
284 val* var_node_list /* var node_list: nullable Object */;
285 val* var1 /* : nullable Object */;
286 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
287 val* var2 /* : nullable Object */;
288 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
289 val* var3 /* : nullable Object */;
290 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
291 val* var4 /* : nullable Object */;
292 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
293 val* var5 /* : nullable Object */;
294 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
295 val* var6 /* : nullable Object */;
296 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
297 val* var7 /* : nullable Object */;
298 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
299 val* var8 /* : nullable Object */;
300 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
301 val* var9 /* : nullable Object */;
302 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
303 val* var10 /* : nullable Object */;
304 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
305 val* var11 /* : nullable Object */;
306 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
307 val* var12 /* : nullable Object */;
308 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
309 val* var13 /* : Array[Object] */;
310 val* var_listnode7 /* var listnode7: Array[Object] */;
311 val* var14 /* : Array[Object] */;
312 val* var_listnode15 /* var listnode15: Array[Object] */;
313 val* var15 /* : Array[Object] */;
314 val* var_listnode16 /* var listnode16: Array[Object] */;
315 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
316 short int var16 /* : Bool */;
317 int cltype;
318 int idtype;
319 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
320 short int var17 /* : Bool */;
321 int cltype18;
322 int idtype19;
323 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
324 short int var20 /* : Bool */;
325 int cltype21;
326 int idtype22;
327 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
328 short int var23 /* : Bool */;
329 int cltype24;
330 int idtype25;
331 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
332 short int var26 /* : Bool */;
333 int cltype27;
334 int idtype28;
335 val* var29 /* : Array[Object] */;
336 val* var_listnode12 /* var listnode12: Array[Object] */;
337 val* var_listnode11 /* var listnode11: nullable Object */;
338 short int var30 /* : Bool */;
339 int cltype31;
340 int idtype32;
341 val* var33 /* : Array[Object] */;
342 val* var34 /* : AAnnotations */;
343 val* var35 /* : null */;
344 val* var36 /* : null */;
345 val* var37 /* : null */;
346 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
347 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
348 short int var38 /* : Bool */;
349 int cltype39;
350 int idtype40;
351 val* var_tkwendnode17 /* var tkwendnode17: nullable Object */;
352 short int var41 /* : Bool */;
353 int cltype42;
354 int idtype43;
355 val* var44 /* : AStdClassdef */;
356 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
357 long var45 /* : Int */;
358 long var46 /* : Int */;
359 var_p = p0;
360 var = NULL;
361 var_node_list = var;
362 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
363 var_nodearraylist12 = var1;
364 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
365 var_nodearraylist11 = var2;
366 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
367 var_nodearraylist10 = var3;
368 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
369 var_nodearraylist9 = var4;
370 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
371 var_nodearraylist8 = var5;
372 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
373 var_nodearraylist7 = var6;
374 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
375 var_nodearraylist6 = var7;
376 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
377 var_nodearraylist5 = var8;
378 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
379 var_nodearraylist4 = var9;
380 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
381 var_nodearraylist3 = var10;
382 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
383 var_nodearraylist2 = var11;
384 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
385 var_nodearraylist1 = var12;
386 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
387 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
388 CHECK_NEW_array__Array(var13);
389 var_listnode7 = var13;
390 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
391 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
392 CHECK_NEW_array__Array(var14);
393 var_listnode15 = var14;
394 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
395 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
396 CHECK_NEW_array__Array(var15);
397 var_listnode16 = var15;
398 var_pdocnode2 = var_nodearraylist1;
399 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
400 cltype = type_nullable_parser_nodes__ADoc.color;
401 idtype = type_nullable_parser_nodes__ADoc.id;
402 if(var_pdocnode2 == NULL) {
403 var16 = 1;
404 } else {
405 if(cltype >= var_pdocnode2->type->table_size) {
406 var16 = 0;
407 } else {
408 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
409 }
410 }
411 if (!var16) {
412 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6572);
413 exit(1);
414 }
415 var_tkwredefnode3 = var_nodearraylist2;
416 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
417 cltype18 = type_nullable_parser_nodes__TKwredef.color;
418 idtype19 = type_nullable_parser_nodes__TKwredef.id;
419 if(var_tkwredefnode3 == NULL) {
420 var17 = 1;
421 } else {
422 if(cltype18 >= var_tkwredefnode3->type->table_size) {
423 var17 = 0;
424 } else {
425 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
426 }
427 }
428 if (!var17) {
429 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6574);
430 exit(1);
431 }
432 var_pvisibilitynode4 = var_nodearraylist3;
433 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
434 cltype21 = type_nullable_parser_nodes__AVisibility.color;
435 idtype22 = type_nullable_parser_nodes__AVisibility.id;
436 if(var_pvisibilitynode4 == NULL) {
437 var20 = 1;
438 } else {
439 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
440 var20 = 0;
441 } else {
442 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
443 }
444 }
445 if (!var20) {
446 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6576);
447 exit(1);
448 }
449 var_pclasskindnode5 = var_nodearraylist4;
450 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
451 cltype24 = type_nullable_parser_nodes__AClasskind.color;
452 idtype25 = type_nullable_parser_nodes__AClasskind.id;
453 if(var_pclasskindnode5 == NULL) {
454 var23 = 1;
455 } else {
456 if(cltype24 >= var_pclasskindnode5->type->table_size) {
457 var23 = 0;
458 } else {
459 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
460 }
461 }
462 if (!var23) {
463 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6578);
464 exit(1);
465 }
466 var_tclassidnode6 = var_nodearraylist8;
467 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
468 cltype27 = type_nullable_parser_nodes__TClassid.color;
469 idtype28 = type_nullable_parser_nodes__TClassid.id;
470 if(var_tclassidnode6 == NULL) {
471 var26 = 1;
472 } else {
473 if(cltype27 >= var_tclassidnode6->type->table_size) {
474 var26 = 0;
475 } else {
476 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
477 }
478 }
479 if (!var26) {
480 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6580);
481 exit(1);
482 }
483 var29 = NEW_array__Array(&type_array__Arraykernel__Object);
484 ((void (*)(val*))(var29->class->vft[COLOR_array__Array__init]))(var29) /* init on <var29:Array[Object]>*/;
485 CHECK_NEW_array__Array(var29);
486 var_listnode12 = var29;
487 var_listnode11 = var_nodearraylist9;
488 /* <var_listnode11:nullable Object> isa Array[Object] */
489 cltype31 = type_array__Arraykernel__Object.color;
490 idtype32 = type_array__Arraykernel__Object.id;
491 if(var_listnode11 == NULL) {
492 var30 = 0;
493 } else {
494 if(cltype31 >= var_listnode11->type->table_size) {
495 var30 = 0;
496 } else {
497 var30 = var_listnode11->type->type_table[cltype31] == idtype32;
498 }
499 }
500 if (!var30) {
501 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6583);
502 exit(1);
503 }
504 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction127>*/;
505 var_listnode12 = var33;
506 var34 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
507 var35 = NULL;
508 var36 = NULL;
509 var37 = NULL;
510 ((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>*/;
511 CHECK_NEW_parser_nodes__AAnnotations(var34);
512 var_pannotationsnode8 = var34;
513 var_pexterncodeblocknode14 = var_nodearraylist10;
514 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
515 cltype39 = type_nullable_parser_nodes__AExternCodeBlock.color;
516 idtype40 = type_nullable_parser_nodes__AExternCodeBlock.id;
517 if(var_pexterncodeblocknode14 == NULL) {
518 var38 = 1;
519 } else {
520 if(cltype39 >= var_pexterncodeblocknode14->type->table_size) {
521 var38 = 0;
522 } else {
523 var38 = var_pexterncodeblocknode14->type->type_table[cltype39] == idtype40;
524 }
525 }
526 if (!var38) {
527 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6592);
528 exit(1);
529 }
530 var_tkwendnode17 = var_nodearraylist12;
531 /* <var_tkwendnode17:nullable Object> isa nullable TKwend */
532 cltype42 = type_nullable_parser_nodes__TKwend.color;
533 idtype43 = type_nullable_parser_nodes__TKwend.id;
534 if(var_tkwendnode17 == NULL) {
535 var41 = 1;
536 } else {
537 if(cltype42 >= var_tkwendnode17->type->table_size) {
538 var41 = 0;
539 } else {
540 var41 = var_tkwendnode17->type->type_table[cltype42] == idtype43;
541 }
542 }
543 if (!var41) {
544 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6594);
545 exit(1);
546 }
547 var44 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
548 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var44->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var44, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on <var44:AStdClassdef>*/;
549 CHECK_NEW_parser_nodes__AStdClassdef(var44);
550 var_pclassdefnode1 = var44;
551 var_node_list = var_pclassdefnode1;
552 var45 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction127> */
553 var46 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var45) /* go_to on <var_p:Parser>*/;
554 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var46, var_node_list) /* push on <var_p:Parser>*/;
555 RET_LABEL:;
556 }
557 /* method parser#ReduceAction127#action for (self: Object, Parser) */
558 void VIRTUAL_parser__ReduceAction127__action(val* self, val* p0) {
559 parser__ReduceAction127__action(self, p0);
560 RET_LABEL:;
561 }
562 /* method parser#ReduceAction129#action for (self: ReduceAction129, Parser) */
563 void parser__ReduceAction129__action(val* self, val* p0) {
564 val* var_p /* var p: Parser */;
565 val* var /* : null */;
566 val* var_node_list /* var node_list: nullable Object */;
567 val* var1 /* : nullable Object */;
568 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
569 val* var2 /* : nullable Object */;
570 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
571 val* var3 /* : nullable Object */;
572 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
573 val* var4 /* : nullable Object */;
574 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
575 val* var5 /* : nullable Object */;
576 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
577 val* var6 /* : nullable Object */;
578 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
579 val* var7 /* : nullable Object */;
580 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
581 val* var8 /* : nullable Object */;
582 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
583 val* var9 /* : nullable Object */;
584 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
585 val* var10 /* : nullable Object */;
586 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
587 val* var11 /* : Array[Object] */;
588 val* var_listnode8 /* var listnode8: Array[Object] */;
589 val* var12 /* : Array[Object] */;
590 val* var_listnode16 /* var listnode16: Array[Object] */;
591 val* var13 /* : Array[Object] */;
592 val* var_listnode17 /* var listnode17: Array[Object] */;
593 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
594 short int var14 /* : Bool */;
595 int cltype;
596 int idtype;
597 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
598 short int var15 /* : Bool */;
599 int cltype16;
600 int idtype17;
601 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
602 short int var18 /* : Bool */;
603 int cltype19;
604 int idtype20;
605 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
606 short int var21 /* : Bool */;
607 int cltype22;
608 int idtype23;
609 val* var_listnode7 /* var listnode7: nullable Object */;
610 short int var24 /* : Bool */;
611 int cltype25;
612 int idtype26;
613 val* var27 /* : Array[Object] */;
614 val* var28 /* : Array[Object] */;
615 val* var_listnode13 /* var listnode13: Array[Object] */;
616 val* var_listnode12 /* var listnode12: nullable Object */;
617 short int var29 /* : Bool */;
618 int cltype30;
619 int idtype31;
620 val* var32 /* : Array[Object] */;
621 val* var33 /* : AAnnotations */;
622 val* var34 /* : null */;
623 val* var35 /* : null */;
624 val* var36 /* : null */;
625 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
626 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
627 short int var37 /* : Bool */;
628 int cltype38;
629 int idtype39;
630 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
631 short int var40 /* : Bool */;
632 int cltype41;
633 int idtype42;
634 val* var43 /* : AStdClassdef */;
635 val* var44 /* : null */;
636 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
637 long var45 /* : Int */;
638 long var46 /* : Int */;
639 var_p = p0;
640 var = NULL;
641 var_node_list = var;
642 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
643 var_nodearraylist10 = var1;
644 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
645 var_nodearraylist9 = var2;
646 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
647 var_nodearraylist8 = var3;
648 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
649 var_nodearraylist7 = var4;
650 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
651 var_nodearraylist6 = var5;
652 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
653 var_nodearraylist5 = var6;
654 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
655 var_nodearraylist4 = var7;
656 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
657 var_nodearraylist3 = var8;
658 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
659 var_nodearraylist2 = var9;
660 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
661 var_nodearraylist1 = var10;
662 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
663 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
664 CHECK_NEW_array__Array(var11);
665 var_listnode8 = var11;
666 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
667 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
668 CHECK_NEW_array__Array(var12);
669 var_listnode16 = var12;
670 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
671 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
672 CHECK_NEW_array__Array(var13);
673 var_listnode17 = var13;
674 var_pdocnode2 = var_nodearraylist1;
675 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
676 cltype = type_nullable_parser_nodes__ADoc.color;
677 idtype = type_nullable_parser_nodes__ADoc.id;
678 if(var_pdocnode2 == NULL) {
679 var14 = 1;
680 } else {
681 if(cltype >= var_pdocnode2->type->table_size) {
682 var14 = 0;
683 } else {
684 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
685 }
686 }
687 if (!var14) {
688 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6631);
689 exit(1);
690 }
691 var_pvisibilitynode4 = var_nodearraylist2;
692 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
693 cltype16 = type_nullable_parser_nodes__AVisibility.color;
694 idtype17 = type_nullable_parser_nodes__AVisibility.id;
695 if(var_pvisibilitynode4 == NULL) {
696 var15 = 1;
697 } else {
698 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
699 var15 = 0;
700 } else {
701 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
702 }
703 }
704 if (!var15) {
705 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6633);
706 exit(1);
707 }
708 var_pclasskindnode5 = var_nodearraylist3;
709 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
710 cltype19 = type_nullable_parser_nodes__AClasskind.color;
711 idtype20 = type_nullable_parser_nodes__AClasskind.id;
712 if(var_pclasskindnode5 == NULL) {
713 var18 = 1;
714 } else {
715 if(cltype19 >= var_pclasskindnode5->type->table_size) {
716 var18 = 0;
717 } else {
718 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
719 }
720 }
721 if (!var18) {
722 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6635);
723 exit(1);
724 }
725 var_tclassidnode6 = var_nodearraylist5;
726 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
727 cltype22 = type_nullable_parser_nodes__TClassid.color;
728 idtype23 = type_nullable_parser_nodes__TClassid.id;
729 if(var_tclassidnode6 == NULL) {
730 var21 = 1;
731 } else {
732 if(cltype22 >= var_tclassidnode6->type->table_size) {
733 var21 = 0;
734 } else {
735 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
736 }
737 }
738 if (!var21) {
739 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6637);
740 exit(1);
741 }
742 var_listnode7 = var_nodearraylist6;
743 /* <var_listnode7:nullable Object> isa Array[Object] */
744 cltype25 = type_array__Arraykernel__Object.color;
745 idtype26 = type_array__Arraykernel__Object.id;
746 if(var_listnode7 == NULL) {
747 var24 = 0;
748 } else {
749 if(cltype25 >= var_listnode7->type->table_size) {
750 var24 = 0;
751 } else {
752 var24 = var_listnode7->type->type_table[cltype25] == idtype26;
753 }
754 }
755 if (!var24) {
756 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6639);
757 exit(1);
758 }
759 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction129>*/;
760 var_listnode8 = var27;
761 var28 = NEW_array__Array(&type_array__Arraykernel__Object);
762 ((void (*)(val*))(var28->class->vft[COLOR_array__Array__init]))(var28) /* init on <var28:Array[Object]>*/;
763 CHECK_NEW_array__Array(var28);
764 var_listnode13 = var28;
765 var_listnode12 = var_nodearraylist7;
766 /* <var_listnode12:nullable Object> isa Array[Object] */
767 cltype30 = type_array__Arraykernel__Object.color;
768 idtype31 = type_array__Arraykernel__Object.id;
769 if(var_listnode12 == NULL) {
770 var29 = 0;
771 } else {
772 if(cltype30 >= var_listnode12->type->table_size) {
773 var29 = 0;
774 } else {
775 var29 = var_listnode12->type->type_table[cltype30] == idtype31;
776 }
777 }
778 if (!var29) {
779 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6643);
780 exit(1);
781 }
782 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction129>*/;
783 var_listnode13 = var32;
784 var33 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
785 var34 = NULL;
786 var35 = NULL;
787 var36 = NULL;
788 ((void (*)(val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var33, var34, var35, var_listnode13, var36) /* init_aannotations on <var33:AAnnotations>*/;
789 CHECK_NEW_parser_nodes__AAnnotations(var33);
790 var_pannotationsnode9 = var33;
791 var_pexterncodeblocknode15 = var_nodearraylist8;
792 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
793 cltype38 = type_nullable_parser_nodes__AExternCodeBlock.color;
794 idtype39 = type_nullable_parser_nodes__AExternCodeBlock.id;
795 if(var_pexterncodeblocknode15 == NULL) {
796 var37 = 1;
797 } else {
798 if(cltype38 >= var_pexterncodeblocknode15->type->table_size) {
799 var37 = 0;
800 } else {
801 var37 = var_pexterncodeblocknode15->type->type_table[cltype38] == idtype39;
802 }
803 }
804 if (!var37) {
805 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6652);
806 exit(1);
807 }
808 var_tkwendnode18 = var_nodearraylist10;
809 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
810 cltype41 = type_nullable_parser_nodes__TKwend.color;
811 idtype42 = type_nullable_parser_nodes__TKwend.id;
812 if(var_tkwendnode18 == NULL) {
813 var40 = 1;
814 } else {
815 if(cltype41 >= var_tkwendnode18->type->table_size) {
816 var40 = 0;
817 } else {
818 var40 = var_tkwendnode18->type->type_table[cltype41] == idtype42;
819 }
820 }
821 if (!var40) {
822 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6654);
823 exit(1);
824 }
825 var43 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
826 var44 = NULL;
827 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var43->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var43, var_pdocnode2, var44, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var43:AStdClassdef>*/;
828 CHECK_NEW_parser_nodes__AStdClassdef(var43);
829 var_pclassdefnode1 = var43;
830 var_node_list = var_pclassdefnode1;
831 var45 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction129> */
832 var46 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var45) /* go_to on <var_p:Parser>*/;
833 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var46, var_node_list) /* push on <var_p:Parser>*/;
834 RET_LABEL:;
835 }
836 /* method parser#ReduceAction129#action for (self: Object, Parser) */
837 void VIRTUAL_parser__ReduceAction129__action(val* self, val* p0) {
838 parser__ReduceAction129__action(self, p0);
839 RET_LABEL:;
840 }
841 /* method parser#ReduceAction130#action for (self: ReduceAction130, Parser) */
842 void parser__ReduceAction130__action(val* self, val* p0) {
843 val* var_p /* var p: Parser */;
844 val* var /* : null */;
845 val* var_node_list /* var node_list: nullable Object */;
846 val* var1 /* : nullable Object */;
847 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
848 val* var2 /* : nullable Object */;
849 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
850 val* var3 /* : nullable Object */;
851 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
852 val* var4 /* : nullable Object */;
853 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
854 val* var5 /* : nullable Object */;
855 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
856 val* var6 /* : nullable Object */;
857 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
858 val* var7 /* : nullable Object */;
859 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
860 val* var8 /* : nullable Object */;
861 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
862 val* var9 /* : nullable Object */;
863 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
864 val* var10 /* : nullable Object */;
865 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
866 val* var11 /* : nullable Object */;
867 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
868 val* var12 /* : Array[Object] */;
869 val* var_listnode8 /* var listnode8: Array[Object] */;
870 val* var13 /* : Array[Object] */;
871 val* var_listnode16 /* var listnode16: Array[Object] */;
872 val* var14 /* : Array[Object] */;
873 val* var_listnode17 /* var listnode17: Array[Object] */;
874 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
875 short int var15 /* : Bool */;
876 int cltype;
877 int idtype;
878 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
879 short int var16 /* : Bool */;
880 int cltype17;
881 int idtype18;
882 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
883 short int var19 /* : Bool */;
884 int cltype20;
885 int idtype21;
886 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
887 short int var22 /* : Bool */;
888 int cltype23;
889 int idtype24;
890 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
891 short int var25 /* : Bool */;
892 int cltype26;
893 int idtype27;
894 val* var_listnode7 /* var listnode7: nullable Object */;
895 short int var28 /* : Bool */;
896 int cltype29;
897 int idtype30;
898 val* var31 /* : Array[Object] */;
899 val* var32 /* : Array[Object] */;
900 val* var_listnode13 /* var listnode13: Array[Object] */;
901 val* var_listnode12 /* var listnode12: nullable Object */;
902 short int var33 /* : Bool */;
903 int cltype34;
904 int idtype35;
905 val* var36 /* : Array[Object] */;
906 val* var37 /* : AAnnotations */;
907 val* var38 /* : null */;
908 val* var39 /* : null */;
909 val* var40 /* : null */;
910 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
911 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
912 short int var41 /* : Bool */;
913 int cltype42;
914 int idtype43;
915 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
916 short int var44 /* : Bool */;
917 int cltype45;
918 int idtype46;
919 val* var47 /* : AStdClassdef */;
920 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
921 long var48 /* : Int */;
922 long var49 /* : Int */;
923 var_p = p0;
924 var = NULL;
925 var_node_list = var;
926 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
927 var_nodearraylist11 = var1;
928 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
929 var_nodearraylist10 = var2;
930 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
931 var_nodearraylist9 = var3;
932 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
933 var_nodearraylist8 = var4;
934 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
935 var_nodearraylist7 = var5;
936 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
937 var_nodearraylist6 = var6;
938 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
939 var_nodearraylist5 = var7;
940 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
941 var_nodearraylist4 = var8;
942 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
943 var_nodearraylist3 = var9;
944 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
945 var_nodearraylist2 = var10;
946 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
947 var_nodearraylist1 = var11;
948 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
949 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
950 CHECK_NEW_array__Array(var12);
951 var_listnode8 = var12;
952 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
953 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
954 CHECK_NEW_array__Array(var13);
955 var_listnode16 = var13;
956 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
957 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
958 CHECK_NEW_array__Array(var14);
959 var_listnode17 = var14;
960 var_pdocnode2 = var_nodearraylist1;
961 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
962 cltype = type_nullable_parser_nodes__ADoc.color;
963 idtype = type_nullable_parser_nodes__ADoc.id;
964 if(var_pdocnode2 == NULL) {
965 var15 = 1;
966 } else {
967 if(cltype >= var_pdocnode2->type->table_size) {
968 var15 = 0;
969 } else {
970 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
971 }
972 }
973 if (!var15) {
974 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6692);
975 exit(1);
976 }
977 var_tkwredefnode3 = var_nodearraylist2;
978 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
979 cltype17 = type_nullable_parser_nodes__TKwredef.color;
980 idtype18 = type_nullable_parser_nodes__TKwredef.id;
981 if(var_tkwredefnode3 == NULL) {
982 var16 = 1;
983 } else {
984 if(cltype17 >= var_tkwredefnode3->type->table_size) {
985 var16 = 0;
986 } else {
987 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
988 }
989 }
990 if (!var16) {
991 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6694);
992 exit(1);
993 }
994 var_pvisibilitynode4 = var_nodearraylist3;
995 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
996 cltype20 = type_nullable_parser_nodes__AVisibility.color;
997 idtype21 = type_nullable_parser_nodes__AVisibility.id;
998 if(var_pvisibilitynode4 == NULL) {
999 var19 = 1;
1000 } else {
1001 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
1002 var19 = 0;
1003 } else {
1004 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
1005 }
1006 }
1007 if (!var19) {
1008 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6696);
1009 exit(1);
1010 }
1011 var_pclasskindnode5 = var_nodearraylist4;
1012 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1013 cltype23 = type_nullable_parser_nodes__AClasskind.color;
1014 idtype24 = type_nullable_parser_nodes__AClasskind.id;
1015 if(var_pclasskindnode5 == NULL) {
1016 var22 = 1;
1017 } else {
1018 if(cltype23 >= var_pclasskindnode5->type->table_size) {
1019 var22 = 0;
1020 } else {
1021 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
1022 }
1023 }
1024 if (!var22) {
1025 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6698);
1026 exit(1);
1027 }
1028 var_tclassidnode6 = var_nodearraylist6;
1029 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1030 cltype26 = type_nullable_parser_nodes__TClassid.color;
1031 idtype27 = type_nullable_parser_nodes__TClassid.id;
1032 if(var_tclassidnode6 == NULL) {
1033 var25 = 1;
1034 } else {
1035 if(cltype26 >= var_tclassidnode6->type->table_size) {
1036 var25 = 0;
1037 } else {
1038 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
1039 }
1040 }
1041 if (!var25) {
1042 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6700);
1043 exit(1);
1044 }
1045 var_listnode7 = var_nodearraylist7;
1046 /* <var_listnode7:nullable Object> isa Array[Object] */
1047 cltype29 = type_array__Arraykernel__Object.color;
1048 idtype30 = type_array__Arraykernel__Object.id;
1049 if(var_listnode7 == NULL) {
1050 var28 = 0;
1051 } else {
1052 if(cltype29 >= var_listnode7->type->table_size) {
1053 var28 = 0;
1054 } else {
1055 var28 = var_listnode7->type->type_table[cltype29] == idtype30;
1056 }
1057 }
1058 if (!var28) {
1059 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6702);
1060 exit(1);
1061 }
1062 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction130>*/;
1063 var_listnode8 = var31;
1064 var32 = NEW_array__Array(&type_array__Arraykernel__Object);
1065 ((void (*)(val*))(var32->class->vft[COLOR_array__Array__init]))(var32) /* init on <var32:Array[Object]>*/;
1066 CHECK_NEW_array__Array(var32);
1067 var_listnode13 = var32;
1068 var_listnode12 = var_nodearraylist8;
1069 /* <var_listnode12:nullable Object> isa Array[Object] */
1070 cltype34 = type_array__Arraykernel__Object.color;
1071 idtype35 = type_array__Arraykernel__Object.id;
1072 if(var_listnode12 == NULL) {
1073 var33 = 0;
1074 } else {
1075 if(cltype34 >= var_listnode12->type->table_size) {
1076 var33 = 0;
1077 } else {
1078 var33 = var_listnode12->type->type_table[cltype34] == idtype35;
1079 }
1080 }
1081 if (!var33) {
1082 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6706);
1083 exit(1);
1084 }
1085 var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction130>*/;
1086 var_listnode13 = var36;
1087 var37 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
1088 var38 = NULL;
1089 var39 = NULL;
1090 var40 = NULL;
1091 ((void (*)(val*, val*, val*, val*, val*))(var37->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var37, var38, var39, var_listnode13, var40) /* init_aannotations on <var37:AAnnotations>*/;
1092 CHECK_NEW_parser_nodes__AAnnotations(var37);
1093 var_pannotationsnode9 = var37;
1094 var_pexterncodeblocknode15 = var_nodearraylist9;
1095 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
1096 cltype42 = type_nullable_parser_nodes__AExternCodeBlock.color;
1097 idtype43 = type_nullable_parser_nodes__AExternCodeBlock.id;
1098 if(var_pexterncodeblocknode15 == NULL) {
1099 var41 = 1;
1100 } else {
1101 if(cltype42 >= var_pexterncodeblocknode15->type->table_size) {
1102 var41 = 0;
1103 } else {
1104 var41 = var_pexterncodeblocknode15->type->type_table[cltype42] == idtype43;
1105 }
1106 }
1107 if (!var41) {
1108 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6715);
1109 exit(1);
1110 }
1111 var_tkwendnode18 = var_nodearraylist11;
1112 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
1113 cltype45 = type_nullable_parser_nodes__TKwend.color;
1114 idtype46 = type_nullable_parser_nodes__TKwend.id;
1115 if(var_tkwendnode18 == NULL) {
1116 var44 = 1;
1117 } else {
1118 if(cltype45 >= var_tkwendnode18->type->table_size) {
1119 var44 = 0;
1120 } else {
1121 var44 = var_tkwendnode18->type->type_table[cltype45] == idtype46;
1122 }
1123 }
1124 if (!var44) {
1125 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6717);
1126 exit(1);
1127 }
1128 var47 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1129 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var47->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var47, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var47:AStdClassdef>*/;
1130 CHECK_NEW_parser_nodes__AStdClassdef(var47);
1131 var_pclassdefnode1 = var47;
1132 var_node_list = var_pclassdefnode1;
1133 var48 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction130> */
1134 var49 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var48) /* go_to on <var_p:Parser>*/;
1135 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var49, var_node_list) /* push on <var_p:Parser>*/;
1136 RET_LABEL:;
1137 }
1138 /* method parser#ReduceAction130#action for (self: Object, Parser) */
1139 void VIRTUAL_parser__ReduceAction130__action(val* self, val* p0) {
1140 parser__ReduceAction130__action(self, p0);
1141 RET_LABEL:;
1142 }
1143 /* method parser#ReduceAction131#action for (self: ReduceAction131, Parser) */
1144 void parser__ReduceAction131__action(val* self, val* p0) {
1145 val* var_p /* var p: Parser */;
1146 val* var /* : null */;
1147 val* var_node_list /* var node_list: nullable Object */;
1148 val* var1 /* : nullable Object */;
1149 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
1150 val* var2 /* : nullable Object */;
1151 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1152 val* var3 /* : nullable Object */;
1153 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1154 val* var4 /* : nullable Object */;
1155 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1156 val* var5 /* : nullable Object */;
1157 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1158 val* var6 /* : nullable Object */;
1159 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1160 val* var7 /* : nullable Object */;
1161 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1162 val* var8 /* : nullable Object */;
1163 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1164 val* var9 /* : nullable Object */;
1165 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1166 val* var10 /* : nullable Object */;
1167 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1168 val* var11 /* : nullable Object */;
1169 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1170 val* var12 /* : Array[Object] */;
1171 val* var_listnode8 /* var listnode8: Array[Object] */;
1172 val* var13 /* : Array[Object] */;
1173 val* var_listnode16 /* var listnode16: Array[Object] */;
1174 val* var14 /* : Array[Object] */;
1175 val* var_listnode17 /* var listnode17: Array[Object] */;
1176 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1177 short int var15 /* : Bool */;
1178 int cltype;
1179 int idtype;
1180 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1181 short int var16 /* : Bool */;
1182 int cltype17;
1183 int idtype18;
1184 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1185 short int var19 /* : Bool */;
1186 int cltype20;
1187 int idtype21;
1188 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1189 short int var22 /* : Bool */;
1190 int cltype23;
1191 int idtype24;
1192 val* var_listnode7 /* var listnode7: nullable Object */;
1193 short int var25 /* : Bool */;
1194 int cltype26;
1195 int idtype27;
1196 val* var28 /* : Array[Object] */;
1197 val* var29 /* : Array[Object] */;
1198 val* var_listnode13 /* var listnode13: Array[Object] */;
1199 val* var_listnode12 /* var listnode12: nullable Object */;
1200 short int var30 /* : Bool */;
1201 int cltype31;
1202 int idtype32;
1203 val* var33 /* : Array[Object] */;
1204 val* var34 /* : AAnnotations */;
1205 val* var35 /* : null */;
1206 val* var36 /* : null */;
1207 val* var37 /* : null */;
1208 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
1209 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
1210 short int var38 /* : Bool */;
1211 int cltype39;
1212 int idtype40;
1213 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
1214 short int var41 /* : Bool */;
1215 int cltype42;
1216 int idtype43;
1217 val* var44 /* : AStdClassdef */;
1218 val* var45 /* : null */;
1219 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1220 long var46 /* : Int */;
1221 long var47 /* : Int */;
1222 var_p = p0;
1223 var = NULL;
1224 var_node_list = var;
1225 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1226 var_nodearraylist11 = var1;
1227 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1228 var_nodearraylist10 = var2;
1229 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1230 var_nodearraylist9 = var3;
1231 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1232 var_nodearraylist8 = var4;
1233 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1234 var_nodearraylist7 = var5;
1235 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1236 var_nodearraylist6 = var6;
1237 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1238 var_nodearraylist5 = var7;
1239 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1240 var_nodearraylist4 = var8;
1241 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1242 var_nodearraylist3 = var9;
1243 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1244 var_nodearraylist2 = var10;
1245 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1246 var_nodearraylist1 = var11;
1247 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
1248 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
1249 CHECK_NEW_array__Array(var12);
1250 var_listnode8 = var12;
1251 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
1252 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
1253 CHECK_NEW_array__Array(var13);
1254 var_listnode16 = var13;
1255 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
1256 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
1257 CHECK_NEW_array__Array(var14);
1258 var_listnode17 = var14;
1259 var_pdocnode2 = var_nodearraylist1;
1260 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1261 cltype = type_nullable_parser_nodes__ADoc.color;
1262 idtype = type_nullable_parser_nodes__ADoc.id;
1263 if(var_pdocnode2 == NULL) {
1264 var15 = 1;
1265 } else {
1266 if(cltype >= var_pdocnode2->type->table_size) {
1267 var15 = 0;
1268 } else {
1269 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
1270 }
1271 }
1272 if (!var15) {
1273 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6755);
1274 exit(1);
1275 }
1276 var_pvisibilitynode4 = var_nodearraylist2;
1277 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1278 cltype17 = type_nullable_parser_nodes__AVisibility.color;
1279 idtype18 = type_nullable_parser_nodes__AVisibility.id;
1280 if(var_pvisibilitynode4 == NULL) {
1281 var16 = 1;
1282 } else {
1283 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
1284 var16 = 0;
1285 } else {
1286 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
1287 }
1288 }
1289 if (!var16) {
1290 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6757);
1291 exit(1);
1292 }
1293 var_pclasskindnode5 = var_nodearraylist3;
1294 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1295 cltype20 = type_nullable_parser_nodes__AClasskind.color;
1296 idtype21 = type_nullable_parser_nodes__AClasskind.id;
1297 if(var_pclasskindnode5 == NULL) {
1298 var19 = 1;
1299 } else {
1300 if(cltype20 >= var_pclasskindnode5->type->table_size) {
1301 var19 = 0;
1302 } else {
1303 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
1304 }
1305 }
1306 if (!var19) {
1307 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6759);
1308 exit(1);
1309 }
1310 var_tclassidnode6 = var_nodearraylist6;
1311 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1312 cltype23 = type_nullable_parser_nodes__TClassid.color;
1313 idtype24 = type_nullable_parser_nodes__TClassid.id;
1314 if(var_tclassidnode6 == NULL) {
1315 var22 = 1;
1316 } else {
1317 if(cltype23 >= var_tclassidnode6->type->table_size) {
1318 var22 = 0;
1319 } else {
1320 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
1321 }
1322 }
1323 if (!var22) {
1324 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6761);
1325 exit(1);
1326 }
1327 var_listnode7 = var_nodearraylist7;
1328 /* <var_listnode7:nullable Object> isa Array[Object] */
1329 cltype26 = type_array__Arraykernel__Object.color;
1330 idtype27 = type_array__Arraykernel__Object.id;
1331 if(var_listnode7 == NULL) {
1332 var25 = 0;
1333 } else {
1334 if(cltype26 >= var_listnode7->type->table_size) {
1335 var25 = 0;
1336 } else {
1337 var25 = var_listnode7->type->type_table[cltype26] == idtype27;
1338 }
1339 }
1340 if (!var25) {
1341 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6763);
1342 exit(1);
1343 }
1344 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction131>*/;
1345 var_listnode8 = var28;
1346 var29 = NEW_array__Array(&type_array__Arraykernel__Object);
1347 ((void (*)(val*))(var29->class->vft[COLOR_array__Array__init]))(var29) /* init on <var29:Array[Object]>*/;
1348 CHECK_NEW_array__Array(var29);
1349 var_listnode13 = var29;
1350 var_listnode12 = var_nodearraylist8;
1351 /* <var_listnode12:nullable Object> isa Array[Object] */
1352 cltype31 = type_array__Arraykernel__Object.color;
1353 idtype32 = type_array__Arraykernel__Object.id;
1354 if(var_listnode12 == NULL) {
1355 var30 = 0;
1356 } else {
1357 if(cltype31 >= var_listnode12->type->table_size) {
1358 var30 = 0;
1359 } else {
1360 var30 = var_listnode12->type->type_table[cltype31] == idtype32;
1361 }
1362 }
1363 if (!var30) {
1364 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6767);
1365 exit(1);
1366 }
1367 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction131>*/;
1368 var_listnode13 = var33;
1369 var34 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
1370 var35 = NULL;
1371 var36 = NULL;
1372 var37 = NULL;
1373 ((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>*/;
1374 CHECK_NEW_parser_nodes__AAnnotations(var34);
1375 var_pannotationsnode9 = var34;
1376 var_pexterncodeblocknode15 = var_nodearraylist9;
1377 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
1378 cltype39 = type_nullable_parser_nodes__AExternCodeBlock.color;
1379 idtype40 = type_nullable_parser_nodes__AExternCodeBlock.id;
1380 if(var_pexterncodeblocknode15 == NULL) {
1381 var38 = 1;
1382 } else {
1383 if(cltype39 >= var_pexterncodeblocknode15->type->table_size) {
1384 var38 = 0;
1385 } else {
1386 var38 = var_pexterncodeblocknode15->type->type_table[cltype39] == idtype40;
1387 }
1388 }
1389 if (!var38) {
1390 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6776);
1391 exit(1);
1392 }
1393 var_tkwendnode18 = var_nodearraylist11;
1394 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
1395 cltype42 = type_nullable_parser_nodes__TKwend.color;
1396 idtype43 = type_nullable_parser_nodes__TKwend.id;
1397 if(var_tkwendnode18 == NULL) {
1398 var41 = 1;
1399 } else {
1400 if(cltype42 >= var_tkwendnode18->type->table_size) {
1401 var41 = 0;
1402 } else {
1403 var41 = var_tkwendnode18->type->type_table[cltype42] == idtype43;
1404 }
1405 }
1406 if (!var41) {
1407 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6778);
1408 exit(1);
1409 }
1410 var44 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1411 var45 = NULL;
1412 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var44->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var44, var_pdocnode2, var45, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var44:AStdClassdef>*/;
1413 CHECK_NEW_parser_nodes__AStdClassdef(var44);
1414 var_pclassdefnode1 = var44;
1415 var_node_list = var_pclassdefnode1;
1416 var46 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction131> */
1417 var47 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var46) /* go_to on <var_p:Parser>*/;
1418 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var47, var_node_list) /* push on <var_p:Parser>*/;
1419 RET_LABEL:;
1420 }
1421 /* method parser#ReduceAction131#action for (self: Object, Parser) */
1422 void VIRTUAL_parser__ReduceAction131__action(val* self, val* p0) {
1423 parser__ReduceAction131__action(self, p0);
1424 RET_LABEL:;
1425 }
1426 /* method parser#ReduceAction132#action for (self: ReduceAction132, Parser) */
1427 void parser__ReduceAction132__action(val* self, val* p0) {
1428 val* var_p /* var p: Parser */;
1429 val* var /* : null */;
1430 val* var_node_list /* var node_list: nullable Object */;
1431 val* var1 /* : nullable Object */;
1432 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
1433 val* var2 /* : nullable Object */;
1434 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
1435 val* var3 /* : nullable Object */;
1436 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1437 val* var4 /* : nullable Object */;
1438 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1439 val* var5 /* : nullable Object */;
1440 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1441 val* var6 /* : nullable Object */;
1442 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1443 val* var7 /* : nullable Object */;
1444 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1445 val* var8 /* : nullable Object */;
1446 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1447 val* var9 /* : nullable Object */;
1448 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1449 val* var10 /* : nullable Object */;
1450 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1451 val* var11 /* : nullable Object */;
1452 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1453 val* var12 /* : nullable Object */;
1454 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1455 val* var13 /* : Array[Object] */;
1456 val* var_listnode8 /* var listnode8: Array[Object] */;
1457 val* var14 /* : Array[Object] */;
1458 val* var_listnode16 /* var listnode16: Array[Object] */;
1459 val* var15 /* : Array[Object] */;
1460 val* var_listnode17 /* var listnode17: Array[Object] */;
1461 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1462 short int var16 /* : Bool */;
1463 int cltype;
1464 int idtype;
1465 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1466 short int var17 /* : Bool */;
1467 int cltype18;
1468 int idtype19;
1469 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1470 short int var20 /* : Bool */;
1471 int cltype21;
1472 int idtype22;
1473 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1474 short int var23 /* : Bool */;
1475 int cltype24;
1476 int idtype25;
1477 val* var_listnode7 /* var listnode7: nullable Object */;
1478 short int var26 /* : Bool */;
1479 int cltype27;
1480 int idtype28;
1481 val* var29 /* : Array[Object] */;
1482 val* var30 /* : Array[Object] */;
1483 val* var_listnode13 /* var listnode13: Array[Object] */;
1484 val* var_listnode12 /* var listnode12: nullable Object */;
1485 short int var31 /* : Bool */;
1486 int cltype32;
1487 int idtype33;
1488 val* var34 /* : Array[Object] */;
1489 val* var35 /* : AAnnotations */;
1490 val* var36 /* : null */;
1491 val* var37 /* : null */;
1492 val* var38 /* : null */;
1493 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
1494 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
1495 short int var39 /* : Bool */;
1496 int cltype40;
1497 int idtype41;
1498 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
1499 short int var42 /* : Bool */;
1500 int cltype43;
1501 int idtype44;
1502 val* var45 /* : AStdClassdef */;
1503 val* var46 /* : null */;
1504 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1505 long var47 /* : Int */;
1506 long var48 /* : Int */;
1507 var_p = p0;
1508 var = NULL;
1509 var_node_list = var;
1510 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1511 var_nodearraylist12 = var1;
1512 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1513 var_nodearraylist11 = var2;
1514 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1515 var_nodearraylist10 = var3;
1516 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1517 var_nodearraylist9 = var4;
1518 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1519 var_nodearraylist8 = var5;
1520 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1521 var_nodearraylist7 = var6;
1522 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1523 var_nodearraylist6 = var7;
1524 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1525 var_nodearraylist5 = var8;
1526 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1527 var_nodearraylist4 = var9;
1528 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1529 var_nodearraylist3 = var10;
1530 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1531 var_nodearraylist2 = var11;
1532 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1533 var_nodearraylist1 = var12;
1534 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
1535 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
1536 CHECK_NEW_array__Array(var13);
1537 var_listnode8 = var13;
1538 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
1539 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
1540 CHECK_NEW_array__Array(var14);
1541 var_listnode16 = var14;
1542 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
1543 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
1544 CHECK_NEW_array__Array(var15);
1545 var_listnode17 = var15;
1546 var_pdocnode2 = var_nodearraylist1;
1547 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1548 cltype = type_nullable_parser_nodes__ADoc.color;
1549 idtype = type_nullable_parser_nodes__ADoc.id;
1550 if(var_pdocnode2 == NULL) {
1551 var16 = 1;
1552 } else {
1553 if(cltype >= var_pdocnode2->type->table_size) {
1554 var16 = 0;
1555 } else {
1556 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
1557 }
1558 }
1559 if (!var16) {
1560 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6817);
1561 exit(1);
1562 }
1563 var_pvisibilitynode4 = var_nodearraylist2;
1564 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1565 cltype18 = type_nullable_parser_nodes__AVisibility.color;
1566 idtype19 = type_nullable_parser_nodes__AVisibility.id;
1567 if(var_pvisibilitynode4 == NULL) {
1568 var17 = 1;
1569 } else {
1570 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
1571 var17 = 0;
1572 } else {
1573 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
1574 }
1575 }
1576 if (!var17) {
1577 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6819);
1578 exit(1);
1579 }
1580 var_pclasskindnode5 = var_nodearraylist3;
1581 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1582 cltype21 = type_nullable_parser_nodes__AClasskind.color;
1583 idtype22 = type_nullable_parser_nodes__AClasskind.id;
1584 if(var_pclasskindnode5 == NULL) {
1585 var20 = 1;
1586 } else {
1587 if(cltype21 >= var_pclasskindnode5->type->table_size) {
1588 var20 = 0;
1589 } else {
1590 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
1591 }
1592 }
1593 if (!var20) {
1594 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6821);
1595 exit(1);
1596 }
1597 var_tclassidnode6 = var_nodearraylist7;
1598 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1599 cltype24 = type_nullable_parser_nodes__TClassid.color;
1600 idtype25 = type_nullable_parser_nodes__TClassid.id;
1601 if(var_tclassidnode6 == NULL) {
1602 var23 = 1;
1603 } else {
1604 if(cltype24 >= var_tclassidnode6->type->table_size) {
1605 var23 = 0;
1606 } else {
1607 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
1608 }
1609 }
1610 if (!var23) {
1611 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6823);
1612 exit(1);
1613 }
1614 var_listnode7 = var_nodearraylist8;
1615 /* <var_listnode7:nullable Object> isa Array[Object] */
1616 cltype27 = type_array__Arraykernel__Object.color;
1617 idtype28 = type_array__Arraykernel__Object.id;
1618 if(var_listnode7 == NULL) {
1619 var26 = 0;
1620 } else {
1621 if(cltype27 >= var_listnode7->type->table_size) {
1622 var26 = 0;
1623 } else {
1624 var26 = var_listnode7->type->type_table[cltype27] == idtype28;
1625 }
1626 }
1627 if (!var26) {
1628 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6825);
1629 exit(1);
1630 }
1631 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction132>*/;
1632 var_listnode8 = var29;
1633 var30 = NEW_array__Array(&type_array__Arraykernel__Object);
1634 ((void (*)(val*))(var30->class->vft[COLOR_array__Array__init]))(var30) /* init on <var30:Array[Object]>*/;
1635 CHECK_NEW_array__Array(var30);
1636 var_listnode13 = var30;
1637 var_listnode12 = var_nodearraylist9;
1638 /* <var_listnode12:nullable Object> isa Array[Object] */
1639 cltype32 = type_array__Arraykernel__Object.color;
1640 idtype33 = type_array__Arraykernel__Object.id;
1641 if(var_listnode12 == NULL) {
1642 var31 = 0;
1643 } else {
1644 if(cltype32 >= var_listnode12->type->table_size) {
1645 var31 = 0;
1646 } else {
1647 var31 = var_listnode12->type->type_table[cltype32] == idtype33;
1648 }
1649 }
1650 if (!var31) {
1651 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6829);
1652 exit(1);
1653 }
1654 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction132>*/;
1655 var_listnode13 = var34;
1656 var35 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
1657 var36 = NULL;
1658 var37 = NULL;
1659 var38 = NULL;
1660 ((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>*/;
1661 CHECK_NEW_parser_nodes__AAnnotations(var35);
1662 var_pannotationsnode9 = var35;
1663 var_pexterncodeblocknode15 = var_nodearraylist10;
1664 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
1665 cltype40 = type_nullable_parser_nodes__AExternCodeBlock.color;
1666 idtype41 = type_nullable_parser_nodes__AExternCodeBlock.id;
1667 if(var_pexterncodeblocknode15 == NULL) {
1668 var39 = 1;
1669 } else {
1670 if(cltype40 >= var_pexterncodeblocknode15->type->table_size) {
1671 var39 = 0;
1672 } else {
1673 var39 = var_pexterncodeblocknode15->type->type_table[cltype40] == idtype41;
1674 }
1675 }
1676 if (!var39) {
1677 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6838);
1678 exit(1);
1679 }
1680 var_tkwendnode18 = var_nodearraylist12;
1681 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
1682 cltype43 = type_nullable_parser_nodes__TKwend.color;
1683 idtype44 = type_nullable_parser_nodes__TKwend.id;
1684 if(var_tkwendnode18 == NULL) {
1685 var42 = 1;
1686 } else {
1687 if(cltype43 >= var_tkwendnode18->type->table_size) {
1688 var42 = 0;
1689 } else {
1690 var42 = var_tkwendnode18->type->type_table[cltype43] == idtype44;
1691 }
1692 }
1693 if (!var42) {
1694 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6840);
1695 exit(1);
1696 }
1697 var45 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1698 var46 = NULL;
1699 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var45->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var45, var_pdocnode2, var46, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var45:AStdClassdef>*/;
1700 CHECK_NEW_parser_nodes__AStdClassdef(var45);
1701 var_pclassdefnode1 = var45;
1702 var_node_list = var_pclassdefnode1;
1703 var47 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction132> */
1704 var48 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var47) /* go_to on <var_p:Parser>*/;
1705 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var48, var_node_list) /* push on <var_p:Parser>*/;
1706 RET_LABEL:;
1707 }
1708 /* method parser#ReduceAction132#action for (self: Object, Parser) */
1709 void VIRTUAL_parser__ReduceAction132__action(val* self, val* p0) {
1710 parser__ReduceAction132__action(self, p0);
1711 RET_LABEL:;
1712 }
1713 /* method parser#ReduceAction134#action for (self: ReduceAction134, Parser) */
1714 void parser__ReduceAction134__action(val* self, val* p0) {
1715 val* var_p /* var p: Parser */;
1716 val* var /* : null */;
1717 val* var_node_list /* var node_list: nullable Object */;
1718 val* var1 /* : nullable Object */;
1719 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
1720 val* var2 /* : nullable Object */;
1721 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
1722 val* var3 /* : nullable Object */;
1723 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1724 val* var4 /* : nullable Object */;
1725 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1726 val* var5 /* : nullable Object */;
1727 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1728 val* var6 /* : nullable Object */;
1729 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1730 val* var7 /* : nullable Object */;
1731 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1732 val* var8 /* : nullable Object */;
1733 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1734 val* var9 /* : nullable Object */;
1735 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1736 val* var10 /* : nullable Object */;
1737 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1738 val* var11 /* : nullable Object */;
1739 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1740 val* var12 /* : nullable Object */;
1741 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1742 val* var13 /* : Array[Object] */;
1743 val* var_listnode8 /* var listnode8: Array[Object] */;
1744 val* var14 /* : Array[Object] */;
1745 val* var_listnode16 /* var listnode16: Array[Object] */;
1746 val* var15 /* : Array[Object] */;
1747 val* var_listnode17 /* var listnode17: Array[Object] */;
1748 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1749 short int var16 /* : Bool */;
1750 int cltype;
1751 int idtype;
1752 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
1753 short int var17 /* : Bool */;
1754 int cltype18;
1755 int idtype19;
1756 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1757 short int var20 /* : Bool */;
1758 int cltype21;
1759 int idtype22;
1760 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1761 short int var23 /* : Bool */;
1762 int cltype24;
1763 int idtype25;
1764 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1765 short int var26 /* : Bool */;
1766 int cltype27;
1767 int idtype28;
1768 val* var_listnode7 /* var listnode7: nullable Object */;
1769 short int var29 /* : Bool */;
1770 int cltype30;
1771 int idtype31;
1772 val* var32 /* : Array[Object] */;
1773 val* var33 /* : Array[Object] */;
1774 val* var_listnode13 /* var listnode13: Array[Object] */;
1775 val* var_listnode12 /* var listnode12: nullable Object */;
1776 short int var34 /* : Bool */;
1777 int cltype35;
1778 int idtype36;
1779 val* var37 /* : Array[Object] */;
1780 val* var38 /* : AAnnotations */;
1781 val* var39 /* : null */;
1782 val* var40 /* : null */;
1783 val* var41 /* : null */;
1784 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
1785 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
1786 short int var42 /* : Bool */;
1787 int cltype43;
1788 int idtype44;
1789 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
1790 short int var45 /* : Bool */;
1791 int cltype46;
1792 int idtype47;
1793 val* var48 /* : AStdClassdef */;
1794 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1795 long var49 /* : Int */;
1796 long var50 /* : Int */;
1797 var_p = p0;
1798 var = NULL;
1799 var_node_list = var;
1800 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1801 var_nodearraylist12 = var1;
1802 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1803 var_nodearraylist11 = var2;
1804 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1805 var_nodearraylist10 = var3;
1806 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1807 var_nodearraylist9 = var4;
1808 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1809 var_nodearraylist8 = var5;
1810 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1811 var_nodearraylist7 = var6;
1812 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1813 var_nodearraylist6 = var7;
1814 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1815 var_nodearraylist5 = var8;
1816 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1817 var_nodearraylist4 = var9;
1818 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1819 var_nodearraylist3 = var10;
1820 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1821 var_nodearraylist2 = var11;
1822 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1823 var_nodearraylist1 = var12;
1824 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
1825 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
1826 CHECK_NEW_array__Array(var13);
1827 var_listnode8 = var13;
1828 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
1829 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
1830 CHECK_NEW_array__Array(var14);
1831 var_listnode16 = var14;
1832 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
1833 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
1834 CHECK_NEW_array__Array(var15);
1835 var_listnode17 = var15;
1836 var_pdocnode2 = var_nodearraylist1;
1837 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1838 cltype = type_nullable_parser_nodes__ADoc.color;
1839 idtype = type_nullable_parser_nodes__ADoc.id;
1840 if(var_pdocnode2 == NULL) {
1841 var16 = 1;
1842 } else {
1843 if(cltype >= var_pdocnode2->type->table_size) {
1844 var16 = 0;
1845 } else {
1846 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
1847 }
1848 }
1849 if (!var16) {
1850 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6879);
1851 exit(1);
1852 }
1853 var_tkwredefnode3 = var_nodearraylist2;
1854 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1855 cltype18 = type_nullable_parser_nodes__TKwredef.color;
1856 idtype19 = type_nullable_parser_nodes__TKwredef.id;
1857 if(var_tkwredefnode3 == NULL) {
1858 var17 = 1;
1859 } else {
1860 if(cltype18 >= var_tkwredefnode3->type->table_size) {
1861 var17 = 0;
1862 } else {
1863 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
1864 }
1865 }
1866 if (!var17) {
1867 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6881);
1868 exit(1);
1869 }
1870 var_pvisibilitynode4 = var_nodearraylist3;
1871 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1872 cltype21 = type_nullable_parser_nodes__AVisibility.color;
1873 idtype22 = type_nullable_parser_nodes__AVisibility.id;
1874 if(var_pvisibilitynode4 == NULL) {
1875 var20 = 1;
1876 } else {
1877 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
1878 var20 = 0;
1879 } else {
1880 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
1881 }
1882 }
1883 if (!var20) {
1884 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6883);
1885 exit(1);
1886 }
1887 var_pclasskindnode5 = var_nodearraylist4;
1888 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1889 cltype24 = type_nullable_parser_nodes__AClasskind.color;
1890 idtype25 = type_nullable_parser_nodes__AClasskind.id;
1891 if(var_pclasskindnode5 == NULL) {
1892 var23 = 1;
1893 } else {
1894 if(cltype24 >= var_pclasskindnode5->type->table_size) {
1895 var23 = 0;
1896 } else {
1897 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
1898 }
1899 }
1900 if (!var23) {
1901 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6885);
1902 exit(1);
1903 }
1904 var_tclassidnode6 = var_nodearraylist7;
1905 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1906 cltype27 = type_nullable_parser_nodes__TClassid.color;
1907 idtype28 = type_nullable_parser_nodes__TClassid.id;
1908 if(var_tclassidnode6 == NULL) {
1909 var26 = 1;
1910 } else {
1911 if(cltype27 >= var_tclassidnode6->type->table_size) {
1912 var26 = 0;
1913 } else {
1914 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
1915 }
1916 }
1917 if (!var26) {
1918 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6887);
1919 exit(1);
1920 }
1921 var_listnode7 = var_nodearraylist8;
1922 /* <var_listnode7:nullable Object> isa Array[Object] */
1923 cltype30 = type_array__Arraykernel__Object.color;
1924 idtype31 = type_array__Arraykernel__Object.id;
1925 if(var_listnode7 == NULL) {
1926 var29 = 0;
1927 } else {
1928 if(cltype30 >= var_listnode7->type->table_size) {
1929 var29 = 0;
1930 } else {
1931 var29 = var_listnode7->type->type_table[cltype30] == idtype31;
1932 }
1933 }
1934 if (!var29) {
1935 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6889);
1936 exit(1);
1937 }
1938 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction134>*/;
1939 var_listnode8 = var32;
1940 var33 = NEW_array__Array(&type_array__Arraykernel__Object);
1941 ((void (*)(val*))(var33->class->vft[COLOR_array__Array__init]))(var33) /* init on <var33:Array[Object]>*/;
1942 CHECK_NEW_array__Array(var33);
1943 var_listnode13 = var33;
1944 var_listnode12 = var_nodearraylist9;
1945 /* <var_listnode12:nullable Object> isa Array[Object] */
1946 cltype35 = type_array__Arraykernel__Object.color;
1947 idtype36 = type_array__Arraykernel__Object.id;
1948 if(var_listnode12 == NULL) {
1949 var34 = 0;
1950 } else {
1951 if(cltype35 >= var_listnode12->type->table_size) {
1952 var34 = 0;
1953 } else {
1954 var34 = var_listnode12->type->type_table[cltype35] == idtype36;
1955 }
1956 }
1957 if (!var34) {
1958 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6893);
1959 exit(1);
1960 }
1961 var37 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction134>*/;
1962 var_listnode13 = var37;
1963 var38 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
1964 var39 = NULL;
1965 var40 = NULL;
1966 var41 = NULL;
1967 ((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>*/;
1968 CHECK_NEW_parser_nodes__AAnnotations(var38);
1969 var_pannotationsnode9 = var38;
1970 var_pexterncodeblocknode15 = var_nodearraylist10;
1971 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
1972 cltype43 = type_nullable_parser_nodes__AExternCodeBlock.color;
1973 idtype44 = type_nullable_parser_nodes__AExternCodeBlock.id;
1974 if(var_pexterncodeblocknode15 == NULL) {
1975 var42 = 1;
1976 } else {
1977 if(cltype43 >= var_pexterncodeblocknode15->type->table_size) {
1978 var42 = 0;
1979 } else {
1980 var42 = var_pexterncodeblocknode15->type->type_table[cltype43] == idtype44;
1981 }
1982 }
1983 if (!var42) {
1984 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6902);
1985 exit(1);
1986 }
1987 var_tkwendnode18 = var_nodearraylist12;
1988 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
1989 cltype46 = type_nullable_parser_nodes__TKwend.color;
1990 idtype47 = type_nullable_parser_nodes__TKwend.id;
1991 if(var_tkwendnode18 == NULL) {
1992 var45 = 1;
1993 } else {
1994 if(cltype46 >= var_tkwendnode18->type->table_size) {
1995 var45 = 0;
1996 } else {
1997 var45 = var_tkwendnode18->type->type_table[cltype46] == idtype47;
1998 }
1999 }
2000 if (!var45) {
2001 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6904);
2002 exit(1);
2003 }
2004 var48 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2005 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var48->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var48, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var48:AStdClassdef>*/;
2006 CHECK_NEW_parser_nodes__AStdClassdef(var48);
2007 var_pclassdefnode1 = var48;
2008 var_node_list = var_pclassdefnode1;
2009 var49 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction134> */
2010 var50 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var49) /* go_to on <var_p:Parser>*/;
2011 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var50, var_node_list) /* push on <var_p:Parser>*/;
2012 RET_LABEL:;
2013 }
2014 /* method parser#ReduceAction134#action for (self: Object, Parser) */
2015 void VIRTUAL_parser__ReduceAction134__action(val* self, val* p0) {
2016 parser__ReduceAction134__action(self, p0);
2017 RET_LABEL:;
2018 }
2019 /* method parser#ReduceAction135#action for (self: ReduceAction135, Parser) */
2020 void parser__ReduceAction135__action(val* self, val* p0) {
2021 val* var_p /* var p: Parser */;
2022 val* var /* : null */;
2023 val* var_node_list /* var node_list: nullable Object */;
2024 val* var1 /* : nullable Object */;
2025 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
2026 val* var2 /* : nullable Object */;
2027 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
2028 val* var3 /* : nullable Object */;
2029 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
2030 val* var4 /* : nullable Object */;
2031 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2032 val* var5 /* : nullable Object */;
2033 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2034 val* var6 /* : nullable Object */;
2035 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2036 val* var7 /* : nullable Object */;
2037 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2038 val* var8 /* : nullable Object */;
2039 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2040 val* var9 /* : nullable Object */;
2041 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2042 val* var10 /* : nullable Object */;
2043 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2044 val* var11 /* : nullable Object */;
2045 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2046 val* var12 /* : nullable Object */;
2047 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2048 val* var13 /* : nullable Object */;
2049 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2050 val* var14 /* : Array[Object] */;
2051 val* var_listnode8 /* var listnode8: Array[Object] */;
2052 val* var15 /* : Array[Object] */;
2053 val* var_listnode16 /* var listnode16: Array[Object] */;
2054 val* var16 /* : Array[Object] */;
2055 val* var_listnode17 /* var listnode17: Array[Object] */;
2056 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2057 short int var17 /* : Bool */;
2058 int cltype;
2059 int idtype;
2060 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
2061 short int var18 /* : Bool */;
2062 int cltype19;
2063 int idtype20;
2064 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2065 short int var21 /* : Bool */;
2066 int cltype22;
2067 int idtype23;
2068 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2069 short int var24 /* : Bool */;
2070 int cltype25;
2071 int idtype26;
2072 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2073 short int var27 /* : Bool */;
2074 int cltype28;
2075 int idtype29;
2076 val* var_listnode7 /* var listnode7: nullable Object */;
2077 short int var30 /* : Bool */;
2078 int cltype31;
2079 int idtype32;
2080 val* var33 /* : Array[Object] */;
2081 val* var34 /* : Array[Object] */;
2082 val* var_listnode13 /* var listnode13: Array[Object] */;
2083 val* var_listnode12 /* var listnode12: nullable Object */;
2084 short int var35 /* : Bool */;
2085 int cltype36;
2086 int idtype37;
2087 val* var38 /* : Array[Object] */;
2088 val* var39 /* : AAnnotations */;
2089 val* var40 /* : null */;
2090 val* var41 /* : null */;
2091 val* var42 /* : null */;
2092 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
2093 val* var_pexterncodeblocknode15 /* var pexterncodeblocknode15: nullable Object */;
2094 short int var43 /* : Bool */;
2095 int cltype44;
2096 int idtype45;
2097 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
2098 short int var46 /* : Bool */;
2099 int cltype47;
2100 int idtype48;
2101 val* var49 /* : AStdClassdef */;
2102 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2103 long var50 /* : Int */;
2104 long var51 /* : Int */;
2105 var_p = p0;
2106 var = NULL;
2107 var_node_list = var;
2108 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2109 var_nodearraylist13 = var1;
2110 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2111 var_nodearraylist12 = var2;
2112 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2113 var_nodearraylist11 = var3;
2114 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2115 var_nodearraylist10 = var4;
2116 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2117 var_nodearraylist9 = var5;
2118 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2119 var_nodearraylist8 = var6;
2120 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2121 var_nodearraylist7 = var7;
2122 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2123 var_nodearraylist6 = var8;
2124 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2125 var_nodearraylist5 = var9;
2126 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2127 var_nodearraylist4 = var10;
2128 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2129 var_nodearraylist3 = var11;
2130 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2131 var_nodearraylist2 = var12;
2132 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2133 var_nodearraylist1 = var13;
2134 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
2135 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
2136 CHECK_NEW_array__Array(var14);
2137 var_listnode8 = var14;
2138 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
2139 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
2140 CHECK_NEW_array__Array(var15);
2141 var_listnode16 = var15;
2142 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
2143 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
2144 CHECK_NEW_array__Array(var16);
2145 var_listnode17 = var16;
2146 var_pdocnode2 = var_nodearraylist1;
2147 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2148 cltype = type_nullable_parser_nodes__ADoc.color;
2149 idtype = type_nullable_parser_nodes__ADoc.id;
2150 if(var_pdocnode2 == NULL) {
2151 var17 = 1;
2152 } else {
2153 if(cltype >= var_pdocnode2->type->table_size) {
2154 var17 = 0;
2155 } else {
2156 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
2157 }
2158 }
2159 if (!var17) {
2160 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6944);
2161 exit(1);
2162 }
2163 var_tkwredefnode3 = var_nodearraylist2;
2164 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2165 cltype19 = type_nullable_parser_nodes__TKwredef.color;
2166 idtype20 = type_nullable_parser_nodes__TKwredef.id;
2167 if(var_tkwredefnode3 == NULL) {
2168 var18 = 1;
2169 } else {
2170 if(cltype19 >= var_tkwredefnode3->type->table_size) {
2171 var18 = 0;
2172 } else {
2173 var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20;
2174 }
2175 }
2176 if (!var18) {
2177 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6946);
2178 exit(1);
2179 }
2180 var_pvisibilitynode4 = var_nodearraylist3;
2181 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2182 cltype22 = type_nullable_parser_nodes__AVisibility.color;
2183 idtype23 = type_nullable_parser_nodes__AVisibility.id;
2184 if(var_pvisibilitynode4 == NULL) {
2185 var21 = 1;
2186 } else {
2187 if(cltype22 >= var_pvisibilitynode4->type->table_size) {
2188 var21 = 0;
2189 } else {
2190 var21 = var_pvisibilitynode4->type->type_table[cltype22] == idtype23;
2191 }
2192 }
2193 if (!var21) {
2194 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6948);
2195 exit(1);
2196 }
2197 var_pclasskindnode5 = var_nodearraylist4;
2198 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2199 cltype25 = type_nullable_parser_nodes__AClasskind.color;
2200 idtype26 = type_nullable_parser_nodes__AClasskind.id;
2201 if(var_pclasskindnode5 == NULL) {
2202 var24 = 1;
2203 } else {
2204 if(cltype25 >= var_pclasskindnode5->type->table_size) {
2205 var24 = 0;
2206 } else {
2207 var24 = var_pclasskindnode5->type->type_table[cltype25] == idtype26;
2208 }
2209 }
2210 if (!var24) {
2211 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6950);
2212 exit(1);
2213 }
2214 var_tclassidnode6 = var_nodearraylist8;
2215 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2216 cltype28 = type_nullable_parser_nodes__TClassid.color;
2217 idtype29 = type_nullable_parser_nodes__TClassid.id;
2218 if(var_tclassidnode6 == NULL) {
2219 var27 = 1;
2220 } else {
2221 if(cltype28 >= var_tclassidnode6->type->table_size) {
2222 var27 = 0;
2223 } else {
2224 var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29;
2225 }
2226 }
2227 if (!var27) {
2228 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6952);
2229 exit(1);
2230 }
2231 var_listnode7 = var_nodearraylist9;
2232 /* <var_listnode7:nullable Object> isa Array[Object] */
2233 cltype31 = type_array__Arraykernel__Object.color;
2234 idtype32 = type_array__Arraykernel__Object.id;
2235 if(var_listnode7 == NULL) {
2236 var30 = 0;
2237 } else {
2238 if(cltype31 >= var_listnode7->type->table_size) {
2239 var30 = 0;
2240 } else {
2241 var30 = var_listnode7->type->type_table[cltype31] == idtype32;
2242 }
2243 }
2244 if (!var30) {
2245 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6954);
2246 exit(1);
2247 }
2248 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction135>*/;
2249 var_listnode8 = var33;
2250 var34 = NEW_array__Array(&type_array__Arraykernel__Object);
2251 ((void (*)(val*))(var34->class->vft[COLOR_array__Array__init]))(var34) /* init on <var34:Array[Object]>*/;
2252 CHECK_NEW_array__Array(var34);
2253 var_listnode13 = var34;
2254 var_listnode12 = var_nodearraylist10;
2255 /* <var_listnode12:nullable Object> isa Array[Object] */
2256 cltype36 = type_array__Arraykernel__Object.color;
2257 idtype37 = type_array__Arraykernel__Object.id;
2258 if(var_listnode12 == NULL) {
2259 var35 = 0;
2260 } else {
2261 if(cltype36 >= var_listnode12->type->table_size) {
2262 var35 = 0;
2263 } else {
2264 var35 = var_listnode12->type->type_table[cltype36] == idtype37;
2265 }
2266 }
2267 if (!var35) {
2268 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6958);
2269 exit(1);
2270 }
2271 var38 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction135>*/;
2272 var_listnode13 = var38;
2273 var39 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
2274 var40 = NULL;
2275 var41 = NULL;
2276 var42 = NULL;
2277 ((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>*/;
2278 CHECK_NEW_parser_nodes__AAnnotations(var39);
2279 var_pannotationsnode9 = var39;
2280 var_pexterncodeblocknode15 = var_nodearraylist11;
2281 /* <var_pexterncodeblocknode15:nullable Object> isa nullable AExternCodeBlock */
2282 cltype44 = type_nullable_parser_nodes__AExternCodeBlock.color;
2283 idtype45 = type_nullable_parser_nodes__AExternCodeBlock.id;
2284 if(var_pexterncodeblocknode15 == NULL) {
2285 var43 = 1;
2286 } else {
2287 if(cltype44 >= var_pexterncodeblocknode15->type->table_size) {
2288 var43 = 0;
2289 } else {
2290 var43 = var_pexterncodeblocknode15->type->type_table[cltype44] == idtype45;
2291 }
2292 }
2293 if (!var43) {
2294 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6967);
2295 exit(1);
2296 }
2297 var_tkwendnode18 = var_nodearraylist13;
2298 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
2299 cltype47 = type_nullable_parser_nodes__TKwend.color;
2300 idtype48 = type_nullable_parser_nodes__TKwend.id;
2301 if(var_tkwendnode18 == NULL) {
2302 var46 = 1;
2303 } else {
2304 if(cltype47 >= var_tkwendnode18->type->table_size) {
2305 var46 = 0;
2306 } else {
2307 var46 = var_tkwendnode18->type->type_table[cltype47] == idtype48;
2308 }
2309 }
2310 if (!var46) {
2311 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6969);
2312 exit(1);
2313 }
2314 var49 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2315 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var49->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var49, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var_pexterncodeblocknode15, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var49:AStdClassdef>*/;
2316 CHECK_NEW_parser_nodes__AStdClassdef(var49);
2317 var_pclassdefnode1 = var49;
2318 var_node_list = var_pclassdefnode1;
2319 var50 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction135> */
2320 var51 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var50) /* go_to on <var_p:Parser>*/;
2321 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var51, var_node_list) /* push on <var_p:Parser>*/;
2322 RET_LABEL:;
2323 }
2324 /* method parser#ReduceAction135#action for (self: Object, Parser) */
2325 void VIRTUAL_parser__ReduceAction135__action(val* self, val* p0) {
2326 parser__ReduceAction135__action(self, p0);
2327 RET_LABEL:;
2328 }
2329 /* method parser#ReduceAction137#action for (self: ReduceAction137, Parser) */
2330 void parser__ReduceAction137__action(val* self, val* p0) {
2331 val* var_p /* var p: Parser */;
2332 val* var /* : null */;
2333 val* var_node_list /* var node_list: nullable Object */;
2334 val* var1 /* : nullable Object */;
2335 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2336 val* var2 /* : nullable Object */;
2337 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2338 val* var3 /* : nullable Object */;
2339 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2340 val* var4 /* : nullable Object */;
2341 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2342 val* var5 /* : nullable Object */;
2343 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2344 val* var6 /* : nullable Object */;
2345 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2346 val* var7 /* : nullable Object */;
2347 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2348 val* var8 /* : nullable Object */;
2349 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2350 val* var9 /* : Array[Object] */;
2351 val* var_listnode7 /* var listnode7: Array[Object] */;
2352 val* var10 /* : Array[Object] */;
2353 val* var_listnode11 /* var listnode11: Array[Object] */;
2354 val* var11 /* : Array[Object] */;
2355 val* var_listnode12 /* var listnode12: Array[Object] */;
2356 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2357 short int var12 /* : Bool */;
2358 int cltype;
2359 int idtype;
2360 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2361 short int var13 /* : Bool */;
2362 int cltype14;
2363 int idtype15;
2364 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2365 short int var16 /* : Bool */;
2366 int cltype17;
2367 int idtype18;
2368 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2369 short int var19 /* : Bool */;
2370 int cltype20;
2371 int idtype21;
2372 val* var_listnode10 /* var listnode10: nullable Object */;
2373 short int var22 /* : Bool */;
2374 int cltype23;
2375 int idtype24;
2376 val* var25 /* : Array[Object] */;
2377 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
2378 short int var26 /* : Bool */;
2379 int cltype27;
2380 int idtype28;
2381 val* var29 /* : AStdClassdef */;
2382 val* var30 /* : null */;
2383 val* var31 /* : null */;
2384 val* var32 /* : null */;
2385 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2386 long var33 /* : Int */;
2387 long var34 /* : Int */;
2388 var_p = p0;
2389 var = NULL;
2390 var_node_list = var;
2391 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2392 var_nodearraylist8 = var1;
2393 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2394 var_nodearraylist7 = var2;
2395 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2396 var_nodearraylist6 = var3;
2397 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2398 var_nodearraylist5 = var4;
2399 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2400 var_nodearraylist4 = var5;
2401 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2402 var_nodearraylist3 = var6;
2403 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2404 var_nodearraylist2 = var7;
2405 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2406 var_nodearraylist1 = var8;
2407 var9 = NEW_array__Array(&type_array__Arraykernel__Object);
2408 ((void (*)(val*))(var9->class->vft[COLOR_array__Array__init]))(var9) /* init on <var9:Array[Object]>*/;
2409 CHECK_NEW_array__Array(var9);
2410 var_listnode7 = var9;
2411 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
2412 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
2413 CHECK_NEW_array__Array(var10);
2414 var_listnode11 = var10;
2415 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
2416 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
2417 CHECK_NEW_array__Array(var11);
2418 var_listnode12 = var11;
2419 var_pdocnode2 = var_nodearraylist1;
2420 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2421 cltype = type_nullable_parser_nodes__ADoc.color;
2422 idtype = type_nullable_parser_nodes__ADoc.id;
2423 if(var_pdocnode2 == NULL) {
2424 var12 = 1;
2425 } else {
2426 if(cltype >= var_pdocnode2->type->table_size) {
2427 var12 = 0;
2428 } else {
2429 var12 = var_pdocnode2->type->type_table[cltype] == idtype;
2430 }
2431 }
2432 if (!var12) {
2433 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7004);
2434 exit(1);
2435 }
2436 var_pvisibilitynode4 = var_nodearraylist2;
2437 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2438 cltype14 = type_nullable_parser_nodes__AVisibility.color;
2439 idtype15 = type_nullable_parser_nodes__AVisibility.id;
2440 if(var_pvisibilitynode4 == NULL) {
2441 var13 = 1;
2442 } else {
2443 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
2444 var13 = 0;
2445 } else {
2446 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
2447 }
2448 }
2449 if (!var13) {
2450 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7006);
2451 exit(1);
2452 }
2453 var_pclasskindnode5 = var_nodearraylist3;
2454 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2455 cltype17 = type_nullable_parser_nodes__AClasskind.color;
2456 idtype18 = type_nullable_parser_nodes__AClasskind.id;
2457 if(var_pclasskindnode5 == NULL) {
2458 var16 = 1;
2459 } else {
2460 if(cltype17 >= var_pclasskindnode5->type->table_size) {
2461 var16 = 0;
2462 } else {
2463 var16 = var_pclasskindnode5->type->type_table[cltype17] == idtype18;
2464 }
2465 }
2466 if (!var16) {
2467 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7008);
2468 exit(1);
2469 }
2470 var_tclassidnode6 = var_nodearraylist5;
2471 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2472 cltype20 = type_nullable_parser_nodes__TClassid.color;
2473 idtype21 = type_nullable_parser_nodes__TClassid.id;
2474 if(var_tclassidnode6 == NULL) {
2475 var19 = 1;
2476 } else {
2477 if(cltype20 >= var_tclassidnode6->type->table_size) {
2478 var19 = 0;
2479 } else {
2480 var19 = var_tclassidnode6->type->type_table[cltype20] == idtype21;
2481 }
2482 }
2483 if (!var19) {
2484 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7010);
2485 exit(1);
2486 }
2487 var_listnode10 = var_nodearraylist6;
2488 /* <var_listnode10:nullable Object> isa Array[Object] */
2489 cltype23 = type_array__Arraykernel__Object.color;
2490 idtype24 = type_array__Arraykernel__Object.id;
2491 if(var_listnode10 == NULL) {
2492 var22 = 0;
2493 } else {
2494 if(cltype23 >= var_listnode10->type->table_size) {
2495 var22 = 0;
2496 } else {
2497 var22 = var_listnode10->type->type_table[cltype23] == idtype24;
2498 }
2499 }
2500 if (!var22) {
2501 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7012);
2502 exit(1);
2503 }
2504 var25 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction137>*/;
2505 var_listnode11 = var25;
2506 var_tkwendnode13 = var_nodearraylist8;
2507 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
2508 cltype27 = type_nullable_parser_nodes__TKwend.color;
2509 idtype28 = type_nullable_parser_nodes__TKwend.id;
2510 if(var_tkwendnode13 == NULL) {
2511 var26 = 1;
2512 } else {
2513 if(cltype27 >= var_tkwendnode13->type->table_size) {
2514 var26 = 0;
2515 } else {
2516 var26 = var_tkwendnode13->type->type_table[cltype27] == idtype28;
2517 }
2518 }
2519 if (!var26) {
2520 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7015);
2521 exit(1);
2522 }
2523 var29 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2524 var30 = NULL;
2525 var31 = NULL;
2526 var32 = NULL;
2527 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var29->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var29, var_pdocnode2, var30, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var31, var32, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var29:AStdClassdef>*/;
2528 CHECK_NEW_parser_nodes__AStdClassdef(var29);
2529 var_pclassdefnode1 = var29;
2530 var_node_list = var_pclassdefnode1;
2531 var33 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction137> */
2532 var34 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var33) /* go_to on <var_p:Parser>*/;
2533 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var34, var_node_list) /* push on <var_p:Parser>*/;
2534 RET_LABEL:;
2535 }
2536 /* method parser#ReduceAction137#action for (self: Object, Parser) */
2537 void VIRTUAL_parser__ReduceAction137__action(val* self, val* p0) {
2538 parser__ReduceAction137__action(self, p0);
2539 RET_LABEL:;
2540 }
2541 /* method parser#ReduceAction138#action for (self: ReduceAction138, Parser) */
2542 void parser__ReduceAction138__action(val* self, val* p0) {
2543 val* var_p /* var p: Parser */;
2544 val* var /* : null */;
2545 val* var_node_list /* var node_list: nullable Object */;
2546 val* var1 /* : nullable Object */;
2547 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2548 val* var2 /* : nullable Object */;
2549 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2550 val* var3 /* : nullable Object */;
2551 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2552 val* var4 /* : nullable Object */;
2553 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2554 val* var5 /* : nullable Object */;
2555 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2556 val* var6 /* : nullable Object */;
2557 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2558 val* var7 /* : nullable Object */;
2559 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2560 val* var8 /* : nullable Object */;
2561 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2562 val* var9 /* : nullable Object */;
2563 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2564 val* var10 /* : Array[Object] */;
2565 val* var_listnode7 /* var listnode7: Array[Object] */;
2566 val* var11 /* : Array[Object] */;
2567 val* var_listnode11 /* var listnode11: Array[Object] */;
2568 val* var12 /* : Array[Object] */;
2569 val* var_listnode12 /* var listnode12: Array[Object] */;
2570 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2571 short int var13 /* : Bool */;
2572 int cltype;
2573 int idtype;
2574 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
2575 short int var14 /* : Bool */;
2576 int cltype15;
2577 int idtype16;
2578 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2579 short int var17 /* : Bool */;
2580 int cltype18;
2581 int idtype19;
2582 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2583 short int var20 /* : Bool */;
2584 int cltype21;
2585 int idtype22;
2586 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2587 short int var23 /* : Bool */;
2588 int cltype24;
2589 int idtype25;
2590 val* var_listnode10 /* var listnode10: nullable Object */;
2591 short int var26 /* : Bool */;
2592 int cltype27;
2593 int idtype28;
2594 val* var29 /* : Array[Object] */;
2595 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
2596 short int var30 /* : Bool */;
2597 int cltype31;
2598 int idtype32;
2599 val* var33 /* : AStdClassdef */;
2600 val* var34 /* : null */;
2601 val* var35 /* : null */;
2602 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2603 long var36 /* : Int */;
2604 long var37 /* : Int */;
2605 var_p = p0;
2606 var = NULL;
2607 var_node_list = var;
2608 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2609 var_nodearraylist9 = var1;
2610 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2611 var_nodearraylist8 = var2;
2612 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2613 var_nodearraylist7 = var3;
2614 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2615 var_nodearraylist6 = var4;
2616 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2617 var_nodearraylist5 = var5;
2618 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2619 var_nodearraylist4 = var6;
2620 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2621 var_nodearraylist3 = var7;
2622 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2623 var_nodearraylist2 = var8;
2624 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2625 var_nodearraylist1 = var9;
2626 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
2627 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
2628 CHECK_NEW_array__Array(var10);
2629 var_listnode7 = var10;
2630 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
2631 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
2632 CHECK_NEW_array__Array(var11);
2633 var_listnode11 = var11;
2634 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
2635 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
2636 CHECK_NEW_array__Array(var12);
2637 var_listnode12 = var12;
2638 var_pdocnode2 = var_nodearraylist1;
2639 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2640 cltype = type_nullable_parser_nodes__ADoc.color;
2641 idtype = type_nullable_parser_nodes__ADoc.id;
2642 if(var_pdocnode2 == NULL) {
2643 var13 = 1;
2644 } else {
2645 if(cltype >= var_pdocnode2->type->table_size) {
2646 var13 = 0;
2647 } else {
2648 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
2649 }
2650 }
2651 if (!var13) {
2652 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7051);
2653 exit(1);
2654 }
2655 var_tkwredefnode3 = var_nodearraylist2;
2656 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2657 cltype15 = type_nullable_parser_nodes__TKwredef.color;
2658 idtype16 = type_nullable_parser_nodes__TKwredef.id;
2659 if(var_tkwredefnode3 == NULL) {
2660 var14 = 1;
2661 } else {
2662 if(cltype15 >= var_tkwredefnode3->type->table_size) {
2663 var14 = 0;
2664 } else {
2665 var14 = var_tkwredefnode3->type->type_table[cltype15] == idtype16;
2666 }
2667 }
2668 if (!var14) {
2669 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7053);
2670 exit(1);
2671 }
2672 var_pvisibilitynode4 = var_nodearraylist3;
2673 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2674 cltype18 = type_nullable_parser_nodes__AVisibility.color;
2675 idtype19 = type_nullable_parser_nodes__AVisibility.id;
2676 if(var_pvisibilitynode4 == NULL) {
2677 var17 = 1;
2678 } else {
2679 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
2680 var17 = 0;
2681 } else {
2682 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
2683 }
2684 }
2685 if (!var17) {
2686 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7055);
2687 exit(1);
2688 }
2689 var_pclasskindnode5 = var_nodearraylist4;
2690 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2691 cltype21 = type_nullable_parser_nodes__AClasskind.color;
2692 idtype22 = type_nullable_parser_nodes__AClasskind.id;
2693 if(var_pclasskindnode5 == NULL) {
2694 var20 = 1;
2695 } else {
2696 if(cltype21 >= var_pclasskindnode5->type->table_size) {
2697 var20 = 0;
2698 } else {
2699 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
2700 }
2701 }
2702 if (!var20) {
2703 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7057);
2704 exit(1);
2705 }
2706 var_tclassidnode6 = var_nodearraylist6;
2707 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2708 cltype24 = type_nullable_parser_nodes__TClassid.color;
2709 idtype25 = type_nullable_parser_nodes__TClassid.id;
2710 if(var_tclassidnode6 == NULL) {
2711 var23 = 1;
2712 } else {
2713 if(cltype24 >= var_tclassidnode6->type->table_size) {
2714 var23 = 0;
2715 } else {
2716 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
2717 }
2718 }
2719 if (!var23) {
2720 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7059);
2721 exit(1);
2722 }
2723 var_listnode10 = var_nodearraylist7;
2724 /* <var_listnode10:nullable Object> isa Array[Object] */
2725 cltype27 = type_array__Arraykernel__Object.color;
2726 idtype28 = type_array__Arraykernel__Object.id;
2727 if(var_listnode10 == NULL) {
2728 var26 = 0;
2729 } else {
2730 if(cltype27 >= var_listnode10->type->table_size) {
2731 var26 = 0;
2732 } else {
2733 var26 = var_listnode10->type->type_table[cltype27] == idtype28;
2734 }
2735 }
2736 if (!var26) {
2737 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7061);
2738 exit(1);
2739 }
2740 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction138>*/;
2741 var_listnode11 = var29;
2742 var_tkwendnode13 = var_nodearraylist9;
2743 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
2744 cltype31 = type_nullable_parser_nodes__TKwend.color;
2745 idtype32 = type_nullable_parser_nodes__TKwend.id;
2746 if(var_tkwendnode13 == NULL) {
2747 var30 = 1;
2748 } else {
2749 if(cltype31 >= var_tkwendnode13->type->table_size) {
2750 var30 = 0;
2751 } else {
2752 var30 = var_tkwendnode13->type->type_table[cltype31] == idtype32;
2753 }
2754 }
2755 if (!var30) {
2756 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7064);
2757 exit(1);
2758 }
2759 var33 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2760 var34 = NULL;
2761 var35 = NULL;
2762 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var33, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var34, var35, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var33:AStdClassdef>*/;
2763 CHECK_NEW_parser_nodes__AStdClassdef(var33);
2764 var_pclassdefnode1 = var33;
2765 var_node_list = var_pclassdefnode1;
2766 var36 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction138> */
2767 var37 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var36) /* go_to on <var_p:Parser>*/;
2768 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var37, var_node_list) /* push on <var_p:Parser>*/;
2769 RET_LABEL:;
2770 }
2771 /* method parser#ReduceAction138#action for (self: Object, Parser) */
2772 void VIRTUAL_parser__ReduceAction138__action(val* self, val* p0) {
2773 parser__ReduceAction138__action(self, p0);
2774 RET_LABEL:;
2775 }
2776 /* method parser#ReduceAction139#action for (self: ReduceAction139, Parser) */
2777 void parser__ReduceAction139__action(val* self, val* p0) {
2778 val* var_p /* var p: Parser */;
2779 val* var /* : null */;
2780 val* var_node_list /* var node_list: nullable Object */;
2781 val* var1 /* : nullable Object */;
2782 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2783 val* var2 /* : nullable Object */;
2784 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2785 val* var3 /* : nullable Object */;
2786 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2787 val* var4 /* : nullable Object */;
2788 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2789 val* var5 /* : nullable Object */;
2790 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2791 val* var6 /* : nullable Object */;
2792 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2793 val* var7 /* : nullable Object */;
2794 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2795 val* var8 /* : nullable Object */;
2796 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2797 val* var9 /* : nullable Object */;
2798 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2799 val* var10 /* : Array[Object] */;
2800 val* var_listnode7 /* var listnode7: Array[Object] */;
2801 val* var11 /* : Array[Object] */;
2802 val* var_listnode11 /* var listnode11: Array[Object] */;
2803 val* var12 /* : Array[Object] */;
2804 val* var_listnode12 /* var listnode12: Array[Object] */;
2805 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2806 short int var13 /* : Bool */;
2807 int cltype;
2808 int idtype;
2809 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2810 short int var14 /* : Bool */;
2811 int cltype15;
2812 int idtype16;
2813 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2814 short int var17 /* : Bool */;
2815 int cltype18;
2816 int idtype19;
2817 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2818 short int var20 /* : Bool */;
2819 int cltype21;
2820 int idtype22;
2821 val* var_listnode10 /* var listnode10: nullable Object */;
2822 short int var23 /* : Bool */;
2823 int cltype24;
2824 int idtype25;
2825 val* var26 /* : Array[Object] */;
2826 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
2827 short int var27 /* : Bool */;
2828 int cltype28;
2829 int idtype29;
2830 val* var30 /* : AStdClassdef */;
2831 val* var31 /* : null */;
2832 val* var32 /* : null */;
2833 val* var33 /* : null */;
2834 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2835 long var34 /* : Int */;
2836 long var35 /* : Int */;
2837 var_p = p0;
2838 var = NULL;
2839 var_node_list = var;
2840 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2841 var_nodearraylist9 = var1;
2842 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2843 var_nodearraylist8 = var2;
2844 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2845 var_nodearraylist7 = var3;
2846 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2847 var_nodearraylist6 = var4;
2848 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2849 var_nodearraylist5 = var5;
2850 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2851 var_nodearraylist4 = var6;
2852 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2853 var_nodearraylist3 = var7;
2854 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2855 var_nodearraylist2 = var8;
2856 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2857 var_nodearraylist1 = var9;
2858 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
2859 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
2860 CHECK_NEW_array__Array(var10);
2861 var_listnode7 = var10;
2862 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
2863 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
2864 CHECK_NEW_array__Array(var11);
2865 var_listnode11 = var11;
2866 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
2867 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
2868 CHECK_NEW_array__Array(var12);
2869 var_listnode12 = var12;
2870 var_pdocnode2 = var_nodearraylist1;
2871 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2872 cltype = type_nullable_parser_nodes__ADoc.color;
2873 idtype = type_nullable_parser_nodes__ADoc.id;
2874 if(var_pdocnode2 == NULL) {
2875 var13 = 1;
2876 } else {
2877 if(cltype >= var_pdocnode2->type->table_size) {
2878 var13 = 0;
2879 } else {
2880 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
2881 }
2882 }
2883 if (!var13) {
2884 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7100);
2885 exit(1);
2886 }
2887 var_pvisibilitynode4 = var_nodearraylist2;
2888 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2889 cltype15 = type_nullable_parser_nodes__AVisibility.color;
2890 idtype16 = type_nullable_parser_nodes__AVisibility.id;
2891 if(var_pvisibilitynode4 == NULL) {
2892 var14 = 1;
2893 } else {
2894 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
2895 var14 = 0;
2896 } else {
2897 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
2898 }
2899 }
2900 if (!var14) {
2901 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7102);
2902 exit(1);
2903 }
2904 var_pclasskindnode5 = var_nodearraylist3;
2905 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2906 cltype18 = type_nullable_parser_nodes__AClasskind.color;
2907 idtype19 = type_nullable_parser_nodes__AClasskind.id;
2908 if(var_pclasskindnode5 == NULL) {
2909 var17 = 1;
2910 } else {
2911 if(cltype18 >= var_pclasskindnode5->type->table_size) {
2912 var17 = 0;
2913 } else {
2914 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
2915 }
2916 }
2917 if (!var17) {
2918 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7104);
2919 exit(1);
2920 }
2921 var_tclassidnode6 = var_nodearraylist6;
2922 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2923 cltype21 = type_nullable_parser_nodes__TClassid.color;
2924 idtype22 = type_nullable_parser_nodes__TClassid.id;
2925 if(var_tclassidnode6 == NULL) {
2926 var20 = 1;
2927 } else {
2928 if(cltype21 >= var_tclassidnode6->type->table_size) {
2929 var20 = 0;
2930 } else {
2931 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
2932 }
2933 }
2934 if (!var20) {
2935 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7106);
2936 exit(1);
2937 }
2938 var_listnode10 = var_nodearraylist7;
2939 /* <var_listnode10:nullable Object> isa Array[Object] */
2940 cltype24 = type_array__Arraykernel__Object.color;
2941 idtype25 = type_array__Arraykernel__Object.id;
2942 if(var_listnode10 == NULL) {
2943 var23 = 0;
2944 } else {
2945 if(cltype24 >= var_listnode10->type->table_size) {
2946 var23 = 0;
2947 } else {
2948 var23 = var_listnode10->type->type_table[cltype24] == idtype25;
2949 }
2950 }
2951 if (!var23) {
2952 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7108);
2953 exit(1);
2954 }
2955 var26 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction139>*/;
2956 var_listnode11 = var26;
2957 var_tkwendnode13 = var_nodearraylist9;
2958 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
2959 cltype28 = type_nullable_parser_nodes__TKwend.color;
2960 idtype29 = type_nullable_parser_nodes__TKwend.id;
2961 if(var_tkwendnode13 == NULL) {
2962 var27 = 1;
2963 } else {
2964 if(cltype28 >= var_tkwendnode13->type->table_size) {
2965 var27 = 0;
2966 } else {
2967 var27 = var_tkwendnode13->type->type_table[cltype28] == idtype29;
2968 }
2969 }
2970 if (!var27) {
2971 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7111);
2972 exit(1);
2973 }
2974 var30 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2975 var31 = NULL;
2976 var32 = NULL;
2977 var33 = NULL;
2978 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var30->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var30, var_pdocnode2, var31, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var32, var33, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var30:AStdClassdef>*/;
2979 CHECK_NEW_parser_nodes__AStdClassdef(var30);
2980 var_pclassdefnode1 = var30;
2981 var_node_list = var_pclassdefnode1;
2982 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction139> */
2983 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
2984 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
2985 RET_LABEL:;
2986 }
2987 /* method parser#ReduceAction139#action for (self: Object, Parser) */
2988 void VIRTUAL_parser__ReduceAction139__action(val* self, val* p0) {
2989 parser__ReduceAction139__action(self, p0);
2990 RET_LABEL:;
2991 }
2992 /* method parser#ReduceAction140#action for (self: ReduceAction140, Parser) */
2993 void parser__ReduceAction140__action(val* self, val* p0) {
2994 val* var_p /* var p: Parser */;
2995 val* var /* : null */;
2996 val* var_node_list /* var node_list: nullable Object */;
2997 val* var1 /* : nullable Object */;
2998 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2999 val* var2 /* : nullable Object */;
3000 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3001 val* var3 /* : nullable Object */;
3002 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3003 val* var4 /* : nullable Object */;
3004 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3005 val* var5 /* : nullable Object */;
3006 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3007 val* var6 /* : nullable Object */;
3008 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3009 val* var7 /* : nullable Object */;
3010 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3011 val* var8 /* : nullable Object */;
3012 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3013 val* var9 /* : nullable Object */;
3014 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3015 val* var10 /* : nullable Object */;
3016 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3017 val* var11 /* : Array[Object] */;
3018 val* var_listnode7 /* var listnode7: Array[Object] */;
3019 val* var12 /* : Array[Object] */;
3020 val* var_listnode11 /* var listnode11: Array[Object] */;
3021 val* var13 /* : Array[Object] */;
3022 val* var_listnode12 /* var listnode12: Array[Object] */;
3023 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3024 short int var14 /* : Bool */;
3025 int cltype;
3026 int idtype;
3027 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3028 short int var15 /* : Bool */;
3029 int cltype16;
3030 int idtype17;
3031 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3032 short int var18 /* : Bool */;
3033 int cltype19;
3034 int idtype20;
3035 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3036 short int var21 /* : Bool */;
3037 int cltype22;
3038 int idtype23;
3039 val* var_listnode10 /* var listnode10: nullable Object */;
3040 short int var24 /* : Bool */;
3041 int cltype25;
3042 int idtype26;
3043 val* var27 /* : Array[Object] */;
3044 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
3045 short int var28 /* : Bool */;
3046 int cltype29;
3047 int idtype30;
3048 val* var31 /* : AStdClassdef */;
3049 val* var32 /* : null */;
3050 val* var33 /* : null */;
3051 val* var34 /* : null */;
3052 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3053 long var35 /* : Int */;
3054 long var36 /* : Int */;
3055 var_p = p0;
3056 var = NULL;
3057 var_node_list = var;
3058 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3059 var_nodearraylist10 = var1;
3060 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3061 var_nodearraylist9 = var2;
3062 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3063 var_nodearraylist8 = var3;
3064 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3065 var_nodearraylist7 = var4;
3066 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3067 var_nodearraylist6 = var5;
3068 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3069 var_nodearraylist5 = var6;
3070 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3071 var_nodearraylist4 = var7;
3072 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3073 var_nodearraylist3 = var8;
3074 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3075 var_nodearraylist2 = var9;
3076 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3077 var_nodearraylist1 = var10;
3078 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
3079 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
3080 CHECK_NEW_array__Array(var11);
3081 var_listnode7 = var11;
3082 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
3083 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
3084 CHECK_NEW_array__Array(var12);
3085 var_listnode11 = var12;
3086 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
3087 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
3088 CHECK_NEW_array__Array(var13);
3089 var_listnode12 = var13;
3090 var_pdocnode2 = var_nodearraylist1;
3091 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3092 cltype = type_nullable_parser_nodes__ADoc.color;
3093 idtype = type_nullable_parser_nodes__ADoc.id;
3094 if(var_pdocnode2 == NULL) {
3095 var14 = 1;
3096 } else {
3097 if(cltype >= var_pdocnode2->type->table_size) {
3098 var14 = 0;
3099 } else {
3100 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
3101 }
3102 }
3103 if (!var14) {
3104 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7148);
3105 exit(1);
3106 }
3107 var_pvisibilitynode4 = var_nodearraylist2;
3108 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3109 cltype16 = type_nullable_parser_nodes__AVisibility.color;
3110 idtype17 = type_nullable_parser_nodes__AVisibility.id;
3111 if(var_pvisibilitynode4 == NULL) {
3112 var15 = 1;
3113 } else {
3114 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
3115 var15 = 0;
3116 } else {
3117 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
3118 }
3119 }
3120 if (!var15) {
3121 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7150);
3122 exit(1);
3123 }
3124 var_pclasskindnode5 = var_nodearraylist3;
3125 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3126 cltype19 = type_nullable_parser_nodes__AClasskind.color;
3127 idtype20 = type_nullable_parser_nodes__AClasskind.id;
3128 if(var_pclasskindnode5 == NULL) {
3129 var18 = 1;
3130 } else {
3131 if(cltype19 >= var_pclasskindnode5->type->table_size) {
3132 var18 = 0;
3133 } else {
3134 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
3135 }
3136 }
3137 if (!var18) {
3138 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7152);
3139 exit(1);
3140 }
3141 var_tclassidnode6 = var_nodearraylist7;
3142 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3143 cltype22 = type_nullable_parser_nodes__TClassid.color;
3144 idtype23 = type_nullable_parser_nodes__TClassid.id;
3145 if(var_tclassidnode6 == NULL) {
3146 var21 = 1;
3147 } else {
3148 if(cltype22 >= var_tclassidnode6->type->table_size) {
3149 var21 = 0;
3150 } else {
3151 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
3152 }
3153 }
3154 if (!var21) {
3155 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7154);
3156 exit(1);
3157 }
3158 var_listnode10 = var_nodearraylist8;
3159 /* <var_listnode10:nullable Object> isa Array[Object] */
3160 cltype25 = type_array__Arraykernel__Object.color;
3161 idtype26 = type_array__Arraykernel__Object.id;
3162 if(var_listnode10 == NULL) {
3163 var24 = 0;
3164 } else {
3165 if(cltype25 >= var_listnode10->type->table_size) {
3166 var24 = 0;
3167 } else {
3168 var24 = var_listnode10->type->type_table[cltype25] == idtype26;
3169 }
3170 }
3171 if (!var24) {
3172 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7156);
3173 exit(1);
3174 }
3175 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction140>*/;
3176 var_listnode11 = var27;
3177 var_tkwendnode13 = var_nodearraylist10;
3178 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
3179 cltype29 = type_nullable_parser_nodes__TKwend.color;
3180 idtype30 = type_nullable_parser_nodes__TKwend.id;
3181 if(var_tkwendnode13 == NULL) {
3182 var28 = 1;
3183 } else {
3184 if(cltype29 >= var_tkwendnode13->type->table_size) {
3185 var28 = 0;
3186 } else {
3187 var28 = var_tkwendnode13->type->type_table[cltype29] == idtype30;
3188 }
3189 }
3190 if (!var28) {
3191 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7159);
3192 exit(1);
3193 }
3194 var31 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3195 var32 = NULL;
3196 var33 = NULL;
3197 var34 = NULL;
3198 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var31->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var31, var_pdocnode2, var32, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var33, var34, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var31:AStdClassdef>*/;
3199 CHECK_NEW_parser_nodes__AStdClassdef(var31);
3200 var_pclassdefnode1 = var31;
3201 var_node_list = var_pclassdefnode1;
3202 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction140> */
3203 var36 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var35) /* go_to on <var_p:Parser>*/;
3204 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var36, var_node_list) /* push on <var_p:Parser>*/;
3205 RET_LABEL:;
3206 }
3207 /* method parser#ReduceAction140#action for (self: Object, Parser) */
3208 void VIRTUAL_parser__ReduceAction140__action(val* self, val* p0) {
3209 parser__ReduceAction140__action(self, p0);
3210 RET_LABEL:;
3211 }
3212 /* method parser#ReduceAction142#action for (self: ReduceAction142, Parser) */
3213 void parser__ReduceAction142__action(val* self, val* p0) {
3214 val* var_p /* var p: Parser */;
3215 val* var /* : null */;
3216 val* var_node_list /* var node_list: nullable Object */;
3217 val* var1 /* : nullable Object */;
3218 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
3219 val* var2 /* : nullable Object */;
3220 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3221 val* var3 /* : nullable Object */;
3222 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3223 val* var4 /* : nullable Object */;
3224 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3225 val* var5 /* : nullable Object */;
3226 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3227 val* var6 /* : nullable Object */;
3228 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3229 val* var7 /* : nullable Object */;
3230 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3231 val* var8 /* : nullable Object */;
3232 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3233 val* var9 /* : nullable Object */;
3234 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3235 val* var10 /* : nullable Object */;
3236 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3237 val* var11 /* : Array[Object] */;
3238 val* var_listnode7 /* var listnode7: Array[Object] */;
3239 val* var12 /* : Array[Object] */;
3240 val* var_listnode11 /* var listnode11: Array[Object] */;
3241 val* var13 /* : Array[Object] */;
3242 val* var_listnode12 /* var listnode12: Array[Object] */;
3243 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3244 short int var14 /* : Bool */;
3245 int cltype;
3246 int idtype;
3247 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
3248 short int var15 /* : Bool */;
3249 int cltype16;
3250 int idtype17;
3251 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3252 short int var18 /* : Bool */;
3253 int cltype19;
3254 int idtype20;
3255 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3256 short int var21 /* : Bool */;
3257 int cltype22;
3258 int idtype23;
3259 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3260 short int var24 /* : Bool */;
3261 int cltype25;
3262 int idtype26;
3263 val* var_listnode10 /* var listnode10: nullable Object */;
3264 short int var27 /* : Bool */;
3265 int cltype28;
3266 int idtype29;
3267 val* var30 /* : Array[Object] */;
3268 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
3269 short int var31 /* : Bool */;
3270 int cltype32;
3271 int idtype33;
3272 val* var34 /* : AStdClassdef */;
3273 val* var35 /* : null */;
3274 val* var36 /* : null */;
3275 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3276 long var37 /* : Int */;
3277 long var38 /* : Int */;
3278 var_p = p0;
3279 var = NULL;
3280 var_node_list = var;
3281 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3282 var_nodearraylist10 = var1;
3283 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3284 var_nodearraylist9 = var2;
3285 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3286 var_nodearraylist8 = var3;
3287 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3288 var_nodearraylist7 = var4;
3289 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3290 var_nodearraylist6 = var5;
3291 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3292 var_nodearraylist5 = var6;
3293 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3294 var_nodearraylist4 = var7;
3295 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3296 var_nodearraylist3 = var8;
3297 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3298 var_nodearraylist2 = var9;
3299 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3300 var_nodearraylist1 = var10;
3301 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
3302 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
3303 CHECK_NEW_array__Array(var11);
3304 var_listnode7 = var11;
3305 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
3306 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
3307 CHECK_NEW_array__Array(var12);
3308 var_listnode11 = var12;
3309 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
3310 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
3311 CHECK_NEW_array__Array(var13);
3312 var_listnode12 = var13;
3313 var_pdocnode2 = var_nodearraylist1;
3314 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3315 cltype = type_nullable_parser_nodes__ADoc.color;
3316 idtype = type_nullable_parser_nodes__ADoc.id;
3317 if(var_pdocnode2 == NULL) {
3318 var14 = 1;
3319 } else {
3320 if(cltype >= var_pdocnode2->type->table_size) {
3321 var14 = 0;
3322 } else {
3323 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
3324 }
3325 }
3326 if (!var14) {
3327 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7196);
3328 exit(1);
3329 }
3330 var_tkwredefnode3 = var_nodearraylist2;
3331 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3332 cltype16 = type_nullable_parser_nodes__TKwredef.color;
3333 idtype17 = type_nullable_parser_nodes__TKwredef.id;
3334 if(var_tkwredefnode3 == NULL) {
3335 var15 = 1;
3336 } else {
3337 if(cltype16 >= var_tkwredefnode3->type->table_size) {
3338 var15 = 0;
3339 } else {
3340 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
3341 }
3342 }
3343 if (!var15) {
3344 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7198);
3345 exit(1);
3346 }
3347 var_pvisibilitynode4 = var_nodearraylist3;
3348 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3349 cltype19 = type_nullable_parser_nodes__AVisibility.color;
3350 idtype20 = type_nullable_parser_nodes__AVisibility.id;
3351 if(var_pvisibilitynode4 == NULL) {
3352 var18 = 1;
3353 } else {
3354 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
3355 var18 = 0;
3356 } else {
3357 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
3358 }
3359 }
3360 if (!var18) {
3361 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7200);
3362 exit(1);
3363 }
3364 var_pclasskindnode5 = var_nodearraylist4;
3365 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3366 cltype22 = type_nullable_parser_nodes__AClasskind.color;
3367 idtype23 = type_nullable_parser_nodes__AClasskind.id;
3368 if(var_pclasskindnode5 == NULL) {
3369 var21 = 1;
3370 } else {
3371 if(cltype22 >= var_pclasskindnode5->type->table_size) {
3372 var21 = 0;
3373 } else {
3374 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
3375 }
3376 }
3377 if (!var21) {
3378 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7202);
3379 exit(1);
3380 }
3381 var_tclassidnode6 = var_nodearraylist7;
3382 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3383 cltype25 = type_nullable_parser_nodes__TClassid.color;
3384 idtype26 = type_nullable_parser_nodes__TClassid.id;
3385 if(var_tclassidnode6 == NULL) {
3386 var24 = 1;
3387 } else {
3388 if(cltype25 >= var_tclassidnode6->type->table_size) {
3389 var24 = 0;
3390 } else {
3391 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
3392 }
3393 }
3394 if (!var24) {
3395 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7204);
3396 exit(1);
3397 }
3398 var_listnode10 = var_nodearraylist8;
3399 /* <var_listnode10:nullable Object> isa Array[Object] */
3400 cltype28 = type_array__Arraykernel__Object.color;
3401 idtype29 = type_array__Arraykernel__Object.id;
3402 if(var_listnode10 == NULL) {
3403 var27 = 0;
3404 } else {
3405 if(cltype28 >= var_listnode10->type->table_size) {
3406 var27 = 0;
3407 } else {
3408 var27 = var_listnode10->type->type_table[cltype28] == idtype29;
3409 }
3410 }
3411 if (!var27) {
3412 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7206);
3413 exit(1);
3414 }
3415 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction142>*/;
3416 var_listnode11 = var30;
3417 var_tkwendnode13 = var_nodearraylist10;
3418 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
3419 cltype32 = type_nullable_parser_nodes__TKwend.color;
3420 idtype33 = type_nullable_parser_nodes__TKwend.id;
3421 if(var_tkwendnode13 == NULL) {
3422 var31 = 1;
3423 } else {
3424 if(cltype32 >= var_tkwendnode13->type->table_size) {
3425 var31 = 0;
3426 } else {
3427 var31 = var_tkwendnode13->type->type_table[cltype32] == idtype33;
3428 }
3429 }
3430 if (!var31) {
3431 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7209);
3432 exit(1);
3433 }
3434 var34 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3435 var35 = NULL;
3436 var36 = NULL;
3437 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var34->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var34, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var35, var36, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var34:AStdClassdef>*/;
3438 CHECK_NEW_parser_nodes__AStdClassdef(var34);
3439 var_pclassdefnode1 = var34;
3440 var_node_list = var_pclassdefnode1;
3441 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction142> */
3442 var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on <var_p:Parser>*/;
3443 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on <var_p:Parser>*/;
3444 RET_LABEL:;
3445 }
3446 /* method parser#ReduceAction142#action for (self: Object, Parser) */
3447 void VIRTUAL_parser__ReduceAction142__action(val* self, val* p0) {
3448 parser__ReduceAction142__action(self, p0);
3449 RET_LABEL:;
3450 }
3451 /* method parser#ReduceAction143#action for (self: ReduceAction143, Parser) */
3452 void parser__ReduceAction143__action(val* self, val* p0) {
3453 val* var_p /* var p: Parser */;
3454 val* var /* : null */;
3455 val* var_node_list /* var node_list: nullable Object */;
3456 val* var1 /* : nullable Object */;
3457 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
3458 val* var2 /* : nullable Object */;
3459 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
3460 val* var3 /* : nullable Object */;
3461 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3462 val* var4 /* : nullable Object */;
3463 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3464 val* var5 /* : nullable Object */;
3465 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3466 val* var6 /* : nullable Object */;
3467 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3468 val* var7 /* : nullable Object */;
3469 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3470 val* var8 /* : nullable Object */;
3471 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3472 val* var9 /* : nullable Object */;
3473 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3474 val* var10 /* : nullable Object */;
3475 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3476 val* var11 /* : nullable Object */;
3477 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3478 val* var12 /* : Array[Object] */;
3479 val* var_listnode7 /* var listnode7: Array[Object] */;
3480 val* var13 /* : Array[Object] */;
3481 val* var_listnode11 /* var listnode11: Array[Object] */;
3482 val* var14 /* : Array[Object] */;
3483 val* var_listnode12 /* var listnode12: Array[Object] */;
3484 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3485 short int var15 /* : Bool */;
3486 int cltype;
3487 int idtype;
3488 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
3489 short int var16 /* : Bool */;
3490 int cltype17;
3491 int idtype18;
3492 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3493 short int var19 /* : Bool */;
3494 int cltype20;
3495 int idtype21;
3496 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3497 short int var22 /* : Bool */;
3498 int cltype23;
3499 int idtype24;
3500 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3501 short int var25 /* : Bool */;
3502 int cltype26;
3503 int idtype27;
3504 val* var_listnode10 /* var listnode10: nullable Object */;
3505 short int var28 /* : Bool */;
3506 int cltype29;
3507 int idtype30;
3508 val* var31 /* : Array[Object] */;
3509 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
3510 short int var32 /* : Bool */;
3511 int cltype33;
3512 int idtype34;
3513 val* var35 /* : AStdClassdef */;
3514 val* var36 /* : null */;
3515 val* var37 /* : null */;
3516 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3517 long var38 /* : Int */;
3518 long var39 /* : Int */;
3519 var_p = p0;
3520 var = NULL;
3521 var_node_list = var;
3522 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3523 var_nodearraylist11 = var1;
3524 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3525 var_nodearraylist10 = var2;
3526 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3527 var_nodearraylist9 = var3;
3528 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3529 var_nodearraylist8 = var4;
3530 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3531 var_nodearraylist7 = var5;
3532 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3533 var_nodearraylist6 = var6;
3534 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3535 var_nodearraylist5 = var7;
3536 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3537 var_nodearraylist4 = var8;
3538 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3539 var_nodearraylist3 = var9;
3540 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3541 var_nodearraylist2 = var10;
3542 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3543 var_nodearraylist1 = var11;
3544 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
3545 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
3546 CHECK_NEW_array__Array(var12);
3547 var_listnode7 = var12;
3548 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
3549 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
3550 CHECK_NEW_array__Array(var13);
3551 var_listnode11 = var13;
3552 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
3553 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
3554 CHECK_NEW_array__Array(var14);
3555 var_listnode12 = var14;
3556 var_pdocnode2 = var_nodearraylist1;
3557 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3558 cltype = type_nullable_parser_nodes__ADoc.color;
3559 idtype = type_nullable_parser_nodes__ADoc.id;
3560 if(var_pdocnode2 == NULL) {
3561 var15 = 1;
3562 } else {
3563 if(cltype >= var_pdocnode2->type->table_size) {
3564 var15 = 0;
3565 } else {
3566 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
3567 }
3568 }
3569 if (!var15) {
3570 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7247);
3571 exit(1);
3572 }
3573 var_tkwredefnode3 = var_nodearraylist2;
3574 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3575 cltype17 = type_nullable_parser_nodes__TKwredef.color;
3576 idtype18 = type_nullable_parser_nodes__TKwredef.id;
3577 if(var_tkwredefnode3 == NULL) {
3578 var16 = 1;
3579 } else {
3580 if(cltype17 >= var_tkwredefnode3->type->table_size) {
3581 var16 = 0;
3582 } else {
3583 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
3584 }
3585 }
3586 if (!var16) {
3587 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7249);
3588 exit(1);
3589 }
3590 var_pvisibilitynode4 = var_nodearraylist3;
3591 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3592 cltype20 = type_nullable_parser_nodes__AVisibility.color;
3593 idtype21 = type_nullable_parser_nodes__AVisibility.id;
3594 if(var_pvisibilitynode4 == NULL) {
3595 var19 = 1;
3596 } else {
3597 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
3598 var19 = 0;
3599 } else {
3600 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
3601 }
3602 }
3603 if (!var19) {
3604 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7251);
3605 exit(1);
3606 }
3607 var_pclasskindnode5 = var_nodearraylist4;
3608 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3609 cltype23 = type_nullable_parser_nodes__AClasskind.color;
3610 idtype24 = type_nullable_parser_nodes__AClasskind.id;
3611 if(var_pclasskindnode5 == NULL) {
3612 var22 = 1;
3613 } else {
3614 if(cltype23 >= var_pclasskindnode5->type->table_size) {
3615 var22 = 0;
3616 } else {
3617 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
3618 }
3619 }
3620 if (!var22) {
3621 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7253);
3622 exit(1);
3623 }
3624 var_tclassidnode6 = var_nodearraylist8;
3625 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3626 cltype26 = type_nullable_parser_nodes__TClassid.color;
3627 idtype27 = type_nullable_parser_nodes__TClassid.id;
3628 if(var_tclassidnode6 == NULL) {
3629 var25 = 1;
3630 } else {
3631 if(cltype26 >= var_tclassidnode6->type->table_size) {
3632 var25 = 0;
3633 } else {
3634 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
3635 }
3636 }
3637 if (!var25) {
3638 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7255);
3639 exit(1);
3640 }
3641 var_listnode10 = var_nodearraylist9;
3642 /* <var_listnode10:nullable Object> isa Array[Object] */
3643 cltype29 = type_array__Arraykernel__Object.color;
3644 idtype30 = type_array__Arraykernel__Object.id;
3645 if(var_listnode10 == NULL) {
3646 var28 = 0;
3647 } else {
3648 if(cltype29 >= var_listnode10->type->table_size) {
3649 var28 = 0;
3650 } else {
3651 var28 = var_listnode10->type->type_table[cltype29] == idtype30;
3652 }
3653 }
3654 if (!var28) {
3655 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7257);
3656 exit(1);
3657 }
3658 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction143>*/;
3659 var_listnode11 = var31;
3660 var_tkwendnode13 = var_nodearraylist11;
3661 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
3662 cltype33 = type_nullable_parser_nodes__TKwend.color;
3663 idtype34 = type_nullable_parser_nodes__TKwend.id;
3664 if(var_tkwendnode13 == NULL) {
3665 var32 = 1;
3666 } else {
3667 if(cltype33 >= var_tkwendnode13->type->table_size) {
3668 var32 = 0;
3669 } else {
3670 var32 = var_tkwendnode13->type->type_table[cltype33] == idtype34;
3671 }
3672 }
3673 if (!var32) {
3674 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7260);
3675 exit(1);
3676 }
3677 var35 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3678 var36 = NULL;
3679 var37 = NULL;
3680 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var35->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var35, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var36, var37, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var35:AStdClassdef>*/;
3681 CHECK_NEW_parser_nodes__AStdClassdef(var35);
3682 var_pclassdefnode1 = var35;
3683 var_node_list = var_pclassdefnode1;
3684 var38 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction143> */
3685 var39 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var38) /* go_to on <var_p:Parser>*/;
3686 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var39, var_node_list) /* push on <var_p:Parser>*/;
3687 RET_LABEL:;
3688 }
3689 /* method parser#ReduceAction143#action for (self: Object, Parser) */
3690 void VIRTUAL_parser__ReduceAction143__action(val* self, val* p0) {
3691 parser__ReduceAction143__action(self, p0);
3692 RET_LABEL:;
3693 }
3694 /* method parser#ReduceAction145#action for (self: ReduceAction145, Parser) */
3695 void parser__ReduceAction145__action(val* self, val* p0) {
3696 val* var_p /* var p: Parser */;
3697 val* var /* : null */;
3698 val* var_node_list /* var node_list: nullable Object */;
3699 val* var1 /* : nullable Object */;
3700 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3701 val* var2 /* : nullable Object */;
3702 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3703 val* var3 /* : nullable Object */;
3704 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3705 val* var4 /* : nullable Object */;
3706 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3707 val* var5 /* : nullable Object */;
3708 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3709 val* var6 /* : nullable Object */;
3710 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3711 val* var7 /* : nullable Object */;
3712 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3713 val* var8 /* : nullable Object */;
3714 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3715 val* var9 /* : nullable Object */;
3716 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3717 val* var10 /* : Array[Object] */;
3718 val* var_listnode8 /* var listnode8: Array[Object] */;
3719 val* var11 /* : Array[Object] */;
3720 val* var_listnode12 /* var listnode12: Array[Object] */;
3721 val* var12 /* : Array[Object] */;
3722 val* var_listnode13 /* var listnode13: Array[Object] */;
3723 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3724 short int var13 /* : Bool */;
3725 int cltype;
3726 int idtype;
3727 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3728 short int var14 /* : Bool */;
3729 int cltype15;
3730 int idtype16;
3731 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3732 short int var17 /* : Bool */;
3733 int cltype18;
3734 int idtype19;
3735 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3736 short int var20 /* : Bool */;
3737 int cltype21;
3738 int idtype22;
3739 val* var_listnode7 /* var listnode7: nullable Object */;
3740 short int var23 /* : Bool */;
3741 int cltype24;
3742 int idtype25;
3743 val* var26 /* : Array[Object] */;
3744 val* var_listnode11 /* var listnode11: nullable Object */;
3745 short int var27 /* : Bool */;
3746 int cltype28;
3747 int idtype29;
3748 val* var30 /* : Array[Object] */;
3749 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
3750 short int var31 /* : Bool */;
3751 int cltype32;
3752 int idtype33;
3753 val* var34 /* : AStdClassdef */;
3754 val* var35 /* : null */;
3755 val* var36 /* : null */;
3756 val* var37 /* : null */;
3757 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3758 long var38 /* : Int */;
3759 long var39 /* : Int */;
3760 var_p = p0;
3761 var = NULL;
3762 var_node_list = var;
3763 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3764 var_nodearraylist9 = var1;
3765 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3766 var_nodearraylist8 = var2;
3767 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3768 var_nodearraylist7 = var3;
3769 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3770 var_nodearraylist6 = var4;
3771 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3772 var_nodearraylist5 = var5;
3773 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3774 var_nodearraylist4 = var6;
3775 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3776 var_nodearraylist3 = var7;
3777 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3778 var_nodearraylist2 = var8;
3779 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3780 var_nodearraylist1 = var9;
3781 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
3782 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
3783 CHECK_NEW_array__Array(var10);
3784 var_listnode8 = var10;
3785 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
3786 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
3787 CHECK_NEW_array__Array(var11);
3788 var_listnode12 = var11;
3789 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
3790 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
3791 CHECK_NEW_array__Array(var12);
3792 var_listnode13 = var12;
3793 var_pdocnode2 = var_nodearraylist1;
3794 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3795 cltype = type_nullable_parser_nodes__ADoc.color;
3796 idtype = type_nullable_parser_nodes__ADoc.id;
3797 if(var_pdocnode2 == NULL) {
3798 var13 = 1;
3799 } else {
3800 if(cltype >= var_pdocnode2->type->table_size) {
3801 var13 = 0;
3802 } else {
3803 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
3804 }
3805 }
3806 if (!var13) {
3807 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7296);
3808 exit(1);
3809 }
3810 var_pvisibilitynode4 = var_nodearraylist2;
3811 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3812 cltype15 = type_nullable_parser_nodes__AVisibility.color;
3813 idtype16 = type_nullable_parser_nodes__AVisibility.id;
3814 if(var_pvisibilitynode4 == NULL) {
3815 var14 = 1;
3816 } else {
3817 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
3818 var14 = 0;
3819 } else {
3820 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
3821 }
3822 }
3823 if (!var14) {
3824 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7298);
3825 exit(1);
3826 }
3827 var_pclasskindnode5 = var_nodearraylist3;
3828 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3829 cltype18 = type_nullable_parser_nodes__AClasskind.color;
3830 idtype19 = type_nullable_parser_nodes__AClasskind.id;
3831 if(var_pclasskindnode5 == NULL) {
3832 var17 = 1;
3833 } else {
3834 if(cltype18 >= var_pclasskindnode5->type->table_size) {
3835 var17 = 0;
3836 } else {
3837 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
3838 }
3839 }
3840 if (!var17) {
3841 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7300);
3842 exit(1);
3843 }
3844 var_tclassidnode6 = var_nodearraylist5;
3845 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3846 cltype21 = type_nullable_parser_nodes__TClassid.color;
3847 idtype22 = type_nullable_parser_nodes__TClassid.id;
3848 if(var_tclassidnode6 == NULL) {
3849 var20 = 1;
3850 } else {
3851 if(cltype21 >= var_tclassidnode6->type->table_size) {
3852 var20 = 0;
3853 } else {
3854 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
3855 }
3856 }
3857 if (!var20) {
3858 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7302);
3859 exit(1);
3860 }
3861 var_listnode7 = var_nodearraylist6;
3862 /* <var_listnode7:nullable Object> isa Array[Object] */
3863 cltype24 = type_array__Arraykernel__Object.color;
3864 idtype25 = type_array__Arraykernel__Object.id;
3865 if(var_listnode7 == NULL) {
3866 var23 = 0;
3867 } else {
3868 if(cltype24 >= var_listnode7->type->table_size) {
3869 var23 = 0;
3870 } else {
3871 var23 = var_listnode7->type->type_table[cltype24] == idtype25;
3872 }
3873 }
3874 if (!var23) {
3875 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7304);
3876 exit(1);
3877 }
3878 var26 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction145>*/;
3879 var_listnode8 = var26;
3880 var_listnode11 = var_nodearraylist7;
3881 /* <var_listnode11:nullable Object> isa Array[Object] */
3882 cltype28 = type_array__Arraykernel__Object.color;
3883 idtype29 = type_array__Arraykernel__Object.id;
3884 if(var_listnode11 == NULL) {
3885 var27 = 0;
3886 } else {
3887 if(cltype28 >= var_listnode11->type->table_size) {
3888 var27 = 0;
3889 } else {
3890 var27 = var_listnode11->type->type_table[cltype28] == idtype29;
3891 }
3892 }
3893 if (!var27) {
3894 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7307);
3895 exit(1);
3896 }
3897 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction145>*/;
3898 var_listnode12 = var30;
3899 var_tkwendnode14 = var_nodearraylist9;
3900 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
3901 cltype32 = type_nullable_parser_nodes__TKwend.color;
3902 idtype33 = type_nullable_parser_nodes__TKwend.id;
3903 if(var_tkwendnode14 == NULL) {
3904 var31 = 1;
3905 } else {
3906 if(cltype32 >= var_tkwendnode14->type->table_size) {
3907 var31 = 0;
3908 } else {
3909 var31 = var_tkwendnode14->type->type_table[cltype32] == idtype33;
3910 }
3911 }
3912 if (!var31) {
3913 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7310);
3914 exit(1);
3915 }
3916 var34 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3917 var35 = NULL;
3918 var36 = NULL;
3919 var37 = NULL;
3920 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var34->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var34, var_pdocnode2, var35, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var36, var37, var_listnode12, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var34:AStdClassdef>*/;
3921 CHECK_NEW_parser_nodes__AStdClassdef(var34);
3922 var_pclassdefnode1 = var34;
3923 var_node_list = var_pclassdefnode1;
3924 var38 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction145> */
3925 var39 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var38) /* go_to on <var_p:Parser>*/;
3926 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var39, var_node_list) /* push on <var_p:Parser>*/;
3927 RET_LABEL:;
3928 }
3929 /* method parser#ReduceAction145#action for (self: Object, Parser) */
3930 void VIRTUAL_parser__ReduceAction145__action(val* self, val* p0) {
3931 parser__ReduceAction145__action(self, p0);
3932 RET_LABEL:;
3933 }
3934 /* method parser#ReduceAction146#action for (self: ReduceAction146, Parser) */
3935 void parser__ReduceAction146__action(val* self, val* p0) {
3936 val* var_p /* var p: Parser */;
3937 val* var /* : null */;
3938 val* var_node_list /* var node_list: nullable Object */;
3939 val* var1 /* : nullable Object */;
3940 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
3941 val* var2 /* : nullable Object */;
3942 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3943 val* var3 /* : nullable Object */;
3944 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3945 val* var4 /* : nullable Object */;
3946 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3947 val* var5 /* : nullable Object */;
3948 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3949 val* var6 /* : nullable Object */;
3950 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3951 val* var7 /* : nullable Object */;
3952 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3953 val* var8 /* : nullable Object */;
3954 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3955 val* var9 /* : nullable Object */;
3956 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3957 val* var10 /* : nullable Object */;
3958 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3959 val* var11 /* : Array[Object] */;
3960 val* var_listnode8 /* var listnode8: Array[Object] */;
3961 val* var12 /* : Array[Object] */;
3962 val* var_listnode12 /* var listnode12: Array[Object] */;
3963 val* var13 /* : Array[Object] */;
3964 val* var_listnode13 /* var listnode13: Array[Object] */;
3965 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3966 short int var14 /* : Bool */;
3967 int cltype;
3968 int idtype;
3969 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
3970 short int var15 /* : Bool */;
3971 int cltype16;
3972 int idtype17;
3973 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3974 short int var18 /* : Bool */;
3975 int cltype19;
3976 int idtype20;
3977 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3978 short int var21 /* : Bool */;
3979 int cltype22;
3980 int idtype23;
3981 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3982 short int var24 /* : Bool */;
3983 int cltype25;
3984 int idtype26;
3985 val* var_listnode7 /* var listnode7: nullable Object */;
3986 short int var27 /* : Bool */;
3987 int cltype28;
3988 int idtype29;
3989 val* var30 /* : Array[Object] */;
3990 val* var_listnode11 /* var listnode11: nullable Object */;
3991 short int var31 /* : Bool */;
3992 int cltype32;
3993 int idtype33;
3994 val* var34 /* : Array[Object] */;
3995 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
3996 short int var35 /* : Bool */;
3997 int cltype36;
3998 int idtype37;
3999 val* var38 /* : AStdClassdef */;
4000 val* var39 /* : null */;
4001 val* var40 /* : null */;
4002 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4003 long var41 /* : Int */;
4004 long var42 /* : Int */;
4005 var_p = p0;
4006 var = NULL;
4007 var_node_list = var;
4008 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4009 var_nodearraylist10 = var1;
4010 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4011 var_nodearraylist9 = var2;
4012 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4013 var_nodearraylist8 = var3;
4014 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4015 var_nodearraylist7 = var4;
4016 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4017 var_nodearraylist6 = var5;
4018 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4019 var_nodearraylist5 = var6;
4020 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4021 var_nodearraylist4 = var7;
4022 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4023 var_nodearraylist3 = var8;
4024 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4025 var_nodearraylist2 = var9;
4026 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4027 var_nodearraylist1 = var10;
4028 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
4029 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
4030 CHECK_NEW_array__Array(var11);
4031 var_listnode8 = var11;
4032 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
4033 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
4034 CHECK_NEW_array__Array(var12);
4035 var_listnode12 = var12;
4036 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
4037 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
4038 CHECK_NEW_array__Array(var13);
4039 var_listnode13 = var13;
4040 var_pdocnode2 = var_nodearraylist1;
4041 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4042 cltype = type_nullable_parser_nodes__ADoc.color;
4043 idtype = type_nullable_parser_nodes__ADoc.id;
4044 if(var_pdocnode2 == NULL) {
4045 var14 = 1;
4046 } else {
4047 if(cltype >= var_pdocnode2->type->table_size) {
4048 var14 = 0;
4049 } else {
4050 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
4051 }
4052 }
4053 if (!var14) {
4054 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7347);
4055 exit(1);
4056 }
4057 var_tkwredefnode3 = var_nodearraylist2;
4058 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4059 cltype16 = type_nullable_parser_nodes__TKwredef.color;
4060 idtype17 = type_nullable_parser_nodes__TKwredef.id;
4061 if(var_tkwredefnode3 == NULL) {
4062 var15 = 1;
4063 } else {
4064 if(cltype16 >= var_tkwredefnode3->type->table_size) {
4065 var15 = 0;
4066 } else {
4067 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
4068 }
4069 }
4070 if (!var15) {
4071 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7349);
4072 exit(1);
4073 }
4074 var_pvisibilitynode4 = var_nodearraylist3;
4075 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4076 cltype19 = type_nullable_parser_nodes__AVisibility.color;
4077 idtype20 = type_nullable_parser_nodes__AVisibility.id;
4078 if(var_pvisibilitynode4 == NULL) {
4079 var18 = 1;
4080 } else {
4081 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
4082 var18 = 0;
4083 } else {
4084 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
4085 }
4086 }
4087 if (!var18) {
4088 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7351);
4089 exit(1);
4090 }
4091 var_pclasskindnode5 = var_nodearraylist4;
4092 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4093 cltype22 = type_nullable_parser_nodes__AClasskind.color;
4094 idtype23 = type_nullable_parser_nodes__AClasskind.id;
4095 if(var_pclasskindnode5 == NULL) {
4096 var21 = 1;
4097 } else {
4098 if(cltype22 >= var_pclasskindnode5->type->table_size) {
4099 var21 = 0;
4100 } else {
4101 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
4102 }
4103 }
4104 if (!var21) {
4105 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7353);
4106 exit(1);
4107 }
4108 var_tclassidnode6 = var_nodearraylist6;
4109 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4110 cltype25 = type_nullable_parser_nodes__TClassid.color;
4111 idtype26 = type_nullable_parser_nodes__TClassid.id;
4112 if(var_tclassidnode6 == NULL) {
4113 var24 = 1;
4114 } else {
4115 if(cltype25 >= var_tclassidnode6->type->table_size) {
4116 var24 = 0;
4117 } else {
4118 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
4119 }
4120 }
4121 if (!var24) {
4122 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7355);
4123 exit(1);
4124 }
4125 var_listnode7 = var_nodearraylist7;
4126 /* <var_listnode7:nullable Object> isa Array[Object] */
4127 cltype28 = type_array__Arraykernel__Object.color;
4128 idtype29 = type_array__Arraykernel__Object.id;
4129 if(var_listnode7 == NULL) {
4130 var27 = 0;
4131 } else {
4132 if(cltype28 >= var_listnode7->type->table_size) {
4133 var27 = 0;
4134 } else {
4135 var27 = var_listnode7->type->type_table[cltype28] == idtype29;
4136 }
4137 }
4138 if (!var27) {
4139 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7357);
4140 exit(1);
4141 }
4142 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction146>*/;
4143 var_listnode8 = var30;
4144 var_listnode11 = var_nodearraylist8;
4145 /* <var_listnode11:nullable Object> isa Array[Object] */
4146 cltype32 = type_array__Arraykernel__Object.color;
4147 idtype33 = type_array__Arraykernel__Object.id;
4148 if(var_listnode11 == NULL) {
4149 var31 = 0;
4150 } else {
4151 if(cltype32 >= var_listnode11->type->table_size) {
4152 var31 = 0;
4153 } else {
4154 var31 = var_listnode11->type->type_table[cltype32] == idtype33;
4155 }
4156 }
4157 if (!var31) {
4158 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7360);
4159 exit(1);
4160 }
4161 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction146>*/;
4162 var_listnode12 = var34;
4163 var_tkwendnode14 = var_nodearraylist10;
4164 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
4165 cltype36 = type_nullable_parser_nodes__TKwend.color;
4166 idtype37 = type_nullable_parser_nodes__TKwend.id;
4167 if(var_tkwendnode14 == NULL) {
4168 var35 = 1;
4169 } else {
4170 if(cltype36 >= var_tkwendnode14->type->table_size) {
4171 var35 = 0;
4172 } else {
4173 var35 = var_tkwendnode14->type->type_table[cltype36] == idtype37;
4174 }
4175 }
4176 if (!var35) {
4177 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7363);
4178 exit(1);
4179 }
4180 var38 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4181 var39 = NULL;
4182 var40 = NULL;
4183 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var38->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var38, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var39, var40, var_listnode12, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var38:AStdClassdef>*/;
4184 CHECK_NEW_parser_nodes__AStdClassdef(var38);
4185 var_pclassdefnode1 = var38;
4186 var_node_list = var_pclassdefnode1;
4187 var41 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction146> */
4188 var42 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var41) /* go_to on <var_p:Parser>*/;
4189 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var42, var_node_list) /* push on <var_p:Parser>*/;
4190 RET_LABEL:;
4191 }
4192 /* method parser#ReduceAction146#action for (self: Object, Parser) */
4193 void VIRTUAL_parser__ReduceAction146__action(val* self, val* p0) {
4194 parser__ReduceAction146__action(self, p0);
4195 RET_LABEL:;
4196 }
4197 /* method parser#ReduceAction147#action for (self: ReduceAction147, Parser) */
4198 void parser__ReduceAction147__action(val* self, val* p0) {
4199 val* var_p /* var p: Parser */;
4200 val* var /* : null */;
4201 val* var_node_list /* var node_list: nullable Object */;
4202 val* var1 /* : nullable Object */;
4203 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4204 val* var2 /* : nullable Object */;
4205 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4206 val* var3 /* : nullable Object */;
4207 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4208 val* var4 /* : nullable Object */;
4209 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4210 val* var5 /* : nullable Object */;
4211 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4212 val* var6 /* : nullable Object */;
4213 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4214 val* var7 /* : nullable Object */;
4215 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4216 val* var8 /* : nullable Object */;
4217 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4218 val* var9 /* : nullable Object */;
4219 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4220 val* var10 /* : nullable Object */;
4221 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4222 val* var11 /* : Array[Object] */;
4223 val* var_listnode8 /* var listnode8: Array[Object] */;
4224 val* var12 /* : Array[Object] */;
4225 val* var_listnode12 /* var listnode12: Array[Object] */;
4226 val* var13 /* : Array[Object] */;
4227 val* var_listnode13 /* var listnode13: Array[Object] */;
4228 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4229 short int var14 /* : Bool */;
4230 int cltype;
4231 int idtype;
4232 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4233 short int var15 /* : Bool */;
4234 int cltype16;
4235 int idtype17;
4236 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4237 short int var18 /* : Bool */;
4238 int cltype19;
4239 int idtype20;
4240 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4241 short int var21 /* : Bool */;
4242 int cltype22;
4243 int idtype23;
4244 val* var_listnode7 /* var listnode7: nullable Object */;
4245 short int var24 /* : Bool */;
4246 int cltype25;
4247 int idtype26;
4248 val* var27 /* : Array[Object] */;
4249 val* var_listnode11 /* var listnode11: nullable Object */;
4250 short int var28 /* : Bool */;
4251 int cltype29;
4252 int idtype30;
4253 val* var31 /* : Array[Object] */;
4254 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
4255 short int var32 /* : Bool */;
4256 int cltype33;
4257 int idtype34;
4258 val* var35 /* : AStdClassdef */;
4259 val* var36 /* : null */;
4260 val* var37 /* : null */;
4261 val* var38 /* : null */;
4262 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4263 long var39 /* : Int */;
4264 long var40 /* : Int */;
4265 var_p = p0;
4266 var = NULL;
4267 var_node_list = var;
4268 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4269 var_nodearraylist10 = var1;
4270 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4271 var_nodearraylist9 = var2;
4272 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4273 var_nodearraylist8 = var3;
4274 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4275 var_nodearraylist7 = var4;
4276 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4277 var_nodearraylist6 = var5;
4278 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4279 var_nodearraylist5 = var6;
4280 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4281 var_nodearraylist4 = var7;
4282 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4283 var_nodearraylist3 = var8;
4284 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4285 var_nodearraylist2 = var9;
4286 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4287 var_nodearraylist1 = var10;
4288 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
4289 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
4290 CHECK_NEW_array__Array(var11);
4291 var_listnode8 = var11;
4292 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
4293 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
4294 CHECK_NEW_array__Array(var12);
4295 var_listnode12 = var12;
4296 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
4297 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
4298 CHECK_NEW_array__Array(var13);
4299 var_listnode13 = var13;
4300 var_pdocnode2 = var_nodearraylist1;
4301 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4302 cltype = type_nullable_parser_nodes__ADoc.color;
4303 idtype = type_nullable_parser_nodes__ADoc.id;
4304 if(var_pdocnode2 == NULL) {
4305 var14 = 1;
4306 } else {
4307 if(cltype >= var_pdocnode2->type->table_size) {
4308 var14 = 0;
4309 } else {
4310 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
4311 }
4312 }
4313 if (!var14) {
4314 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7400);
4315 exit(1);
4316 }
4317 var_pvisibilitynode4 = var_nodearraylist2;
4318 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4319 cltype16 = type_nullable_parser_nodes__AVisibility.color;
4320 idtype17 = type_nullable_parser_nodes__AVisibility.id;
4321 if(var_pvisibilitynode4 == NULL) {
4322 var15 = 1;
4323 } else {
4324 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
4325 var15 = 0;
4326 } else {
4327 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
4328 }
4329 }
4330 if (!var15) {
4331 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7402);
4332 exit(1);
4333 }
4334 var_pclasskindnode5 = var_nodearraylist3;
4335 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4336 cltype19 = type_nullable_parser_nodes__AClasskind.color;
4337 idtype20 = type_nullable_parser_nodes__AClasskind.id;
4338 if(var_pclasskindnode5 == NULL) {
4339 var18 = 1;
4340 } else {
4341 if(cltype19 >= var_pclasskindnode5->type->table_size) {
4342 var18 = 0;
4343 } else {
4344 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
4345 }
4346 }
4347 if (!var18) {
4348 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7404);
4349 exit(1);
4350 }
4351 var_tclassidnode6 = var_nodearraylist6;
4352 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4353 cltype22 = type_nullable_parser_nodes__TClassid.color;
4354 idtype23 = type_nullable_parser_nodes__TClassid.id;
4355 if(var_tclassidnode6 == NULL) {
4356 var21 = 1;
4357 } else {
4358 if(cltype22 >= var_tclassidnode6->type->table_size) {
4359 var21 = 0;
4360 } else {
4361 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
4362 }
4363 }
4364 if (!var21) {
4365 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7406);
4366 exit(1);
4367 }
4368 var_listnode7 = var_nodearraylist7;
4369 /* <var_listnode7:nullable Object> isa Array[Object] */
4370 cltype25 = type_array__Arraykernel__Object.color;
4371 idtype26 = type_array__Arraykernel__Object.id;
4372 if(var_listnode7 == NULL) {
4373 var24 = 0;
4374 } else {
4375 if(cltype25 >= var_listnode7->type->table_size) {
4376 var24 = 0;
4377 } else {
4378 var24 = var_listnode7->type->type_table[cltype25] == idtype26;
4379 }
4380 }
4381 if (!var24) {
4382 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7408);
4383 exit(1);
4384 }
4385 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction147>*/;
4386 var_listnode8 = var27;
4387 var_listnode11 = var_nodearraylist8;
4388 /* <var_listnode11:nullable Object> isa Array[Object] */
4389 cltype29 = type_array__Arraykernel__Object.color;
4390 idtype30 = type_array__Arraykernel__Object.id;
4391 if(var_listnode11 == NULL) {
4392 var28 = 0;
4393 } else {
4394 if(cltype29 >= var_listnode11->type->table_size) {
4395 var28 = 0;
4396 } else {
4397 var28 = var_listnode11->type->type_table[cltype29] == idtype30;
4398 }
4399 }
4400 if (!var28) {
4401 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7411);
4402 exit(1);
4403 }
4404 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction147>*/;
4405 var_listnode12 = var31;
4406 var_tkwendnode14 = var_nodearraylist10;
4407 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
4408 cltype33 = type_nullable_parser_nodes__TKwend.color;
4409 idtype34 = type_nullable_parser_nodes__TKwend.id;
4410 if(var_tkwendnode14 == NULL) {
4411 var32 = 1;
4412 } else {
4413 if(cltype33 >= var_tkwendnode14->type->table_size) {
4414 var32 = 0;
4415 } else {
4416 var32 = var_tkwendnode14->type->type_table[cltype33] == idtype34;
4417 }
4418 }
4419 if (!var32) {
4420 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7414);
4421 exit(1);
4422 }
4423 var35 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4424 var36 = NULL;
4425 var37 = NULL;
4426 var38 = NULL;
4427 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var35->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var35, var_pdocnode2, var36, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var37, var38, var_listnode12, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var35:AStdClassdef>*/;
4428 CHECK_NEW_parser_nodes__AStdClassdef(var35);
4429 var_pclassdefnode1 = var35;
4430 var_node_list = var_pclassdefnode1;
4431 var39 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction147> */
4432 var40 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var39) /* go_to on <var_p:Parser>*/;
4433 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var40, var_node_list) /* push on <var_p:Parser>*/;
4434 RET_LABEL:;
4435 }
4436 /* method parser#ReduceAction147#action for (self: Object, Parser) */
4437 void VIRTUAL_parser__ReduceAction147__action(val* self, val* p0) {
4438 parser__ReduceAction147__action(self, p0);
4439 RET_LABEL:;
4440 }
4441 /* method parser#ReduceAction148#action for (self: ReduceAction148, Parser) */
4442 void parser__ReduceAction148__action(val* self, val* p0) {
4443 val* var_p /* var p: Parser */;
4444 val* var /* : null */;
4445 val* var_node_list /* var node_list: nullable Object */;
4446 val* var1 /* : nullable Object */;
4447 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
4448 val* var2 /* : nullable Object */;
4449 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4450 val* var3 /* : nullable Object */;
4451 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4452 val* var4 /* : nullable Object */;
4453 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4454 val* var5 /* : nullable Object */;
4455 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4456 val* var6 /* : nullable Object */;
4457 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4458 val* var7 /* : nullable Object */;
4459 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4460 val* var8 /* : nullable Object */;
4461 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4462 val* var9 /* : nullable Object */;
4463 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4464 val* var10 /* : nullable Object */;
4465 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4466 val* var11 /* : nullable Object */;
4467 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4468 val* var12 /* : Array[Object] */;
4469 val* var_listnode8 /* var listnode8: Array[Object] */;
4470 val* var13 /* : Array[Object] */;
4471 val* var_listnode12 /* var listnode12: Array[Object] */;
4472 val* var14 /* : Array[Object] */;
4473 val* var_listnode13 /* var listnode13: Array[Object] */;
4474 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4475 short int var15 /* : Bool */;
4476 int cltype;
4477 int idtype;
4478 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4479 short int var16 /* : Bool */;
4480 int cltype17;
4481 int idtype18;
4482 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4483 short int var19 /* : Bool */;
4484 int cltype20;
4485 int idtype21;
4486 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4487 short int var22 /* : Bool */;
4488 int cltype23;
4489 int idtype24;
4490 val* var_listnode7 /* var listnode7: nullable Object */;
4491 short int var25 /* : Bool */;
4492 int cltype26;
4493 int idtype27;
4494 val* var28 /* : Array[Object] */;
4495 val* var_listnode11 /* var listnode11: nullable Object */;
4496 short int var29 /* : Bool */;
4497 int cltype30;
4498 int idtype31;
4499 val* var32 /* : Array[Object] */;
4500 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
4501 short int var33 /* : Bool */;
4502 int cltype34;
4503 int idtype35;
4504 val* var36 /* : AStdClassdef */;
4505 val* var37 /* : null */;
4506 val* var38 /* : null */;
4507 val* var39 /* : null */;
4508 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4509 long var40 /* : Int */;
4510 long var41 /* : Int */;
4511 var_p = p0;
4512 var = NULL;
4513 var_node_list = var;
4514 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4515 var_nodearraylist11 = var1;
4516 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4517 var_nodearraylist10 = var2;
4518 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4519 var_nodearraylist9 = var3;
4520 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4521 var_nodearraylist8 = var4;
4522 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4523 var_nodearraylist7 = var5;
4524 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4525 var_nodearraylist6 = var6;
4526 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4527 var_nodearraylist5 = var7;
4528 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4529 var_nodearraylist4 = var8;
4530 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4531 var_nodearraylist3 = var9;
4532 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4533 var_nodearraylist2 = var10;
4534 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4535 var_nodearraylist1 = var11;
4536 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
4537 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
4538 CHECK_NEW_array__Array(var12);
4539 var_listnode8 = var12;
4540 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
4541 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
4542 CHECK_NEW_array__Array(var13);
4543 var_listnode12 = var13;
4544 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
4545 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
4546 CHECK_NEW_array__Array(var14);
4547 var_listnode13 = var14;
4548 var_pdocnode2 = var_nodearraylist1;
4549 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4550 cltype = type_nullable_parser_nodes__ADoc.color;
4551 idtype = type_nullable_parser_nodes__ADoc.id;
4552 if(var_pdocnode2 == NULL) {
4553 var15 = 1;
4554 } else {
4555 if(cltype >= var_pdocnode2->type->table_size) {
4556 var15 = 0;
4557 } else {
4558 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
4559 }
4560 }
4561 if (!var15) {
4562 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7452);
4563 exit(1);
4564 }
4565 var_pvisibilitynode4 = var_nodearraylist2;
4566 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4567 cltype17 = type_nullable_parser_nodes__AVisibility.color;
4568 idtype18 = type_nullable_parser_nodes__AVisibility.id;
4569 if(var_pvisibilitynode4 == NULL) {
4570 var16 = 1;
4571 } else {
4572 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
4573 var16 = 0;
4574 } else {
4575 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
4576 }
4577 }
4578 if (!var16) {
4579 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7454);
4580 exit(1);
4581 }
4582 var_pclasskindnode5 = var_nodearraylist3;
4583 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4584 cltype20 = type_nullable_parser_nodes__AClasskind.color;
4585 idtype21 = type_nullable_parser_nodes__AClasskind.id;
4586 if(var_pclasskindnode5 == NULL) {
4587 var19 = 1;
4588 } else {
4589 if(cltype20 >= var_pclasskindnode5->type->table_size) {
4590 var19 = 0;
4591 } else {
4592 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
4593 }
4594 }
4595 if (!var19) {
4596 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7456);
4597 exit(1);
4598 }
4599 var_tclassidnode6 = var_nodearraylist7;
4600 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4601 cltype23 = type_nullable_parser_nodes__TClassid.color;
4602 idtype24 = type_nullable_parser_nodes__TClassid.id;
4603 if(var_tclassidnode6 == NULL) {
4604 var22 = 1;
4605 } else {
4606 if(cltype23 >= var_tclassidnode6->type->table_size) {
4607 var22 = 0;
4608 } else {
4609 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
4610 }
4611 }
4612 if (!var22) {
4613 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7458);
4614 exit(1);
4615 }
4616 var_listnode7 = var_nodearraylist8;
4617 /* <var_listnode7:nullable Object> isa Array[Object] */
4618 cltype26 = type_array__Arraykernel__Object.color;
4619 idtype27 = type_array__Arraykernel__Object.id;
4620 if(var_listnode7 == NULL) {
4621 var25 = 0;
4622 } else {
4623 if(cltype26 >= var_listnode7->type->table_size) {
4624 var25 = 0;
4625 } else {
4626 var25 = var_listnode7->type->type_table[cltype26] == idtype27;
4627 }
4628 }
4629 if (!var25) {
4630 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7460);
4631 exit(1);
4632 }
4633 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction148>*/;
4634 var_listnode8 = var28;
4635 var_listnode11 = var_nodearraylist9;
4636 /* <var_listnode11:nullable Object> isa Array[Object] */
4637 cltype30 = type_array__Arraykernel__Object.color;
4638 idtype31 = type_array__Arraykernel__Object.id;
4639 if(var_listnode11 == NULL) {
4640 var29 = 0;
4641 } else {
4642 if(cltype30 >= var_listnode11->type->table_size) {
4643 var29 = 0;
4644 } else {
4645 var29 = var_listnode11->type->type_table[cltype30] == idtype31;
4646 }
4647 }
4648 if (!var29) {
4649 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7463);
4650 exit(1);
4651 }
4652 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction148>*/;
4653 var_listnode12 = var32;
4654 var_tkwendnode14 = var_nodearraylist11;
4655 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
4656 cltype34 = type_nullable_parser_nodes__TKwend.color;
4657 idtype35 = type_nullable_parser_nodes__TKwend.id;
4658 if(var_tkwendnode14 == NULL) {
4659 var33 = 1;
4660 } else {
4661 if(cltype34 >= var_tkwendnode14->type->table_size) {
4662 var33 = 0;
4663 } else {
4664 var33 = var_tkwendnode14->type->type_table[cltype34] == idtype35;
4665 }
4666 }
4667 if (!var33) {
4668 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7466);
4669 exit(1);
4670 }
4671 var36 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4672 var37 = NULL;
4673 var38 = NULL;
4674 var39 = NULL;
4675 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var36->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var36, var_pdocnode2, var37, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var38, var39, var_listnode12, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var36:AStdClassdef>*/;
4676 CHECK_NEW_parser_nodes__AStdClassdef(var36);
4677 var_pclassdefnode1 = var36;
4678 var_node_list = var_pclassdefnode1;
4679 var40 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction148> */
4680 var41 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var40) /* go_to on <var_p:Parser>*/;
4681 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var41, var_node_list) /* push on <var_p:Parser>*/;
4682 RET_LABEL:;
4683 }
4684 /* method parser#ReduceAction148#action for (self: Object, Parser) */
4685 void VIRTUAL_parser__ReduceAction148__action(val* self, val* p0) {
4686 parser__ReduceAction148__action(self, p0);
4687 RET_LABEL:;
4688 }
4689 /* method parser#ReduceAction150#action for (self: ReduceAction150, Parser) */
4690 void parser__ReduceAction150__action(val* self, val* p0) {
4691 val* var_p /* var p: Parser */;
4692 val* var /* : null */;
4693 val* var_node_list /* var node_list: nullable Object */;
4694 val* var1 /* : nullable Object */;
4695 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
4696 val* var2 /* : nullable Object */;
4697 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4698 val* var3 /* : nullable Object */;
4699 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4700 val* var4 /* : nullable Object */;
4701 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4702 val* var5 /* : nullable Object */;
4703 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4704 val* var6 /* : nullable Object */;
4705 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4706 val* var7 /* : nullable Object */;
4707 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4708 val* var8 /* : nullable Object */;
4709 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4710 val* var9 /* : nullable Object */;
4711 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4712 val* var10 /* : nullable Object */;
4713 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4714 val* var11 /* : nullable Object */;
4715 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4716 val* var12 /* : Array[Object] */;
4717 val* var_listnode8 /* var listnode8: Array[Object] */;
4718 val* var13 /* : Array[Object] */;
4719 val* var_listnode12 /* var listnode12: Array[Object] */;
4720 val* var14 /* : Array[Object] */;
4721 val* var_listnode13 /* var listnode13: Array[Object] */;
4722 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4723 short int var15 /* : Bool */;
4724 int cltype;
4725 int idtype;
4726 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
4727 short int var16 /* : Bool */;
4728 int cltype17;
4729 int idtype18;
4730 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4731 short int var19 /* : Bool */;
4732 int cltype20;
4733 int idtype21;
4734 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4735 short int var22 /* : Bool */;
4736 int cltype23;
4737 int idtype24;
4738 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4739 short int var25 /* : Bool */;
4740 int cltype26;
4741 int idtype27;
4742 val* var_listnode7 /* var listnode7: nullable Object */;
4743 short int var28 /* : Bool */;
4744 int cltype29;
4745 int idtype30;
4746 val* var31 /* : Array[Object] */;
4747 val* var_listnode11 /* var listnode11: nullable Object */;
4748 short int var32 /* : Bool */;
4749 int cltype33;
4750 int idtype34;
4751 val* var35 /* : Array[Object] */;
4752 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
4753 short int var36 /* : Bool */;
4754 int cltype37;
4755 int idtype38;
4756 val* var39 /* : AStdClassdef */;
4757 val* var40 /* : null */;
4758 val* var41 /* : null */;
4759 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4760 long var42 /* : Int */;
4761 long var43 /* : Int */;
4762 var_p = p0;
4763 var = NULL;
4764 var_node_list = var;
4765 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4766 var_nodearraylist11 = var1;
4767 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4768 var_nodearraylist10 = var2;
4769 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4770 var_nodearraylist9 = var3;
4771 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4772 var_nodearraylist8 = var4;
4773 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4774 var_nodearraylist7 = var5;
4775 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4776 var_nodearraylist6 = var6;
4777 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4778 var_nodearraylist5 = var7;
4779 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4780 var_nodearraylist4 = var8;
4781 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4782 var_nodearraylist3 = var9;
4783 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4784 var_nodearraylist2 = var10;
4785 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4786 var_nodearraylist1 = var11;
4787 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
4788 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
4789 CHECK_NEW_array__Array(var12);
4790 var_listnode8 = var12;
4791 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
4792 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
4793 CHECK_NEW_array__Array(var13);
4794 var_listnode12 = var13;
4795 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
4796 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
4797 CHECK_NEW_array__Array(var14);
4798 var_listnode13 = var14;
4799 var_pdocnode2 = var_nodearraylist1;
4800 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4801 cltype = type_nullable_parser_nodes__ADoc.color;
4802 idtype = type_nullable_parser_nodes__ADoc.id;
4803 if(var_pdocnode2 == NULL) {
4804 var15 = 1;
4805 } else {
4806 if(cltype >= var_pdocnode2->type->table_size) {
4807 var15 = 0;
4808 } else {
4809 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
4810 }
4811 }
4812 if (!var15) {
4813 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7504);
4814 exit(1);
4815 }
4816 var_tkwredefnode3 = var_nodearraylist2;
4817 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4818 cltype17 = type_nullable_parser_nodes__TKwredef.color;
4819 idtype18 = type_nullable_parser_nodes__TKwredef.id;
4820 if(var_tkwredefnode3 == NULL) {
4821 var16 = 1;
4822 } else {
4823 if(cltype17 >= var_tkwredefnode3->type->table_size) {
4824 var16 = 0;
4825 } else {
4826 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
4827 }
4828 }
4829 if (!var16) {
4830 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7506);
4831 exit(1);
4832 }
4833 var_pvisibilitynode4 = var_nodearraylist3;
4834 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4835 cltype20 = type_nullable_parser_nodes__AVisibility.color;
4836 idtype21 = type_nullable_parser_nodes__AVisibility.id;
4837 if(var_pvisibilitynode4 == NULL) {
4838 var19 = 1;
4839 } else {
4840 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
4841 var19 = 0;
4842 } else {
4843 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
4844 }
4845 }
4846 if (!var19) {
4847 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7508);
4848 exit(1);
4849 }
4850 var_pclasskindnode5 = var_nodearraylist4;
4851 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4852 cltype23 = type_nullable_parser_nodes__AClasskind.color;
4853 idtype24 = type_nullable_parser_nodes__AClasskind.id;
4854 if(var_pclasskindnode5 == NULL) {
4855 var22 = 1;
4856 } else {
4857 if(cltype23 >= var_pclasskindnode5->type->table_size) {
4858 var22 = 0;
4859 } else {
4860 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
4861 }
4862 }
4863 if (!var22) {
4864 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7510);
4865 exit(1);
4866 }
4867 var_tclassidnode6 = var_nodearraylist7;
4868 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4869 cltype26 = type_nullable_parser_nodes__TClassid.color;
4870 idtype27 = type_nullable_parser_nodes__TClassid.id;
4871 if(var_tclassidnode6 == NULL) {
4872 var25 = 1;
4873 } else {
4874 if(cltype26 >= var_tclassidnode6->type->table_size) {
4875 var25 = 0;
4876 } else {
4877 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
4878 }
4879 }
4880 if (!var25) {
4881 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7512);
4882 exit(1);
4883 }
4884 var_listnode7 = var_nodearraylist8;
4885 /* <var_listnode7:nullable Object> isa Array[Object] */
4886 cltype29 = type_array__Arraykernel__Object.color;
4887 idtype30 = type_array__Arraykernel__Object.id;
4888 if(var_listnode7 == NULL) {
4889 var28 = 0;
4890 } else {
4891 if(cltype29 >= var_listnode7->type->table_size) {
4892 var28 = 0;
4893 } else {
4894 var28 = var_listnode7->type->type_table[cltype29] == idtype30;
4895 }
4896 }
4897 if (!var28) {
4898 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7514);
4899 exit(1);
4900 }
4901 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction150>*/;
4902 var_listnode8 = var31;
4903 var_listnode11 = var_nodearraylist9;
4904 /* <var_listnode11:nullable Object> isa Array[Object] */
4905 cltype33 = type_array__Arraykernel__Object.color;
4906 idtype34 = type_array__Arraykernel__Object.id;
4907 if(var_listnode11 == NULL) {
4908 var32 = 0;
4909 } else {
4910 if(cltype33 >= var_listnode11->type->table_size) {
4911 var32 = 0;
4912 } else {
4913 var32 = var_listnode11->type->type_table[cltype33] == idtype34;
4914 }
4915 }
4916 if (!var32) {
4917 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7517);
4918 exit(1);
4919 }
4920 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction150>*/;
4921 var_listnode12 = var35;
4922 var_tkwendnode14 = var_nodearraylist11;
4923 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
4924 cltype37 = type_nullable_parser_nodes__TKwend.color;
4925 idtype38 = type_nullable_parser_nodes__TKwend.id;
4926 if(var_tkwendnode14 == NULL) {
4927 var36 = 1;
4928 } else {
4929 if(cltype37 >= var_tkwendnode14->type->table_size) {
4930 var36 = 0;
4931 } else {
4932 var36 = var_tkwendnode14->type->type_table[cltype37] == idtype38;
4933 }
4934 }
4935 if (!var36) {
4936 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7520);
4937 exit(1);
4938 }
4939 var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4940 var40 = NULL;
4941 var41 = NULL;
4942 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var39->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var39, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var40, var41, var_listnode12, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var39:AStdClassdef>*/;
4943 CHECK_NEW_parser_nodes__AStdClassdef(var39);
4944 var_pclassdefnode1 = var39;
4945 var_node_list = var_pclassdefnode1;
4946 var42 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction150> */
4947 var43 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var42) /* go_to on <var_p:Parser>*/;
4948 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var43, var_node_list) /* push on <var_p:Parser>*/;
4949 RET_LABEL:;
4950 }
4951 /* method parser#ReduceAction150#action for (self: Object, Parser) */
4952 void VIRTUAL_parser__ReduceAction150__action(val* self, val* p0) {
4953 parser__ReduceAction150__action(self, p0);
4954 RET_LABEL:;
4955 }
4956 /* method parser#ReduceAction151#action for (self: ReduceAction151, Parser) */
4957 void parser__ReduceAction151__action(val* self, val* p0) {
4958 val* var_p /* var p: Parser */;
4959 val* var /* : null */;
4960 val* var_node_list /* var node_list: nullable Object */;
4961 val* var1 /* : nullable Object */;
4962 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
4963 val* var2 /* : nullable Object */;
4964 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
4965 val* var3 /* : nullable Object */;
4966 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4967 val* var4 /* : nullable Object */;
4968 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4969 val* var5 /* : nullable Object */;
4970 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4971 val* var6 /* : nullable Object */;
4972 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4973 val* var7 /* : nullable Object */;
4974 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4975 val* var8 /* : nullable Object */;
4976 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4977 val* var9 /* : nullable Object */;
4978 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4979 val* var10 /* : nullable Object */;
4980 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4981 val* var11 /* : nullable Object */;
4982 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4983 val* var12 /* : nullable Object */;
4984 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4985 val* var13 /* : Array[Object] */;
4986 val* var_listnode8 /* var listnode8: Array[Object] */;
4987 val* var14 /* : Array[Object] */;
4988 val* var_listnode12 /* var listnode12: Array[Object] */;
4989 val* var15 /* : Array[Object] */;
4990 val* var_listnode13 /* var listnode13: Array[Object] */;
4991 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4992 short int var16 /* : Bool */;
4993 int cltype;
4994 int idtype;
4995 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
4996 short int var17 /* : Bool */;
4997 int cltype18;
4998 int idtype19;
4999 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5000 short int var20 /* : Bool */;
5001 int cltype21;
5002 int idtype22;
5003 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5004 short int var23 /* : Bool */;
5005 int cltype24;
5006 int idtype25;
5007 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5008 short int var26 /* : Bool */;
5009 int cltype27;
5010 int idtype28;
5011 val* var_listnode7 /* var listnode7: nullable Object */;
5012 short int var29 /* : Bool */;
5013 int cltype30;
5014 int idtype31;
5015 val* var32 /* : Array[Object] */;
5016 val* var_listnode11 /* var listnode11: nullable Object */;
5017 short int var33 /* : Bool */;
5018 int cltype34;
5019 int idtype35;
5020 val* var36 /* : Array[Object] */;
5021 val* var_tkwendnode14 /* var tkwendnode14: nullable Object */;
5022 short int var37 /* : Bool */;
5023 int cltype38;
5024 int idtype39;
5025 val* var40 /* : AStdClassdef */;
5026 val* var41 /* : null */;
5027 val* var42 /* : null */;
5028 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5029 long var43 /* : Int */;
5030 long var44 /* : Int */;
5031 var_p = p0;
5032 var = NULL;
5033 var_node_list = var;
5034 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5035 var_nodearraylist12 = var1;
5036 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5037 var_nodearraylist11 = var2;
5038 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5039 var_nodearraylist10 = var3;
5040 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5041 var_nodearraylist9 = var4;
5042 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5043 var_nodearraylist8 = var5;
5044 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5045 var_nodearraylist7 = var6;
5046 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5047 var_nodearraylist6 = var7;
5048 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5049 var_nodearraylist5 = var8;
5050 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5051 var_nodearraylist4 = var9;
5052 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5053 var_nodearraylist3 = var10;
5054 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5055 var_nodearraylist2 = var11;
5056 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5057 var_nodearraylist1 = var12;
5058 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
5059 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
5060 CHECK_NEW_array__Array(var13);
5061 var_listnode8 = var13;
5062 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
5063 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
5064 CHECK_NEW_array__Array(var14);
5065 var_listnode12 = var14;
5066 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
5067 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
5068 CHECK_NEW_array__Array(var15);
5069 var_listnode13 = var15;
5070 var_pdocnode2 = var_nodearraylist1;
5071 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5072 cltype = type_nullable_parser_nodes__ADoc.color;
5073 idtype = type_nullable_parser_nodes__ADoc.id;
5074 if(var_pdocnode2 == NULL) {
5075 var16 = 1;
5076 } else {
5077 if(cltype >= var_pdocnode2->type->table_size) {
5078 var16 = 0;
5079 } else {
5080 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
5081 }
5082 }
5083 if (!var16) {
5084 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7559);
5085 exit(1);
5086 }
5087 var_tkwredefnode3 = var_nodearraylist2;
5088 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
5089 cltype18 = type_nullable_parser_nodes__TKwredef.color;
5090 idtype19 = type_nullable_parser_nodes__TKwredef.id;
5091 if(var_tkwredefnode3 == NULL) {
5092 var17 = 1;
5093 } else {
5094 if(cltype18 >= var_tkwredefnode3->type->table_size) {
5095 var17 = 0;
5096 } else {
5097 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
5098 }
5099 }
5100 if (!var17) {
5101 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7561);
5102 exit(1);
5103 }
5104 var_pvisibilitynode4 = var_nodearraylist3;
5105 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5106 cltype21 = type_nullable_parser_nodes__AVisibility.color;
5107 idtype22 = type_nullable_parser_nodes__AVisibility.id;
5108 if(var_pvisibilitynode4 == NULL) {
5109 var20 = 1;
5110 } else {
5111 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
5112 var20 = 0;
5113 } else {
5114 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
5115 }
5116 }
5117 if (!var20) {
5118 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7563);
5119 exit(1);
5120 }
5121 var_pclasskindnode5 = var_nodearraylist4;
5122 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5123 cltype24 = type_nullable_parser_nodes__AClasskind.color;
5124 idtype25 = type_nullable_parser_nodes__AClasskind.id;
5125 if(var_pclasskindnode5 == NULL) {
5126 var23 = 1;
5127 } else {
5128 if(cltype24 >= var_pclasskindnode5->type->table_size) {
5129 var23 = 0;
5130 } else {
5131 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
5132 }
5133 }
5134 if (!var23) {
5135 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7565);
5136 exit(1);
5137 }
5138 var_tclassidnode6 = var_nodearraylist8;
5139 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5140 cltype27 = type_nullable_parser_nodes__TClassid.color;
5141 idtype28 = type_nullable_parser_nodes__TClassid.id;
5142 if(var_tclassidnode6 == NULL) {
5143 var26 = 1;
5144 } else {
5145 if(cltype27 >= var_tclassidnode6->type->table_size) {
5146 var26 = 0;
5147 } else {
5148 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
5149 }
5150 }
5151 if (!var26) {
5152 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7567);
5153 exit(1);
5154 }
5155 var_listnode7 = var_nodearraylist9;
5156 /* <var_listnode7:nullable Object> isa Array[Object] */
5157 cltype30 = type_array__Arraykernel__Object.color;
5158 idtype31 = type_array__Arraykernel__Object.id;
5159 if(var_listnode7 == NULL) {
5160 var29 = 0;
5161 } else {
5162 if(cltype30 >= var_listnode7->type->table_size) {
5163 var29 = 0;
5164 } else {
5165 var29 = var_listnode7->type->type_table[cltype30] == idtype31;
5166 }
5167 }
5168 if (!var29) {
5169 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7569);
5170 exit(1);
5171 }
5172 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction151>*/;
5173 var_listnode8 = var32;
5174 var_listnode11 = var_nodearraylist10;
5175 /* <var_listnode11:nullable Object> isa Array[Object] */
5176 cltype34 = type_array__Arraykernel__Object.color;
5177 idtype35 = type_array__Arraykernel__Object.id;
5178 if(var_listnode11 == NULL) {
5179 var33 = 0;
5180 } else {
5181 if(cltype34 >= var_listnode11->type->table_size) {
5182 var33 = 0;
5183 } else {
5184 var33 = var_listnode11->type->type_table[cltype34] == idtype35;
5185 }
5186 }
5187 if (!var33) {
5188 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7572);
5189 exit(1);
5190 }
5191 var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction151>*/;
5192 var_listnode12 = var36;
5193 var_tkwendnode14 = var_nodearraylist12;
5194 /* <var_tkwendnode14:nullable Object> isa nullable TKwend */
5195 cltype38 = type_nullable_parser_nodes__TKwend.color;
5196 idtype39 = type_nullable_parser_nodes__TKwend.id;
5197 if(var_tkwendnode14 == NULL) {
5198 var37 = 1;
5199 } else {
5200 if(cltype38 >= var_tkwendnode14->type->table_size) {
5201 var37 = 0;
5202 } else {
5203 var37 = var_tkwendnode14->type->type_table[cltype38] == idtype39;
5204 }
5205 }
5206 if (!var37) {
5207 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7575);
5208 exit(1);
5209 }
5210 var40 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5211 var41 = NULL;
5212 var42 = NULL;
5213 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var40->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var40, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var41, var42, var_listnode12, var_listnode13, var_tkwendnode14) /* init_astdclassdef on <var40:AStdClassdef>*/;
5214 CHECK_NEW_parser_nodes__AStdClassdef(var40);
5215 var_pclassdefnode1 = var40;
5216 var_node_list = var_pclassdefnode1;
5217 var43 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction151> */
5218 var44 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var43) /* go_to on <var_p:Parser>*/;
5219 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var44, var_node_list) /* push on <var_p:Parser>*/;
5220 RET_LABEL:;
5221 }
5222 /* method parser#ReduceAction151#action for (self: Object, Parser) */
5223 void VIRTUAL_parser__ReduceAction151__action(val* self, val* p0) {
5224 parser__ReduceAction151__action(self, p0);
5225 RET_LABEL:;
5226 }
5227 /* method parser#ReduceAction153#action for (self: ReduceAction153, Parser) */
5228 void parser__ReduceAction153__action(val* self, val* p0) {
5229 val* var_p /* var p: Parser */;
5230 val* var /* : null */;
5231 val* var_node_list /* var node_list: nullable Object */;
5232 val* var1 /* : nullable Object */;
5233 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5234 val* var2 /* : nullable Object */;
5235 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5236 val* var3 /* : nullable Object */;
5237 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5238 val* var4 /* : nullable Object */;
5239 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5240 val* var5 /* : nullable Object */;
5241 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5242 val* var6 /* : nullable Object */;
5243 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5244 val* var7 /* : nullable Object */;
5245 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5246 val* var8 /* : nullable Object */;
5247 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5248 val* var9 /* : nullable Object */;
5249 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5250 val* var10 /* : Array[Object] */;
5251 val* var_listnode7 /* var listnode7: Array[Object] */;
5252 val* var11 /* : Array[Object] */;
5253 val* var_listnode16 /* var listnode16: Array[Object] */;
5254 val* var12 /* : Array[Object] */;
5255 val* var_listnode17 /* var listnode17: Array[Object] */;
5256 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5257 short int var13 /* : Bool */;
5258 int cltype;
5259 int idtype;
5260 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5261 short int var14 /* : Bool */;
5262 int cltype15;
5263 int idtype16;
5264 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5265 short int var17 /* : Bool */;
5266 int cltype18;
5267 int idtype19;
5268 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5269 short int var20 /* : Bool */;
5270 int cltype21;
5271 int idtype22;
5272 val* var23 /* : Array[Object] */;
5273 val* var_listnode12 /* var listnode12: Array[Object] */;
5274 val* var_listnode11 /* var listnode11: nullable Object */;
5275 short int var24 /* : Bool */;
5276 int cltype25;
5277 int idtype26;
5278 val* var27 /* : Array[Object] */;
5279 val* var28 /* : AAnnotations */;
5280 val* var29 /* : null */;
5281 val* var30 /* : null */;
5282 val* var31 /* : null */;
5283 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
5284 val* var_listnode15 /* var listnode15: nullable Object */;
5285 short int var32 /* : Bool */;
5286 int cltype33;
5287 int idtype34;
5288 val* var35 /* : Array[Object] */;
5289 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
5290 short int var36 /* : Bool */;
5291 int cltype37;
5292 int idtype38;
5293 val* var39 /* : AStdClassdef */;
5294 val* var40 /* : null */;
5295 val* var41 /* : null */;
5296 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5297 long var42 /* : Int */;
5298 long var43 /* : Int */;
5299 var_p = p0;
5300 var = NULL;
5301 var_node_list = var;
5302 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5303 var_nodearraylist9 = var1;
5304 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5305 var_nodearraylist8 = var2;
5306 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5307 var_nodearraylist7 = var3;
5308 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5309 var_nodearraylist6 = var4;
5310 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5311 var_nodearraylist5 = var5;
5312 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5313 var_nodearraylist4 = var6;
5314 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5315 var_nodearraylist3 = var7;
5316 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5317 var_nodearraylist2 = var8;
5318 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5319 var_nodearraylist1 = var9;
5320 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
5321 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
5322 CHECK_NEW_array__Array(var10);
5323 var_listnode7 = var10;
5324 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
5325 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
5326 CHECK_NEW_array__Array(var11);
5327 var_listnode16 = var11;
5328 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
5329 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
5330 CHECK_NEW_array__Array(var12);
5331 var_listnode17 = var12;
5332 var_pdocnode2 = var_nodearraylist1;
5333 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5334 cltype = type_nullable_parser_nodes__ADoc.color;
5335 idtype = type_nullable_parser_nodes__ADoc.id;
5336 if(var_pdocnode2 == NULL) {
5337 var13 = 1;
5338 } else {
5339 if(cltype >= var_pdocnode2->type->table_size) {
5340 var13 = 0;
5341 } else {
5342 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
5343 }
5344 }
5345 if (!var13) {
5346 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7611);
5347 exit(1);
5348 }
5349 var_pvisibilitynode4 = var_nodearraylist2;
5350 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5351 cltype15 = type_nullable_parser_nodes__AVisibility.color;
5352 idtype16 = type_nullable_parser_nodes__AVisibility.id;
5353 if(var_pvisibilitynode4 == NULL) {
5354 var14 = 1;
5355 } else {
5356 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
5357 var14 = 0;
5358 } else {
5359 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
5360 }
5361 }
5362 if (!var14) {
5363 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7613);
5364 exit(1);
5365 }
5366 var_pclasskindnode5 = var_nodearraylist3;
5367 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5368 cltype18 = type_nullable_parser_nodes__AClasskind.color;
5369 idtype19 = type_nullable_parser_nodes__AClasskind.id;
5370 if(var_pclasskindnode5 == NULL) {
5371 var17 = 1;
5372 } else {
5373 if(cltype18 >= var_pclasskindnode5->type->table_size) {
5374 var17 = 0;
5375 } else {
5376 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
5377 }
5378 }
5379 if (!var17) {
5380 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7615);
5381 exit(1);
5382 }
5383 var_tclassidnode6 = var_nodearraylist5;
5384 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5385 cltype21 = type_nullable_parser_nodes__TClassid.color;
5386 idtype22 = type_nullable_parser_nodes__TClassid.id;
5387 if(var_tclassidnode6 == NULL) {
5388 var20 = 1;
5389 } else {
5390 if(cltype21 >= var_tclassidnode6->type->table_size) {
5391 var20 = 0;
5392 } else {
5393 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
5394 }
5395 }
5396 if (!var20) {
5397 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7617);
5398 exit(1);
5399 }
5400 var23 = NEW_array__Array(&type_array__Arraykernel__Object);
5401 ((void (*)(val*))(var23->class->vft[COLOR_array__Array__init]))(var23) /* init on <var23:Array[Object]>*/;
5402 CHECK_NEW_array__Array(var23);
5403 var_listnode12 = var23;
5404 var_listnode11 = var_nodearraylist6;
5405 /* <var_listnode11:nullable Object> isa Array[Object] */
5406 cltype25 = type_array__Arraykernel__Object.color;
5407 idtype26 = type_array__Arraykernel__Object.id;
5408 if(var_listnode11 == NULL) {
5409 var24 = 0;
5410 } else {
5411 if(cltype25 >= var_listnode11->type->table_size) {
5412 var24 = 0;
5413 } else {
5414 var24 = var_listnode11->type->type_table[cltype25] == idtype26;
5415 }
5416 }
5417 if (!var24) {
5418 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7620);
5419 exit(1);
5420 }
5421 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction153>*/;
5422 var_listnode12 = var27;
5423 var28 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
5424 var29 = NULL;
5425 var30 = NULL;
5426 var31 = NULL;
5427 ((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>*/;
5428 CHECK_NEW_parser_nodes__AAnnotations(var28);
5429 var_pannotationsnode8 = var28;
5430 var_listnode15 = var_nodearraylist7;
5431 /* <var_listnode15:nullable Object> isa Array[Object] */
5432 cltype33 = type_array__Arraykernel__Object.color;
5433 idtype34 = type_array__Arraykernel__Object.id;
5434 if(var_listnode15 == NULL) {
5435 var32 = 0;
5436 } else {
5437 if(cltype33 >= var_listnode15->type->table_size) {
5438 var32 = 0;
5439 } else {
5440 var32 = var_listnode15->type->type_table[cltype33] == idtype34;
5441 }
5442 }
5443 if (!var32) {
5444 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7629);
5445 exit(1);
5446 }
5447 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction153>*/;
5448 var_listnode16 = var35;
5449 var_tkwendnode18 = var_nodearraylist9;
5450 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
5451 cltype37 = type_nullable_parser_nodes__TKwend.color;
5452 idtype38 = type_nullable_parser_nodes__TKwend.id;
5453 if(var_tkwendnode18 == NULL) {
5454 var36 = 1;
5455 } else {
5456 if(cltype37 >= var_tkwendnode18->type->table_size) {
5457 var36 = 0;
5458 } else {
5459 var36 = var_tkwendnode18->type->type_table[cltype37] == idtype38;
5460 }
5461 }
5462 if (!var36) {
5463 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7632);
5464 exit(1);
5465 }
5466 var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5467 var40 = NULL;
5468 var41 = NULL;
5469 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var39->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var39, var_pdocnode2, var40, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var41, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var39:AStdClassdef>*/;
5470 CHECK_NEW_parser_nodes__AStdClassdef(var39);
5471 var_pclassdefnode1 = var39;
5472 var_node_list = var_pclassdefnode1;
5473 var42 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction153> */
5474 var43 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var42) /* go_to on <var_p:Parser>*/;
5475 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var43, var_node_list) /* push on <var_p:Parser>*/;
5476 RET_LABEL:;
5477 }
5478 /* method parser#ReduceAction153#action for (self: Object, Parser) */
5479 void VIRTUAL_parser__ReduceAction153__action(val* self, val* p0) {
5480 parser__ReduceAction153__action(self, p0);
5481 RET_LABEL:;
5482 }
5483 /* method parser#ReduceAction154#action for (self: ReduceAction154, Parser) */
5484 void parser__ReduceAction154__action(val* self, val* p0) {
5485 val* var_p /* var p: Parser */;
5486 val* var /* : null */;
5487 val* var_node_list /* var node_list: nullable Object */;
5488 val* var1 /* : nullable Object */;
5489 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5490 val* var2 /* : nullable Object */;
5491 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5492 val* var3 /* : nullable Object */;
5493 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5494 val* var4 /* : nullable Object */;
5495 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5496 val* var5 /* : nullable Object */;
5497 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5498 val* var6 /* : nullable Object */;
5499 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5500 val* var7 /* : nullable Object */;
5501 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5502 val* var8 /* : nullable Object */;
5503 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5504 val* var9 /* : nullable Object */;
5505 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5506 val* var10 /* : nullable Object */;
5507 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5508 val* var11 /* : Array[Object] */;
5509 val* var_listnode7 /* var listnode7: Array[Object] */;
5510 val* var12 /* : Array[Object] */;
5511 val* var_listnode16 /* var listnode16: Array[Object] */;
5512 val* var13 /* : Array[Object] */;
5513 val* var_listnode17 /* var listnode17: Array[Object] */;
5514 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5515 short int var14 /* : Bool */;
5516 int cltype;
5517 int idtype;
5518 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
5519 short int var15 /* : Bool */;
5520 int cltype16;
5521 int idtype17;
5522 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5523 short int var18 /* : Bool */;
5524 int cltype19;
5525 int idtype20;
5526 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5527 short int var21 /* : Bool */;
5528 int cltype22;
5529 int idtype23;
5530 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5531 short int var24 /* : Bool */;
5532 int cltype25;
5533 int idtype26;
5534 val* var27 /* : Array[Object] */;
5535 val* var_listnode12 /* var listnode12: Array[Object] */;
5536 val* var_listnode11 /* var listnode11: nullable Object */;
5537 short int var28 /* : Bool */;
5538 int cltype29;
5539 int idtype30;
5540 val* var31 /* : Array[Object] */;
5541 val* var32 /* : AAnnotations */;
5542 val* var33 /* : null */;
5543 val* var34 /* : null */;
5544 val* var35 /* : null */;
5545 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
5546 val* var_listnode15 /* var listnode15: nullable Object */;
5547 short int var36 /* : Bool */;
5548 int cltype37;
5549 int idtype38;
5550 val* var39 /* : Array[Object] */;
5551 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
5552 short int var40 /* : Bool */;
5553 int cltype41;
5554 int idtype42;
5555 val* var43 /* : AStdClassdef */;
5556 val* var44 /* : null */;
5557 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5558 long var45 /* : Int */;
5559 long var46 /* : Int */;
5560 var_p = p0;
5561 var = NULL;
5562 var_node_list = var;
5563 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5564 var_nodearraylist10 = var1;
5565 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5566 var_nodearraylist9 = var2;
5567 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5568 var_nodearraylist8 = var3;
5569 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5570 var_nodearraylist7 = var4;
5571 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5572 var_nodearraylist6 = var5;
5573 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5574 var_nodearraylist5 = var6;
5575 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5576 var_nodearraylist4 = var7;
5577 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5578 var_nodearraylist3 = var8;
5579 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5580 var_nodearraylist2 = var9;
5581 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5582 var_nodearraylist1 = var10;
5583 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
5584 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
5585 CHECK_NEW_array__Array(var11);
5586 var_listnode7 = var11;
5587 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
5588 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
5589 CHECK_NEW_array__Array(var12);
5590 var_listnode16 = var12;
5591 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
5592 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
5593 CHECK_NEW_array__Array(var13);
5594 var_listnode17 = var13;
5595 var_pdocnode2 = var_nodearraylist1;
5596 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5597 cltype = type_nullable_parser_nodes__ADoc.color;
5598 idtype = type_nullable_parser_nodes__ADoc.id;
5599 if(var_pdocnode2 == NULL) {
5600 var14 = 1;
5601 } else {
5602 if(cltype >= var_pdocnode2->type->table_size) {
5603 var14 = 0;
5604 } else {
5605 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
5606 }
5607 }
5608 if (!var14) {
5609 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7669);
5610 exit(1);
5611 }
5612 var_tkwredefnode3 = var_nodearraylist2;
5613 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
5614 cltype16 = type_nullable_parser_nodes__TKwredef.color;
5615 idtype17 = type_nullable_parser_nodes__TKwredef.id;
5616 if(var_tkwredefnode3 == NULL) {
5617 var15 = 1;
5618 } else {
5619 if(cltype16 >= var_tkwredefnode3->type->table_size) {
5620 var15 = 0;
5621 } else {
5622 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
5623 }
5624 }
5625 if (!var15) {
5626 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7671);
5627 exit(1);
5628 }
5629 var_pvisibilitynode4 = var_nodearraylist3;
5630 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5631 cltype19 = type_nullable_parser_nodes__AVisibility.color;
5632 idtype20 = type_nullable_parser_nodes__AVisibility.id;
5633 if(var_pvisibilitynode4 == NULL) {
5634 var18 = 1;
5635 } else {
5636 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
5637 var18 = 0;
5638 } else {
5639 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
5640 }
5641 }
5642 if (!var18) {
5643 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7673);
5644 exit(1);
5645 }
5646 var_pclasskindnode5 = var_nodearraylist4;
5647 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5648 cltype22 = type_nullable_parser_nodes__AClasskind.color;
5649 idtype23 = type_nullable_parser_nodes__AClasskind.id;
5650 if(var_pclasskindnode5 == NULL) {
5651 var21 = 1;
5652 } else {
5653 if(cltype22 >= var_pclasskindnode5->type->table_size) {
5654 var21 = 0;
5655 } else {
5656 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
5657 }
5658 }
5659 if (!var21) {
5660 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7675);
5661 exit(1);
5662 }
5663 var_tclassidnode6 = var_nodearraylist6;
5664 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5665 cltype25 = type_nullable_parser_nodes__TClassid.color;
5666 idtype26 = type_nullable_parser_nodes__TClassid.id;
5667 if(var_tclassidnode6 == NULL) {
5668 var24 = 1;
5669 } else {
5670 if(cltype25 >= var_tclassidnode6->type->table_size) {
5671 var24 = 0;
5672 } else {
5673 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
5674 }
5675 }
5676 if (!var24) {
5677 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7677);
5678 exit(1);
5679 }
5680 var27 = NEW_array__Array(&type_array__Arraykernel__Object);
5681 ((void (*)(val*))(var27->class->vft[COLOR_array__Array__init]))(var27) /* init on <var27:Array[Object]>*/;
5682 CHECK_NEW_array__Array(var27);
5683 var_listnode12 = var27;
5684 var_listnode11 = var_nodearraylist7;
5685 /* <var_listnode11:nullable Object> isa Array[Object] */
5686 cltype29 = type_array__Arraykernel__Object.color;
5687 idtype30 = type_array__Arraykernel__Object.id;
5688 if(var_listnode11 == NULL) {
5689 var28 = 0;
5690 } else {
5691 if(cltype29 >= var_listnode11->type->table_size) {
5692 var28 = 0;
5693 } else {
5694 var28 = var_listnode11->type->type_table[cltype29] == idtype30;
5695 }
5696 }
5697 if (!var28) {
5698 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7680);
5699 exit(1);
5700 }
5701 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction154>*/;
5702 var_listnode12 = var31;
5703 var32 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
5704 var33 = NULL;
5705 var34 = NULL;
5706 var35 = NULL;
5707 ((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>*/;
5708 CHECK_NEW_parser_nodes__AAnnotations(var32);
5709 var_pannotationsnode8 = var32;
5710 var_listnode15 = var_nodearraylist8;
5711 /* <var_listnode15:nullable Object> isa Array[Object] */
5712 cltype37 = type_array__Arraykernel__Object.color;
5713 idtype38 = type_array__Arraykernel__Object.id;
5714 if(var_listnode15 == NULL) {
5715 var36 = 0;
5716 } else {
5717 if(cltype37 >= var_listnode15->type->table_size) {
5718 var36 = 0;
5719 } else {
5720 var36 = var_listnode15->type->type_table[cltype37] == idtype38;
5721 }
5722 }
5723 if (!var36) {
5724 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7689);
5725 exit(1);
5726 }
5727 var39 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction154>*/;
5728 var_listnode16 = var39;
5729 var_tkwendnode18 = var_nodearraylist10;
5730 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
5731 cltype41 = type_nullable_parser_nodes__TKwend.color;
5732 idtype42 = type_nullable_parser_nodes__TKwend.id;
5733 if(var_tkwendnode18 == NULL) {
5734 var40 = 1;
5735 } else {
5736 if(cltype41 >= var_tkwendnode18->type->table_size) {
5737 var40 = 0;
5738 } else {
5739 var40 = var_tkwendnode18->type->type_table[cltype41] == idtype42;
5740 }
5741 }
5742 if (!var40) {
5743 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7692);
5744 exit(1);
5745 }
5746 var43 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5747 var44 = NULL;
5748 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var43->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var43, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var44, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var43:AStdClassdef>*/;
5749 CHECK_NEW_parser_nodes__AStdClassdef(var43);
5750 var_pclassdefnode1 = var43;
5751 var_node_list = var_pclassdefnode1;
5752 var45 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction154> */
5753 var46 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var45) /* go_to on <var_p:Parser>*/;
5754 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var46, var_node_list) /* push on <var_p:Parser>*/;
5755 RET_LABEL:;
5756 }
5757 /* method parser#ReduceAction154#action for (self: Object, Parser) */
5758 void VIRTUAL_parser__ReduceAction154__action(val* self, val* p0) {
5759 parser__ReduceAction154__action(self, p0);
5760 RET_LABEL:;
5761 }
5762 /* method parser#ReduceAction155#action for (self: ReduceAction155, Parser) */
5763 void parser__ReduceAction155__action(val* self, val* p0) {
5764 val* var_p /* var p: Parser */;
5765 val* var /* : null */;
5766 val* var_node_list /* var node_list: nullable Object */;
5767 val* var1 /* : nullable Object */;
5768 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5769 val* var2 /* : nullable Object */;
5770 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5771 val* var3 /* : nullable Object */;
5772 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5773 val* var4 /* : nullable Object */;
5774 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5775 val* var5 /* : nullable Object */;
5776 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5777 val* var6 /* : nullable Object */;
5778 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5779 val* var7 /* : nullable Object */;
5780 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5781 val* var8 /* : nullable Object */;
5782 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5783 val* var9 /* : nullable Object */;
5784 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5785 val* var10 /* : nullable Object */;
5786 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5787 val* var11 /* : Array[Object] */;
5788 val* var_listnode7 /* var listnode7: Array[Object] */;
5789 val* var12 /* : Array[Object] */;
5790 val* var_listnode16 /* var listnode16: Array[Object] */;
5791 val* var13 /* : Array[Object] */;
5792 val* var_listnode17 /* var listnode17: Array[Object] */;
5793 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5794 short int var14 /* : Bool */;
5795 int cltype;
5796 int idtype;
5797 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5798 short int var15 /* : Bool */;
5799 int cltype16;
5800 int idtype17;
5801 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5802 short int var18 /* : Bool */;
5803 int cltype19;
5804 int idtype20;
5805 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5806 short int var21 /* : Bool */;
5807 int cltype22;
5808 int idtype23;
5809 val* var24 /* : Array[Object] */;
5810 val* var_listnode12 /* var listnode12: Array[Object] */;
5811 val* var_listnode11 /* var listnode11: nullable Object */;
5812 short int var25 /* : Bool */;
5813 int cltype26;
5814 int idtype27;
5815 val* var28 /* : Array[Object] */;
5816 val* var29 /* : AAnnotations */;
5817 val* var30 /* : null */;
5818 val* var31 /* : null */;
5819 val* var32 /* : null */;
5820 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
5821 val* var_listnode15 /* var listnode15: nullable Object */;
5822 short int var33 /* : Bool */;
5823 int cltype34;
5824 int idtype35;
5825 val* var36 /* : Array[Object] */;
5826 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
5827 short int var37 /* : Bool */;
5828 int cltype38;
5829 int idtype39;
5830 val* var40 /* : AStdClassdef */;
5831 val* var41 /* : null */;
5832 val* var42 /* : null */;
5833 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5834 long var43 /* : Int */;
5835 long var44 /* : Int */;
5836 var_p = p0;
5837 var = NULL;
5838 var_node_list = var;
5839 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5840 var_nodearraylist10 = var1;
5841 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5842 var_nodearraylist9 = var2;
5843 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5844 var_nodearraylist8 = var3;
5845 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5846 var_nodearraylist7 = var4;
5847 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5848 var_nodearraylist6 = var5;
5849 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5850 var_nodearraylist5 = var6;
5851 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5852 var_nodearraylist4 = var7;
5853 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5854 var_nodearraylist3 = var8;
5855 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5856 var_nodearraylist2 = var9;
5857 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5858 var_nodearraylist1 = var10;
5859 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
5860 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
5861 CHECK_NEW_array__Array(var11);
5862 var_listnode7 = var11;
5863 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
5864 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
5865 CHECK_NEW_array__Array(var12);
5866 var_listnode16 = var12;
5867 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
5868 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
5869 CHECK_NEW_array__Array(var13);
5870 var_listnode17 = var13;
5871 var_pdocnode2 = var_nodearraylist1;
5872 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5873 cltype = type_nullable_parser_nodes__ADoc.color;
5874 idtype = type_nullable_parser_nodes__ADoc.id;
5875 if(var_pdocnode2 == NULL) {
5876 var14 = 1;
5877 } else {
5878 if(cltype >= var_pdocnode2->type->table_size) {
5879 var14 = 0;
5880 } else {
5881 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
5882 }
5883 }
5884 if (!var14) {
5885 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7729);
5886 exit(1);
5887 }
5888 var_pvisibilitynode4 = var_nodearraylist2;
5889 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5890 cltype16 = type_nullable_parser_nodes__AVisibility.color;
5891 idtype17 = type_nullable_parser_nodes__AVisibility.id;
5892 if(var_pvisibilitynode4 == NULL) {
5893 var15 = 1;
5894 } else {
5895 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
5896 var15 = 0;
5897 } else {
5898 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
5899 }
5900 }
5901 if (!var15) {
5902 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7731);
5903 exit(1);
5904 }
5905 var_pclasskindnode5 = var_nodearraylist3;
5906 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5907 cltype19 = type_nullable_parser_nodes__AClasskind.color;
5908 idtype20 = type_nullable_parser_nodes__AClasskind.id;
5909 if(var_pclasskindnode5 == NULL) {
5910 var18 = 1;
5911 } else {
5912 if(cltype19 >= var_pclasskindnode5->type->table_size) {
5913 var18 = 0;
5914 } else {
5915 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
5916 }
5917 }
5918 if (!var18) {
5919 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7733);
5920 exit(1);
5921 }
5922 var_tclassidnode6 = var_nodearraylist6;
5923 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5924 cltype22 = type_nullable_parser_nodes__TClassid.color;
5925 idtype23 = type_nullable_parser_nodes__TClassid.id;
5926 if(var_tclassidnode6 == NULL) {
5927 var21 = 1;
5928 } else {
5929 if(cltype22 >= var_tclassidnode6->type->table_size) {
5930 var21 = 0;
5931 } else {
5932 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
5933 }
5934 }
5935 if (!var21) {
5936 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7735);
5937 exit(1);
5938 }
5939 var24 = NEW_array__Array(&type_array__Arraykernel__Object);
5940 ((void (*)(val*))(var24->class->vft[COLOR_array__Array__init]))(var24) /* init on <var24:Array[Object]>*/;
5941 CHECK_NEW_array__Array(var24);
5942 var_listnode12 = var24;
5943 var_listnode11 = var_nodearraylist7;
5944 /* <var_listnode11:nullable Object> isa Array[Object] */
5945 cltype26 = type_array__Arraykernel__Object.color;
5946 idtype27 = type_array__Arraykernel__Object.id;
5947 if(var_listnode11 == NULL) {
5948 var25 = 0;
5949 } else {
5950 if(cltype26 >= var_listnode11->type->table_size) {
5951 var25 = 0;
5952 } else {
5953 var25 = var_listnode11->type->type_table[cltype26] == idtype27;
5954 }
5955 }
5956 if (!var25) {
5957 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7738);
5958 exit(1);
5959 }
5960 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction155>*/;
5961 var_listnode12 = var28;
5962 var29 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
5963 var30 = NULL;
5964 var31 = NULL;
5965 var32 = NULL;
5966 ((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>*/;
5967 CHECK_NEW_parser_nodes__AAnnotations(var29);
5968 var_pannotationsnode8 = var29;
5969 var_listnode15 = var_nodearraylist8;
5970 /* <var_listnode15:nullable Object> isa Array[Object] */
5971 cltype34 = type_array__Arraykernel__Object.color;
5972 idtype35 = type_array__Arraykernel__Object.id;
5973 if(var_listnode15 == NULL) {
5974 var33 = 0;
5975 } else {
5976 if(cltype34 >= var_listnode15->type->table_size) {
5977 var33 = 0;
5978 } else {
5979 var33 = var_listnode15->type->type_table[cltype34] == idtype35;
5980 }
5981 }
5982 if (!var33) {
5983 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7747);
5984 exit(1);
5985 }
5986 var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction155>*/;
5987 var_listnode16 = var36;
5988 var_tkwendnode18 = var_nodearraylist10;
5989 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
5990 cltype38 = type_nullable_parser_nodes__TKwend.color;
5991 idtype39 = type_nullable_parser_nodes__TKwend.id;
5992 if(var_tkwendnode18 == NULL) {
5993 var37 = 1;
5994 } else {
5995 if(cltype38 >= var_tkwendnode18->type->table_size) {
5996 var37 = 0;
5997 } else {
5998 var37 = var_tkwendnode18->type->type_table[cltype38] == idtype39;
5999 }
6000 }
6001 if (!var37) {
6002 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7750);
6003 exit(1);
6004 }
6005 var40 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6006 var41 = NULL;
6007 var42 = NULL;
6008 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var40->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var40, var_pdocnode2, var41, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var42, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var40:AStdClassdef>*/;
6009 CHECK_NEW_parser_nodes__AStdClassdef(var40);
6010 var_pclassdefnode1 = var40;
6011 var_node_list = var_pclassdefnode1;
6012 var43 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction155> */
6013 var44 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var43) /* go_to on <var_p:Parser>*/;
6014 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var44, var_node_list) /* push on <var_p:Parser>*/;
6015 RET_LABEL:;
6016 }
6017 /* method parser#ReduceAction155#action for (self: Object, Parser) */
6018 void VIRTUAL_parser__ReduceAction155__action(val* self, val* p0) {
6019 parser__ReduceAction155__action(self, p0);
6020 RET_LABEL:;
6021 }
6022 /* method parser#ReduceAction156#action for (self: ReduceAction156, Parser) */
6023 void parser__ReduceAction156__action(val* self, val* p0) {
6024 val* var_p /* var p: Parser */;
6025 val* var /* : null */;
6026 val* var_node_list /* var node_list: nullable Object */;
6027 val* var1 /* : nullable Object */;
6028 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
6029 val* var2 /* : nullable Object */;
6030 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6031 val* var3 /* : nullable Object */;
6032 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6033 val* var4 /* : nullable Object */;
6034 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6035 val* var5 /* : nullable Object */;
6036 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6037 val* var6 /* : nullable Object */;
6038 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6039 val* var7 /* : nullable Object */;
6040 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6041 val* var8 /* : nullable Object */;
6042 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6043 val* var9 /* : nullable Object */;
6044 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6045 val* var10 /* : nullable Object */;
6046 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6047 val* var11 /* : nullable Object */;
6048 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6049 val* var12 /* : Array[Object] */;
6050 val* var_listnode7 /* var listnode7: Array[Object] */;
6051 val* var13 /* : Array[Object] */;
6052 val* var_listnode16 /* var listnode16: Array[Object] */;
6053 val* var14 /* : Array[Object] */;
6054 val* var_listnode17 /* var listnode17: Array[Object] */;
6055 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6056 short int var15 /* : Bool */;
6057 int cltype;
6058 int idtype;
6059 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6060 short int var16 /* : Bool */;
6061 int cltype17;
6062 int idtype18;
6063 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6064 short int var19 /* : Bool */;
6065 int cltype20;
6066 int idtype21;
6067 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6068 short int var22 /* : Bool */;
6069 int cltype23;
6070 int idtype24;
6071 val* var25 /* : Array[Object] */;
6072 val* var_listnode12 /* var listnode12: Array[Object] */;
6073 val* var_listnode11 /* var listnode11: nullable Object */;
6074 short int var26 /* : Bool */;
6075 int cltype27;
6076 int idtype28;
6077 val* var29 /* : Array[Object] */;
6078 val* var30 /* : AAnnotations */;
6079 val* var31 /* : null */;
6080 val* var32 /* : null */;
6081 val* var33 /* : null */;
6082 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
6083 val* var_listnode15 /* var listnode15: nullable Object */;
6084 short int var34 /* : Bool */;
6085 int cltype35;
6086 int idtype36;
6087 val* var37 /* : Array[Object] */;
6088 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
6089 short int var38 /* : Bool */;
6090 int cltype39;
6091 int idtype40;
6092 val* var41 /* : AStdClassdef */;
6093 val* var42 /* : null */;
6094 val* var43 /* : null */;
6095 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6096 long var44 /* : Int */;
6097 long var45 /* : Int */;
6098 var_p = p0;
6099 var = NULL;
6100 var_node_list = var;
6101 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6102 var_nodearraylist11 = var1;
6103 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6104 var_nodearraylist10 = var2;
6105 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6106 var_nodearraylist9 = var3;
6107 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6108 var_nodearraylist8 = var4;
6109 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6110 var_nodearraylist7 = var5;
6111 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6112 var_nodearraylist6 = var6;
6113 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6114 var_nodearraylist5 = var7;
6115 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6116 var_nodearraylist4 = var8;
6117 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6118 var_nodearraylist3 = var9;
6119 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6120 var_nodearraylist2 = var10;
6121 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6122 var_nodearraylist1 = var11;
6123 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
6124 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
6125 CHECK_NEW_array__Array(var12);
6126 var_listnode7 = var12;
6127 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
6128 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
6129 CHECK_NEW_array__Array(var13);
6130 var_listnode16 = var13;
6131 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
6132 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
6133 CHECK_NEW_array__Array(var14);
6134 var_listnode17 = var14;
6135 var_pdocnode2 = var_nodearraylist1;
6136 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6137 cltype = type_nullable_parser_nodes__ADoc.color;
6138 idtype = type_nullable_parser_nodes__ADoc.id;
6139 if(var_pdocnode2 == NULL) {
6140 var15 = 1;
6141 } else {
6142 if(cltype >= var_pdocnode2->type->table_size) {
6143 var15 = 0;
6144 } else {
6145 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
6146 }
6147 }
6148 if (!var15) {
6149 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7788);
6150 exit(1);
6151 }
6152 var_pvisibilitynode4 = var_nodearraylist2;
6153 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6154 cltype17 = type_nullable_parser_nodes__AVisibility.color;
6155 idtype18 = type_nullable_parser_nodes__AVisibility.id;
6156 if(var_pvisibilitynode4 == NULL) {
6157 var16 = 1;
6158 } else {
6159 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
6160 var16 = 0;
6161 } else {
6162 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
6163 }
6164 }
6165 if (!var16) {
6166 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7790);
6167 exit(1);
6168 }
6169 var_pclasskindnode5 = var_nodearraylist3;
6170 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6171 cltype20 = type_nullable_parser_nodes__AClasskind.color;
6172 idtype21 = type_nullable_parser_nodes__AClasskind.id;
6173 if(var_pclasskindnode5 == NULL) {
6174 var19 = 1;
6175 } else {
6176 if(cltype20 >= var_pclasskindnode5->type->table_size) {
6177 var19 = 0;
6178 } else {
6179 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
6180 }
6181 }
6182 if (!var19) {
6183 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7792);
6184 exit(1);
6185 }
6186 var_tclassidnode6 = var_nodearraylist7;
6187 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6188 cltype23 = type_nullable_parser_nodes__TClassid.color;
6189 idtype24 = type_nullable_parser_nodes__TClassid.id;
6190 if(var_tclassidnode6 == NULL) {
6191 var22 = 1;
6192 } else {
6193 if(cltype23 >= var_tclassidnode6->type->table_size) {
6194 var22 = 0;
6195 } else {
6196 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
6197 }
6198 }
6199 if (!var22) {
6200 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7794);
6201 exit(1);
6202 }
6203 var25 = NEW_array__Array(&type_array__Arraykernel__Object);
6204 ((void (*)(val*))(var25->class->vft[COLOR_array__Array__init]))(var25) /* init on <var25:Array[Object]>*/;
6205 CHECK_NEW_array__Array(var25);
6206 var_listnode12 = var25;
6207 var_listnode11 = var_nodearraylist8;
6208 /* <var_listnode11:nullable Object> isa Array[Object] */
6209 cltype27 = type_array__Arraykernel__Object.color;
6210 idtype28 = type_array__Arraykernel__Object.id;
6211 if(var_listnode11 == NULL) {
6212 var26 = 0;
6213 } else {
6214 if(cltype27 >= var_listnode11->type->table_size) {
6215 var26 = 0;
6216 } else {
6217 var26 = var_listnode11->type->type_table[cltype27] == idtype28;
6218 }
6219 }
6220 if (!var26) {
6221 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7797);
6222 exit(1);
6223 }
6224 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction156>*/;
6225 var_listnode12 = var29;
6226 var30 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
6227 var31 = NULL;
6228 var32 = NULL;
6229 var33 = NULL;
6230 ((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>*/;
6231 CHECK_NEW_parser_nodes__AAnnotations(var30);
6232 var_pannotationsnode8 = var30;
6233 var_listnode15 = var_nodearraylist9;
6234 /* <var_listnode15:nullable Object> isa Array[Object] */
6235 cltype35 = type_array__Arraykernel__Object.color;
6236 idtype36 = type_array__Arraykernel__Object.id;
6237 if(var_listnode15 == NULL) {
6238 var34 = 0;
6239 } else {
6240 if(cltype35 >= var_listnode15->type->table_size) {
6241 var34 = 0;
6242 } else {
6243 var34 = var_listnode15->type->type_table[cltype35] == idtype36;
6244 }
6245 }
6246 if (!var34) {
6247 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7806);
6248 exit(1);
6249 }
6250 var37 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction156>*/;
6251 var_listnode16 = var37;
6252 var_tkwendnode18 = var_nodearraylist11;
6253 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
6254 cltype39 = type_nullable_parser_nodes__TKwend.color;
6255 idtype40 = type_nullable_parser_nodes__TKwend.id;
6256 if(var_tkwendnode18 == NULL) {
6257 var38 = 1;
6258 } else {
6259 if(cltype39 >= var_tkwendnode18->type->table_size) {
6260 var38 = 0;
6261 } else {
6262 var38 = var_tkwendnode18->type->type_table[cltype39] == idtype40;
6263 }
6264 }
6265 if (!var38) {
6266 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7809);
6267 exit(1);
6268 }
6269 var41 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6270 var42 = NULL;
6271 var43 = NULL;
6272 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var41->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var41, var_pdocnode2, var42, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var43, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var41:AStdClassdef>*/;
6273 CHECK_NEW_parser_nodes__AStdClassdef(var41);
6274 var_pclassdefnode1 = var41;
6275 var_node_list = var_pclassdefnode1;
6276 var44 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction156> */
6277 var45 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var44) /* go_to on <var_p:Parser>*/;
6278 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var45, var_node_list) /* push on <var_p:Parser>*/;
6279 RET_LABEL:;
6280 }
6281 /* method parser#ReduceAction156#action for (self: Object, Parser) */
6282 void VIRTUAL_parser__ReduceAction156__action(val* self, val* p0) {
6283 parser__ReduceAction156__action(self, p0);
6284 RET_LABEL:;
6285 }
6286 /* method parser#ReduceAction158#action for (self: ReduceAction158, Parser) */
6287 void parser__ReduceAction158__action(val* self, val* p0) {
6288 val* var_p /* var p: Parser */;
6289 val* var /* : null */;
6290 val* var_node_list /* var node_list: nullable Object */;
6291 val* var1 /* : nullable Object */;
6292 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
6293 val* var2 /* : nullable Object */;
6294 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6295 val* var3 /* : nullable Object */;
6296 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6297 val* var4 /* : nullable Object */;
6298 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6299 val* var5 /* : nullable Object */;
6300 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6301 val* var6 /* : nullable Object */;
6302 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6303 val* var7 /* : nullable Object */;
6304 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6305 val* var8 /* : nullable Object */;
6306 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6307 val* var9 /* : nullable Object */;
6308 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6309 val* var10 /* : nullable Object */;
6310 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6311 val* var11 /* : nullable Object */;
6312 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6313 val* var12 /* : Array[Object] */;
6314 val* var_listnode7 /* var listnode7: Array[Object] */;
6315 val* var13 /* : Array[Object] */;
6316 val* var_listnode16 /* var listnode16: Array[Object] */;
6317 val* var14 /* : Array[Object] */;
6318 val* var_listnode17 /* var listnode17: Array[Object] */;
6319 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6320 short int var15 /* : Bool */;
6321 int cltype;
6322 int idtype;
6323 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
6324 short int var16 /* : Bool */;
6325 int cltype17;
6326 int idtype18;
6327 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6328 short int var19 /* : Bool */;
6329 int cltype20;
6330 int idtype21;
6331 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6332 short int var22 /* : Bool */;
6333 int cltype23;
6334 int idtype24;
6335 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6336 short int var25 /* : Bool */;
6337 int cltype26;
6338 int idtype27;
6339 val* var28 /* : Array[Object] */;
6340 val* var_listnode12 /* var listnode12: Array[Object] */;
6341 val* var_listnode11 /* var listnode11: nullable Object */;
6342 short int var29 /* : Bool */;
6343 int cltype30;
6344 int idtype31;
6345 val* var32 /* : Array[Object] */;
6346 val* var33 /* : AAnnotations */;
6347 val* var34 /* : null */;
6348 val* var35 /* : null */;
6349 val* var36 /* : null */;
6350 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
6351 val* var_listnode15 /* var listnode15: nullable Object */;
6352 short int var37 /* : Bool */;
6353 int cltype38;
6354 int idtype39;
6355 val* var40 /* : Array[Object] */;
6356 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
6357 short int var41 /* : Bool */;
6358 int cltype42;
6359 int idtype43;
6360 val* var44 /* : AStdClassdef */;
6361 val* var45 /* : null */;
6362 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6363 long var46 /* : Int */;
6364 long var47 /* : Int */;
6365 var_p = p0;
6366 var = NULL;
6367 var_node_list = var;
6368 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6369 var_nodearraylist11 = var1;
6370 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6371 var_nodearraylist10 = var2;
6372 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6373 var_nodearraylist9 = var3;
6374 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6375 var_nodearraylist8 = var4;
6376 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6377 var_nodearraylist7 = var5;
6378 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6379 var_nodearraylist6 = var6;
6380 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6381 var_nodearraylist5 = var7;
6382 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6383 var_nodearraylist4 = var8;
6384 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6385 var_nodearraylist3 = var9;
6386 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6387 var_nodearraylist2 = var10;
6388 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6389 var_nodearraylist1 = var11;
6390 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
6391 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
6392 CHECK_NEW_array__Array(var12);
6393 var_listnode7 = var12;
6394 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
6395 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
6396 CHECK_NEW_array__Array(var13);
6397 var_listnode16 = var13;
6398 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
6399 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
6400 CHECK_NEW_array__Array(var14);
6401 var_listnode17 = var14;
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 var15 = 1;
6408 } else {
6409 if(cltype >= var_pdocnode2->type->table_size) {
6410 var15 = 0;
6411 } else {
6412 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
6413 }
6414 }
6415 if (!var15) {
6416 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7847);
6417 exit(1);
6418 }
6419 var_tkwredefnode3 = var_nodearraylist2;
6420 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6421 cltype17 = type_nullable_parser_nodes__TKwredef.color;
6422 idtype18 = type_nullable_parser_nodes__TKwredef.id;
6423 if(var_tkwredefnode3 == NULL) {
6424 var16 = 1;
6425 } else {
6426 if(cltype17 >= var_tkwredefnode3->type->table_size) {
6427 var16 = 0;
6428 } else {
6429 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
6430 }
6431 }
6432 if (!var16) {
6433 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7849);
6434 exit(1);
6435 }
6436 var_pvisibilitynode4 = var_nodearraylist3;
6437 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6438 cltype20 = type_nullable_parser_nodes__AVisibility.color;
6439 idtype21 = type_nullable_parser_nodes__AVisibility.id;
6440 if(var_pvisibilitynode4 == NULL) {
6441 var19 = 1;
6442 } else {
6443 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
6444 var19 = 0;
6445 } else {
6446 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
6447 }
6448 }
6449 if (!var19) {
6450 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7851);
6451 exit(1);
6452 }
6453 var_pclasskindnode5 = var_nodearraylist4;
6454 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6455 cltype23 = type_nullable_parser_nodes__AClasskind.color;
6456 idtype24 = type_nullable_parser_nodes__AClasskind.id;
6457 if(var_pclasskindnode5 == NULL) {
6458 var22 = 1;
6459 } else {
6460 if(cltype23 >= var_pclasskindnode5->type->table_size) {
6461 var22 = 0;
6462 } else {
6463 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
6464 }
6465 }
6466 if (!var22) {
6467 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7853);
6468 exit(1);
6469 }
6470 var_tclassidnode6 = var_nodearraylist7;
6471 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6472 cltype26 = type_nullable_parser_nodes__TClassid.color;
6473 idtype27 = type_nullable_parser_nodes__TClassid.id;
6474 if(var_tclassidnode6 == NULL) {
6475 var25 = 1;
6476 } else {
6477 if(cltype26 >= var_tclassidnode6->type->table_size) {
6478 var25 = 0;
6479 } else {
6480 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
6481 }
6482 }
6483 if (!var25) {
6484 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7855);
6485 exit(1);
6486 }
6487 var28 = NEW_array__Array(&type_array__Arraykernel__Object);
6488 ((void (*)(val*))(var28->class->vft[COLOR_array__Array__init]))(var28) /* init on <var28:Array[Object]>*/;
6489 CHECK_NEW_array__Array(var28);
6490 var_listnode12 = var28;
6491 var_listnode11 = var_nodearraylist8;
6492 /* <var_listnode11:nullable Object> isa Array[Object] */
6493 cltype30 = type_array__Arraykernel__Object.color;
6494 idtype31 = type_array__Arraykernel__Object.id;
6495 if(var_listnode11 == NULL) {
6496 var29 = 0;
6497 } else {
6498 if(cltype30 >= var_listnode11->type->table_size) {
6499 var29 = 0;
6500 } else {
6501 var29 = var_listnode11->type->type_table[cltype30] == idtype31;
6502 }
6503 }
6504 if (!var29) {
6505 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7858);
6506 exit(1);
6507 }
6508 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction158>*/;
6509 var_listnode12 = var32;
6510 var33 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
6511 var34 = NULL;
6512 var35 = NULL;
6513 var36 = NULL;
6514 ((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>*/;
6515 CHECK_NEW_parser_nodes__AAnnotations(var33);
6516 var_pannotationsnode8 = var33;
6517 var_listnode15 = var_nodearraylist9;
6518 /* <var_listnode15:nullable Object> isa Array[Object] */
6519 cltype38 = type_array__Arraykernel__Object.color;
6520 idtype39 = type_array__Arraykernel__Object.id;
6521 if(var_listnode15 == NULL) {
6522 var37 = 0;
6523 } else {
6524 if(cltype38 >= var_listnode15->type->table_size) {
6525 var37 = 0;
6526 } else {
6527 var37 = var_listnode15->type->type_table[cltype38] == idtype39;
6528 }
6529 }
6530 if (!var37) {
6531 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7867);
6532 exit(1);
6533 }
6534 var40 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction158>*/;
6535 var_listnode16 = var40;
6536 var_tkwendnode18 = var_nodearraylist11;
6537 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
6538 cltype42 = type_nullable_parser_nodes__TKwend.color;
6539 idtype43 = type_nullable_parser_nodes__TKwend.id;
6540 if(var_tkwendnode18 == NULL) {
6541 var41 = 1;
6542 } else {
6543 if(cltype42 >= var_tkwendnode18->type->table_size) {
6544 var41 = 0;
6545 } else {
6546 var41 = var_tkwendnode18->type->type_table[cltype42] == idtype43;
6547 }
6548 }
6549 if (!var41) {
6550 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7870);
6551 exit(1);
6552 }
6553 var44 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6554 var45 = NULL;
6555 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var44->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var44, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var45, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var44:AStdClassdef>*/;
6556 CHECK_NEW_parser_nodes__AStdClassdef(var44);
6557 var_pclassdefnode1 = var44;
6558 var_node_list = var_pclassdefnode1;
6559 var46 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction158> */
6560 var47 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var46) /* go_to on <var_p:Parser>*/;
6561 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var47, var_node_list) /* push on <var_p:Parser>*/;
6562 RET_LABEL:;
6563 }
6564 /* method parser#ReduceAction158#action for (self: Object, Parser) */
6565 void VIRTUAL_parser__ReduceAction158__action(val* self, val* p0) {
6566 parser__ReduceAction158__action(self, p0);
6567 RET_LABEL:;
6568 }
6569 /* method parser#ReduceAction159#action for (self: ReduceAction159, Parser) */
6570 void parser__ReduceAction159__action(val* self, val* p0) {
6571 val* var_p /* var p: Parser */;
6572 val* var /* : null */;
6573 val* var_node_list /* var node_list: nullable Object */;
6574 val* var1 /* : nullable Object */;
6575 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
6576 val* var2 /* : nullable Object */;
6577 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
6578 val* var3 /* : nullable Object */;
6579 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6580 val* var4 /* : nullable Object */;
6581 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6582 val* var5 /* : nullable Object */;
6583 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6584 val* var6 /* : nullable Object */;
6585 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6586 val* var7 /* : nullable Object */;
6587 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6588 val* var8 /* : nullable Object */;
6589 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6590 val* var9 /* : nullable Object */;
6591 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6592 val* var10 /* : nullable Object */;
6593 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6594 val* var11 /* : nullable Object */;
6595 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6596 val* var12 /* : nullable Object */;
6597 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6598 val* var13 /* : Array[Object] */;
6599 val* var_listnode7 /* var listnode7: Array[Object] */;
6600 val* var14 /* : Array[Object] */;
6601 val* var_listnode16 /* var listnode16: Array[Object] */;
6602 val* var15 /* : Array[Object] */;
6603 val* var_listnode17 /* var listnode17: Array[Object] */;
6604 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6605 short int var16 /* : Bool */;
6606 int cltype;
6607 int idtype;
6608 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
6609 short int var17 /* : Bool */;
6610 int cltype18;
6611 int idtype19;
6612 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6613 short int var20 /* : Bool */;
6614 int cltype21;
6615 int idtype22;
6616 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6617 short int var23 /* : Bool */;
6618 int cltype24;
6619 int idtype25;
6620 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6621 short int var26 /* : Bool */;
6622 int cltype27;
6623 int idtype28;
6624 val* var29 /* : Array[Object] */;
6625 val* var_listnode12 /* var listnode12: Array[Object] */;
6626 val* var_listnode11 /* var listnode11: nullable Object */;
6627 short int var30 /* : Bool */;
6628 int cltype31;
6629 int idtype32;
6630 val* var33 /* : Array[Object] */;
6631 val* var34 /* : AAnnotations */;
6632 val* var35 /* : null */;
6633 val* var36 /* : null */;
6634 val* var37 /* : null */;
6635 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
6636 val* var_listnode15 /* var listnode15: nullable Object */;
6637 short int var38 /* : Bool */;
6638 int cltype39;
6639 int idtype40;
6640 val* var41 /* : Array[Object] */;
6641 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
6642 short int var42 /* : Bool */;
6643 int cltype43;
6644 int idtype44;
6645 val* var45 /* : AStdClassdef */;
6646 val* var46 /* : null */;
6647 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6648 long var47 /* : Int */;
6649 long var48 /* : Int */;
6650 var_p = p0;
6651 var = NULL;
6652 var_node_list = var;
6653 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6654 var_nodearraylist12 = var1;
6655 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6656 var_nodearraylist11 = var2;
6657 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6658 var_nodearraylist10 = var3;
6659 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6660 var_nodearraylist9 = var4;
6661 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6662 var_nodearraylist8 = var5;
6663 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6664 var_nodearraylist7 = var6;
6665 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6666 var_nodearraylist6 = var7;
6667 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6668 var_nodearraylist5 = var8;
6669 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6670 var_nodearraylist4 = var9;
6671 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6672 var_nodearraylist3 = var10;
6673 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6674 var_nodearraylist2 = var11;
6675 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6676 var_nodearraylist1 = var12;
6677 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
6678 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
6679 CHECK_NEW_array__Array(var13);
6680 var_listnode7 = var13;
6681 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
6682 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
6683 CHECK_NEW_array__Array(var14);
6684 var_listnode16 = var14;
6685 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
6686 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
6687 CHECK_NEW_array__Array(var15);
6688 var_listnode17 = var15;
6689 var_pdocnode2 = var_nodearraylist1;
6690 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6691 cltype = type_nullable_parser_nodes__ADoc.color;
6692 idtype = type_nullable_parser_nodes__ADoc.id;
6693 if(var_pdocnode2 == NULL) {
6694 var16 = 1;
6695 } else {
6696 if(cltype >= var_pdocnode2->type->table_size) {
6697 var16 = 0;
6698 } else {
6699 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
6700 }
6701 }
6702 if (!var16) {
6703 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7909);
6704 exit(1);
6705 }
6706 var_tkwredefnode3 = var_nodearraylist2;
6707 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6708 cltype18 = type_nullable_parser_nodes__TKwredef.color;
6709 idtype19 = type_nullable_parser_nodes__TKwredef.id;
6710 if(var_tkwredefnode3 == NULL) {
6711 var17 = 1;
6712 } else {
6713 if(cltype18 >= var_tkwredefnode3->type->table_size) {
6714 var17 = 0;
6715 } else {
6716 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
6717 }
6718 }
6719 if (!var17) {
6720 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7911);
6721 exit(1);
6722 }
6723 var_pvisibilitynode4 = var_nodearraylist3;
6724 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6725 cltype21 = type_nullable_parser_nodes__AVisibility.color;
6726 idtype22 = type_nullable_parser_nodes__AVisibility.id;
6727 if(var_pvisibilitynode4 == NULL) {
6728 var20 = 1;
6729 } else {
6730 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
6731 var20 = 0;
6732 } else {
6733 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
6734 }
6735 }
6736 if (!var20) {
6737 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7913);
6738 exit(1);
6739 }
6740 var_pclasskindnode5 = var_nodearraylist4;
6741 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6742 cltype24 = type_nullable_parser_nodes__AClasskind.color;
6743 idtype25 = type_nullable_parser_nodes__AClasskind.id;
6744 if(var_pclasskindnode5 == NULL) {
6745 var23 = 1;
6746 } else {
6747 if(cltype24 >= var_pclasskindnode5->type->table_size) {
6748 var23 = 0;
6749 } else {
6750 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
6751 }
6752 }
6753 if (!var23) {
6754 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7915);
6755 exit(1);
6756 }
6757 var_tclassidnode6 = var_nodearraylist8;
6758 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6759 cltype27 = type_nullable_parser_nodes__TClassid.color;
6760 idtype28 = type_nullable_parser_nodes__TClassid.id;
6761 if(var_tclassidnode6 == NULL) {
6762 var26 = 1;
6763 } else {
6764 if(cltype27 >= var_tclassidnode6->type->table_size) {
6765 var26 = 0;
6766 } else {
6767 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
6768 }
6769 }
6770 if (!var26) {
6771 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7917);
6772 exit(1);
6773 }
6774 var29 = NEW_array__Array(&type_array__Arraykernel__Object);
6775 ((void (*)(val*))(var29->class->vft[COLOR_array__Array__init]))(var29) /* init on <var29:Array[Object]>*/;
6776 CHECK_NEW_array__Array(var29);
6777 var_listnode12 = var29;
6778 var_listnode11 = var_nodearraylist9;
6779 /* <var_listnode11:nullable Object> isa Array[Object] */
6780 cltype31 = type_array__Arraykernel__Object.color;
6781 idtype32 = type_array__Arraykernel__Object.id;
6782 if(var_listnode11 == NULL) {
6783 var30 = 0;
6784 } else {
6785 if(cltype31 >= var_listnode11->type->table_size) {
6786 var30 = 0;
6787 } else {
6788 var30 = var_listnode11->type->type_table[cltype31] == idtype32;
6789 }
6790 }
6791 if (!var30) {
6792 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7920);
6793 exit(1);
6794 }
6795 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction159>*/;
6796 var_listnode12 = var33;
6797 var34 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
6798 var35 = NULL;
6799 var36 = NULL;
6800 var37 = NULL;
6801 ((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>*/;
6802 CHECK_NEW_parser_nodes__AAnnotations(var34);
6803 var_pannotationsnode8 = var34;
6804 var_listnode15 = var_nodearraylist10;
6805 /* <var_listnode15:nullable Object> isa Array[Object] */
6806 cltype39 = type_array__Arraykernel__Object.color;
6807 idtype40 = type_array__Arraykernel__Object.id;
6808 if(var_listnode15 == NULL) {
6809 var38 = 0;
6810 } else {
6811 if(cltype39 >= var_listnode15->type->table_size) {
6812 var38 = 0;
6813 } else {
6814 var38 = var_listnode15->type->type_table[cltype39] == idtype40;
6815 }
6816 }
6817 if (!var38) {
6818 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7929);
6819 exit(1);
6820 }
6821 var41 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode16, var_listnode15) /* concat on <self:ReduceAction159>*/;
6822 var_listnode16 = var41;
6823 var_tkwendnode18 = var_nodearraylist12;
6824 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
6825 cltype43 = type_nullable_parser_nodes__TKwend.color;
6826 idtype44 = type_nullable_parser_nodes__TKwend.id;
6827 if(var_tkwendnode18 == NULL) {
6828 var42 = 1;
6829 } else {
6830 if(cltype43 >= var_tkwendnode18->type->table_size) {
6831 var42 = 0;
6832 } else {
6833 var42 = var_tkwendnode18->type->type_table[cltype43] == idtype44;
6834 }
6835 }
6836 if (!var42) {
6837 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7932);
6838 exit(1);
6839 }
6840 var45 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6841 var46 = NULL;
6842 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var45->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var45, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var46, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var45:AStdClassdef>*/;
6843 CHECK_NEW_parser_nodes__AStdClassdef(var45);
6844 var_pclassdefnode1 = var45;
6845 var_node_list = var_pclassdefnode1;
6846 var47 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction159> */
6847 var48 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var47) /* go_to on <var_p:Parser>*/;
6848 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var48, var_node_list) /* push on <var_p:Parser>*/;
6849 RET_LABEL:;
6850 }
6851 /* method parser#ReduceAction159#action for (self: Object, Parser) */
6852 void VIRTUAL_parser__ReduceAction159__action(val* self, val* p0) {
6853 parser__ReduceAction159__action(self, p0);
6854 RET_LABEL:;
6855 }
6856 /* method parser#ReduceAction161#action for (self: ReduceAction161, Parser) */
6857 void parser__ReduceAction161__action(val* self, val* p0) {
6858 val* var_p /* var p: Parser */;
6859 val* var /* : null */;
6860 val* var_node_list /* var node_list: nullable Object */;
6861 val* var1 /* : nullable Object */;
6862 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6863 val* var2 /* : nullable Object */;
6864 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6865 val* var3 /* : nullable Object */;
6866 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6867 val* var4 /* : nullable Object */;
6868 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6869 val* var5 /* : nullable Object */;
6870 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6871 val* var6 /* : nullable Object */;
6872 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6873 val* var7 /* : nullable Object */;
6874 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6875 val* var8 /* : nullable Object */;
6876 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6877 val* var9 /* : nullable Object */;
6878 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6879 val* var10 /* : nullable Object */;
6880 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6881 val* var11 /* : Array[Object] */;
6882 val* var_listnode8 /* var listnode8: Array[Object] */;
6883 val* var12 /* : Array[Object] */;
6884 val* var_listnode17 /* var listnode17: Array[Object] */;
6885 val* var13 /* : Array[Object] */;
6886 val* var_listnode18 /* var listnode18: Array[Object] */;
6887 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6888 short int var14 /* : Bool */;
6889 int cltype;
6890 int idtype;
6891 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6892 short int var15 /* : Bool */;
6893 int cltype16;
6894 int idtype17;
6895 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6896 short int var18 /* : Bool */;
6897 int cltype19;
6898 int idtype20;
6899 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6900 short int var21 /* : Bool */;
6901 int cltype22;
6902 int idtype23;
6903 val* var_listnode7 /* var listnode7: nullable Object */;
6904 short int var24 /* : Bool */;
6905 int cltype25;
6906 int idtype26;
6907 val* var27 /* : Array[Object] */;
6908 val* var28 /* : Array[Object] */;
6909 val* var_listnode13 /* var listnode13: Array[Object] */;
6910 val* var_listnode12 /* var listnode12: nullable Object */;
6911 short int var29 /* : Bool */;
6912 int cltype30;
6913 int idtype31;
6914 val* var32 /* : Array[Object] */;
6915 val* var33 /* : AAnnotations */;
6916 val* var34 /* : null */;
6917 val* var35 /* : null */;
6918 val* var36 /* : null */;
6919 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
6920 val* var_listnode16 /* var listnode16: nullable Object */;
6921 short int var37 /* : Bool */;
6922 int cltype38;
6923 int idtype39;
6924 val* var40 /* : Array[Object] */;
6925 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
6926 short int var41 /* : Bool */;
6927 int cltype42;
6928 int idtype43;
6929 val* var44 /* : AStdClassdef */;
6930 val* var45 /* : null */;
6931 val* var46 /* : null */;
6932 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6933 long var47 /* : Int */;
6934 long var48 /* : Int */;
6935 var_p = p0;
6936 var = NULL;
6937 var_node_list = var;
6938 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6939 var_nodearraylist10 = var1;
6940 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6941 var_nodearraylist9 = var2;
6942 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6943 var_nodearraylist8 = var3;
6944 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6945 var_nodearraylist7 = var4;
6946 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6947 var_nodearraylist6 = var5;
6948 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6949 var_nodearraylist5 = var6;
6950 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6951 var_nodearraylist4 = var7;
6952 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6953 var_nodearraylist3 = var8;
6954 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6955 var_nodearraylist2 = var9;
6956 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6957 var_nodearraylist1 = var10;
6958 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
6959 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
6960 CHECK_NEW_array__Array(var11);
6961 var_listnode8 = var11;
6962 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
6963 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
6964 CHECK_NEW_array__Array(var12);
6965 var_listnode17 = var12;
6966 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
6967 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
6968 CHECK_NEW_array__Array(var13);
6969 var_listnode18 = var13;
6970 var_pdocnode2 = var_nodearraylist1;
6971 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6972 cltype = type_nullable_parser_nodes__ADoc.color;
6973 idtype = type_nullable_parser_nodes__ADoc.id;
6974 if(var_pdocnode2 == NULL) {
6975 var14 = 1;
6976 } else {
6977 if(cltype >= var_pdocnode2->type->table_size) {
6978 var14 = 0;
6979 } else {
6980 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
6981 }
6982 }
6983 if (!var14) {
6984 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7969);
6985 exit(1);
6986 }
6987 var_pvisibilitynode4 = var_nodearraylist2;
6988 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6989 cltype16 = type_nullable_parser_nodes__AVisibility.color;
6990 idtype17 = type_nullable_parser_nodes__AVisibility.id;
6991 if(var_pvisibilitynode4 == NULL) {
6992 var15 = 1;
6993 } else {
6994 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
6995 var15 = 0;
6996 } else {
6997 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
6998 }
6999 }
7000 if (!var15) {
7001 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7971);
7002 exit(1);
7003 }
7004 var_pclasskindnode5 = var_nodearraylist3;
7005 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7006 cltype19 = type_nullable_parser_nodes__AClasskind.color;
7007 idtype20 = type_nullable_parser_nodes__AClasskind.id;
7008 if(var_pclasskindnode5 == NULL) {
7009 var18 = 1;
7010 } else {
7011 if(cltype19 >= var_pclasskindnode5->type->table_size) {
7012 var18 = 0;
7013 } else {
7014 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
7015 }
7016 }
7017 if (!var18) {
7018 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7973);
7019 exit(1);
7020 }
7021 var_tclassidnode6 = var_nodearraylist5;
7022 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7023 cltype22 = type_nullable_parser_nodes__TClassid.color;
7024 idtype23 = type_nullable_parser_nodes__TClassid.id;
7025 if(var_tclassidnode6 == NULL) {
7026 var21 = 1;
7027 } else {
7028 if(cltype22 >= var_tclassidnode6->type->table_size) {
7029 var21 = 0;
7030 } else {
7031 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
7032 }
7033 }
7034 if (!var21) {
7035 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7975);
7036 exit(1);
7037 }
7038 var_listnode7 = var_nodearraylist6;
7039 /* <var_listnode7:nullable Object> isa Array[Object] */
7040 cltype25 = type_array__Arraykernel__Object.color;
7041 idtype26 = type_array__Arraykernel__Object.id;
7042 if(var_listnode7 == NULL) {
7043 var24 = 0;
7044 } else {
7045 if(cltype25 >= var_listnode7->type->table_size) {
7046 var24 = 0;
7047 } else {
7048 var24 = var_listnode7->type->type_table[cltype25] == idtype26;
7049 }
7050 }
7051 if (!var24) {
7052 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7977);
7053 exit(1);
7054 }
7055 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction161>*/;
7056 var_listnode8 = var27;
7057 var28 = NEW_array__Array(&type_array__Arraykernel__Object);
7058 ((void (*)(val*))(var28->class->vft[COLOR_array__Array__init]))(var28) /* init on <var28:Array[Object]>*/;
7059 CHECK_NEW_array__Array(var28);
7060 var_listnode13 = var28;
7061 var_listnode12 = var_nodearraylist7;
7062 /* <var_listnode12:nullable Object> isa Array[Object] */
7063 cltype30 = type_array__Arraykernel__Object.color;
7064 idtype31 = type_array__Arraykernel__Object.id;
7065 if(var_listnode12 == NULL) {
7066 var29 = 0;
7067 } else {
7068 if(cltype30 >= var_listnode12->type->table_size) {
7069 var29 = 0;
7070 } else {
7071 var29 = var_listnode12->type->type_table[cltype30] == idtype31;
7072 }
7073 }
7074 if (!var29) {
7075 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7981);
7076 exit(1);
7077 }
7078 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction161>*/;
7079 var_listnode13 = var32;
7080 var33 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
7081 var34 = NULL;
7082 var35 = NULL;
7083 var36 = NULL;
7084 ((void (*)(val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var33, var34, var35, var_listnode13, var36) /* init_aannotations on <var33:AAnnotations>*/;
7085 CHECK_NEW_parser_nodes__AAnnotations(var33);
7086 var_pannotationsnode9 = var33;
7087 var_listnode16 = var_nodearraylist8;
7088 /* <var_listnode16:nullable Object> isa Array[Object] */
7089 cltype38 = type_array__Arraykernel__Object.color;
7090 idtype39 = type_array__Arraykernel__Object.id;
7091 if(var_listnode16 == NULL) {
7092 var37 = 0;
7093 } else {
7094 if(cltype38 >= var_listnode16->type->table_size) {
7095 var37 = 0;
7096 } else {
7097 var37 = var_listnode16->type->type_table[cltype38] == idtype39;
7098 }
7099 }
7100 if (!var37) {
7101 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7990);
7102 exit(1);
7103 }
7104 var40 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction161>*/;
7105 var_listnode17 = var40;
7106 var_tkwendnode19 = var_nodearraylist10;
7107 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
7108 cltype42 = type_nullable_parser_nodes__TKwend.color;
7109 idtype43 = type_nullable_parser_nodes__TKwend.id;
7110 if(var_tkwendnode19 == NULL) {
7111 var41 = 1;
7112 } else {
7113 if(cltype42 >= var_tkwendnode19->type->table_size) {
7114 var41 = 0;
7115 } else {
7116 var41 = var_tkwendnode19->type->type_table[cltype42] == idtype43;
7117 }
7118 }
7119 if (!var41) {
7120 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 7993);
7121 exit(1);
7122 }
7123 var44 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7124 var45 = NULL;
7125 var46 = NULL;
7126 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var44->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var44, var_pdocnode2, var45, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var46, var_listnode17, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var44:AStdClassdef>*/;
7127 CHECK_NEW_parser_nodes__AStdClassdef(var44);
7128 var_pclassdefnode1 = var44;
7129 var_node_list = var_pclassdefnode1;
7130 var47 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction161> */
7131 var48 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var47) /* go_to on <var_p:Parser>*/;
7132 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var48, var_node_list) /* push on <var_p:Parser>*/;
7133 RET_LABEL:;
7134 }
7135 /* method parser#ReduceAction161#action for (self: Object, Parser) */
7136 void VIRTUAL_parser__ReduceAction161__action(val* self, val* p0) {
7137 parser__ReduceAction161__action(self, p0);
7138 RET_LABEL:;
7139 }
7140 /* method parser#ReduceAction162#action for (self: ReduceAction162, Parser) */
7141 void parser__ReduceAction162__action(val* self, val* p0) {
7142 val* var_p /* var p: Parser */;
7143 val* var /* : null */;
7144 val* var_node_list /* var node_list: nullable Object */;
7145 val* var1 /* : nullable Object */;
7146 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
7147 val* var2 /* : nullable Object */;
7148 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7149 val* var3 /* : nullable Object */;
7150 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7151 val* var4 /* : nullable Object */;
7152 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7153 val* var5 /* : nullable Object */;
7154 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7155 val* var6 /* : nullable Object */;
7156 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7157 val* var7 /* : nullable Object */;
7158 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7159 val* var8 /* : nullable Object */;
7160 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7161 val* var9 /* : nullable Object */;
7162 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7163 val* var10 /* : nullable Object */;
7164 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7165 val* var11 /* : nullable Object */;
7166 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7167 val* var12 /* : Array[Object] */;
7168 val* var_listnode8 /* var listnode8: Array[Object] */;
7169 val* var13 /* : Array[Object] */;
7170 val* var_listnode17 /* var listnode17: Array[Object] */;
7171 val* var14 /* : Array[Object] */;
7172 val* var_listnode18 /* var listnode18: Array[Object] */;
7173 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7174 short int var15 /* : Bool */;
7175 int cltype;
7176 int idtype;
7177 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
7178 short int var16 /* : Bool */;
7179 int cltype17;
7180 int idtype18;
7181 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7182 short int var19 /* : Bool */;
7183 int cltype20;
7184 int idtype21;
7185 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7186 short int var22 /* : Bool */;
7187 int cltype23;
7188 int idtype24;
7189 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7190 short int var25 /* : Bool */;
7191 int cltype26;
7192 int idtype27;
7193 val* var_listnode7 /* var listnode7: nullable Object */;
7194 short int var28 /* : Bool */;
7195 int cltype29;
7196 int idtype30;
7197 val* var31 /* : Array[Object] */;
7198 val* var32 /* : Array[Object] */;
7199 val* var_listnode13 /* var listnode13: Array[Object] */;
7200 val* var_listnode12 /* var listnode12: nullable Object */;
7201 short int var33 /* : Bool */;
7202 int cltype34;
7203 int idtype35;
7204 val* var36 /* : Array[Object] */;
7205 val* var37 /* : AAnnotations */;
7206 val* var38 /* : null */;
7207 val* var39 /* : null */;
7208 val* var40 /* : null */;
7209 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
7210 val* var_listnode16 /* var listnode16: nullable Object */;
7211 short int var41 /* : Bool */;
7212 int cltype42;
7213 int idtype43;
7214 val* var44 /* : Array[Object] */;
7215 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
7216 short int var45 /* : Bool */;
7217 int cltype46;
7218 int idtype47;
7219 val* var48 /* : AStdClassdef */;
7220 val* var49 /* : null */;
7221 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7222 long var50 /* : Int */;
7223 long var51 /* : Int */;
7224 var_p = p0;
7225 var = NULL;
7226 var_node_list = var;
7227 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7228 var_nodearraylist11 = var1;
7229 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7230 var_nodearraylist10 = var2;
7231 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7232 var_nodearraylist9 = var3;
7233 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7234 var_nodearraylist8 = var4;
7235 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7236 var_nodearraylist7 = var5;
7237 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7238 var_nodearraylist6 = var6;
7239 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7240 var_nodearraylist5 = var7;
7241 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7242 var_nodearraylist4 = var8;
7243 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7244 var_nodearraylist3 = var9;
7245 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7246 var_nodearraylist2 = var10;
7247 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7248 var_nodearraylist1 = var11;
7249 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
7250 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
7251 CHECK_NEW_array__Array(var12);
7252 var_listnode8 = var12;
7253 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
7254 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
7255 CHECK_NEW_array__Array(var13);
7256 var_listnode17 = var13;
7257 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
7258 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
7259 CHECK_NEW_array__Array(var14);
7260 var_listnode18 = var14;
7261 var_pdocnode2 = var_nodearraylist1;
7262 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7263 cltype = type_nullable_parser_nodes__ADoc.color;
7264 idtype = type_nullable_parser_nodes__ADoc.id;
7265 if(var_pdocnode2 == NULL) {
7266 var15 = 1;
7267 } else {
7268 if(cltype >= var_pdocnode2->type->table_size) {
7269 var15 = 0;
7270 } else {
7271 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
7272 }
7273 }
7274 if (!var15) {
7275 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8031);
7276 exit(1);
7277 }
7278 var_tkwredefnode3 = var_nodearraylist2;
7279 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7280 cltype17 = type_nullable_parser_nodes__TKwredef.color;
7281 idtype18 = type_nullable_parser_nodes__TKwredef.id;
7282 if(var_tkwredefnode3 == NULL) {
7283 var16 = 1;
7284 } else {
7285 if(cltype17 >= var_tkwredefnode3->type->table_size) {
7286 var16 = 0;
7287 } else {
7288 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
7289 }
7290 }
7291 if (!var16) {
7292 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8033);
7293 exit(1);
7294 }
7295 var_pvisibilitynode4 = var_nodearraylist3;
7296 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7297 cltype20 = type_nullable_parser_nodes__AVisibility.color;
7298 idtype21 = type_nullable_parser_nodes__AVisibility.id;
7299 if(var_pvisibilitynode4 == NULL) {
7300 var19 = 1;
7301 } else {
7302 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
7303 var19 = 0;
7304 } else {
7305 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
7306 }
7307 }
7308 if (!var19) {
7309 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8035);
7310 exit(1);
7311 }
7312 var_pclasskindnode5 = var_nodearraylist4;
7313 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7314 cltype23 = type_nullable_parser_nodes__AClasskind.color;
7315 idtype24 = type_nullable_parser_nodes__AClasskind.id;
7316 if(var_pclasskindnode5 == NULL) {
7317 var22 = 1;
7318 } else {
7319 if(cltype23 >= var_pclasskindnode5->type->table_size) {
7320 var22 = 0;
7321 } else {
7322 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
7323 }
7324 }
7325 if (!var22) {
7326 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8037);
7327 exit(1);
7328 }
7329 var_tclassidnode6 = var_nodearraylist6;
7330 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7331 cltype26 = type_nullable_parser_nodes__TClassid.color;
7332 idtype27 = type_nullable_parser_nodes__TClassid.id;
7333 if(var_tclassidnode6 == NULL) {
7334 var25 = 1;
7335 } else {
7336 if(cltype26 >= var_tclassidnode6->type->table_size) {
7337 var25 = 0;
7338 } else {
7339 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
7340 }
7341 }
7342 if (!var25) {
7343 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8039);
7344 exit(1);
7345 }
7346 var_listnode7 = var_nodearraylist7;
7347 /* <var_listnode7:nullable Object> isa Array[Object] */
7348 cltype29 = type_array__Arraykernel__Object.color;
7349 idtype30 = type_array__Arraykernel__Object.id;
7350 if(var_listnode7 == NULL) {
7351 var28 = 0;
7352 } else {
7353 if(cltype29 >= var_listnode7->type->table_size) {
7354 var28 = 0;
7355 } else {
7356 var28 = var_listnode7->type->type_table[cltype29] == idtype30;
7357 }
7358 }
7359 if (!var28) {
7360 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8041);
7361 exit(1);
7362 }
7363 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction162>*/;
7364 var_listnode8 = var31;
7365 var32 = NEW_array__Array(&type_array__Arraykernel__Object);
7366 ((void (*)(val*))(var32->class->vft[COLOR_array__Array__init]))(var32) /* init on <var32:Array[Object]>*/;
7367 CHECK_NEW_array__Array(var32);
7368 var_listnode13 = var32;
7369 var_listnode12 = var_nodearraylist8;
7370 /* <var_listnode12:nullable Object> isa Array[Object] */
7371 cltype34 = type_array__Arraykernel__Object.color;
7372 idtype35 = type_array__Arraykernel__Object.id;
7373 if(var_listnode12 == NULL) {
7374 var33 = 0;
7375 } else {
7376 if(cltype34 >= var_listnode12->type->table_size) {
7377 var33 = 0;
7378 } else {
7379 var33 = var_listnode12->type->type_table[cltype34] == idtype35;
7380 }
7381 }
7382 if (!var33) {
7383 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8045);
7384 exit(1);
7385 }
7386 var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction162>*/;
7387 var_listnode13 = var36;
7388 var37 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
7389 var38 = NULL;
7390 var39 = NULL;
7391 var40 = NULL;
7392 ((void (*)(val*, val*, val*, val*, val*))(var37->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var37, var38, var39, var_listnode13, var40) /* init_aannotations on <var37:AAnnotations>*/;
7393 CHECK_NEW_parser_nodes__AAnnotations(var37);
7394 var_pannotationsnode9 = var37;
7395 var_listnode16 = var_nodearraylist9;
7396 /* <var_listnode16:nullable Object> isa Array[Object] */
7397 cltype42 = type_array__Arraykernel__Object.color;
7398 idtype43 = type_array__Arraykernel__Object.id;
7399 if(var_listnode16 == NULL) {
7400 var41 = 0;
7401 } else {
7402 if(cltype42 >= var_listnode16->type->table_size) {
7403 var41 = 0;
7404 } else {
7405 var41 = var_listnode16->type->type_table[cltype42] == idtype43;
7406 }
7407 }
7408 if (!var41) {
7409 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8054);
7410 exit(1);
7411 }
7412 var44 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction162>*/;
7413 var_listnode17 = var44;
7414 var_tkwendnode19 = var_nodearraylist11;
7415 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
7416 cltype46 = type_nullable_parser_nodes__TKwend.color;
7417 idtype47 = type_nullable_parser_nodes__TKwend.id;
7418 if(var_tkwendnode19 == NULL) {
7419 var45 = 1;
7420 } else {
7421 if(cltype46 >= var_tkwendnode19->type->table_size) {
7422 var45 = 0;
7423 } else {
7424 var45 = var_tkwendnode19->type->type_table[cltype46] == idtype47;
7425 }
7426 }
7427 if (!var45) {
7428 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8057);
7429 exit(1);
7430 }
7431 var48 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7432 var49 = NULL;
7433 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var48->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var48, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var49, var_listnode17, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var48:AStdClassdef>*/;
7434 CHECK_NEW_parser_nodes__AStdClassdef(var48);
7435 var_pclassdefnode1 = var48;
7436 var_node_list = var_pclassdefnode1;
7437 var50 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction162> */
7438 var51 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var50) /* go_to on <var_p:Parser>*/;
7439 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var51, var_node_list) /* push on <var_p:Parser>*/;
7440 RET_LABEL:;
7441 }
7442 /* method parser#ReduceAction162#action for (self: Object, Parser) */
7443 void VIRTUAL_parser__ReduceAction162__action(val* self, val* p0) {
7444 parser__ReduceAction162__action(self, p0);
7445 RET_LABEL:;
7446 }
7447 /* method parser#ReduceAction163#action for (self: ReduceAction163, Parser) */
7448 void parser__ReduceAction163__action(val* self, val* p0) {
7449 val* var_p /* var p: Parser */;
7450 val* var /* : null */;
7451 val* var_node_list /* var node_list: nullable Object */;
7452 val* var1 /* : nullable Object */;
7453 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
7454 val* var2 /* : nullable Object */;
7455 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7456 val* var3 /* : nullable Object */;
7457 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7458 val* var4 /* : nullable Object */;
7459 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7460 val* var5 /* : nullable Object */;
7461 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7462 val* var6 /* : nullable Object */;
7463 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7464 val* var7 /* : nullable Object */;
7465 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7466 val* var8 /* : nullable Object */;
7467 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7468 val* var9 /* : nullable Object */;
7469 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7470 val* var10 /* : nullable Object */;
7471 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7472 val* var11 /* : nullable Object */;
7473 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7474 val* var12 /* : Array[Object] */;
7475 val* var_listnode8 /* var listnode8: Array[Object] */;
7476 val* var13 /* : Array[Object] */;
7477 val* var_listnode17 /* var listnode17: Array[Object] */;
7478 val* var14 /* : Array[Object] */;
7479 val* var_listnode18 /* var listnode18: Array[Object] */;
7480 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7481 short int var15 /* : Bool */;
7482 int cltype;
7483 int idtype;
7484 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7485 short int var16 /* : Bool */;
7486 int cltype17;
7487 int idtype18;
7488 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7489 short int var19 /* : Bool */;
7490 int cltype20;
7491 int idtype21;
7492 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7493 short int var22 /* : Bool */;
7494 int cltype23;
7495 int idtype24;
7496 val* var_listnode7 /* var listnode7: nullable Object */;
7497 short int var25 /* : Bool */;
7498 int cltype26;
7499 int idtype27;
7500 val* var28 /* : Array[Object] */;
7501 val* var29 /* : Array[Object] */;
7502 val* var_listnode13 /* var listnode13: Array[Object] */;
7503 val* var_listnode12 /* var listnode12: nullable Object */;
7504 short int var30 /* : Bool */;
7505 int cltype31;
7506 int idtype32;
7507 val* var33 /* : Array[Object] */;
7508 val* var34 /* : AAnnotations */;
7509 val* var35 /* : null */;
7510 val* var36 /* : null */;
7511 val* var37 /* : null */;
7512 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
7513 val* var_listnode16 /* var listnode16: nullable Object */;
7514 short int var38 /* : Bool */;
7515 int cltype39;
7516 int idtype40;
7517 val* var41 /* : Array[Object] */;
7518 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
7519 short int var42 /* : Bool */;
7520 int cltype43;
7521 int idtype44;
7522 val* var45 /* : AStdClassdef */;
7523 val* var46 /* : null */;
7524 val* var47 /* : null */;
7525 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7526 long var48 /* : Int */;
7527 long var49 /* : Int */;
7528 var_p = p0;
7529 var = NULL;
7530 var_node_list = var;
7531 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7532 var_nodearraylist11 = var1;
7533 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7534 var_nodearraylist10 = var2;
7535 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7536 var_nodearraylist9 = var3;
7537 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7538 var_nodearraylist8 = var4;
7539 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7540 var_nodearraylist7 = var5;
7541 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7542 var_nodearraylist6 = var6;
7543 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7544 var_nodearraylist5 = var7;
7545 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7546 var_nodearraylist4 = var8;
7547 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7548 var_nodearraylist3 = var9;
7549 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7550 var_nodearraylist2 = var10;
7551 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7552 var_nodearraylist1 = var11;
7553 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
7554 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
7555 CHECK_NEW_array__Array(var12);
7556 var_listnode8 = var12;
7557 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
7558 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
7559 CHECK_NEW_array__Array(var13);
7560 var_listnode17 = var13;
7561 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
7562 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
7563 CHECK_NEW_array__Array(var14);
7564 var_listnode18 = var14;
7565 var_pdocnode2 = var_nodearraylist1;
7566 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7567 cltype = type_nullable_parser_nodes__ADoc.color;
7568 idtype = type_nullable_parser_nodes__ADoc.id;
7569 if(var_pdocnode2 == NULL) {
7570 var15 = 1;
7571 } else {
7572 if(cltype >= var_pdocnode2->type->table_size) {
7573 var15 = 0;
7574 } else {
7575 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
7576 }
7577 }
7578 if (!var15) {
7579 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8095);
7580 exit(1);
7581 }
7582 var_pvisibilitynode4 = var_nodearraylist2;
7583 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7584 cltype17 = type_nullable_parser_nodes__AVisibility.color;
7585 idtype18 = type_nullable_parser_nodes__AVisibility.id;
7586 if(var_pvisibilitynode4 == NULL) {
7587 var16 = 1;
7588 } else {
7589 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
7590 var16 = 0;
7591 } else {
7592 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
7593 }
7594 }
7595 if (!var16) {
7596 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8097);
7597 exit(1);
7598 }
7599 var_pclasskindnode5 = var_nodearraylist3;
7600 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7601 cltype20 = type_nullable_parser_nodes__AClasskind.color;
7602 idtype21 = type_nullable_parser_nodes__AClasskind.id;
7603 if(var_pclasskindnode5 == NULL) {
7604 var19 = 1;
7605 } else {
7606 if(cltype20 >= var_pclasskindnode5->type->table_size) {
7607 var19 = 0;
7608 } else {
7609 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
7610 }
7611 }
7612 if (!var19) {
7613 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8099);
7614 exit(1);
7615 }
7616 var_tclassidnode6 = var_nodearraylist6;
7617 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7618 cltype23 = type_nullable_parser_nodes__TClassid.color;
7619 idtype24 = type_nullable_parser_nodes__TClassid.id;
7620 if(var_tclassidnode6 == NULL) {
7621 var22 = 1;
7622 } else {
7623 if(cltype23 >= var_tclassidnode6->type->table_size) {
7624 var22 = 0;
7625 } else {
7626 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
7627 }
7628 }
7629 if (!var22) {
7630 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8101);
7631 exit(1);
7632 }
7633 var_listnode7 = var_nodearraylist7;
7634 /* <var_listnode7:nullable Object> isa Array[Object] */
7635 cltype26 = type_array__Arraykernel__Object.color;
7636 idtype27 = type_array__Arraykernel__Object.id;
7637 if(var_listnode7 == NULL) {
7638 var25 = 0;
7639 } else {
7640 if(cltype26 >= var_listnode7->type->table_size) {
7641 var25 = 0;
7642 } else {
7643 var25 = var_listnode7->type->type_table[cltype26] == idtype27;
7644 }
7645 }
7646 if (!var25) {
7647 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8103);
7648 exit(1);
7649 }
7650 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction163>*/;
7651 var_listnode8 = var28;
7652 var29 = NEW_array__Array(&type_array__Arraykernel__Object);
7653 ((void (*)(val*))(var29->class->vft[COLOR_array__Array__init]))(var29) /* init on <var29:Array[Object]>*/;
7654 CHECK_NEW_array__Array(var29);
7655 var_listnode13 = var29;
7656 var_listnode12 = var_nodearraylist8;
7657 /* <var_listnode12:nullable Object> isa Array[Object] */
7658 cltype31 = type_array__Arraykernel__Object.color;
7659 idtype32 = type_array__Arraykernel__Object.id;
7660 if(var_listnode12 == NULL) {
7661 var30 = 0;
7662 } else {
7663 if(cltype31 >= var_listnode12->type->table_size) {
7664 var30 = 0;
7665 } else {
7666 var30 = var_listnode12->type->type_table[cltype31] == idtype32;
7667 }
7668 }
7669 if (!var30) {
7670 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8107);
7671 exit(1);
7672 }
7673 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction163>*/;
7674 var_listnode13 = var33;
7675 var34 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
7676 var35 = NULL;
7677 var36 = NULL;
7678 var37 = NULL;
7679 ((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>*/;
7680 CHECK_NEW_parser_nodes__AAnnotations(var34);
7681 var_pannotationsnode9 = var34;
7682 var_listnode16 = var_nodearraylist9;
7683 /* <var_listnode16:nullable Object> isa Array[Object] */
7684 cltype39 = type_array__Arraykernel__Object.color;
7685 idtype40 = type_array__Arraykernel__Object.id;
7686 if(var_listnode16 == NULL) {
7687 var38 = 0;
7688 } else {
7689 if(cltype39 >= var_listnode16->type->table_size) {
7690 var38 = 0;
7691 } else {
7692 var38 = var_listnode16->type->type_table[cltype39] == idtype40;
7693 }
7694 }
7695 if (!var38) {
7696 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8116);
7697 exit(1);
7698 }
7699 var41 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction163>*/;
7700 var_listnode17 = var41;
7701 var_tkwendnode19 = var_nodearraylist11;
7702 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
7703 cltype43 = type_nullable_parser_nodes__TKwend.color;
7704 idtype44 = type_nullable_parser_nodes__TKwend.id;
7705 if(var_tkwendnode19 == NULL) {
7706 var42 = 1;
7707 } else {
7708 if(cltype43 >= var_tkwendnode19->type->table_size) {
7709 var42 = 0;
7710 } else {
7711 var42 = var_tkwendnode19->type->type_table[cltype43] == idtype44;
7712 }
7713 }
7714 if (!var42) {
7715 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8119);
7716 exit(1);
7717 }
7718 var45 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7719 var46 = NULL;
7720 var47 = NULL;
7721 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var45->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var45, var_pdocnode2, var46, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var47, var_listnode17, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var45:AStdClassdef>*/;
7722 CHECK_NEW_parser_nodes__AStdClassdef(var45);
7723 var_pclassdefnode1 = var45;
7724 var_node_list = var_pclassdefnode1;
7725 var48 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction163> */
7726 var49 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var48) /* go_to on <var_p:Parser>*/;
7727 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var49, var_node_list) /* push on <var_p:Parser>*/;
7728 RET_LABEL:;
7729 }
7730 /* method parser#ReduceAction163#action for (self: Object, Parser) */
7731 void VIRTUAL_parser__ReduceAction163__action(val* self, val* p0) {
7732 parser__ReduceAction163__action(self, p0);
7733 RET_LABEL:;
7734 }
7735 /* method parser#ReduceAction164#action for (self: ReduceAction164, Parser) */
7736 void parser__ReduceAction164__action(val* self, val* p0) {
7737 val* var_p /* var p: Parser */;
7738 val* var /* : null */;
7739 val* var_node_list /* var node_list: nullable Object */;
7740 val* var1 /* : nullable Object */;
7741 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
7742 val* var2 /* : nullable Object */;
7743 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
7744 val* var3 /* : nullable Object */;
7745 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7746 val* var4 /* : nullable Object */;
7747 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7748 val* var5 /* : nullable Object */;
7749 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7750 val* var6 /* : nullable Object */;
7751 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7752 val* var7 /* : nullable Object */;
7753 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7754 val* var8 /* : nullable Object */;
7755 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7756 val* var9 /* : nullable Object */;
7757 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7758 val* var10 /* : nullable Object */;
7759 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7760 val* var11 /* : nullable Object */;
7761 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7762 val* var12 /* : nullable Object */;
7763 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7764 val* var13 /* : Array[Object] */;
7765 val* var_listnode8 /* var listnode8: Array[Object] */;
7766 val* var14 /* : Array[Object] */;
7767 val* var_listnode17 /* var listnode17: Array[Object] */;
7768 val* var15 /* : Array[Object] */;
7769 val* var_listnode18 /* var listnode18: Array[Object] */;
7770 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7771 short int var16 /* : Bool */;
7772 int cltype;
7773 int idtype;
7774 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7775 short int var17 /* : Bool */;
7776 int cltype18;
7777 int idtype19;
7778 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7779 short int var20 /* : Bool */;
7780 int cltype21;
7781 int idtype22;
7782 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7783 short int var23 /* : Bool */;
7784 int cltype24;
7785 int idtype25;
7786 val* var_listnode7 /* var listnode7: nullable Object */;
7787 short int var26 /* : Bool */;
7788 int cltype27;
7789 int idtype28;
7790 val* var29 /* : Array[Object] */;
7791 val* var30 /* : Array[Object] */;
7792 val* var_listnode13 /* var listnode13: Array[Object] */;
7793 val* var_listnode12 /* var listnode12: nullable Object */;
7794 short int var31 /* : Bool */;
7795 int cltype32;
7796 int idtype33;
7797 val* var34 /* : Array[Object] */;
7798 val* var35 /* : AAnnotations */;
7799 val* var36 /* : null */;
7800 val* var37 /* : null */;
7801 val* var38 /* : null */;
7802 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
7803 val* var_listnode16 /* var listnode16: nullable Object */;
7804 short int var39 /* : Bool */;
7805 int cltype40;
7806 int idtype41;
7807 val* var42 /* : Array[Object] */;
7808 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
7809 short int var43 /* : Bool */;
7810 int cltype44;
7811 int idtype45;
7812 val* var46 /* : AStdClassdef */;
7813 val* var47 /* : null */;
7814 val* var48 /* : null */;
7815 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7816 long var49 /* : Int */;
7817 long var50 /* : Int */;
7818 var_p = p0;
7819 var = NULL;
7820 var_node_list = var;
7821 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7822 var_nodearraylist12 = var1;
7823 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7824 var_nodearraylist11 = var2;
7825 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7826 var_nodearraylist10 = var3;
7827 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7828 var_nodearraylist9 = var4;
7829 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7830 var_nodearraylist8 = var5;
7831 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7832 var_nodearraylist7 = var6;
7833 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7834 var_nodearraylist6 = var7;
7835 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7836 var_nodearraylist5 = var8;
7837 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7838 var_nodearraylist4 = var9;
7839 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7840 var_nodearraylist3 = var10;
7841 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7842 var_nodearraylist2 = var11;
7843 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7844 var_nodearraylist1 = var12;
7845 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
7846 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
7847 CHECK_NEW_array__Array(var13);
7848 var_listnode8 = var13;
7849 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
7850 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
7851 CHECK_NEW_array__Array(var14);
7852 var_listnode17 = var14;
7853 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
7854 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
7855 CHECK_NEW_array__Array(var15);
7856 var_listnode18 = var15;
7857 var_pdocnode2 = var_nodearraylist1;
7858 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7859 cltype = type_nullable_parser_nodes__ADoc.color;
7860 idtype = type_nullable_parser_nodes__ADoc.id;
7861 if(var_pdocnode2 == NULL) {
7862 var16 = 1;
7863 } else {
7864 if(cltype >= var_pdocnode2->type->table_size) {
7865 var16 = 0;
7866 } else {
7867 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
7868 }
7869 }
7870 if (!var16) {
7871 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8158);
7872 exit(1);
7873 }
7874 var_pvisibilitynode4 = var_nodearraylist2;
7875 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7876 cltype18 = type_nullable_parser_nodes__AVisibility.color;
7877 idtype19 = type_nullable_parser_nodes__AVisibility.id;
7878 if(var_pvisibilitynode4 == NULL) {
7879 var17 = 1;
7880 } else {
7881 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
7882 var17 = 0;
7883 } else {
7884 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
7885 }
7886 }
7887 if (!var17) {
7888 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8160);
7889 exit(1);
7890 }
7891 var_pclasskindnode5 = var_nodearraylist3;
7892 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7893 cltype21 = type_nullable_parser_nodes__AClasskind.color;
7894 idtype22 = type_nullable_parser_nodes__AClasskind.id;
7895 if(var_pclasskindnode5 == NULL) {
7896 var20 = 1;
7897 } else {
7898 if(cltype21 >= var_pclasskindnode5->type->table_size) {
7899 var20 = 0;
7900 } else {
7901 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
7902 }
7903 }
7904 if (!var20) {
7905 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8162);
7906 exit(1);
7907 }
7908 var_tclassidnode6 = var_nodearraylist7;
7909 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7910 cltype24 = type_nullable_parser_nodes__TClassid.color;
7911 idtype25 = type_nullable_parser_nodes__TClassid.id;
7912 if(var_tclassidnode6 == NULL) {
7913 var23 = 1;
7914 } else {
7915 if(cltype24 >= var_tclassidnode6->type->table_size) {
7916 var23 = 0;
7917 } else {
7918 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
7919 }
7920 }
7921 if (!var23) {
7922 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8164);
7923 exit(1);
7924 }
7925 var_listnode7 = var_nodearraylist8;
7926 /* <var_listnode7:nullable Object> isa Array[Object] */
7927 cltype27 = type_array__Arraykernel__Object.color;
7928 idtype28 = type_array__Arraykernel__Object.id;
7929 if(var_listnode7 == NULL) {
7930 var26 = 0;
7931 } else {
7932 if(cltype27 >= var_listnode7->type->table_size) {
7933 var26 = 0;
7934 } else {
7935 var26 = var_listnode7->type->type_table[cltype27] == idtype28;
7936 }
7937 }
7938 if (!var26) {
7939 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8166);
7940 exit(1);
7941 }
7942 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction164>*/;
7943 var_listnode8 = var29;
7944 var30 = NEW_array__Array(&type_array__Arraykernel__Object);
7945 ((void (*)(val*))(var30->class->vft[COLOR_array__Array__init]))(var30) /* init on <var30:Array[Object]>*/;
7946 CHECK_NEW_array__Array(var30);
7947 var_listnode13 = var30;
7948 var_listnode12 = var_nodearraylist9;
7949 /* <var_listnode12:nullable Object> isa Array[Object] */
7950 cltype32 = type_array__Arraykernel__Object.color;
7951 idtype33 = type_array__Arraykernel__Object.id;
7952 if(var_listnode12 == NULL) {
7953 var31 = 0;
7954 } else {
7955 if(cltype32 >= var_listnode12->type->table_size) {
7956 var31 = 0;
7957 } else {
7958 var31 = var_listnode12->type->type_table[cltype32] == idtype33;
7959 }
7960 }
7961 if (!var31) {
7962 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8170);
7963 exit(1);
7964 }
7965 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction164>*/;
7966 var_listnode13 = var34;
7967 var35 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
7968 var36 = NULL;
7969 var37 = NULL;
7970 var38 = NULL;
7971 ((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>*/;
7972 CHECK_NEW_parser_nodes__AAnnotations(var35);
7973 var_pannotationsnode9 = var35;
7974 var_listnode16 = var_nodearraylist10;
7975 /* <var_listnode16:nullable Object> isa Array[Object] */
7976 cltype40 = type_array__Arraykernel__Object.color;
7977 idtype41 = type_array__Arraykernel__Object.id;
7978 if(var_listnode16 == NULL) {
7979 var39 = 0;
7980 } else {
7981 if(cltype40 >= var_listnode16->type->table_size) {
7982 var39 = 0;
7983 } else {
7984 var39 = var_listnode16->type->type_table[cltype40] == idtype41;
7985 }
7986 }
7987 if (!var39) {
7988 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8179);
7989 exit(1);
7990 }
7991 var42 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction164>*/;
7992 var_listnode17 = var42;
7993 var_tkwendnode19 = var_nodearraylist12;
7994 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
7995 cltype44 = type_nullable_parser_nodes__TKwend.color;
7996 idtype45 = type_nullable_parser_nodes__TKwend.id;
7997 if(var_tkwendnode19 == NULL) {
7998 var43 = 1;
7999 } else {
8000 if(cltype44 >= var_tkwendnode19->type->table_size) {
8001 var43 = 0;
8002 } else {
8003 var43 = var_tkwendnode19->type->type_table[cltype44] == idtype45;
8004 }
8005 }
8006 if (!var43) {
8007 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8182);
8008 exit(1);
8009 }
8010 var46 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8011 var47 = NULL;
8012 var48 = NULL;
8013 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var46->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var46, var_pdocnode2, var47, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var48, var_listnode17, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var46:AStdClassdef>*/;
8014 CHECK_NEW_parser_nodes__AStdClassdef(var46);
8015 var_pclassdefnode1 = var46;
8016 var_node_list = var_pclassdefnode1;
8017 var49 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction164> */
8018 var50 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var49) /* go_to on <var_p:Parser>*/;
8019 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var50, var_node_list) /* push on <var_p:Parser>*/;
8020 RET_LABEL:;
8021 }
8022 /* method parser#ReduceAction164#action for (self: Object, Parser) */
8023 void VIRTUAL_parser__ReduceAction164__action(val* self, val* p0) {
8024 parser__ReduceAction164__action(self, p0);
8025 RET_LABEL:;
8026 }
8027 /* method parser#ReduceAction166#action for (self: ReduceAction166, Parser) */
8028 void parser__ReduceAction166__action(val* self, val* p0) {
8029 val* var_p /* var p: Parser */;
8030 val* var /* : null */;
8031 val* var_node_list /* var node_list: nullable Object */;
8032 val* var1 /* : nullable Object */;
8033 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
8034 val* var2 /* : nullable Object */;
8035 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
8036 val* var3 /* : nullable Object */;
8037 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8038 val* var4 /* : nullable Object */;
8039 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8040 val* var5 /* : nullable Object */;
8041 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8042 val* var6 /* : nullable Object */;
8043 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8044 val* var7 /* : nullable Object */;
8045 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8046 val* var8 /* : nullable Object */;
8047 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8048 val* var9 /* : nullable Object */;
8049 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8050 val* var10 /* : nullable Object */;
8051 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8052 val* var11 /* : nullable Object */;
8053 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8054 val* var12 /* : nullable Object */;
8055 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8056 val* var13 /* : Array[Object] */;
8057 val* var_listnode8 /* var listnode8: Array[Object] */;
8058 val* var14 /* : Array[Object] */;
8059 val* var_listnode17 /* var listnode17: Array[Object] */;
8060 val* var15 /* : Array[Object] */;
8061 val* var_listnode18 /* var listnode18: Array[Object] */;
8062 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8063 short int var16 /* : Bool */;
8064 int cltype;
8065 int idtype;
8066 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
8067 short int var17 /* : Bool */;
8068 int cltype18;
8069 int idtype19;
8070 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8071 short int var20 /* : Bool */;
8072 int cltype21;
8073 int idtype22;
8074 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8075 short int var23 /* : Bool */;
8076 int cltype24;
8077 int idtype25;
8078 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8079 short int var26 /* : Bool */;
8080 int cltype27;
8081 int idtype28;
8082 val* var_listnode7 /* var listnode7: nullable Object */;
8083 short int var29 /* : Bool */;
8084 int cltype30;
8085 int idtype31;
8086 val* var32 /* : Array[Object] */;
8087 val* var33 /* : Array[Object] */;
8088 val* var_listnode13 /* var listnode13: Array[Object] */;
8089 val* var_listnode12 /* var listnode12: nullable Object */;
8090 short int var34 /* : Bool */;
8091 int cltype35;
8092 int idtype36;
8093 val* var37 /* : Array[Object] */;
8094 val* var38 /* : AAnnotations */;
8095 val* var39 /* : null */;
8096 val* var40 /* : null */;
8097 val* var41 /* : null */;
8098 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
8099 val* var_listnode16 /* var listnode16: nullable Object */;
8100 short int var42 /* : Bool */;
8101 int cltype43;
8102 int idtype44;
8103 val* var45 /* : Array[Object] */;
8104 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
8105 short int var46 /* : Bool */;
8106 int cltype47;
8107 int idtype48;
8108 val* var49 /* : AStdClassdef */;
8109 val* var50 /* : null */;
8110 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8111 long var51 /* : Int */;
8112 long var52 /* : Int */;
8113 var_p = p0;
8114 var = NULL;
8115 var_node_list = var;
8116 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8117 var_nodearraylist12 = var1;
8118 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8119 var_nodearraylist11 = var2;
8120 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8121 var_nodearraylist10 = var3;
8122 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8123 var_nodearraylist9 = var4;
8124 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8125 var_nodearraylist8 = var5;
8126 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8127 var_nodearraylist7 = var6;
8128 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8129 var_nodearraylist6 = var7;
8130 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8131 var_nodearraylist5 = var8;
8132 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8133 var_nodearraylist4 = var9;
8134 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8135 var_nodearraylist3 = var10;
8136 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8137 var_nodearraylist2 = var11;
8138 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8139 var_nodearraylist1 = var12;
8140 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
8141 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
8142 CHECK_NEW_array__Array(var13);
8143 var_listnode8 = var13;
8144 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
8145 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
8146 CHECK_NEW_array__Array(var14);
8147 var_listnode17 = var14;
8148 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
8149 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
8150 CHECK_NEW_array__Array(var15);
8151 var_listnode18 = var15;
8152 var_pdocnode2 = var_nodearraylist1;
8153 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8154 cltype = type_nullable_parser_nodes__ADoc.color;
8155 idtype = type_nullable_parser_nodes__ADoc.id;
8156 if(var_pdocnode2 == NULL) {
8157 var16 = 1;
8158 } else {
8159 if(cltype >= var_pdocnode2->type->table_size) {
8160 var16 = 0;
8161 } else {
8162 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
8163 }
8164 }
8165 if (!var16) {
8166 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8221);
8167 exit(1);
8168 }
8169 var_tkwredefnode3 = var_nodearraylist2;
8170 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8171 cltype18 = type_nullable_parser_nodes__TKwredef.color;
8172 idtype19 = type_nullable_parser_nodes__TKwredef.id;
8173 if(var_tkwredefnode3 == NULL) {
8174 var17 = 1;
8175 } else {
8176 if(cltype18 >= var_tkwredefnode3->type->table_size) {
8177 var17 = 0;
8178 } else {
8179 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
8180 }
8181 }
8182 if (!var17) {
8183 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8223);
8184 exit(1);
8185 }
8186 var_pvisibilitynode4 = var_nodearraylist3;
8187 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8188 cltype21 = type_nullable_parser_nodes__AVisibility.color;
8189 idtype22 = type_nullable_parser_nodes__AVisibility.id;
8190 if(var_pvisibilitynode4 == NULL) {
8191 var20 = 1;
8192 } else {
8193 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
8194 var20 = 0;
8195 } else {
8196 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
8197 }
8198 }
8199 if (!var20) {
8200 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8225);
8201 exit(1);
8202 }
8203 var_pclasskindnode5 = var_nodearraylist4;
8204 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8205 cltype24 = type_nullable_parser_nodes__AClasskind.color;
8206 idtype25 = type_nullable_parser_nodes__AClasskind.id;
8207 if(var_pclasskindnode5 == NULL) {
8208 var23 = 1;
8209 } else {
8210 if(cltype24 >= var_pclasskindnode5->type->table_size) {
8211 var23 = 0;
8212 } else {
8213 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
8214 }
8215 }
8216 if (!var23) {
8217 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8227);
8218 exit(1);
8219 }
8220 var_tclassidnode6 = var_nodearraylist7;
8221 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8222 cltype27 = type_nullable_parser_nodes__TClassid.color;
8223 idtype28 = type_nullable_parser_nodes__TClassid.id;
8224 if(var_tclassidnode6 == NULL) {
8225 var26 = 1;
8226 } else {
8227 if(cltype27 >= var_tclassidnode6->type->table_size) {
8228 var26 = 0;
8229 } else {
8230 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
8231 }
8232 }
8233 if (!var26) {
8234 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8229);
8235 exit(1);
8236 }
8237 var_listnode7 = var_nodearraylist8;
8238 /* <var_listnode7:nullable Object> isa Array[Object] */
8239 cltype30 = type_array__Arraykernel__Object.color;
8240 idtype31 = type_array__Arraykernel__Object.id;
8241 if(var_listnode7 == NULL) {
8242 var29 = 0;
8243 } else {
8244 if(cltype30 >= var_listnode7->type->table_size) {
8245 var29 = 0;
8246 } else {
8247 var29 = var_listnode7->type->type_table[cltype30] == idtype31;
8248 }
8249 }
8250 if (!var29) {
8251 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8231);
8252 exit(1);
8253 }
8254 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction166>*/;
8255 var_listnode8 = var32;
8256 var33 = NEW_array__Array(&type_array__Arraykernel__Object);
8257 ((void (*)(val*))(var33->class->vft[COLOR_array__Array__init]))(var33) /* init on <var33:Array[Object]>*/;
8258 CHECK_NEW_array__Array(var33);
8259 var_listnode13 = var33;
8260 var_listnode12 = var_nodearraylist9;
8261 /* <var_listnode12:nullable Object> isa Array[Object] */
8262 cltype35 = type_array__Arraykernel__Object.color;
8263 idtype36 = type_array__Arraykernel__Object.id;
8264 if(var_listnode12 == NULL) {
8265 var34 = 0;
8266 } else {
8267 if(cltype35 >= var_listnode12->type->table_size) {
8268 var34 = 0;
8269 } else {
8270 var34 = var_listnode12->type->type_table[cltype35] == idtype36;
8271 }
8272 }
8273 if (!var34) {
8274 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8235);
8275 exit(1);
8276 }
8277 var37 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction166>*/;
8278 var_listnode13 = var37;
8279 var38 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
8280 var39 = NULL;
8281 var40 = NULL;
8282 var41 = NULL;
8283 ((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>*/;
8284 CHECK_NEW_parser_nodes__AAnnotations(var38);
8285 var_pannotationsnode9 = var38;
8286 var_listnode16 = var_nodearraylist10;
8287 /* <var_listnode16:nullable Object> isa Array[Object] */
8288 cltype43 = type_array__Arraykernel__Object.color;
8289 idtype44 = type_array__Arraykernel__Object.id;
8290 if(var_listnode16 == NULL) {
8291 var42 = 0;
8292 } else {
8293 if(cltype43 >= var_listnode16->type->table_size) {
8294 var42 = 0;
8295 } else {
8296 var42 = var_listnode16->type->type_table[cltype43] == idtype44;
8297 }
8298 }
8299 if (!var42) {
8300 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8244);
8301 exit(1);
8302 }
8303 var45 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction166>*/;
8304 var_listnode17 = var45;
8305 var_tkwendnode19 = var_nodearraylist12;
8306 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
8307 cltype47 = type_nullable_parser_nodes__TKwend.color;
8308 idtype48 = type_nullable_parser_nodes__TKwend.id;
8309 if(var_tkwendnode19 == NULL) {
8310 var46 = 1;
8311 } else {
8312 if(cltype47 >= var_tkwendnode19->type->table_size) {
8313 var46 = 0;
8314 } else {
8315 var46 = var_tkwendnode19->type->type_table[cltype47] == idtype48;
8316 }
8317 }
8318 if (!var46) {
8319 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8247);
8320 exit(1);
8321 }
8322 var49 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8323 var50 = NULL;
8324 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var49->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var49, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var50, var_listnode17, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var49:AStdClassdef>*/;
8325 CHECK_NEW_parser_nodes__AStdClassdef(var49);
8326 var_pclassdefnode1 = var49;
8327 var_node_list = var_pclassdefnode1;
8328 var51 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction166> */
8329 var52 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var51) /* go_to on <var_p:Parser>*/;
8330 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var52, var_node_list) /* push on <var_p:Parser>*/;
8331 RET_LABEL:;
8332 }
8333 /* method parser#ReduceAction166#action for (self: Object, Parser) */
8334 void VIRTUAL_parser__ReduceAction166__action(val* self, val* p0) {
8335 parser__ReduceAction166__action(self, p0);
8336 RET_LABEL:;
8337 }
8338 /* method parser#ReduceAction167#action for (self: ReduceAction167, Parser) */
8339 void parser__ReduceAction167__action(val* self, val* p0) {
8340 val* var_p /* var p: Parser */;
8341 val* var /* : null */;
8342 val* var_node_list /* var node_list: nullable Object */;
8343 val* var1 /* : nullable Object */;
8344 val* var_nodearraylist13 /* var nodearraylist13: nullable Object */;
8345 val* var2 /* : nullable Object */;
8346 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
8347 val* var3 /* : nullable Object */;
8348 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
8349 val* var4 /* : nullable Object */;
8350 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8351 val* var5 /* : nullable Object */;
8352 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8353 val* var6 /* : nullable Object */;
8354 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8355 val* var7 /* : nullable Object */;
8356 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8357 val* var8 /* : nullable Object */;
8358 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8359 val* var9 /* : nullable Object */;
8360 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8361 val* var10 /* : nullable Object */;
8362 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8363 val* var11 /* : nullable Object */;
8364 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8365 val* var12 /* : nullable Object */;
8366 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8367 val* var13 /* : nullable Object */;
8368 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8369 val* var14 /* : Array[Object] */;
8370 val* var_listnode8 /* var listnode8: Array[Object] */;
8371 val* var15 /* : Array[Object] */;
8372 val* var_listnode17 /* var listnode17: Array[Object] */;
8373 val* var16 /* : Array[Object] */;
8374 val* var_listnode18 /* var listnode18: Array[Object] */;
8375 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8376 short int var17 /* : Bool */;
8377 int cltype;
8378 int idtype;
8379 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
8380 short int var18 /* : Bool */;
8381 int cltype19;
8382 int idtype20;
8383 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8384 short int var21 /* : Bool */;
8385 int cltype22;
8386 int idtype23;
8387 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8388 short int var24 /* : Bool */;
8389 int cltype25;
8390 int idtype26;
8391 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8392 short int var27 /* : Bool */;
8393 int cltype28;
8394 int idtype29;
8395 val* var_listnode7 /* var listnode7: nullable Object */;
8396 short int var30 /* : Bool */;
8397 int cltype31;
8398 int idtype32;
8399 val* var33 /* : Array[Object] */;
8400 val* var34 /* : Array[Object] */;
8401 val* var_listnode13 /* var listnode13: Array[Object] */;
8402 val* var_listnode12 /* var listnode12: nullable Object */;
8403 short int var35 /* : Bool */;
8404 int cltype36;
8405 int idtype37;
8406 val* var38 /* : Array[Object] */;
8407 val* var39 /* : AAnnotations */;
8408 val* var40 /* : null */;
8409 val* var41 /* : null */;
8410 val* var42 /* : null */;
8411 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
8412 val* var_listnode16 /* var listnode16: nullable Object */;
8413 short int var43 /* : Bool */;
8414 int cltype44;
8415 int idtype45;
8416 val* var46 /* : Array[Object] */;
8417 val* var_tkwendnode19 /* var tkwendnode19: nullable Object */;
8418 short int var47 /* : Bool */;
8419 int cltype48;
8420 int idtype49;
8421 val* var50 /* : AStdClassdef */;
8422 val* var51 /* : null */;
8423 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8424 long var52 /* : Int */;
8425 long var53 /* : Int */;
8426 var_p = p0;
8427 var = NULL;
8428 var_node_list = var;
8429 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8430 var_nodearraylist13 = var1;
8431 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8432 var_nodearraylist12 = var2;
8433 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8434 var_nodearraylist11 = var3;
8435 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8436 var_nodearraylist10 = var4;
8437 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8438 var_nodearraylist9 = var5;
8439 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8440 var_nodearraylist8 = var6;
8441 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8442 var_nodearraylist7 = var7;
8443 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8444 var_nodearraylist6 = var8;
8445 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8446 var_nodearraylist5 = var9;
8447 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8448 var_nodearraylist4 = var10;
8449 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8450 var_nodearraylist3 = var11;
8451 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8452 var_nodearraylist2 = var12;
8453 var13 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8454 var_nodearraylist1 = var13;
8455 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
8456 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
8457 CHECK_NEW_array__Array(var14);
8458 var_listnode8 = var14;
8459 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
8460 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
8461 CHECK_NEW_array__Array(var15);
8462 var_listnode17 = var15;
8463 var16 = NEW_array__Array(&type_array__Arraykernel__Object);
8464 ((void (*)(val*))(var16->class->vft[COLOR_array__Array__init]))(var16) /* init on <var16:Array[Object]>*/;
8465 CHECK_NEW_array__Array(var16);
8466 var_listnode18 = var16;
8467 var_pdocnode2 = var_nodearraylist1;
8468 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8469 cltype = type_nullable_parser_nodes__ADoc.color;
8470 idtype = type_nullable_parser_nodes__ADoc.id;
8471 if(var_pdocnode2 == NULL) {
8472 var17 = 1;
8473 } else {
8474 if(cltype >= var_pdocnode2->type->table_size) {
8475 var17 = 0;
8476 } else {
8477 var17 = var_pdocnode2->type->type_table[cltype] == idtype;
8478 }
8479 }
8480 if (!var17) {
8481 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8287);
8482 exit(1);
8483 }
8484 var_tkwredefnode3 = var_nodearraylist2;
8485 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8486 cltype19 = type_nullable_parser_nodes__TKwredef.color;
8487 idtype20 = type_nullable_parser_nodes__TKwredef.id;
8488 if(var_tkwredefnode3 == NULL) {
8489 var18 = 1;
8490 } else {
8491 if(cltype19 >= var_tkwredefnode3->type->table_size) {
8492 var18 = 0;
8493 } else {
8494 var18 = var_tkwredefnode3->type->type_table[cltype19] == idtype20;
8495 }
8496 }
8497 if (!var18) {
8498 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8289);
8499 exit(1);
8500 }
8501 var_pvisibilitynode4 = var_nodearraylist3;
8502 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8503 cltype22 = type_nullable_parser_nodes__AVisibility.color;
8504 idtype23 = type_nullable_parser_nodes__AVisibility.id;
8505 if(var_pvisibilitynode4 == NULL) {
8506 var21 = 1;
8507 } else {
8508 if(cltype22 >= var_pvisibilitynode4->type->table_size) {
8509 var21 = 0;
8510 } else {
8511 var21 = var_pvisibilitynode4->type->type_table[cltype22] == idtype23;
8512 }
8513 }
8514 if (!var21) {
8515 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8291);
8516 exit(1);
8517 }
8518 var_pclasskindnode5 = var_nodearraylist4;
8519 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8520 cltype25 = type_nullable_parser_nodes__AClasskind.color;
8521 idtype26 = type_nullable_parser_nodes__AClasskind.id;
8522 if(var_pclasskindnode5 == NULL) {
8523 var24 = 1;
8524 } else {
8525 if(cltype25 >= var_pclasskindnode5->type->table_size) {
8526 var24 = 0;
8527 } else {
8528 var24 = var_pclasskindnode5->type->type_table[cltype25] == idtype26;
8529 }
8530 }
8531 if (!var24) {
8532 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8293);
8533 exit(1);
8534 }
8535 var_tclassidnode6 = var_nodearraylist8;
8536 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8537 cltype28 = type_nullable_parser_nodes__TClassid.color;
8538 idtype29 = type_nullable_parser_nodes__TClassid.id;
8539 if(var_tclassidnode6 == NULL) {
8540 var27 = 1;
8541 } else {
8542 if(cltype28 >= var_tclassidnode6->type->table_size) {
8543 var27 = 0;
8544 } else {
8545 var27 = var_tclassidnode6->type->type_table[cltype28] == idtype29;
8546 }
8547 }
8548 if (!var27) {
8549 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8295);
8550 exit(1);
8551 }
8552 var_listnode7 = var_nodearraylist9;
8553 /* <var_listnode7:nullable Object> isa Array[Object] */
8554 cltype31 = type_array__Arraykernel__Object.color;
8555 idtype32 = type_array__Arraykernel__Object.id;
8556 if(var_listnode7 == NULL) {
8557 var30 = 0;
8558 } else {
8559 if(cltype31 >= var_listnode7->type->table_size) {
8560 var30 = 0;
8561 } else {
8562 var30 = var_listnode7->type->type_table[cltype31] == idtype32;
8563 }
8564 }
8565 if (!var30) {
8566 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8297);
8567 exit(1);
8568 }
8569 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction167>*/;
8570 var_listnode8 = var33;
8571 var34 = NEW_array__Array(&type_array__Arraykernel__Object);
8572 ((void (*)(val*))(var34->class->vft[COLOR_array__Array__init]))(var34) /* init on <var34:Array[Object]>*/;
8573 CHECK_NEW_array__Array(var34);
8574 var_listnode13 = var34;
8575 var_listnode12 = var_nodearraylist10;
8576 /* <var_listnode12:nullable Object> isa Array[Object] */
8577 cltype36 = type_array__Arraykernel__Object.color;
8578 idtype37 = type_array__Arraykernel__Object.id;
8579 if(var_listnode12 == NULL) {
8580 var35 = 0;
8581 } else {
8582 if(cltype36 >= var_listnode12->type->table_size) {
8583 var35 = 0;
8584 } else {
8585 var35 = var_listnode12->type->type_table[cltype36] == idtype37;
8586 }
8587 }
8588 if (!var35) {
8589 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8301);
8590 exit(1);
8591 }
8592 var38 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction167>*/;
8593 var_listnode13 = var38;
8594 var39 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
8595 var40 = NULL;
8596 var41 = NULL;
8597 var42 = NULL;
8598 ((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>*/;
8599 CHECK_NEW_parser_nodes__AAnnotations(var39);
8600 var_pannotationsnode9 = var39;
8601 var_listnode16 = var_nodearraylist11;
8602 /* <var_listnode16:nullable Object> isa Array[Object] */
8603 cltype44 = type_array__Arraykernel__Object.color;
8604 idtype45 = type_array__Arraykernel__Object.id;
8605 if(var_listnode16 == NULL) {
8606 var43 = 0;
8607 } else {
8608 if(cltype44 >= var_listnode16->type->table_size) {
8609 var43 = 0;
8610 } else {
8611 var43 = var_listnode16->type->type_table[cltype44] == idtype45;
8612 }
8613 }
8614 if (!var43) {
8615 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8310);
8616 exit(1);
8617 }
8618 var46 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode17, var_listnode16) /* concat on <self:ReduceAction167>*/;
8619 var_listnode17 = var46;
8620 var_tkwendnode19 = var_nodearraylist13;
8621 /* <var_tkwendnode19:nullable Object> isa nullable TKwend */
8622 cltype48 = type_nullable_parser_nodes__TKwend.color;
8623 idtype49 = type_nullable_parser_nodes__TKwend.id;
8624 if(var_tkwendnode19 == NULL) {
8625 var47 = 1;
8626 } else {
8627 if(cltype48 >= var_tkwendnode19->type->table_size) {
8628 var47 = 0;
8629 } else {
8630 var47 = var_tkwendnode19->type->type_table[cltype48] == idtype49;
8631 }
8632 }
8633 if (!var47) {
8634 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8313);
8635 exit(1);
8636 }
8637 var50 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8638 var51 = NULL;
8639 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var50->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var50, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var51, var_listnode17, var_listnode18, var_tkwendnode19) /* init_astdclassdef on <var50:AStdClassdef>*/;
8640 CHECK_NEW_parser_nodes__AStdClassdef(var50);
8641 var_pclassdefnode1 = var50;
8642 var_node_list = var_pclassdefnode1;
8643 var52 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction167> */
8644 var53 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var52) /* go_to on <var_p:Parser>*/;
8645 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var53, var_node_list) /* push on <var_p:Parser>*/;
8646 RET_LABEL:;
8647 }
8648 /* method parser#ReduceAction167#action for (self: Object, Parser) */
8649 void VIRTUAL_parser__ReduceAction167__action(val* self, val* p0) {
8650 parser__ReduceAction167__action(self, p0);
8651 RET_LABEL:;
8652 }
8653 /* method parser#ReduceAction169#action for (self: ReduceAction169, Parser) */
8654 void parser__ReduceAction169__action(val* self, val* p0) {
8655 val* var_p /* var p: Parser */;
8656 val* var /* : null */;
8657 val* var_node_list /* var node_list: nullable Object */;
8658 val* var1 /* : nullable Object */;
8659 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8660 val* var2 /* : nullable Object */;
8661 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8662 val* var3 /* : nullable Object */;
8663 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8664 val* var4 /* : nullable Object */;
8665 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8666 val* var5 /* : nullable Object */;
8667 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8668 val* var6 /* : nullable Object */;
8669 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8670 val* var7 /* : nullable Object */;
8671 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8672 val* var8 /* : nullable Object */;
8673 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8674 val* var9 /* : nullable Object */;
8675 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8676 val* var10 /* : Array[Object] */;
8677 val* var_listnode7 /* var listnode7: Array[Object] */;
8678 val* var11 /* : Array[Object] */;
8679 val* var_listnode11 /* var listnode11: Array[Object] */;
8680 val* var12 /* : Array[Object] */;
8681 val* var_listnode12 /* var listnode12: Array[Object] */;
8682 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8683 short int var13 /* : Bool */;
8684 int cltype;
8685 int idtype;
8686 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8687 short int var14 /* : Bool */;
8688 int cltype15;
8689 int idtype16;
8690 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8691 short int var17 /* : Bool */;
8692 int cltype18;
8693 int idtype19;
8694 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8695 short int var20 /* : Bool */;
8696 int cltype21;
8697 int idtype22;
8698 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
8699 short int var23 /* : Bool */;
8700 int cltype24;
8701 int idtype25;
8702 val* var_listnode10 /* var listnode10: nullable Object */;
8703 short int var26 /* : Bool */;
8704 int cltype27;
8705 int idtype28;
8706 val* var29 /* : Array[Object] */;
8707 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
8708 short int var30 /* : Bool */;
8709 int cltype31;
8710 int idtype32;
8711 val* var33 /* : AStdClassdef */;
8712 val* var34 /* : null */;
8713 val* var35 /* : null */;
8714 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8715 long var36 /* : Int */;
8716 long var37 /* : Int */;
8717 var_p = p0;
8718 var = NULL;
8719 var_node_list = var;
8720 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8721 var_nodearraylist9 = var1;
8722 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8723 var_nodearraylist8 = var2;
8724 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8725 var_nodearraylist7 = var3;
8726 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8727 var_nodearraylist6 = var4;
8728 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8729 var_nodearraylist5 = var5;
8730 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8731 var_nodearraylist4 = var6;
8732 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8733 var_nodearraylist3 = var7;
8734 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8735 var_nodearraylist2 = var8;
8736 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8737 var_nodearraylist1 = var9;
8738 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
8739 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
8740 CHECK_NEW_array__Array(var10);
8741 var_listnode7 = var10;
8742 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
8743 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
8744 CHECK_NEW_array__Array(var11);
8745 var_listnode11 = var11;
8746 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
8747 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
8748 CHECK_NEW_array__Array(var12);
8749 var_listnode12 = var12;
8750 var_pdocnode2 = var_nodearraylist1;
8751 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8752 cltype = type_nullable_parser_nodes__ADoc.color;
8753 idtype = type_nullable_parser_nodes__ADoc.id;
8754 if(var_pdocnode2 == NULL) {
8755 var13 = 1;
8756 } else {
8757 if(cltype >= var_pdocnode2->type->table_size) {
8758 var13 = 0;
8759 } else {
8760 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
8761 }
8762 }
8763 if (!var13) {
8764 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8349);
8765 exit(1);
8766 }
8767 var_pvisibilitynode4 = var_nodearraylist2;
8768 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8769 cltype15 = type_nullable_parser_nodes__AVisibility.color;
8770 idtype16 = type_nullable_parser_nodes__AVisibility.id;
8771 if(var_pvisibilitynode4 == NULL) {
8772 var14 = 1;
8773 } else {
8774 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
8775 var14 = 0;
8776 } else {
8777 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
8778 }
8779 }
8780 if (!var14) {
8781 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8351);
8782 exit(1);
8783 }
8784 var_pclasskindnode5 = var_nodearraylist3;
8785 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8786 cltype18 = type_nullable_parser_nodes__AClasskind.color;
8787 idtype19 = type_nullable_parser_nodes__AClasskind.id;
8788 if(var_pclasskindnode5 == NULL) {
8789 var17 = 1;
8790 } else {
8791 if(cltype18 >= var_pclasskindnode5->type->table_size) {
8792 var17 = 0;
8793 } else {
8794 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
8795 }
8796 }
8797 if (!var17) {
8798 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8353);
8799 exit(1);
8800 }
8801 var_tclassidnode6 = var_nodearraylist5;
8802 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8803 cltype21 = type_nullable_parser_nodes__TClassid.color;
8804 idtype22 = type_nullable_parser_nodes__TClassid.id;
8805 if(var_tclassidnode6 == NULL) {
8806 var20 = 1;
8807 } else {
8808 if(cltype21 >= var_tclassidnode6->type->table_size) {
8809 var20 = 0;
8810 } else {
8811 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
8812 }
8813 }
8814 if (!var20) {
8815 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8355);
8816 exit(1);
8817 }
8818 var_pexterncodeblocknode9 = var_nodearraylist6;
8819 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
8820 cltype24 = type_nullable_parser_nodes__AExternCodeBlock.color;
8821 idtype25 = type_nullable_parser_nodes__AExternCodeBlock.id;
8822 if(var_pexterncodeblocknode9 == NULL) {
8823 var23 = 1;
8824 } else {
8825 if(cltype24 >= var_pexterncodeblocknode9->type->table_size) {
8826 var23 = 0;
8827 } else {
8828 var23 = var_pexterncodeblocknode9->type->type_table[cltype24] == idtype25;
8829 }
8830 }
8831 if (!var23) {
8832 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8357);
8833 exit(1);
8834 }
8835 var_listnode10 = var_nodearraylist7;
8836 /* <var_listnode10:nullable Object> isa Array[Object] */
8837 cltype27 = type_array__Arraykernel__Object.color;
8838 idtype28 = type_array__Arraykernel__Object.id;
8839 if(var_listnode10 == NULL) {
8840 var26 = 0;
8841 } else {
8842 if(cltype27 >= var_listnode10->type->table_size) {
8843 var26 = 0;
8844 } else {
8845 var26 = var_listnode10->type->type_table[cltype27] == idtype28;
8846 }
8847 }
8848 if (!var26) {
8849 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8359);
8850 exit(1);
8851 }
8852 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction169>*/;
8853 var_listnode11 = var29;
8854 var_tkwendnode13 = var_nodearraylist9;
8855 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
8856 cltype31 = type_nullable_parser_nodes__TKwend.color;
8857 idtype32 = type_nullable_parser_nodes__TKwend.id;
8858 if(var_tkwendnode13 == NULL) {
8859 var30 = 1;
8860 } else {
8861 if(cltype31 >= var_tkwendnode13->type->table_size) {
8862 var30 = 0;
8863 } else {
8864 var30 = var_tkwendnode13->type->type_table[cltype31] == idtype32;
8865 }
8866 }
8867 if (!var30) {
8868 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8362);
8869 exit(1);
8870 }
8871 var33 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8872 var34 = NULL;
8873 var35 = NULL;
8874 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var33->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var33, var_pdocnode2, var34, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var35, var_pexterncodeblocknode9, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var33:AStdClassdef>*/;
8875 CHECK_NEW_parser_nodes__AStdClassdef(var33);
8876 var_pclassdefnode1 = var33;
8877 var_node_list = var_pclassdefnode1;
8878 var36 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction169> */
8879 var37 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var36) /* go_to on <var_p:Parser>*/;
8880 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var37, var_node_list) /* push on <var_p:Parser>*/;
8881 RET_LABEL:;
8882 }
8883 /* method parser#ReduceAction169#action for (self: Object, Parser) */
8884 void VIRTUAL_parser__ReduceAction169__action(val* self, val* p0) {
8885 parser__ReduceAction169__action(self, p0);
8886 RET_LABEL:;
8887 }
8888 /* method parser#ReduceAction170#action for (self: ReduceAction170, Parser) */
8889 void parser__ReduceAction170__action(val* self, val* p0) {
8890 val* var_p /* var p: Parser */;
8891 val* var /* : null */;
8892 val* var_node_list /* var node_list: nullable Object */;
8893 val* var1 /* : nullable Object */;
8894 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8895 val* var2 /* : nullable Object */;
8896 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8897 val* var3 /* : nullable Object */;
8898 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8899 val* var4 /* : nullable Object */;
8900 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8901 val* var5 /* : nullable Object */;
8902 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8903 val* var6 /* : nullable Object */;
8904 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8905 val* var7 /* : nullable Object */;
8906 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8907 val* var8 /* : nullable Object */;
8908 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8909 val* var9 /* : nullable Object */;
8910 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8911 val* var10 /* : nullable Object */;
8912 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8913 val* var11 /* : Array[Object] */;
8914 val* var_listnode7 /* var listnode7: Array[Object] */;
8915 val* var12 /* : Array[Object] */;
8916 val* var_listnode11 /* var listnode11: Array[Object] */;
8917 val* var13 /* : Array[Object] */;
8918 val* var_listnode12 /* var listnode12: Array[Object] */;
8919 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8920 short int var14 /* : Bool */;
8921 int cltype;
8922 int idtype;
8923 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
8924 short int var15 /* : Bool */;
8925 int cltype16;
8926 int idtype17;
8927 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8928 short int var18 /* : Bool */;
8929 int cltype19;
8930 int idtype20;
8931 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8932 short int var21 /* : Bool */;
8933 int cltype22;
8934 int idtype23;
8935 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8936 short int var24 /* : Bool */;
8937 int cltype25;
8938 int idtype26;
8939 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
8940 short int var27 /* : Bool */;
8941 int cltype28;
8942 int idtype29;
8943 val* var_listnode10 /* var listnode10: nullable Object */;
8944 short int var30 /* : Bool */;
8945 int cltype31;
8946 int idtype32;
8947 val* var33 /* : Array[Object] */;
8948 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
8949 short int var34 /* : Bool */;
8950 int cltype35;
8951 int idtype36;
8952 val* var37 /* : AStdClassdef */;
8953 val* var38 /* : null */;
8954 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8955 long var39 /* : Int */;
8956 long var40 /* : Int */;
8957 var_p = p0;
8958 var = NULL;
8959 var_node_list = var;
8960 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8961 var_nodearraylist10 = var1;
8962 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8963 var_nodearraylist9 = var2;
8964 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8965 var_nodearraylist8 = var3;
8966 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8967 var_nodearraylist7 = var4;
8968 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8969 var_nodearraylist6 = var5;
8970 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8971 var_nodearraylist5 = var6;
8972 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8973 var_nodearraylist4 = var7;
8974 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8975 var_nodearraylist3 = var8;
8976 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8977 var_nodearraylist2 = var9;
8978 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8979 var_nodearraylist1 = var10;
8980 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
8981 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
8982 CHECK_NEW_array__Array(var11);
8983 var_listnode7 = var11;
8984 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
8985 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
8986 CHECK_NEW_array__Array(var12);
8987 var_listnode11 = var12;
8988 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
8989 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
8990 CHECK_NEW_array__Array(var13);
8991 var_listnode12 = var13;
8992 var_pdocnode2 = var_nodearraylist1;
8993 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8994 cltype = type_nullable_parser_nodes__ADoc.color;
8995 idtype = type_nullable_parser_nodes__ADoc.id;
8996 if(var_pdocnode2 == NULL) {
8997 var14 = 1;
8998 } else {
8999 if(cltype >= var_pdocnode2->type->table_size) {
9000 var14 = 0;
9001 } else {
9002 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
9003 }
9004 }
9005 if (!var14) {
9006 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8399);
9007 exit(1);
9008 }
9009 var_tkwredefnode3 = var_nodearraylist2;
9010 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
9011 cltype16 = type_nullable_parser_nodes__TKwredef.color;
9012 idtype17 = type_nullable_parser_nodes__TKwredef.id;
9013 if(var_tkwredefnode3 == NULL) {
9014 var15 = 1;
9015 } else {
9016 if(cltype16 >= var_tkwredefnode3->type->table_size) {
9017 var15 = 0;
9018 } else {
9019 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
9020 }
9021 }
9022 if (!var15) {
9023 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8401);
9024 exit(1);
9025 }
9026 var_pvisibilitynode4 = var_nodearraylist3;
9027 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9028 cltype19 = type_nullable_parser_nodes__AVisibility.color;
9029 idtype20 = type_nullable_parser_nodes__AVisibility.id;
9030 if(var_pvisibilitynode4 == NULL) {
9031 var18 = 1;
9032 } else {
9033 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
9034 var18 = 0;
9035 } else {
9036 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
9037 }
9038 }
9039 if (!var18) {
9040 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8403);
9041 exit(1);
9042 }
9043 var_pclasskindnode5 = var_nodearraylist4;
9044 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
9045 cltype22 = type_nullable_parser_nodes__AClasskind.color;
9046 idtype23 = type_nullable_parser_nodes__AClasskind.id;
9047 if(var_pclasskindnode5 == NULL) {
9048 var21 = 1;
9049 } else {
9050 if(cltype22 >= var_pclasskindnode5->type->table_size) {
9051 var21 = 0;
9052 } else {
9053 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
9054 }
9055 }
9056 if (!var21) {
9057 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8405);
9058 exit(1);
9059 }
9060 var_tclassidnode6 = var_nodearraylist6;
9061 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9062 cltype25 = type_nullable_parser_nodes__TClassid.color;
9063 idtype26 = type_nullable_parser_nodes__TClassid.id;
9064 if(var_tclassidnode6 == NULL) {
9065 var24 = 1;
9066 } else {
9067 if(cltype25 >= var_tclassidnode6->type->table_size) {
9068 var24 = 0;
9069 } else {
9070 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
9071 }
9072 }
9073 if (!var24) {
9074 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8407);
9075 exit(1);
9076 }
9077 var_pexterncodeblocknode9 = var_nodearraylist7;
9078 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
9079 cltype28 = type_nullable_parser_nodes__AExternCodeBlock.color;
9080 idtype29 = type_nullable_parser_nodes__AExternCodeBlock.id;
9081 if(var_pexterncodeblocknode9 == NULL) {
9082 var27 = 1;
9083 } else {
9084 if(cltype28 >= var_pexterncodeblocknode9->type->table_size) {
9085 var27 = 0;
9086 } else {
9087 var27 = var_pexterncodeblocknode9->type->type_table[cltype28] == idtype29;
9088 }
9089 }
9090 if (!var27) {
9091 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8409);
9092 exit(1);
9093 }
9094 var_listnode10 = var_nodearraylist8;
9095 /* <var_listnode10:nullable Object> isa Array[Object] */
9096 cltype31 = type_array__Arraykernel__Object.color;
9097 idtype32 = type_array__Arraykernel__Object.id;
9098 if(var_listnode10 == NULL) {
9099 var30 = 0;
9100 } else {
9101 if(cltype31 >= var_listnode10->type->table_size) {
9102 var30 = 0;
9103 } else {
9104 var30 = var_listnode10->type->type_table[cltype31] == idtype32;
9105 }
9106 }
9107 if (!var30) {
9108 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8411);
9109 exit(1);
9110 }
9111 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction170>*/;
9112 var_listnode11 = var33;
9113 var_tkwendnode13 = var_nodearraylist10;
9114 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
9115 cltype35 = type_nullable_parser_nodes__TKwend.color;
9116 idtype36 = type_nullable_parser_nodes__TKwend.id;
9117 if(var_tkwendnode13 == NULL) {
9118 var34 = 1;
9119 } else {
9120 if(cltype35 >= var_tkwendnode13->type->table_size) {
9121 var34 = 0;
9122 } else {
9123 var34 = var_tkwendnode13->type->type_table[cltype35] == idtype36;
9124 }
9125 }
9126 if (!var34) {
9127 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8414);
9128 exit(1);
9129 }
9130 var37 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9131 var38 = NULL;
9132 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var37->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var37, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var38, var_pexterncodeblocknode9, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var37:AStdClassdef>*/;
9133 CHECK_NEW_parser_nodes__AStdClassdef(var37);
9134 var_pclassdefnode1 = var37;
9135 var_node_list = var_pclassdefnode1;
9136 var39 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction170> */
9137 var40 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var39) /* go_to on <var_p:Parser>*/;
9138 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var40, var_node_list) /* push on <var_p:Parser>*/;
9139 RET_LABEL:;
9140 }
9141 /* method parser#ReduceAction170#action for (self: Object, Parser) */
9142 void VIRTUAL_parser__ReduceAction170__action(val* self, val* p0) {
9143 parser__ReduceAction170__action(self, p0);
9144 RET_LABEL:;
9145 }
9146 /* method parser#ReduceAction171#action for (self: ReduceAction171, Parser) */
9147 void parser__ReduceAction171__action(val* self, val* p0) {
9148 val* var_p /* var p: Parser */;
9149 val* var /* : null */;
9150 val* var_node_list /* var node_list: nullable Object */;
9151 val* var1 /* : nullable Object */;
9152 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
9153 val* var2 /* : nullable Object */;
9154 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9155 val* var3 /* : nullable Object */;
9156 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9157 val* var4 /* : nullable Object */;
9158 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9159 val* var5 /* : nullable Object */;
9160 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9161 val* var6 /* : nullable Object */;
9162 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9163 val* var7 /* : nullable Object */;
9164 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9165 val* var8 /* : nullable Object */;
9166 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9167 val* var9 /* : nullable Object */;
9168 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9169 val* var10 /* : nullable Object */;
9170 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9171 val* var11 /* : Array[Object] */;
9172 val* var_listnode7 /* var listnode7: Array[Object] */;
9173 val* var12 /* : Array[Object] */;
9174 val* var_listnode11 /* var listnode11: Array[Object] */;
9175 val* var13 /* : Array[Object] */;
9176 val* var_listnode12 /* var listnode12: Array[Object] */;
9177 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9178 short int var14 /* : Bool */;
9179 int cltype;
9180 int idtype;
9181 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9182 short int var15 /* : Bool */;
9183 int cltype16;
9184 int idtype17;
9185 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
9186 short int var18 /* : Bool */;
9187 int cltype19;
9188 int idtype20;
9189 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9190 short int var21 /* : Bool */;
9191 int cltype22;
9192 int idtype23;
9193 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
9194 short int var24 /* : Bool */;
9195 int cltype25;
9196 int idtype26;
9197 val* var_listnode10 /* var listnode10: nullable Object */;
9198 short int var27 /* : Bool */;
9199 int cltype28;
9200 int idtype29;
9201 val* var30 /* : Array[Object] */;
9202 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
9203 short int var31 /* : Bool */;
9204 int cltype32;
9205 int idtype33;
9206 val* var34 /* : AStdClassdef */;
9207 val* var35 /* : null */;
9208 val* var36 /* : null */;
9209 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
9210 long var37 /* : Int */;
9211 long var38 /* : Int */;
9212 var_p = p0;
9213 var = NULL;
9214 var_node_list = var;
9215 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9216 var_nodearraylist10 = var1;
9217 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9218 var_nodearraylist9 = var2;
9219 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9220 var_nodearraylist8 = var3;
9221 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9222 var_nodearraylist7 = var4;
9223 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9224 var_nodearraylist6 = var5;
9225 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9226 var_nodearraylist5 = var6;
9227 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9228 var_nodearraylist4 = var7;
9229 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9230 var_nodearraylist3 = var8;
9231 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9232 var_nodearraylist2 = var9;
9233 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9234 var_nodearraylist1 = var10;
9235 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
9236 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
9237 CHECK_NEW_array__Array(var11);
9238 var_listnode7 = var11;
9239 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
9240 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
9241 CHECK_NEW_array__Array(var12);
9242 var_listnode11 = var12;
9243 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
9244 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
9245 CHECK_NEW_array__Array(var13);
9246 var_listnode12 = var13;
9247 var_pdocnode2 = var_nodearraylist1;
9248 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9249 cltype = type_nullable_parser_nodes__ADoc.color;
9250 idtype = type_nullable_parser_nodes__ADoc.id;
9251 if(var_pdocnode2 == NULL) {
9252 var14 = 1;
9253 } else {
9254 if(cltype >= var_pdocnode2->type->table_size) {
9255 var14 = 0;
9256 } else {
9257 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
9258 }
9259 }
9260 if (!var14) {
9261 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8451);
9262 exit(1);
9263 }
9264 var_pvisibilitynode4 = var_nodearraylist2;
9265 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9266 cltype16 = type_nullable_parser_nodes__AVisibility.color;
9267 idtype17 = type_nullable_parser_nodes__AVisibility.id;
9268 if(var_pvisibilitynode4 == NULL) {
9269 var15 = 1;
9270 } else {
9271 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
9272 var15 = 0;
9273 } else {
9274 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
9275 }
9276 }
9277 if (!var15) {
9278 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8453);
9279 exit(1);
9280 }
9281 var_pclasskindnode5 = var_nodearraylist3;
9282 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
9283 cltype19 = type_nullable_parser_nodes__AClasskind.color;
9284 idtype20 = type_nullable_parser_nodes__AClasskind.id;
9285 if(var_pclasskindnode5 == NULL) {
9286 var18 = 1;
9287 } else {
9288 if(cltype19 >= var_pclasskindnode5->type->table_size) {
9289 var18 = 0;
9290 } else {
9291 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
9292 }
9293 }
9294 if (!var18) {
9295 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8455);
9296 exit(1);
9297 }
9298 var_tclassidnode6 = var_nodearraylist6;
9299 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9300 cltype22 = type_nullable_parser_nodes__TClassid.color;
9301 idtype23 = type_nullable_parser_nodes__TClassid.id;
9302 if(var_tclassidnode6 == NULL) {
9303 var21 = 1;
9304 } else {
9305 if(cltype22 >= var_tclassidnode6->type->table_size) {
9306 var21 = 0;
9307 } else {
9308 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
9309 }
9310 }
9311 if (!var21) {
9312 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8457);
9313 exit(1);
9314 }
9315 var_pexterncodeblocknode9 = var_nodearraylist7;
9316 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
9317 cltype25 = type_nullable_parser_nodes__AExternCodeBlock.color;
9318 idtype26 = type_nullable_parser_nodes__AExternCodeBlock.id;
9319 if(var_pexterncodeblocknode9 == NULL) {
9320 var24 = 1;
9321 } else {
9322 if(cltype25 >= var_pexterncodeblocknode9->type->table_size) {
9323 var24 = 0;
9324 } else {
9325 var24 = var_pexterncodeblocknode9->type->type_table[cltype25] == idtype26;
9326 }
9327 }
9328 if (!var24) {
9329 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8459);
9330 exit(1);
9331 }
9332 var_listnode10 = var_nodearraylist8;
9333 /* <var_listnode10:nullable Object> isa Array[Object] */
9334 cltype28 = type_array__Arraykernel__Object.color;
9335 idtype29 = type_array__Arraykernel__Object.id;
9336 if(var_listnode10 == NULL) {
9337 var27 = 0;
9338 } else {
9339 if(cltype28 >= var_listnode10->type->table_size) {
9340 var27 = 0;
9341 } else {
9342 var27 = var_listnode10->type->type_table[cltype28] == idtype29;
9343 }
9344 }
9345 if (!var27) {
9346 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8461);
9347 exit(1);
9348 }
9349 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction171>*/;
9350 var_listnode11 = var30;
9351 var_tkwendnode13 = var_nodearraylist10;
9352 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
9353 cltype32 = type_nullable_parser_nodes__TKwend.color;
9354 idtype33 = type_nullable_parser_nodes__TKwend.id;
9355 if(var_tkwendnode13 == NULL) {
9356 var31 = 1;
9357 } else {
9358 if(cltype32 >= var_tkwendnode13->type->table_size) {
9359 var31 = 0;
9360 } else {
9361 var31 = var_tkwendnode13->type->type_table[cltype32] == idtype33;
9362 }
9363 }
9364 if (!var31) {
9365 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8464);
9366 exit(1);
9367 }
9368 var34 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9369 var35 = NULL;
9370 var36 = NULL;
9371 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var34->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var34, var_pdocnode2, var35, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var36, var_pexterncodeblocknode9, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var34:AStdClassdef>*/;
9372 CHECK_NEW_parser_nodes__AStdClassdef(var34);
9373 var_pclassdefnode1 = var34;
9374 var_node_list = var_pclassdefnode1;
9375 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction171> */
9376 var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on <var_p:Parser>*/;
9377 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on <var_p:Parser>*/;
9378 RET_LABEL:;
9379 }
9380 /* method parser#ReduceAction171#action for (self: Object, Parser) */
9381 void VIRTUAL_parser__ReduceAction171__action(val* self, val* p0) {
9382 parser__ReduceAction171__action(self, p0);
9383 RET_LABEL:;
9384 }
9385 /* method parser#ReduceAction172#action for (self: ReduceAction172, Parser) */
9386 void parser__ReduceAction172__action(val* self, val* p0) {
9387 val* var_p /* var p: Parser */;
9388 val* var /* : null */;
9389 val* var_node_list /* var node_list: nullable Object */;
9390 val* var1 /* : nullable Object */;
9391 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
9392 val* var2 /* : nullable Object */;
9393 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
9394 val* var3 /* : nullable Object */;
9395 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9396 val* var4 /* : nullable Object */;
9397 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9398 val* var5 /* : nullable Object */;
9399 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9400 val* var6 /* : nullable Object */;
9401 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9402 val* var7 /* : nullable Object */;
9403 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9404 val* var8 /* : nullable Object */;
9405 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9406 val* var9 /* : nullable Object */;
9407 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9408 val* var10 /* : nullable Object */;
9409 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9410 val* var11 /* : nullable Object */;
9411 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9412 val* var12 /* : Array[Object] */;
9413 val* var_listnode7 /* var listnode7: Array[Object] */;
9414 val* var13 /* : Array[Object] */;
9415 val* var_listnode11 /* var listnode11: Array[Object] */;
9416 val* var14 /* : Array[Object] */;
9417 val* var_listnode12 /* var listnode12: Array[Object] */;
9418 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9419 short int var15 /* : Bool */;
9420 int cltype;
9421 int idtype;
9422 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9423 short int var16 /* : Bool */;
9424 int cltype17;
9425 int idtype18;
9426 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
9427 short int var19 /* : Bool */;
9428 int cltype20;
9429 int idtype21;
9430 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9431 short int var22 /* : Bool */;
9432 int cltype23;
9433 int idtype24;
9434 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
9435 short int var25 /* : Bool */;
9436 int cltype26;
9437 int idtype27;
9438 val* var_listnode10 /* var listnode10: nullable Object */;
9439 short int var28 /* : Bool */;
9440 int cltype29;
9441 int idtype30;
9442 val* var31 /* : Array[Object] */;
9443 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
9444 short int var32 /* : Bool */;
9445 int cltype33;
9446 int idtype34;
9447 val* var35 /* : AStdClassdef */;
9448 val* var36 /* : null */;
9449 val* var37 /* : null */;
9450 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
9451 long var38 /* : Int */;
9452 long var39 /* : Int */;
9453 var_p = p0;
9454 var = NULL;
9455 var_node_list = var;
9456 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9457 var_nodearraylist11 = var1;
9458 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9459 var_nodearraylist10 = var2;
9460 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9461 var_nodearraylist9 = var3;
9462 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9463 var_nodearraylist8 = var4;
9464 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9465 var_nodearraylist7 = var5;
9466 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9467 var_nodearraylist6 = var6;
9468 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9469 var_nodearraylist5 = var7;
9470 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9471 var_nodearraylist4 = var8;
9472 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9473 var_nodearraylist3 = var9;
9474 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9475 var_nodearraylist2 = var10;
9476 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9477 var_nodearraylist1 = var11;
9478 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
9479 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
9480 CHECK_NEW_array__Array(var12);
9481 var_listnode7 = var12;
9482 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
9483 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
9484 CHECK_NEW_array__Array(var13);
9485 var_listnode11 = var13;
9486 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
9487 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
9488 CHECK_NEW_array__Array(var14);
9489 var_listnode12 = var14;
9490 var_pdocnode2 = var_nodearraylist1;
9491 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9492 cltype = type_nullable_parser_nodes__ADoc.color;
9493 idtype = type_nullable_parser_nodes__ADoc.id;
9494 if(var_pdocnode2 == NULL) {
9495 var15 = 1;
9496 } else {
9497 if(cltype >= var_pdocnode2->type->table_size) {
9498 var15 = 0;
9499 } else {
9500 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
9501 }
9502 }
9503 if (!var15) {
9504 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8502);
9505 exit(1);
9506 }
9507 var_pvisibilitynode4 = var_nodearraylist2;
9508 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9509 cltype17 = type_nullable_parser_nodes__AVisibility.color;
9510 idtype18 = type_nullable_parser_nodes__AVisibility.id;
9511 if(var_pvisibilitynode4 == NULL) {
9512 var16 = 1;
9513 } else {
9514 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
9515 var16 = 0;
9516 } else {
9517 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
9518 }
9519 }
9520 if (!var16) {
9521 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8504);
9522 exit(1);
9523 }
9524 var_pclasskindnode5 = var_nodearraylist3;
9525 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
9526 cltype20 = type_nullable_parser_nodes__AClasskind.color;
9527 idtype21 = type_nullable_parser_nodes__AClasskind.id;
9528 if(var_pclasskindnode5 == NULL) {
9529 var19 = 1;
9530 } else {
9531 if(cltype20 >= var_pclasskindnode5->type->table_size) {
9532 var19 = 0;
9533 } else {
9534 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
9535 }
9536 }
9537 if (!var19) {
9538 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8506);
9539 exit(1);
9540 }
9541 var_tclassidnode6 = var_nodearraylist7;
9542 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9543 cltype23 = type_nullable_parser_nodes__TClassid.color;
9544 idtype24 = type_nullable_parser_nodes__TClassid.id;
9545 if(var_tclassidnode6 == NULL) {
9546 var22 = 1;
9547 } else {
9548 if(cltype23 >= var_tclassidnode6->type->table_size) {
9549 var22 = 0;
9550 } else {
9551 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
9552 }
9553 }
9554 if (!var22) {
9555 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8508);
9556 exit(1);
9557 }
9558 var_pexterncodeblocknode9 = var_nodearraylist8;
9559 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
9560 cltype26 = type_nullable_parser_nodes__AExternCodeBlock.color;
9561 idtype27 = type_nullable_parser_nodes__AExternCodeBlock.id;
9562 if(var_pexterncodeblocknode9 == NULL) {
9563 var25 = 1;
9564 } else {
9565 if(cltype26 >= var_pexterncodeblocknode9->type->table_size) {
9566 var25 = 0;
9567 } else {
9568 var25 = var_pexterncodeblocknode9->type->type_table[cltype26] == idtype27;
9569 }
9570 }
9571 if (!var25) {
9572 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8510);
9573 exit(1);
9574 }
9575 var_listnode10 = var_nodearraylist9;
9576 /* <var_listnode10:nullable Object> isa Array[Object] */
9577 cltype29 = type_array__Arraykernel__Object.color;
9578 idtype30 = type_array__Arraykernel__Object.id;
9579 if(var_listnode10 == NULL) {
9580 var28 = 0;
9581 } else {
9582 if(cltype29 >= var_listnode10->type->table_size) {
9583 var28 = 0;
9584 } else {
9585 var28 = var_listnode10->type->type_table[cltype29] == idtype30;
9586 }
9587 }
9588 if (!var28) {
9589 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8512);
9590 exit(1);
9591 }
9592 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction172>*/;
9593 var_listnode11 = var31;
9594 var_tkwendnode13 = var_nodearraylist11;
9595 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
9596 cltype33 = type_nullable_parser_nodes__TKwend.color;
9597 idtype34 = type_nullable_parser_nodes__TKwend.id;
9598 if(var_tkwendnode13 == NULL) {
9599 var32 = 1;
9600 } else {
9601 if(cltype33 >= var_tkwendnode13->type->table_size) {
9602 var32 = 0;
9603 } else {
9604 var32 = var_tkwendnode13->type->type_table[cltype33] == idtype34;
9605 }
9606 }
9607 if (!var32) {
9608 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8515);
9609 exit(1);
9610 }
9611 var35 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9612 var36 = NULL;
9613 var37 = NULL;
9614 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var35->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var35, var_pdocnode2, var36, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var37, var_pexterncodeblocknode9, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var35:AStdClassdef>*/;
9615 CHECK_NEW_parser_nodes__AStdClassdef(var35);
9616 var_pclassdefnode1 = var35;
9617 var_node_list = var_pclassdefnode1;
9618 var38 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction172> */
9619 var39 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var38) /* go_to on <var_p:Parser>*/;
9620 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var39, var_node_list) /* push on <var_p:Parser>*/;
9621 RET_LABEL:;
9622 }
9623 /* method parser#ReduceAction172#action for (self: Object, Parser) */
9624 void VIRTUAL_parser__ReduceAction172__action(val* self, val* p0) {
9625 parser__ReduceAction172__action(self, p0);
9626 RET_LABEL:;
9627 }
9628 /* method parser#ReduceAction174#action for (self: ReduceAction174, Parser) */
9629 void parser__ReduceAction174__action(val* self, val* p0) {
9630 val* var_p /* var p: Parser */;
9631 val* var /* : null */;
9632 val* var_node_list /* var node_list: nullable Object */;
9633 val* var1 /* : nullable Object */;
9634 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
9635 val* var2 /* : nullable Object */;
9636 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
9637 val* var3 /* : nullable Object */;
9638 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9639 val* var4 /* : nullable Object */;
9640 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9641 val* var5 /* : nullable Object */;
9642 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9643 val* var6 /* : nullable Object */;
9644 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9645 val* var7 /* : nullable Object */;
9646 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9647 val* var8 /* : nullable Object */;
9648 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9649 val* var9 /* : nullable Object */;
9650 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9651 val* var10 /* : nullable Object */;
9652 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9653 val* var11 /* : nullable Object */;
9654 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9655 val* var12 /* : Array[Object] */;
9656 val* var_listnode7 /* var listnode7: Array[Object] */;
9657 val* var13 /* : Array[Object] */;
9658 val* var_listnode11 /* var listnode11: Array[Object] */;
9659 val* var14 /* : Array[Object] */;
9660 val* var_listnode12 /* var listnode12: Array[Object] */;
9661 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9662 short int var15 /* : Bool */;
9663 int cltype;
9664 int idtype;
9665 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
9666 short int var16 /* : Bool */;
9667 int cltype17;
9668 int idtype18;
9669 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9670 short int var19 /* : Bool */;
9671 int cltype20;
9672 int idtype21;
9673 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
9674 short int var22 /* : Bool */;
9675 int cltype23;
9676 int idtype24;
9677 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9678 short int var25 /* : Bool */;
9679 int cltype26;
9680 int idtype27;
9681 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
9682 short int var28 /* : Bool */;
9683 int cltype29;
9684 int idtype30;
9685 val* var_listnode10 /* var listnode10: nullable Object */;
9686 short int var31 /* : Bool */;
9687 int cltype32;
9688 int idtype33;
9689 val* var34 /* : Array[Object] */;
9690 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
9691 short int var35 /* : Bool */;
9692 int cltype36;
9693 int idtype37;
9694 val* var38 /* : AStdClassdef */;
9695 val* var39 /* : null */;
9696 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
9697 long var40 /* : Int */;
9698 long var41 /* : Int */;
9699 var_p = p0;
9700 var = NULL;
9701 var_node_list = var;
9702 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9703 var_nodearraylist11 = var1;
9704 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9705 var_nodearraylist10 = var2;
9706 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9707 var_nodearraylist9 = var3;
9708 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9709 var_nodearraylist8 = var4;
9710 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9711 var_nodearraylist7 = var5;
9712 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9713 var_nodearraylist6 = var6;
9714 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9715 var_nodearraylist5 = var7;
9716 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9717 var_nodearraylist4 = var8;
9718 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9719 var_nodearraylist3 = var9;
9720 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9721 var_nodearraylist2 = var10;
9722 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9723 var_nodearraylist1 = var11;
9724 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
9725 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
9726 CHECK_NEW_array__Array(var12);
9727 var_listnode7 = var12;
9728 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
9729 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
9730 CHECK_NEW_array__Array(var13);
9731 var_listnode11 = var13;
9732 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
9733 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
9734 CHECK_NEW_array__Array(var14);
9735 var_listnode12 = var14;
9736 var_pdocnode2 = var_nodearraylist1;
9737 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9738 cltype = type_nullable_parser_nodes__ADoc.color;
9739 idtype = type_nullable_parser_nodes__ADoc.id;
9740 if(var_pdocnode2 == NULL) {
9741 var15 = 1;
9742 } else {
9743 if(cltype >= var_pdocnode2->type->table_size) {
9744 var15 = 0;
9745 } else {
9746 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
9747 }
9748 }
9749 if (!var15) {
9750 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8553);
9751 exit(1);
9752 }
9753 var_tkwredefnode3 = var_nodearraylist2;
9754 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
9755 cltype17 = type_nullable_parser_nodes__TKwredef.color;
9756 idtype18 = type_nullable_parser_nodes__TKwredef.id;
9757 if(var_tkwredefnode3 == NULL) {
9758 var16 = 1;
9759 } else {
9760 if(cltype17 >= var_tkwredefnode3->type->table_size) {
9761 var16 = 0;
9762 } else {
9763 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
9764 }
9765 }
9766 if (!var16) {
9767 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8555);
9768 exit(1);
9769 }
9770 var_pvisibilitynode4 = var_nodearraylist3;
9771 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9772 cltype20 = type_nullable_parser_nodes__AVisibility.color;
9773 idtype21 = type_nullable_parser_nodes__AVisibility.id;
9774 if(var_pvisibilitynode4 == NULL) {
9775 var19 = 1;
9776 } else {
9777 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
9778 var19 = 0;
9779 } else {
9780 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
9781 }
9782 }
9783 if (!var19) {
9784 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8557);
9785 exit(1);
9786 }
9787 var_pclasskindnode5 = var_nodearraylist4;
9788 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
9789 cltype23 = type_nullable_parser_nodes__AClasskind.color;
9790 idtype24 = type_nullable_parser_nodes__AClasskind.id;
9791 if(var_pclasskindnode5 == NULL) {
9792 var22 = 1;
9793 } else {
9794 if(cltype23 >= var_pclasskindnode5->type->table_size) {
9795 var22 = 0;
9796 } else {
9797 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
9798 }
9799 }
9800 if (!var22) {
9801 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8559);
9802 exit(1);
9803 }
9804 var_tclassidnode6 = var_nodearraylist7;
9805 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9806 cltype26 = type_nullable_parser_nodes__TClassid.color;
9807 idtype27 = type_nullable_parser_nodes__TClassid.id;
9808 if(var_tclassidnode6 == NULL) {
9809 var25 = 1;
9810 } else {
9811 if(cltype26 >= var_tclassidnode6->type->table_size) {
9812 var25 = 0;
9813 } else {
9814 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
9815 }
9816 }
9817 if (!var25) {
9818 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8561);
9819 exit(1);
9820 }
9821 var_pexterncodeblocknode9 = var_nodearraylist8;
9822 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
9823 cltype29 = type_nullable_parser_nodes__AExternCodeBlock.color;
9824 idtype30 = type_nullable_parser_nodes__AExternCodeBlock.id;
9825 if(var_pexterncodeblocknode9 == NULL) {
9826 var28 = 1;
9827 } else {
9828 if(cltype29 >= var_pexterncodeblocknode9->type->table_size) {
9829 var28 = 0;
9830 } else {
9831 var28 = var_pexterncodeblocknode9->type->type_table[cltype29] == idtype30;
9832 }
9833 }
9834 if (!var28) {
9835 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8563);
9836 exit(1);
9837 }
9838 var_listnode10 = var_nodearraylist9;
9839 /* <var_listnode10:nullable Object> isa Array[Object] */
9840 cltype32 = type_array__Arraykernel__Object.color;
9841 idtype33 = type_array__Arraykernel__Object.id;
9842 if(var_listnode10 == NULL) {
9843 var31 = 0;
9844 } else {
9845 if(cltype32 >= var_listnode10->type->table_size) {
9846 var31 = 0;
9847 } else {
9848 var31 = var_listnode10->type->type_table[cltype32] == idtype33;
9849 }
9850 }
9851 if (!var31) {
9852 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8565);
9853 exit(1);
9854 }
9855 var34 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode11, var_listnode10) /* concat on <self:ReduceAction174>*/;
9856 var_listnode11 = var34;
9857 var_tkwendnode13 = var_nodearraylist11;
9858 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
9859 cltype36 = type_nullable_parser_nodes__TKwend.color;
9860 idtype37 = type_nullable_parser_nodes__TKwend.id;
9861 if(var_tkwendnode13 == NULL) {
9862 var35 = 1;
9863 } else {
9864 if(cltype36 >= var_tkwendnode13->type->table_size) {
9865 var35 = 0;
9866 } else {
9867 var35 = var_tkwendnode13->type->type_table[cltype36] == idtype37;
9868 }
9869 }
9870 if (!var35) {
9871 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 8568);
9872 exit(1);
9873 }
9874 var38 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9875 var39 = NULL;
9876 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var38->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var38, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var39, var_pexterncodeblocknode9, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var38:AStdClassdef>*/;
9877 CHECK_NEW_parser_nodes__AStdClassdef(var38);
9878 var_pclassdefnode1 = var38;
9879 var_node_list = var_pclassdefnode1;
9880 var40 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction174> */
9881 var41 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var40) /* go_to on <var_p:Parser>*/;
9882 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var41, var_node_list) /* push on <var_p:Parser>*/;
9883 RET_LABEL:;
9884 }
9885 /* method parser#ReduceAction174#action for (self: Object, Parser) */
9886 void VIRTUAL_parser__ReduceAction174__action(val* self, val* p0) {
9887 parser__ReduceAction174__action(self, p0);
9888 RET_LABEL:;
9889 }