parser: remove last clorure-related classes
[nit.git] / c_src / parser.sep.4.c
1 #include "parser.sep.0.h"
2 /* method parser#ReduceAction67#action for (self: ReduceAction67, Parser) */
3 void parser__ReduceAction67__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_nodearraylist7 /* var nodearraylist7: nullable Object */;
9 val* var2 /* : nullable Object */;
10 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
11 val* var3 /* : nullable Object */;
12 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
13 val* var4 /* : nullable Object */;
14 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
15 val* var5 /* : nullable Object */;
16 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
17 val* var6 /* : nullable Object */;
18 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
19 val* var7 /* : nullable Object */;
20 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
21 val* var_pvisibilitynode2 /* var pvisibilitynode2: nullable Object */;
22 short int var8 /* : Bool */;
23 int cltype;
24 int idtype;
25 val* var_tkwimportnode3 /* var tkwimportnode3: nullable Object */;
26 short int var9 /* : Bool */;
27 int cltype10;
28 int idtype11;
29 val* var_pmodulenamenode4 /* var pmodulenamenode4: nullable Object */;
30 short int var12 /* : Bool */;
31 int cltype13;
32 int idtype14;
33 val* var_pannotationsnode5 /* var pannotationsnode5: nullable Object */;
34 short int var15 /* : Bool */;
35 int cltype16;
36 int idtype17;
37 val* var18 /* : AStdImport */;
38 val* var_pimportnode1 /* var pimportnode1: nullable AStdImport */;
39 long var19 /* : Int */;
40 long var20 /* : Int */;
41 var_p = p0;
42 var = NULL;
43 var_node_list = var;
44 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
45 var_nodearraylist7 = var1;
46 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
47 var_nodearraylist6 = var2;
48 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
49 var_nodearraylist5 = var3;
50 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
51 var_nodearraylist4 = var4;
52 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
53 var_nodearraylist3 = var5;
54 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
55 var_nodearraylist2 = var6;
56 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
57 var_nodearraylist1 = var7;
58 var_pvisibilitynode2 = var_nodearraylist2;
59 /* <var_pvisibilitynode2:nullable Object> isa nullable AVisibility */
60 cltype = type_nullable_parser_nodes__AVisibility.color;
61 idtype = type_nullable_parser_nodes__AVisibility.id;
62 if(var_pvisibilitynode2 == NULL) {
63 var8 = 1;
64 } else {
65 if(cltype >= var_pvisibilitynode2->type->table_size) {
66 var8 = 0;
67 } else {
68 var8 = var_pvisibilitynode2->type->type_table[cltype] == idtype;
69 }
70 }
71 if (!var8) {
72 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4330);
73 exit(1);
74 }
75 var_tkwimportnode3 = var_nodearraylist3;
76 /* <var_tkwimportnode3:nullable Object> isa nullable TKwimport */
77 cltype10 = type_nullable_parser_nodes__TKwimport.color;
78 idtype11 = type_nullable_parser_nodes__TKwimport.id;
79 if(var_tkwimportnode3 == NULL) {
80 var9 = 1;
81 } else {
82 if(cltype10 >= var_tkwimportnode3->type->table_size) {
83 var9 = 0;
84 } else {
85 var9 = var_tkwimportnode3->type->type_table[cltype10] == idtype11;
86 }
87 }
88 if (!var9) {
89 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4332);
90 exit(1);
91 }
92 var_pmodulenamenode4 = var_nodearraylist5;
93 /* <var_pmodulenamenode4:nullable Object> isa nullable AModuleName */
94 cltype13 = type_nullable_parser_nodes__AModuleName.color;
95 idtype14 = type_nullable_parser_nodes__AModuleName.id;
96 if(var_pmodulenamenode4 == NULL) {
97 var12 = 1;
98 } else {
99 if(cltype13 >= var_pmodulenamenode4->type->table_size) {
100 var12 = 0;
101 } else {
102 var12 = var_pmodulenamenode4->type->type_table[cltype13] == idtype14;
103 }
104 }
105 if (!var12) {
106 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4334);
107 exit(1);
108 }
109 var_pannotationsnode5 = var_nodearraylist6;
110 /* <var_pannotationsnode5:nullable Object> isa nullable AAnnotations */
111 cltype16 = type_nullable_parser_nodes__AAnnotations.color;
112 idtype17 = type_nullable_parser_nodes__AAnnotations.id;
113 if(var_pannotationsnode5 == NULL) {
114 var15 = 1;
115 } else {
116 if(cltype16 >= var_pannotationsnode5->type->table_size) {
117 var15 = 0;
118 } else {
119 var15 = var_pannotationsnode5->type->type_table[cltype16] == idtype17;
120 }
121 }
122 if (!var15) {
123 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4336);
124 exit(1);
125 }
126 var18 = NEW_parser_nodes__AStdImport(&type_parser_nodes__AStdImport);
127 ((void (*)(val*, val*, val*, val*, val*))(var18->class->vft[COLOR_parser_prod__AStdImport__init_astdimport]))(var18, var_pvisibilitynode2, var_tkwimportnode3, var_pmodulenamenode4, var_pannotationsnode5) /* init_astdimport on <var18:AStdImport>*/;
128 CHECK_NEW_parser_nodes__AStdImport(var18);
129 var_pimportnode1 = var18;
130 var_node_list = var_pimportnode1;
131 var19 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction67> */
132 var20 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var19) /* go_to on <var_p:Parser>*/;
133 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var20, var_node_list) /* push on <var_p:Parser>*/;
134 RET_LABEL:;
135 }
136 /* method parser#ReduceAction67#action for (self: Object, Parser) */
137 void VIRTUAL_parser__ReduceAction67__action(val* self, val* p0) {
138 parser__ReduceAction67__action(self, p0);
139 RET_LABEL:;
140 }
141 /* method parser#ReduceAction68#action for (self: ReduceAction68, Parser) */
142 void parser__ReduceAction68__action(val* self, val* p0) {
143 val* var_p /* var p: Parser */;
144 val* var /* : null */;
145 val* var_node_list /* var node_list: nullable Object */;
146 val* var1 /* : nullable Object */;
147 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
148 val* var2 /* : nullable Object */;
149 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
150 val* var3 /* : nullable Object */;
151 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
152 val* var4 /* : nullable Object */;
153 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
154 val* var5 /* : nullable Object */;
155 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
156 val* var6 /* : nullable Object */;
157 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
158 val* var_pvisibilitynode2 /* var pvisibilitynode2: nullable Object */;
159 short int var7 /* : Bool */;
160 int cltype;
161 int idtype;
162 val* var_tkwimportnode3 /* var tkwimportnode3: nullable Object */;
163 short int var8 /* : Bool */;
164 int cltype9;
165 int idtype10;
166 val* var_tkwendnode4 /* var tkwendnode4: nullable Object */;
167 short int var11 /* : Bool */;
168 int cltype12;
169 int idtype13;
170 val* var14 /* : ANoImport */;
171 val* var_pimportnode1 /* var pimportnode1: nullable ANoImport */;
172 long var15 /* : Int */;
173 long var16 /* : Int */;
174 var_p = p0;
175 var = NULL;
176 var_node_list = var;
177 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
178 var_nodearraylist6 = var1;
179 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
180 var_nodearraylist5 = var2;
181 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
182 var_nodearraylist4 = var3;
183 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
184 var_nodearraylist3 = var4;
185 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
186 var_nodearraylist2 = var5;
187 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
188 var_nodearraylist1 = var6;
189 var_pvisibilitynode2 = var_nodearraylist2;
190 /* <var_pvisibilitynode2:nullable Object> isa nullable AVisibility */
191 cltype = type_nullable_parser_nodes__AVisibility.color;
192 idtype = type_nullable_parser_nodes__AVisibility.id;
193 if(var_pvisibilitynode2 == NULL) {
194 var7 = 1;
195 } else {
196 if(cltype >= var_pvisibilitynode2->type->table_size) {
197 var7 = 0;
198 } else {
199 var7 = var_pvisibilitynode2->type->type_table[cltype] == idtype;
200 }
201 }
202 if (!var7) {
203 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4359);
204 exit(1);
205 }
206 var_tkwimportnode3 = var_nodearraylist3;
207 /* <var_tkwimportnode3:nullable Object> isa nullable TKwimport */
208 cltype9 = type_nullable_parser_nodes__TKwimport.color;
209 idtype10 = type_nullable_parser_nodes__TKwimport.id;
210 if(var_tkwimportnode3 == NULL) {
211 var8 = 1;
212 } else {
213 if(cltype9 >= var_tkwimportnode3->type->table_size) {
214 var8 = 0;
215 } else {
216 var8 = var_tkwimportnode3->type->type_table[cltype9] == idtype10;
217 }
218 }
219 if (!var8) {
220 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4361);
221 exit(1);
222 }
223 var_tkwendnode4 = var_nodearraylist5;
224 /* <var_tkwendnode4:nullable Object> isa nullable TKwend */
225 cltype12 = type_nullable_parser_nodes__TKwend.color;
226 idtype13 = type_nullable_parser_nodes__TKwend.id;
227 if(var_tkwendnode4 == NULL) {
228 var11 = 1;
229 } else {
230 if(cltype12 >= var_tkwendnode4->type->table_size) {
231 var11 = 0;
232 } else {
233 var11 = var_tkwendnode4->type->type_table[cltype12] == idtype13;
234 }
235 }
236 if (!var11) {
237 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4363);
238 exit(1);
239 }
240 var14 = NEW_parser_nodes__ANoImport(&type_parser_nodes__ANoImport);
241 ((void (*)(val*, val*, val*, val*))(var14->class->vft[COLOR_parser_prod__ANoImport__init_anoimport]))(var14, var_pvisibilitynode2, var_tkwimportnode3, var_tkwendnode4) /* init_anoimport on <var14:ANoImport>*/;
242 CHECK_NEW_parser_nodes__ANoImport(var14);
243 var_pimportnode1 = var14;
244 var_node_list = var_pimportnode1;
245 var15 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction68> */
246 var16 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var15) /* go_to on <var_p:Parser>*/;
247 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var16, var_node_list) /* push on <var_p:Parser>*/;
248 RET_LABEL:;
249 }
250 /* method parser#ReduceAction68#action for (self: Object, Parser) */
251 void VIRTUAL_parser__ReduceAction68__action(val* self, val* p0) {
252 parser__ReduceAction68__action(self, p0);
253 RET_LABEL:;
254 }
255 /* method parser#ReduceAction69#action for (self: ReduceAction69, Parser) */
256 void parser__ReduceAction69__action(val* self, val* p0) {
257 val* var_p /* var p: Parser */;
258 val* var /* : null */;
259 val* var_node_list /* var node_list: nullable Object */;
260 val* var1 /* : nullable Object */;
261 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
262 val* var2 /* : Array[Object] */;
263 val* var_listnode3 /* var listnode3: Array[Object] */;
264 val* var_ppropdefnode2 /* var ppropdefnode2: nullable Object */;
265 short int var3 /* : Bool */;
266 int cltype;
267 int idtype;
268 val* var4 /* : null */;
269 short int var5 /* : Bool */;
270 val* var6 /* : AMainClassdef */;
271 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AMainClassdef */;
272 long var7 /* : Int */;
273 long var8 /* : Int */;
274 var_p = p0;
275 var = NULL;
276 var_node_list = var;
277 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
278 var_nodearraylist1 = var1;
279 var2 = NEW_array__Array(&type_array__Arraykernel__Object);
280 ((void (*)(val*))(var2->class->vft[COLOR_array__Array__init]))(var2) /* init on <var2:Array[Object]>*/;
281 CHECK_NEW_array__Array(var2);
282 var_listnode3 = var2;
283 var_ppropdefnode2 = var_nodearraylist1;
284 /* <var_ppropdefnode2:nullable Object> isa nullable APropdef */
285 cltype = type_nullable_parser_nodes__APropdef.color;
286 idtype = type_nullable_parser_nodes__APropdef.id;
287 if(var_ppropdefnode2 == NULL) {
288 var3 = 1;
289 } else {
290 if(cltype >= var_ppropdefnode2->type->table_size) {
291 var3 = 0;
292 } else {
293 var3 = var_ppropdefnode2->type->type_table[cltype] == idtype;
294 }
295 }
296 if (!var3) {
297 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4381);
298 exit(1);
299 }
300 var4 = NULL;
301 if (var_ppropdefnode2 == NULL) {
302 var5 = 0; /* is null */
303 } else {
304 var5 = 1; /* arg is null and recv is not */
305 }
306 if (var5){
307 ((void (*)(val*, val*))(var_listnode3->class->vft[COLOR_abstract_collection__SimpleCollection__add]))(var_listnode3, var_ppropdefnode2) /* add on <var_listnode3:Array[Object]>*/;
308 } else {
309 }
310 var6 = NEW_parser_nodes__AMainClassdef(&type_parser_nodes__AMainClassdef);
311 ((void (*)(val*, val*))(var6->class->vft[COLOR_parser_prod__AMainClassdef__init_amainclassdef]))(var6, var_listnode3) /* init_amainclassdef on <var6:AMainClassdef>*/;
312 CHECK_NEW_parser_nodes__AMainClassdef(var6);
313 var_pclassdefnode1 = var6;
314 var_node_list = var_pclassdefnode1;
315 var7 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction69> */
316 var8 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var7) /* go_to on <var_p:Parser>*/;
317 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var8, var_node_list) /* push on <var_p:Parser>*/;
318 RET_LABEL:;
319 }
320 /* method parser#ReduceAction69#action for (self: Object, Parser) */
321 void VIRTUAL_parser__ReduceAction69__action(val* self, val* p0) {
322 parser__ReduceAction69__action(self, p0);
323 RET_LABEL:;
324 }
325 /* method parser#ReduceAction70#action for (self: ReduceAction70, Parser) */
326 void parser__ReduceAction70__action(val* self, val* p0) {
327 val* var_p /* var p: Parser */;
328 val* var /* : null */;
329 val* var_node_list /* var node_list: nullable Object */;
330 val* var1 /* : nullable Object */;
331 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
332 val* var2 /* : null */;
333 long var3 /* : Int */;
334 long var4 /* : Int */;
335 var_p = p0;
336 var = NULL;
337 var_node_list = var;
338 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
339 var_nodearraylist1 = var1;
340 var2 = NULL;
341 var_node_list = var2;
342 var3 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction70> */
343 var4 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var3) /* go_to on <var_p:Parser>*/;
344 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var4, var_node_list) /* push on <var_p:Parser>*/;
345 RET_LABEL:;
346 }
347 /* method parser#ReduceAction70#action for (self: Object, Parser) */
348 void VIRTUAL_parser__ReduceAction70__action(val* self, val* p0) {
349 parser__ReduceAction70__action(self, p0);
350 RET_LABEL:;
351 }
352 /* method parser#ReduceAction71#action for (self: ReduceAction71, Parser) */
353 void parser__ReduceAction71__action(val* self, val* p0) {
354 val* var_p /* var p: Parser */;
355 val* var /* : null */;
356 val* var_node_list /* var node_list: nullable Object */;
357 val* var1 /* : nullable Object */;
358 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
359 val* var2 /* : nullable Object */;
360 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
361 val* var_pexprnode3 /* var pexprnode3: nullable Object */;
362 short int var3 /* : Bool */;
363 int cltype;
364 int idtype;
365 val* var4 /* : AMainMethPropdef */;
366 val* var5 /* : null */;
367 val* var_ppropdefnode1 /* var ppropdefnode1: nullable AMainMethPropdef */;
368 long var6 /* : Int */;
369 long var7 /* : Int */;
370 var_p = p0;
371 var = NULL;
372 var_node_list = var;
373 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
374 var_nodearraylist2 = var1;
375 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
376 var_nodearraylist1 = var2;
377 var_pexprnode3 = var_nodearraylist2;
378 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
379 cltype = type_nullable_parser_nodes__AExpr.color;
380 idtype = type_nullable_parser_nodes__AExpr.id;
381 if(var_pexprnode3 == NULL) {
382 var3 = 1;
383 } else {
384 if(cltype >= var_pexprnode3->type->table_size) {
385 var3 = 0;
386 } else {
387 var3 = var_pexprnode3->type->type_table[cltype] == idtype;
388 }
389 }
390 if (!var3) {
391 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4410);
392 exit(1);
393 }
394 var4 = NEW_parser_nodes__AMainMethPropdef(&type_parser_nodes__AMainMethPropdef);
395 var5 = NULL;
396 ((void (*)(val*, val*, val*))(var4->class->vft[COLOR_parser_prod__AMainMethPropdef__init_amainmethpropdef]))(var4, var5, var_pexprnode3) /* init_amainmethpropdef on <var4:AMainMethPropdef>*/;
397 CHECK_NEW_parser_nodes__AMainMethPropdef(var4);
398 var_ppropdefnode1 = var4;
399 var_node_list = var_ppropdefnode1;
400 var6 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction71> */
401 var7 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var6) /* go_to on <var_p:Parser>*/;
402 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var7, var_node_list) /* push on <var_p:Parser>*/;
403 RET_LABEL:;
404 }
405 /* method parser#ReduceAction71#action for (self: Object, Parser) */
406 void VIRTUAL_parser__ReduceAction71__action(val* self, val* p0) {
407 parser__ReduceAction71__action(self, p0);
408 RET_LABEL:;
409 }
410 /* method parser#ReduceAction73#action for (self: ReduceAction73, Parser) */
411 void parser__ReduceAction73__action(val* self, val* p0) {
412 val* var_p /* var p: Parser */;
413 val* var /* : null */;
414 val* var_node_list /* var node_list: nullable Object */;
415 val* var1 /* : nullable Object */;
416 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
417 val* var2 /* : nullable Object */;
418 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
419 val* var3 /* : nullable Object */;
420 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
421 val* var4 /* : nullable Object */;
422 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
423 val* var5 /* : nullable Object */;
424 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
425 val* var6 /* : nullable Object */;
426 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
427 val* var7 /* : nullable Object */;
428 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
429 val* var8 /* : Array[Object] */;
430 val* var_listnode7 /* var listnode7: Array[Object] */;
431 val* var9 /* : Array[Object] */;
432 val* var_listnode10 /* var listnode10: Array[Object] */;
433 val* var10 /* : Array[Object] */;
434 val* var_listnode11 /* var listnode11: Array[Object] */;
435 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
436 short int var11 /* : Bool */;
437 int cltype;
438 int idtype;
439 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
440 short int var12 /* : Bool */;
441 int cltype13;
442 int idtype14;
443 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
444 short int var15 /* : Bool */;
445 int cltype16;
446 int idtype17;
447 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
448 short int var18 /* : Bool */;
449 int cltype19;
450 int idtype20;
451 val* var_tkwendnode12 /* var tkwendnode12: nullable Object */;
452 short int var21 /* : Bool */;
453 int cltype22;
454 int idtype23;
455 val* var24 /* : AStdClassdef */;
456 val* var25 /* : null */;
457 val* var26 /* : null */;
458 val* var27 /* : null */;
459 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
460 long var28 /* : Int */;
461 long var29 /* : Int */;
462 var_p = p0;
463 var = NULL;
464 var_node_list = var;
465 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
466 var_nodearraylist7 = var1;
467 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
468 var_nodearraylist6 = var2;
469 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
470 var_nodearraylist5 = var3;
471 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
472 var_nodearraylist4 = var4;
473 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
474 var_nodearraylist3 = var5;
475 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
476 var_nodearraylist2 = var6;
477 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
478 var_nodearraylist1 = var7;
479 var8 = NEW_array__Array(&type_array__Arraykernel__Object);
480 ((void (*)(val*))(var8->class->vft[COLOR_array__Array__init]))(var8) /* init on <var8:Array[Object]>*/;
481 CHECK_NEW_array__Array(var8);
482 var_listnode7 = var8;
483 var9 = NEW_array__Array(&type_array__Arraykernel__Object);
484 ((void (*)(val*))(var9->class->vft[COLOR_array__Array__init]))(var9) /* init on <var9:Array[Object]>*/;
485 CHECK_NEW_array__Array(var9);
486 var_listnode10 = var9;
487 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
488 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
489 CHECK_NEW_array__Array(var10);
490 var_listnode11 = var10;
491 var_pdocnode2 = var_nodearraylist1;
492 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
493 cltype = type_nullable_parser_nodes__ADoc.color;
494 idtype = type_nullable_parser_nodes__ADoc.id;
495 if(var_pdocnode2 == NULL) {
496 var11 = 1;
497 } else {
498 if(cltype >= var_pdocnode2->type->table_size) {
499 var11 = 0;
500 } else {
501 var11 = var_pdocnode2->type->type_table[cltype] == idtype;
502 }
503 }
504 if (!var11) {
505 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4435);
506 exit(1);
507 }
508 var_pvisibilitynode4 = var_nodearraylist2;
509 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
510 cltype13 = type_nullable_parser_nodes__AVisibility.color;
511 idtype14 = type_nullable_parser_nodes__AVisibility.id;
512 if(var_pvisibilitynode4 == NULL) {
513 var12 = 1;
514 } else {
515 if(cltype13 >= var_pvisibilitynode4->type->table_size) {
516 var12 = 0;
517 } else {
518 var12 = var_pvisibilitynode4->type->type_table[cltype13] == idtype14;
519 }
520 }
521 if (!var12) {
522 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4437);
523 exit(1);
524 }
525 var_pclasskindnode5 = var_nodearraylist3;
526 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
527 cltype16 = type_nullable_parser_nodes__AClasskind.color;
528 idtype17 = type_nullable_parser_nodes__AClasskind.id;
529 if(var_pclasskindnode5 == NULL) {
530 var15 = 1;
531 } else {
532 if(cltype16 >= var_pclasskindnode5->type->table_size) {
533 var15 = 0;
534 } else {
535 var15 = var_pclasskindnode5->type->type_table[cltype16] == idtype17;
536 }
537 }
538 if (!var15) {
539 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4439);
540 exit(1);
541 }
542 var_tclassidnode6 = var_nodearraylist5;
543 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
544 cltype19 = type_nullable_parser_nodes__TClassid.color;
545 idtype20 = type_nullable_parser_nodes__TClassid.id;
546 if(var_tclassidnode6 == NULL) {
547 var18 = 1;
548 } else {
549 if(cltype19 >= var_tclassidnode6->type->table_size) {
550 var18 = 0;
551 } else {
552 var18 = var_tclassidnode6->type->type_table[cltype19] == idtype20;
553 }
554 }
555 if (!var18) {
556 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4441);
557 exit(1);
558 }
559 var_tkwendnode12 = var_nodearraylist7;
560 /* <var_tkwendnode12:nullable Object> isa nullable TKwend */
561 cltype22 = type_nullable_parser_nodes__TKwend.color;
562 idtype23 = type_nullable_parser_nodes__TKwend.id;
563 if(var_tkwendnode12 == NULL) {
564 var21 = 1;
565 } else {
566 if(cltype22 >= var_tkwendnode12->type->table_size) {
567 var21 = 0;
568 } else {
569 var21 = var_tkwendnode12->type->type_table[cltype22] == idtype23;
570 }
571 }
572 if (!var21) {
573 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4443);
574 exit(1);
575 }
576 var24 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
577 var25 = NULL;
578 var26 = NULL;
579 var27 = NULL;
580 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var24->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var24, var_pdocnode2, var25, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var26, var27, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on <var24:AStdClassdef>*/;
581 CHECK_NEW_parser_nodes__AStdClassdef(var24);
582 var_pclassdefnode1 = var24;
583 var_node_list = var_pclassdefnode1;
584 var28 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction73> */
585 var29 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var28) /* go_to on <var_p:Parser>*/;
586 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var29, var_node_list) /* push on <var_p:Parser>*/;
587 RET_LABEL:;
588 }
589 /* method parser#ReduceAction73#action for (self: Object, Parser) */
590 void VIRTUAL_parser__ReduceAction73__action(val* self, val* p0) {
591 parser__ReduceAction73__action(self, p0);
592 RET_LABEL:;
593 }
594 /* method parser#ReduceAction74#action for (self: ReduceAction74, Parser) */
595 void parser__ReduceAction74__action(val* self, val* p0) {
596 val* var_p /* var p: Parser */;
597 val* var /* : null */;
598 val* var_node_list /* var node_list: nullable Object */;
599 val* var1 /* : nullable Object */;
600 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
601 val* var2 /* : nullable Object */;
602 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
603 val* var3 /* : nullable Object */;
604 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
605 val* var4 /* : nullable Object */;
606 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
607 val* var5 /* : nullable Object */;
608 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
609 val* var6 /* : nullable Object */;
610 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
611 val* var7 /* : nullable Object */;
612 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
613 val* var8 /* : nullable Object */;
614 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
615 val* var9 /* : Array[Object] */;
616 val* var_listnode7 /* var listnode7: Array[Object] */;
617 val* var10 /* : Array[Object] */;
618 val* var_listnode10 /* var listnode10: Array[Object] */;
619 val* var11 /* : Array[Object] */;
620 val* var_listnode11 /* var listnode11: Array[Object] */;
621 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
622 short int var12 /* : Bool */;
623 int cltype;
624 int idtype;
625 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
626 short int var13 /* : Bool */;
627 int cltype14;
628 int idtype15;
629 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
630 short int var16 /* : Bool */;
631 int cltype17;
632 int idtype18;
633 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
634 short int var19 /* : Bool */;
635 int cltype20;
636 int idtype21;
637 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
638 short int var22 /* : Bool */;
639 int cltype23;
640 int idtype24;
641 val* var_tkwendnode12 /* var tkwendnode12: nullable Object */;
642 short int var25 /* : Bool */;
643 int cltype26;
644 int idtype27;
645 val* var28 /* : AStdClassdef */;
646 val* var29 /* : null */;
647 val* var30 /* : null */;
648 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
649 long var31 /* : Int */;
650 long var32 /* : Int */;
651 var_p = p0;
652 var = NULL;
653 var_node_list = var;
654 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
655 var_nodearraylist8 = var1;
656 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
657 var_nodearraylist7 = var2;
658 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
659 var_nodearraylist6 = var3;
660 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
661 var_nodearraylist5 = var4;
662 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
663 var_nodearraylist4 = var5;
664 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
665 var_nodearraylist3 = var6;
666 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
667 var_nodearraylist2 = var7;
668 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
669 var_nodearraylist1 = var8;
670 var9 = NEW_array__Array(&type_array__Arraykernel__Object);
671 ((void (*)(val*))(var9->class->vft[COLOR_array__Array__init]))(var9) /* init on <var9:Array[Object]>*/;
672 CHECK_NEW_array__Array(var9);
673 var_listnode7 = var9;
674 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
675 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
676 CHECK_NEW_array__Array(var10);
677 var_listnode10 = var10;
678 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
679 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
680 CHECK_NEW_array__Array(var11);
681 var_listnode11 = var11;
682 var_pdocnode2 = var_nodearraylist1;
683 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
684 cltype = type_nullable_parser_nodes__ADoc.color;
685 idtype = type_nullable_parser_nodes__ADoc.id;
686 if(var_pdocnode2 == NULL) {
687 var12 = 1;
688 } else {
689 if(cltype >= var_pdocnode2->type->table_size) {
690 var12 = 0;
691 } else {
692 var12 = var_pdocnode2->type->type_table[cltype] == idtype;
693 }
694 }
695 if (!var12) {
696 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4478);
697 exit(1);
698 }
699 var_tkwredefnode3 = var_nodearraylist2;
700 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
701 cltype14 = type_nullable_parser_nodes__TKwredef.color;
702 idtype15 = type_nullable_parser_nodes__TKwredef.id;
703 if(var_tkwredefnode3 == NULL) {
704 var13 = 1;
705 } else {
706 if(cltype14 >= var_tkwredefnode3->type->table_size) {
707 var13 = 0;
708 } else {
709 var13 = var_tkwredefnode3->type->type_table[cltype14] == idtype15;
710 }
711 }
712 if (!var13) {
713 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4480);
714 exit(1);
715 }
716 var_pvisibilitynode4 = var_nodearraylist3;
717 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
718 cltype17 = type_nullable_parser_nodes__AVisibility.color;
719 idtype18 = type_nullable_parser_nodes__AVisibility.id;
720 if(var_pvisibilitynode4 == NULL) {
721 var16 = 1;
722 } else {
723 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
724 var16 = 0;
725 } else {
726 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
727 }
728 }
729 if (!var16) {
730 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4482);
731 exit(1);
732 }
733 var_pclasskindnode5 = var_nodearraylist4;
734 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
735 cltype20 = type_nullable_parser_nodes__AClasskind.color;
736 idtype21 = type_nullable_parser_nodes__AClasskind.id;
737 if(var_pclasskindnode5 == NULL) {
738 var19 = 1;
739 } else {
740 if(cltype20 >= var_pclasskindnode5->type->table_size) {
741 var19 = 0;
742 } else {
743 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
744 }
745 }
746 if (!var19) {
747 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4484);
748 exit(1);
749 }
750 var_tclassidnode6 = var_nodearraylist6;
751 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
752 cltype23 = type_nullable_parser_nodes__TClassid.color;
753 idtype24 = type_nullable_parser_nodes__TClassid.id;
754 if(var_tclassidnode6 == NULL) {
755 var22 = 1;
756 } else {
757 if(cltype23 >= var_tclassidnode6->type->table_size) {
758 var22 = 0;
759 } else {
760 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
761 }
762 }
763 if (!var22) {
764 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4486);
765 exit(1);
766 }
767 var_tkwendnode12 = var_nodearraylist8;
768 /* <var_tkwendnode12:nullable Object> isa nullable TKwend */
769 cltype26 = type_nullable_parser_nodes__TKwend.color;
770 idtype27 = type_nullable_parser_nodes__TKwend.id;
771 if(var_tkwendnode12 == NULL) {
772 var25 = 1;
773 } else {
774 if(cltype26 >= var_tkwendnode12->type->table_size) {
775 var25 = 0;
776 } else {
777 var25 = var_tkwendnode12->type->type_table[cltype26] == idtype27;
778 }
779 }
780 if (!var25) {
781 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4488);
782 exit(1);
783 }
784 var28 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
785 var29 = NULL;
786 var30 = NULL;
787 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var28->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var28, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var29, var30, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on <var28:AStdClassdef>*/;
788 CHECK_NEW_parser_nodes__AStdClassdef(var28);
789 var_pclassdefnode1 = var28;
790 var_node_list = var_pclassdefnode1;
791 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction74> */
792 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
793 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
794 RET_LABEL:;
795 }
796 /* method parser#ReduceAction74#action for (self: Object, Parser) */
797 void VIRTUAL_parser__ReduceAction74__action(val* self, val* p0) {
798 parser__ReduceAction74__action(self, p0);
799 RET_LABEL:;
800 }
801 /* method parser#ReduceAction75#action for (self: ReduceAction75, Parser) */
802 void parser__ReduceAction75__action(val* self, val* p0) {
803 val* var_p /* var p: Parser */;
804 val* var /* : null */;
805 val* var_node_list /* var node_list: nullable Object */;
806 val* var1 /* : nullable Object */;
807 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
808 val* var2 /* : nullable Object */;
809 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
810 val* var3 /* : nullable Object */;
811 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
812 val* var4 /* : nullable Object */;
813 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
814 val* var5 /* : nullable Object */;
815 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
816 val* var6 /* : nullable Object */;
817 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
818 val* var7 /* : nullable Object */;
819 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
820 val* var8 /* : nullable Object */;
821 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
822 val* var9 /* : Array[Object] */;
823 val* var_listnode7 /* var listnode7: Array[Object] */;
824 val* var10 /* : Array[Object] */;
825 val* var_listnode10 /* var listnode10: Array[Object] */;
826 val* var11 /* : Array[Object] */;
827 val* var_listnode11 /* var listnode11: Array[Object] */;
828 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
829 short int var12 /* : Bool */;
830 int cltype;
831 int idtype;
832 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
833 short int var13 /* : Bool */;
834 int cltype14;
835 int idtype15;
836 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
837 short int var16 /* : Bool */;
838 int cltype17;
839 int idtype18;
840 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
841 short int var19 /* : Bool */;
842 int cltype20;
843 int idtype21;
844 val* var_tkwendnode12 /* var tkwendnode12: nullable Object */;
845 short int var22 /* : Bool */;
846 int cltype23;
847 int idtype24;
848 val* var25 /* : AStdClassdef */;
849 val* var26 /* : null */;
850 val* var27 /* : null */;
851 val* var28 /* : null */;
852 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
853 long var29 /* : Int */;
854 long var30 /* : Int */;
855 var_p = p0;
856 var = NULL;
857 var_node_list = var;
858 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
859 var_nodearraylist8 = var1;
860 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
861 var_nodearraylist7 = var2;
862 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
863 var_nodearraylist6 = var3;
864 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
865 var_nodearraylist5 = var4;
866 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
867 var_nodearraylist4 = var5;
868 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
869 var_nodearraylist3 = var6;
870 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
871 var_nodearraylist2 = var7;
872 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
873 var_nodearraylist1 = var8;
874 var9 = NEW_array__Array(&type_array__Arraykernel__Object);
875 ((void (*)(val*))(var9->class->vft[COLOR_array__Array__init]))(var9) /* init on <var9:Array[Object]>*/;
876 CHECK_NEW_array__Array(var9);
877 var_listnode7 = var9;
878 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
879 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
880 CHECK_NEW_array__Array(var10);
881 var_listnode10 = var10;
882 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
883 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
884 CHECK_NEW_array__Array(var11);
885 var_listnode11 = var11;
886 var_pdocnode2 = var_nodearraylist1;
887 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
888 cltype = type_nullable_parser_nodes__ADoc.color;
889 idtype = type_nullable_parser_nodes__ADoc.id;
890 if(var_pdocnode2 == NULL) {
891 var12 = 1;
892 } else {
893 if(cltype >= var_pdocnode2->type->table_size) {
894 var12 = 0;
895 } else {
896 var12 = var_pdocnode2->type->type_table[cltype] == idtype;
897 }
898 }
899 if (!var12) {
900 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4523);
901 exit(1);
902 }
903 var_pvisibilitynode4 = var_nodearraylist2;
904 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
905 cltype14 = type_nullable_parser_nodes__AVisibility.color;
906 idtype15 = type_nullable_parser_nodes__AVisibility.id;
907 if(var_pvisibilitynode4 == NULL) {
908 var13 = 1;
909 } else {
910 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
911 var13 = 0;
912 } else {
913 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
914 }
915 }
916 if (!var13) {
917 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4525);
918 exit(1);
919 }
920 var_pclasskindnode5 = var_nodearraylist3;
921 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
922 cltype17 = type_nullable_parser_nodes__AClasskind.color;
923 idtype18 = type_nullable_parser_nodes__AClasskind.id;
924 if(var_pclasskindnode5 == NULL) {
925 var16 = 1;
926 } else {
927 if(cltype17 >= var_pclasskindnode5->type->table_size) {
928 var16 = 0;
929 } else {
930 var16 = var_pclasskindnode5->type->type_table[cltype17] == idtype18;
931 }
932 }
933 if (!var16) {
934 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4527);
935 exit(1);
936 }
937 var_tclassidnode6 = var_nodearraylist6;
938 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
939 cltype20 = type_nullable_parser_nodes__TClassid.color;
940 idtype21 = type_nullable_parser_nodes__TClassid.id;
941 if(var_tclassidnode6 == NULL) {
942 var19 = 1;
943 } else {
944 if(cltype20 >= var_tclassidnode6->type->table_size) {
945 var19 = 0;
946 } else {
947 var19 = var_tclassidnode6->type->type_table[cltype20] == idtype21;
948 }
949 }
950 if (!var19) {
951 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4529);
952 exit(1);
953 }
954 var_tkwendnode12 = var_nodearraylist8;
955 /* <var_tkwendnode12:nullable Object> isa nullable TKwend */
956 cltype23 = type_nullable_parser_nodes__TKwend.color;
957 idtype24 = type_nullable_parser_nodes__TKwend.id;
958 if(var_tkwendnode12 == NULL) {
959 var22 = 1;
960 } else {
961 if(cltype23 >= var_tkwendnode12->type->table_size) {
962 var22 = 0;
963 } else {
964 var22 = var_tkwendnode12->type->type_table[cltype23] == idtype24;
965 }
966 }
967 if (!var22) {
968 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4531);
969 exit(1);
970 }
971 var25 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
972 var26 = NULL;
973 var27 = NULL;
974 var28 = NULL;
975 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var25->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var25, var_pdocnode2, var26, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var27, var28, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on <var25:AStdClassdef>*/;
976 CHECK_NEW_parser_nodes__AStdClassdef(var25);
977 var_pclassdefnode1 = var25;
978 var_node_list = var_pclassdefnode1;
979 var29 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction75> */
980 var30 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var29) /* go_to on <var_p:Parser>*/;
981 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var30, var_node_list) /* push on <var_p:Parser>*/;
982 RET_LABEL:;
983 }
984 /* method parser#ReduceAction75#action for (self: Object, Parser) */
985 void VIRTUAL_parser__ReduceAction75__action(val* self, val* p0) {
986 parser__ReduceAction75__action(self, p0);
987 RET_LABEL:;
988 }
989 /* method parser#ReduceAction76#action for (self: ReduceAction76, Parser) */
990 void parser__ReduceAction76__action(val* self, val* p0) {
991 val* var_p /* var p: Parser */;
992 val* var /* : null */;
993 val* var_node_list /* var node_list: nullable Object */;
994 val* var1 /* : nullable Object */;
995 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
996 val* var2 /* : nullable Object */;
997 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
998 val* var3 /* : nullable Object */;
999 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1000 val* var4 /* : nullable Object */;
1001 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1002 val* var5 /* : nullable Object */;
1003 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1004 val* var6 /* : nullable Object */;
1005 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1006 val* var7 /* : nullable Object */;
1007 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1008 val* var8 /* : nullable Object */;
1009 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1010 val* var9 /* : nullable Object */;
1011 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1012 val* var10 /* : Array[Object] */;
1013 val* var_listnode7 /* var listnode7: Array[Object] */;
1014 val* var11 /* : Array[Object] */;
1015 val* var_listnode10 /* var listnode10: Array[Object] */;
1016 val* var12 /* : Array[Object] */;
1017 val* var_listnode11 /* var listnode11: Array[Object] */;
1018 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1019 short int var13 /* : Bool */;
1020 int cltype;
1021 int idtype;
1022 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1023 short int var14 /* : Bool */;
1024 int cltype15;
1025 int idtype16;
1026 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1027 short int var17 /* : Bool */;
1028 int cltype18;
1029 int idtype19;
1030 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1031 short int var20 /* : Bool */;
1032 int cltype21;
1033 int idtype22;
1034 val* var_tkwendnode12 /* var tkwendnode12: nullable Object */;
1035 short int var23 /* : Bool */;
1036 int cltype24;
1037 int idtype25;
1038 val* var26 /* : AStdClassdef */;
1039 val* var27 /* : null */;
1040 val* var28 /* : null */;
1041 val* var29 /* : null */;
1042 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1043 long var30 /* : Int */;
1044 long var31 /* : Int */;
1045 var_p = p0;
1046 var = NULL;
1047 var_node_list = var;
1048 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1049 var_nodearraylist9 = var1;
1050 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1051 var_nodearraylist8 = var2;
1052 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1053 var_nodearraylist7 = var3;
1054 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1055 var_nodearraylist6 = var4;
1056 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1057 var_nodearraylist5 = var5;
1058 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1059 var_nodearraylist4 = var6;
1060 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1061 var_nodearraylist3 = var7;
1062 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1063 var_nodearraylist2 = var8;
1064 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1065 var_nodearraylist1 = var9;
1066 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
1067 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
1068 CHECK_NEW_array__Array(var10);
1069 var_listnode7 = var10;
1070 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
1071 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
1072 CHECK_NEW_array__Array(var11);
1073 var_listnode10 = var11;
1074 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
1075 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
1076 CHECK_NEW_array__Array(var12);
1077 var_listnode11 = var12;
1078 var_pdocnode2 = var_nodearraylist1;
1079 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1080 cltype = type_nullable_parser_nodes__ADoc.color;
1081 idtype = type_nullable_parser_nodes__ADoc.id;
1082 if(var_pdocnode2 == NULL) {
1083 var13 = 1;
1084 } else {
1085 if(cltype >= var_pdocnode2->type->table_size) {
1086 var13 = 0;
1087 } else {
1088 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
1089 }
1090 }
1091 if (!var13) {
1092 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4567);
1093 exit(1);
1094 }
1095 var_pvisibilitynode4 = var_nodearraylist2;
1096 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1097 cltype15 = type_nullable_parser_nodes__AVisibility.color;
1098 idtype16 = type_nullable_parser_nodes__AVisibility.id;
1099 if(var_pvisibilitynode4 == NULL) {
1100 var14 = 1;
1101 } else {
1102 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
1103 var14 = 0;
1104 } else {
1105 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
1106 }
1107 }
1108 if (!var14) {
1109 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4569);
1110 exit(1);
1111 }
1112 var_pclasskindnode5 = var_nodearraylist3;
1113 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1114 cltype18 = type_nullable_parser_nodes__AClasskind.color;
1115 idtype19 = type_nullable_parser_nodes__AClasskind.id;
1116 if(var_pclasskindnode5 == NULL) {
1117 var17 = 1;
1118 } else {
1119 if(cltype18 >= var_pclasskindnode5->type->table_size) {
1120 var17 = 0;
1121 } else {
1122 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
1123 }
1124 }
1125 if (!var17) {
1126 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4571);
1127 exit(1);
1128 }
1129 var_tclassidnode6 = var_nodearraylist7;
1130 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1131 cltype21 = type_nullable_parser_nodes__TClassid.color;
1132 idtype22 = type_nullable_parser_nodes__TClassid.id;
1133 if(var_tclassidnode6 == NULL) {
1134 var20 = 1;
1135 } else {
1136 if(cltype21 >= var_tclassidnode6->type->table_size) {
1137 var20 = 0;
1138 } else {
1139 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
1140 }
1141 }
1142 if (!var20) {
1143 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4573);
1144 exit(1);
1145 }
1146 var_tkwendnode12 = var_nodearraylist9;
1147 /* <var_tkwendnode12:nullable Object> isa nullable TKwend */
1148 cltype24 = type_nullable_parser_nodes__TKwend.color;
1149 idtype25 = type_nullable_parser_nodes__TKwend.id;
1150 if(var_tkwendnode12 == NULL) {
1151 var23 = 1;
1152 } else {
1153 if(cltype24 >= var_tkwendnode12->type->table_size) {
1154 var23 = 0;
1155 } else {
1156 var23 = var_tkwendnode12->type->type_table[cltype24] == idtype25;
1157 }
1158 }
1159 if (!var23) {
1160 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4575);
1161 exit(1);
1162 }
1163 var26 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1164 var27 = NULL;
1165 var28 = NULL;
1166 var29 = NULL;
1167 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var26->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var26, var_pdocnode2, var27, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var28, var29, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on <var26:AStdClassdef>*/;
1168 CHECK_NEW_parser_nodes__AStdClassdef(var26);
1169 var_pclassdefnode1 = var26;
1170 var_node_list = var_pclassdefnode1;
1171 var30 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction76> */
1172 var31 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var30) /* go_to on <var_p:Parser>*/;
1173 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var31, var_node_list) /* push on <var_p:Parser>*/;
1174 RET_LABEL:;
1175 }
1176 /* method parser#ReduceAction76#action for (self: Object, Parser) */
1177 void VIRTUAL_parser__ReduceAction76__action(val* self, val* p0) {
1178 parser__ReduceAction76__action(self, p0);
1179 RET_LABEL:;
1180 }
1181 /* method parser#ReduceAction78#action for (self: ReduceAction78, Parser) */
1182 void parser__ReduceAction78__action(val* self, val* p0) {
1183 val* var_p /* var p: Parser */;
1184 val* var /* : null */;
1185 val* var_node_list /* var node_list: nullable Object */;
1186 val* var1 /* : nullable Object */;
1187 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1188 val* var2 /* : nullable Object */;
1189 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1190 val* var3 /* : nullable Object */;
1191 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1192 val* var4 /* : nullable Object */;
1193 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1194 val* var5 /* : nullable Object */;
1195 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1196 val* var6 /* : nullable Object */;
1197 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1198 val* var7 /* : nullable Object */;
1199 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1200 val* var8 /* : nullable Object */;
1201 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1202 val* var9 /* : nullable Object */;
1203 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1204 val* var10 /* : Array[Object] */;
1205 val* var_listnode7 /* var listnode7: Array[Object] */;
1206 val* var11 /* : Array[Object] */;
1207 val* var_listnode10 /* var listnode10: Array[Object] */;
1208 val* var12 /* : Array[Object] */;
1209 val* var_listnode11 /* var listnode11: Array[Object] */;
1210 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1211 short int var13 /* : Bool */;
1212 int cltype;
1213 int idtype;
1214 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
1215 short int var14 /* : Bool */;
1216 int cltype15;
1217 int idtype16;
1218 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1219 short int var17 /* : Bool */;
1220 int cltype18;
1221 int idtype19;
1222 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1223 short int var20 /* : Bool */;
1224 int cltype21;
1225 int idtype22;
1226 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1227 short int var23 /* : Bool */;
1228 int cltype24;
1229 int idtype25;
1230 val* var_tkwendnode12 /* var tkwendnode12: nullable Object */;
1231 short int var26 /* : Bool */;
1232 int cltype27;
1233 int idtype28;
1234 val* var29 /* : AStdClassdef */;
1235 val* var30 /* : null */;
1236 val* var31 /* : null */;
1237 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1238 long var32 /* : Int */;
1239 long var33 /* : Int */;
1240 var_p = p0;
1241 var = NULL;
1242 var_node_list = var;
1243 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1244 var_nodearraylist9 = var1;
1245 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1246 var_nodearraylist8 = var2;
1247 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1248 var_nodearraylist7 = var3;
1249 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1250 var_nodearraylist6 = var4;
1251 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1252 var_nodearraylist5 = var5;
1253 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1254 var_nodearraylist4 = var6;
1255 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1256 var_nodearraylist3 = var7;
1257 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1258 var_nodearraylist2 = var8;
1259 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1260 var_nodearraylist1 = var9;
1261 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
1262 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
1263 CHECK_NEW_array__Array(var10);
1264 var_listnode7 = var10;
1265 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
1266 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
1267 CHECK_NEW_array__Array(var11);
1268 var_listnode10 = var11;
1269 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
1270 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
1271 CHECK_NEW_array__Array(var12);
1272 var_listnode11 = var12;
1273 var_pdocnode2 = var_nodearraylist1;
1274 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1275 cltype = type_nullable_parser_nodes__ADoc.color;
1276 idtype = type_nullable_parser_nodes__ADoc.id;
1277 if(var_pdocnode2 == NULL) {
1278 var13 = 1;
1279 } else {
1280 if(cltype >= var_pdocnode2->type->table_size) {
1281 var13 = 0;
1282 } else {
1283 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
1284 }
1285 }
1286 if (!var13) {
1287 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4611);
1288 exit(1);
1289 }
1290 var_tkwredefnode3 = var_nodearraylist2;
1291 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1292 cltype15 = type_nullable_parser_nodes__TKwredef.color;
1293 idtype16 = type_nullable_parser_nodes__TKwredef.id;
1294 if(var_tkwredefnode3 == NULL) {
1295 var14 = 1;
1296 } else {
1297 if(cltype15 >= var_tkwredefnode3->type->table_size) {
1298 var14 = 0;
1299 } else {
1300 var14 = var_tkwredefnode3->type->type_table[cltype15] == idtype16;
1301 }
1302 }
1303 if (!var14) {
1304 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4613);
1305 exit(1);
1306 }
1307 var_pvisibilitynode4 = var_nodearraylist3;
1308 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1309 cltype18 = type_nullable_parser_nodes__AVisibility.color;
1310 idtype19 = type_nullable_parser_nodes__AVisibility.id;
1311 if(var_pvisibilitynode4 == NULL) {
1312 var17 = 1;
1313 } else {
1314 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
1315 var17 = 0;
1316 } else {
1317 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
1318 }
1319 }
1320 if (!var17) {
1321 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4615);
1322 exit(1);
1323 }
1324 var_pclasskindnode5 = var_nodearraylist4;
1325 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1326 cltype21 = type_nullable_parser_nodes__AClasskind.color;
1327 idtype22 = type_nullable_parser_nodes__AClasskind.id;
1328 if(var_pclasskindnode5 == NULL) {
1329 var20 = 1;
1330 } else {
1331 if(cltype21 >= var_pclasskindnode5->type->table_size) {
1332 var20 = 0;
1333 } else {
1334 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
1335 }
1336 }
1337 if (!var20) {
1338 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4617);
1339 exit(1);
1340 }
1341 var_tclassidnode6 = var_nodearraylist7;
1342 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1343 cltype24 = type_nullable_parser_nodes__TClassid.color;
1344 idtype25 = type_nullable_parser_nodes__TClassid.id;
1345 if(var_tclassidnode6 == NULL) {
1346 var23 = 1;
1347 } else {
1348 if(cltype24 >= var_tclassidnode6->type->table_size) {
1349 var23 = 0;
1350 } else {
1351 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
1352 }
1353 }
1354 if (!var23) {
1355 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4619);
1356 exit(1);
1357 }
1358 var_tkwendnode12 = var_nodearraylist9;
1359 /* <var_tkwendnode12:nullable Object> isa nullable TKwend */
1360 cltype27 = type_nullable_parser_nodes__TKwend.color;
1361 idtype28 = type_nullable_parser_nodes__TKwend.id;
1362 if(var_tkwendnode12 == NULL) {
1363 var26 = 1;
1364 } else {
1365 if(cltype27 >= var_tkwendnode12->type->table_size) {
1366 var26 = 0;
1367 } else {
1368 var26 = var_tkwendnode12->type->type_table[cltype27] == idtype28;
1369 }
1370 }
1371 if (!var26) {
1372 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4621);
1373 exit(1);
1374 }
1375 var29 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1376 var30 = NULL;
1377 var31 = NULL;
1378 ((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, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var30, var31, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on <var29:AStdClassdef>*/;
1379 CHECK_NEW_parser_nodes__AStdClassdef(var29);
1380 var_pclassdefnode1 = var29;
1381 var_node_list = var_pclassdefnode1;
1382 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction78> */
1383 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
1384 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
1385 RET_LABEL:;
1386 }
1387 /* method parser#ReduceAction78#action for (self: Object, Parser) */
1388 void VIRTUAL_parser__ReduceAction78__action(val* self, val* p0) {
1389 parser__ReduceAction78__action(self, p0);
1390 RET_LABEL:;
1391 }
1392 /* method parser#ReduceAction79#action for (self: ReduceAction79, Parser) */
1393 void parser__ReduceAction79__action(val* self, val* p0) {
1394 val* var_p /* var p: Parser */;
1395 val* var /* : null */;
1396 val* var_node_list /* var node_list: nullable Object */;
1397 val* var1 /* : nullable Object */;
1398 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
1399 val* var2 /* : nullable Object */;
1400 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1401 val* var3 /* : nullable Object */;
1402 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1403 val* var4 /* : nullable Object */;
1404 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1405 val* var5 /* : nullable Object */;
1406 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1407 val* var6 /* : nullable Object */;
1408 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1409 val* var7 /* : nullable Object */;
1410 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1411 val* var8 /* : nullable Object */;
1412 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1413 val* var9 /* : nullable Object */;
1414 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1415 val* var10 /* : nullable Object */;
1416 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1417 val* var11 /* : Array[Object] */;
1418 val* var_listnode7 /* var listnode7: Array[Object] */;
1419 val* var12 /* : Array[Object] */;
1420 val* var_listnode10 /* var listnode10: Array[Object] */;
1421 val* var13 /* : Array[Object] */;
1422 val* var_listnode11 /* var listnode11: Array[Object] */;
1423 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1424 short int var14 /* : Bool */;
1425 int cltype;
1426 int idtype;
1427 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
1428 short int var15 /* : Bool */;
1429 int cltype16;
1430 int idtype17;
1431 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1432 short int var18 /* : Bool */;
1433 int cltype19;
1434 int idtype20;
1435 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1436 short int var21 /* : Bool */;
1437 int cltype22;
1438 int idtype23;
1439 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1440 short int var24 /* : Bool */;
1441 int cltype25;
1442 int idtype26;
1443 val* var_tkwendnode12 /* var tkwendnode12: nullable Object */;
1444 short int var27 /* : Bool */;
1445 int cltype28;
1446 int idtype29;
1447 val* var30 /* : AStdClassdef */;
1448 val* var31 /* : null */;
1449 val* var32 /* : null */;
1450 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1451 long var33 /* : Int */;
1452 long var34 /* : Int */;
1453 var_p = p0;
1454 var = NULL;
1455 var_node_list = var;
1456 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1457 var_nodearraylist10 = var1;
1458 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1459 var_nodearraylist9 = var2;
1460 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1461 var_nodearraylist8 = var3;
1462 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1463 var_nodearraylist7 = var4;
1464 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1465 var_nodearraylist6 = var5;
1466 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1467 var_nodearraylist5 = var6;
1468 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1469 var_nodearraylist4 = var7;
1470 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1471 var_nodearraylist3 = var8;
1472 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1473 var_nodearraylist2 = var9;
1474 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1475 var_nodearraylist1 = var10;
1476 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
1477 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
1478 CHECK_NEW_array__Array(var11);
1479 var_listnode7 = var11;
1480 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
1481 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
1482 CHECK_NEW_array__Array(var12);
1483 var_listnode10 = var12;
1484 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
1485 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
1486 CHECK_NEW_array__Array(var13);
1487 var_listnode11 = var13;
1488 var_pdocnode2 = var_nodearraylist1;
1489 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1490 cltype = type_nullable_parser_nodes__ADoc.color;
1491 idtype = type_nullable_parser_nodes__ADoc.id;
1492 if(var_pdocnode2 == NULL) {
1493 var14 = 1;
1494 } else {
1495 if(cltype >= var_pdocnode2->type->table_size) {
1496 var14 = 0;
1497 } else {
1498 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
1499 }
1500 }
1501 if (!var14) {
1502 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4658);
1503 exit(1);
1504 }
1505 var_tkwredefnode3 = var_nodearraylist2;
1506 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1507 cltype16 = type_nullable_parser_nodes__TKwredef.color;
1508 idtype17 = type_nullable_parser_nodes__TKwredef.id;
1509 if(var_tkwredefnode3 == NULL) {
1510 var15 = 1;
1511 } else {
1512 if(cltype16 >= var_tkwredefnode3->type->table_size) {
1513 var15 = 0;
1514 } else {
1515 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
1516 }
1517 }
1518 if (!var15) {
1519 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4660);
1520 exit(1);
1521 }
1522 var_pvisibilitynode4 = var_nodearraylist3;
1523 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1524 cltype19 = type_nullable_parser_nodes__AVisibility.color;
1525 idtype20 = type_nullable_parser_nodes__AVisibility.id;
1526 if(var_pvisibilitynode4 == NULL) {
1527 var18 = 1;
1528 } else {
1529 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
1530 var18 = 0;
1531 } else {
1532 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
1533 }
1534 }
1535 if (!var18) {
1536 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4662);
1537 exit(1);
1538 }
1539 var_pclasskindnode5 = var_nodearraylist4;
1540 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1541 cltype22 = type_nullable_parser_nodes__AClasskind.color;
1542 idtype23 = type_nullable_parser_nodes__AClasskind.id;
1543 if(var_pclasskindnode5 == NULL) {
1544 var21 = 1;
1545 } else {
1546 if(cltype22 >= var_pclasskindnode5->type->table_size) {
1547 var21 = 0;
1548 } else {
1549 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
1550 }
1551 }
1552 if (!var21) {
1553 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4664);
1554 exit(1);
1555 }
1556 var_tclassidnode6 = var_nodearraylist8;
1557 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1558 cltype25 = type_nullable_parser_nodes__TClassid.color;
1559 idtype26 = type_nullable_parser_nodes__TClassid.id;
1560 if(var_tclassidnode6 == NULL) {
1561 var24 = 1;
1562 } else {
1563 if(cltype25 >= var_tclassidnode6->type->table_size) {
1564 var24 = 0;
1565 } else {
1566 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
1567 }
1568 }
1569 if (!var24) {
1570 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4666);
1571 exit(1);
1572 }
1573 var_tkwendnode12 = var_nodearraylist10;
1574 /* <var_tkwendnode12:nullable Object> isa nullable TKwend */
1575 cltype28 = type_nullable_parser_nodes__TKwend.color;
1576 idtype29 = type_nullable_parser_nodes__TKwend.id;
1577 if(var_tkwendnode12 == NULL) {
1578 var27 = 1;
1579 } else {
1580 if(cltype28 >= var_tkwendnode12->type->table_size) {
1581 var27 = 0;
1582 } else {
1583 var27 = var_tkwendnode12->type->type_table[cltype28] == idtype29;
1584 }
1585 }
1586 if (!var27) {
1587 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4668);
1588 exit(1);
1589 }
1590 var30 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1591 var31 = NULL;
1592 var32 = NULL;
1593 ((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, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var31, var32, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on <var30:AStdClassdef>*/;
1594 CHECK_NEW_parser_nodes__AStdClassdef(var30);
1595 var_pclassdefnode1 = var30;
1596 var_node_list = var_pclassdefnode1;
1597 var33 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction79> */
1598 var34 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var33) /* go_to on <var_p:Parser>*/;
1599 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var34, var_node_list) /* push on <var_p:Parser>*/;
1600 RET_LABEL:;
1601 }
1602 /* method parser#ReduceAction79#action for (self: Object, Parser) */
1603 void VIRTUAL_parser__ReduceAction79__action(val* self, val* p0) {
1604 parser__ReduceAction79__action(self, p0);
1605 RET_LABEL:;
1606 }
1607 /* method parser#ReduceAction81#action for (self: ReduceAction81, Parser) */
1608 void parser__ReduceAction81__action(val* self, val* p0) {
1609 val* var_p /* var p: Parser */;
1610 val* var /* : null */;
1611 val* var_node_list /* var node_list: nullable Object */;
1612 val* var1 /* : nullable Object */;
1613 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1614 val* var2 /* : nullable Object */;
1615 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1616 val* var3 /* : nullable Object */;
1617 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1618 val* var4 /* : nullable Object */;
1619 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1620 val* var5 /* : nullable Object */;
1621 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1622 val* var6 /* : nullable Object */;
1623 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1624 val* var7 /* : nullable Object */;
1625 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1626 val* var8 /* : nullable Object */;
1627 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1628 val* var9 /* : Array[Object] */;
1629 val* var_listnode8 /* var listnode8: Array[Object] */;
1630 val* var10 /* : Array[Object] */;
1631 val* var_listnode11 /* var listnode11: Array[Object] */;
1632 val* var11 /* : Array[Object] */;
1633 val* var_listnode12 /* var listnode12: Array[Object] */;
1634 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1635 short int var12 /* : Bool */;
1636 int cltype;
1637 int idtype;
1638 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1639 short int var13 /* : Bool */;
1640 int cltype14;
1641 int idtype15;
1642 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1643 short int var16 /* : Bool */;
1644 int cltype17;
1645 int idtype18;
1646 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1647 short int var19 /* : Bool */;
1648 int cltype20;
1649 int idtype21;
1650 val* var_listnode7 /* var listnode7: nullable Object */;
1651 short int var22 /* : Bool */;
1652 int cltype23;
1653 int idtype24;
1654 val* var25 /* : Array[Object] */;
1655 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
1656 short int var26 /* : Bool */;
1657 int cltype27;
1658 int idtype28;
1659 val* var29 /* : AStdClassdef */;
1660 val* var30 /* : null */;
1661 val* var31 /* : null */;
1662 val* var32 /* : null */;
1663 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1664 long var33 /* : Int */;
1665 long var34 /* : Int */;
1666 var_p = p0;
1667 var = NULL;
1668 var_node_list = var;
1669 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1670 var_nodearraylist8 = var1;
1671 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1672 var_nodearraylist7 = var2;
1673 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1674 var_nodearraylist6 = var3;
1675 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1676 var_nodearraylist5 = var4;
1677 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1678 var_nodearraylist4 = var5;
1679 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1680 var_nodearraylist3 = var6;
1681 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1682 var_nodearraylist2 = var7;
1683 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1684 var_nodearraylist1 = var8;
1685 var9 = NEW_array__Array(&type_array__Arraykernel__Object);
1686 ((void (*)(val*))(var9->class->vft[COLOR_array__Array__init]))(var9) /* init on <var9:Array[Object]>*/;
1687 CHECK_NEW_array__Array(var9);
1688 var_listnode8 = var9;
1689 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
1690 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
1691 CHECK_NEW_array__Array(var10);
1692 var_listnode11 = var10;
1693 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
1694 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
1695 CHECK_NEW_array__Array(var11);
1696 var_listnode12 = var11;
1697 var_pdocnode2 = var_nodearraylist1;
1698 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1699 cltype = type_nullable_parser_nodes__ADoc.color;
1700 idtype = type_nullable_parser_nodes__ADoc.id;
1701 if(var_pdocnode2 == NULL) {
1702 var12 = 1;
1703 } else {
1704 if(cltype >= var_pdocnode2->type->table_size) {
1705 var12 = 0;
1706 } else {
1707 var12 = var_pdocnode2->type->type_table[cltype] == idtype;
1708 }
1709 }
1710 if (!var12) {
1711 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4703);
1712 exit(1);
1713 }
1714 var_pvisibilitynode4 = var_nodearraylist2;
1715 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1716 cltype14 = type_nullable_parser_nodes__AVisibility.color;
1717 idtype15 = type_nullable_parser_nodes__AVisibility.id;
1718 if(var_pvisibilitynode4 == NULL) {
1719 var13 = 1;
1720 } else {
1721 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
1722 var13 = 0;
1723 } else {
1724 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
1725 }
1726 }
1727 if (!var13) {
1728 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4705);
1729 exit(1);
1730 }
1731 var_pclasskindnode5 = var_nodearraylist3;
1732 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1733 cltype17 = type_nullable_parser_nodes__AClasskind.color;
1734 idtype18 = type_nullable_parser_nodes__AClasskind.id;
1735 if(var_pclasskindnode5 == NULL) {
1736 var16 = 1;
1737 } else {
1738 if(cltype17 >= var_pclasskindnode5->type->table_size) {
1739 var16 = 0;
1740 } else {
1741 var16 = var_pclasskindnode5->type->type_table[cltype17] == idtype18;
1742 }
1743 }
1744 if (!var16) {
1745 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4707);
1746 exit(1);
1747 }
1748 var_tclassidnode6 = var_nodearraylist5;
1749 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1750 cltype20 = type_nullable_parser_nodes__TClassid.color;
1751 idtype21 = type_nullable_parser_nodes__TClassid.id;
1752 if(var_tclassidnode6 == NULL) {
1753 var19 = 1;
1754 } else {
1755 if(cltype20 >= var_tclassidnode6->type->table_size) {
1756 var19 = 0;
1757 } else {
1758 var19 = var_tclassidnode6->type->type_table[cltype20] == idtype21;
1759 }
1760 }
1761 if (!var19) {
1762 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4709);
1763 exit(1);
1764 }
1765 var_listnode7 = var_nodearraylist6;
1766 /* <var_listnode7:nullable Object> isa Array[Object] */
1767 cltype23 = type_array__Arraykernel__Object.color;
1768 idtype24 = type_array__Arraykernel__Object.id;
1769 if(var_listnode7 == NULL) {
1770 var22 = 0;
1771 } else {
1772 if(cltype23 >= var_listnode7->type->table_size) {
1773 var22 = 0;
1774 } else {
1775 var22 = var_listnode7->type->type_table[cltype23] == idtype24;
1776 }
1777 }
1778 if (!var22) {
1779 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4711);
1780 exit(1);
1781 }
1782 var25 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction81>*/;
1783 var_listnode8 = var25;
1784 var_tkwendnode13 = var_nodearraylist8;
1785 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
1786 cltype27 = type_nullable_parser_nodes__TKwend.color;
1787 idtype28 = type_nullable_parser_nodes__TKwend.id;
1788 if(var_tkwendnode13 == NULL) {
1789 var26 = 1;
1790 } else {
1791 if(cltype27 >= var_tkwendnode13->type->table_size) {
1792 var26 = 0;
1793 } else {
1794 var26 = var_tkwendnode13->type->type_table[cltype27] == idtype28;
1795 }
1796 }
1797 if (!var26) {
1798 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4714);
1799 exit(1);
1800 }
1801 var29 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
1802 var30 = NULL;
1803 var31 = NULL;
1804 var32 = NULL;
1805 ((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_listnode8, var31, var32, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var29:AStdClassdef>*/;
1806 CHECK_NEW_parser_nodes__AStdClassdef(var29);
1807 var_pclassdefnode1 = var29;
1808 var_node_list = var_pclassdefnode1;
1809 var33 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction81> */
1810 var34 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var33) /* go_to on <var_p:Parser>*/;
1811 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var34, var_node_list) /* push on <var_p:Parser>*/;
1812 RET_LABEL:;
1813 }
1814 /* method parser#ReduceAction81#action for (self: Object, Parser) */
1815 void VIRTUAL_parser__ReduceAction81__action(val* self, val* p0) {
1816 parser__ReduceAction81__action(self, p0);
1817 RET_LABEL:;
1818 }
1819 /* method parser#ReduceAction82#action for (self: ReduceAction82, Parser) */
1820 void parser__ReduceAction82__action(val* self, val* p0) {
1821 val* var_p /* var p: Parser */;
1822 val* var /* : null */;
1823 val* var_node_list /* var node_list: nullable Object */;
1824 val* var1 /* : nullable Object */;
1825 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
1826 val* var2 /* : nullable Object */;
1827 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
1828 val* var3 /* : nullable Object */;
1829 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
1830 val* var4 /* : nullable Object */;
1831 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
1832 val* var5 /* : nullable Object */;
1833 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
1834 val* var6 /* : nullable Object */;
1835 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
1836 val* var7 /* : nullable Object */;
1837 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
1838 val* var8 /* : nullable Object */;
1839 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
1840 val* var9 /* : nullable Object */;
1841 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
1842 val* var10 /* : Array[Object] */;
1843 val* var_listnode8 /* var listnode8: Array[Object] */;
1844 val* var11 /* : Array[Object] */;
1845 val* var_listnode11 /* var listnode11: Array[Object] */;
1846 val* var12 /* : Array[Object] */;
1847 val* var_listnode12 /* var listnode12: Array[Object] */;
1848 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
1849 short int var13 /* : Bool */;
1850 int cltype;
1851 int idtype;
1852 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
1853 short int var14 /* : Bool */;
1854 int cltype15;
1855 int idtype16;
1856 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
1857 short int var17 /* : Bool */;
1858 int cltype18;
1859 int idtype19;
1860 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
1861 short int var20 /* : Bool */;
1862 int cltype21;
1863 int idtype22;
1864 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
1865 short int var23 /* : Bool */;
1866 int cltype24;
1867 int idtype25;
1868 val* var_listnode7 /* var listnode7: nullable Object */;
1869 short int var26 /* : Bool */;
1870 int cltype27;
1871 int idtype28;
1872 val* var29 /* : Array[Object] */;
1873 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
1874 short int var30 /* : Bool */;
1875 int cltype31;
1876 int idtype32;
1877 val* var33 /* : AStdClassdef */;
1878 val* var34 /* : null */;
1879 val* var35 /* : null */;
1880 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
1881 long var36 /* : Int */;
1882 long var37 /* : Int */;
1883 var_p = p0;
1884 var = NULL;
1885 var_node_list = var;
1886 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1887 var_nodearraylist9 = var1;
1888 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1889 var_nodearraylist8 = var2;
1890 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1891 var_nodearraylist7 = var3;
1892 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1893 var_nodearraylist6 = var4;
1894 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1895 var_nodearraylist5 = var5;
1896 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1897 var_nodearraylist4 = var6;
1898 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1899 var_nodearraylist3 = var7;
1900 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1901 var_nodearraylist2 = var8;
1902 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
1903 var_nodearraylist1 = var9;
1904 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
1905 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
1906 CHECK_NEW_array__Array(var10);
1907 var_listnode8 = var10;
1908 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
1909 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
1910 CHECK_NEW_array__Array(var11);
1911 var_listnode11 = var11;
1912 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
1913 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
1914 CHECK_NEW_array__Array(var12);
1915 var_listnode12 = var12;
1916 var_pdocnode2 = var_nodearraylist1;
1917 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
1918 cltype = type_nullable_parser_nodes__ADoc.color;
1919 idtype = type_nullable_parser_nodes__ADoc.id;
1920 if(var_pdocnode2 == NULL) {
1921 var13 = 1;
1922 } else {
1923 if(cltype >= var_pdocnode2->type->table_size) {
1924 var13 = 0;
1925 } else {
1926 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
1927 }
1928 }
1929 if (!var13) {
1930 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4750);
1931 exit(1);
1932 }
1933 var_tkwredefnode3 = var_nodearraylist2;
1934 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1935 cltype15 = type_nullable_parser_nodes__TKwredef.color;
1936 idtype16 = type_nullable_parser_nodes__TKwredef.id;
1937 if(var_tkwredefnode3 == NULL) {
1938 var14 = 1;
1939 } else {
1940 if(cltype15 >= var_tkwredefnode3->type->table_size) {
1941 var14 = 0;
1942 } else {
1943 var14 = var_tkwredefnode3->type->type_table[cltype15] == idtype16;
1944 }
1945 }
1946 if (!var14) {
1947 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4752);
1948 exit(1);
1949 }
1950 var_pvisibilitynode4 = var_nodearraylist3;
1951 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1952 cltype18 = type_nullable_parser_nodes__AVisibility.color;
1953 idtype19 = type_nullable_parser_nodes__AVisibility.id;
1954 if(var_pvisibilitynode4 == NULL) {
1955 var17 = 1;
1956 } else {
1957 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
1958 var17 = 0;
1959 } else {
1960 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
1961 }
1962 }
1963 if (!var17) {
1964 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4754);
1965 exit(1);
1966 }
1967 var_pclasskindnode5 = var_nodearraylist4;
1968 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
1969 cltype21 = type_nullable_parser_nodes__AClasskind.color;
1970 idtype22 = type_nullable_parser_nodes__AClasskind.id;
1971 if(var_pclasskindnode5 == NULL) {
1972 var20 = 1;
1973 } else {
1974 if(cltype21 >= var_pclasskindnode5->type->table_size) {
1975 var20 = 0;
1976 } else {
1977 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
1978 }
1979 }
1980 if (!var20) {
1981 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4756);
1982 exit(1);
1983 }
1984 var_tclassidnode6 = var_nodearraylist6;
1985 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
1986 cltype24 = type_nullable_parser_nodes__TClassid.color;
1987 idtype25 = type_nullable_parser_nodes__TClassid.id;
1988 if(var_tclassidnode6 == NULL) {
1989 var23 = 1;
1990 } else {
1991 if(cltype24 >= var_tclassidnode6->type->table_size) {
1992 var23 = 0;
1993 } else {
1994 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
1995 }
1996 }
1997 if (!var23) {
1998 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4758);
1999 exit(1);
2000 }
2001 var_listnode7 = var_nodearraylist7;
2002 /* <var_listnode7:nullable Object> isa Array[Object] */
2003 cltype27 = type_array__Arraykernel__Object.color;
2004 idtype28 = type_array__Arraykernel__Object.id;
2005 if(var_listnode7 == NULL) {
2006 var26 = 0;
2007 } else {
2008 if(cltype27 >= var_listnode7->type->table_size) {
2009 var26 = 0;
2010 } else {
2011 var26 = var_listnode7->type->type_table[cltype27] == idtype28;
2012 }
2013 }
2014 if (!var26) {
2015 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4760);
2016 exit(1);
2017 }
2018 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction82>*/;
2019 var_listnode8 = var29;
2020 var_tkwendnode13 = var_nodearraylist9;
2021 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
2022 cltype31 = type_nullable_parser_nodes__TKwend.color;
2023 idtype32 = type_nullable_parser_nodes__TKwend.id;
2024 if(var_tkwendnode13 == NULL) {
2025 var30 = 1;
2026 } else {
2027 if(cltype31 >= var_tkwendnode13->type->table_size) {
2028 var30 = 0;
2029 } else {
2030 var30 = var_tkwendnode13->type->type_table[cltype31] == idtype32;
2031 }
2032 }
2033 if (!var30) {
2034 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4763);
2035 exit(1);
2036 }
2037 var33 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2038 var34 = NULL;
2039 var35 = NULL;
2040 ((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_listnode8, var34, var35, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var33:AStdClassdef>*/;
2041 CHECK_NEW_parser_nodes__AStdClassdef(var33);
2042 var_pclassdefnode1 = var33;
2043 var_node_list = var_pclassdefnode1;
2044 var36 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction82> */
2045 var37 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var36) /* go_to on <var_p:Parser>*/;
2046 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var37, var_node_list) /* push on <var_p:Parser>*/;
2047 RET_LABEL:;
2048 }
2049 /* method parser#ReduceAction82#action for (self: Object, Parser) */
2050 void VIRTUAL_parser__ReduceAction82__action(val* self, val* p0) {
2051 parser__ReduceAction82__action(self, p0);
2052 RET_LABEL:;
2053 }
2054 /* method parser#ReduceAction83#action for (self: ReduceAction83, Parser) */
2055 void parser__ReduceAction83__action(val* self, val* p0) {
2056 val* var_p /* var p: Parser */;
2057 val* var /* : null */;
2058 val* var_node_list /* var node_list: nullable Object */;
2059 val* var1 /* : nullable Object */;
2060 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2061 val* var2 /* : nullable Object */;
2062 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2063 val* var3 /* : nullable Object */;
2064 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2065 val* var4 /* : nullable Object */;
2066 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2067 val* var5 /* : nullable Object */;
2068 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2069 val* var6 /* : nullable Object */;
2070 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2071 val* var7 /* : nullable Object */;
2072 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2073 val* var8 /* : nullable Object */;
2074 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2075 val* var9 /* : nullable Object */;
2076 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2077 val* var10 /* : Array[Object] */;
2078 val* var_listnode8 /* var listnode8: Array[Object] */;
2079 val* var11 /* : Array[Object] */;
2080 val* var_listnode11 /* var listnode11: Array[Object] */;
2081 val* var12 /* : Array[Object] */;
2082 val* var_listnode12 /* var listnode12: Array[Object] */;
2083 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2084 short int var13 /* : Bool */;
2085 int cltype;
2086 int idtype;
2087 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2088 short int var14 /* : Bool */;
2089 int cltype15;
2090 int idtype16;
2091 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2092 short int var17 /* : Bool */;
2093 int cltype18;
2094 int idtype19;
2095 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2096 short int var20 /* : Bool */;
2097 int cltype21;
2098 int idtype22;
2099 val* var_listnode7 /* var listnode7: nullable Object */;
2100 short int var23 /* : Bool */;
2101 int cltype24;
2102 int idtype25;
2103 val* var26 /* : Array[Object] */;
2104 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
2105 short int var27 /* : Bool */;
2106 int cltype28;
2107 int idtype29;
2108 val* var30 /* : AStdClassdef */;
2109 val* var31 /* : null */;
2110 val* var32 /* : null */;
2111 val* var33 /* : null */;
2112 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2113 long var34 /* : Int */;
2114 long var35 /* : Int */;
2115 var_p = p0;
2116 var = NULL;
2117 var_node_list = var;
2118 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2119 var_nodearraylist9 = var1;
2120 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2121 var_nodearraylist8 = var2;
2122 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2123 var_nodearraylist7 = var3;
2124 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2125 var_nodearraylist6 = var4;
2126 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2127 var_nodearraylist5 = var5;
2128 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2129 var_nodearraylist4 = var6;
2130 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2131 var_nodearraylist3 = var7;
2132 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2133 var_nodearraylist2 = var8;
2134 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2135 var_nodearraylist1 = var9;
2136 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
2137 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
2138 CHECK_NEW_array__Array(var10);
2139 var_listnode8 = var10;
2140 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
2141 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
2142 CHECK_NEW_array__Array(var11);
2143 var_listnode11 = var11;
2144 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
2145 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
2146 CHECK_NEW_array__Array(var12);
2147 var_listnode12 = var12;
2148 var_pdocnode2 = var_nodearraylist1;
2149 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2150 cltype = type_nullable_parser_nodes__ADoc.color;
2151 idtype = type_nullable_parser_nodes__ADoc.id;
2152 if(var_pdocnode2 == NULL) {
2153 var13 = 1;
2154 } else {
2155 if(cltype >= var_pdocnode2->type->table_size) {
2156 var13 = 0;
2157 } else {
2158 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
2159 }
2160 }
2161 if (!var13) {
2162 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4799);
2163 exit(1);
2164 }
2165 var_pvisibilitynode4 = var_nodearraylist2;
2166 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2167 cltype15 = type_nullable_parser_nodes__AVisibility.color;
2168 idtype16 = type_nullable_parser_nodes__AVisibility.id;
2169 if(var_pvisibilitynode4 == NULL) {
2170 var14 = 1;
2171 } else {
2172 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
2173 var14 = 0;
2174 } else {
2175 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
2176 }
2177 }
2178 if (!var14) {
2179 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4801);
2180 exit(1);
2181 }
2182 var_pclasskindnode5 = var_nodearraylist3;
2183 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2184 cltype18 = type_nullable_parser_nodes__AClasskind.color;
2185 idtype19 = type_nullable_parser_nodes__AClasskind.id;
2186 if(var_pclasskindnode5 == NULL) {
2187 var17 = 1;
2188 } else {
2189 if(cltype18 >= var_pclasskindnode5->type->table_size) {
2190 var17 = 0;
2191 } else {
2192 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
2193 }
2194 }
2195 if (!var17) {
2196 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4803);
2197 exit(1);
2198 }
2199 var_tclassidnode6 = var_nodearraylist6;
2200 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2201 cltype21 = type_nullable_parser_nodes__TClassid.color;
2202 idtype22 = type_nullable_parser_nodes__TClassid.id;
2203 if(var_tclassidnode6 == NULL) {
2204 var20 = 1;
2205 } else {
2206 if(cltype21 >= var_tclassidnode6->type->table_size) {
2207 var20 = 0;
2208 } else {
2209 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
2210 }
2211 }
2212 if (!var20) {
2213 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4805);
2214 exit(1);
2215 }
2216 var_listnode7 = var_nodearraylist7;
2217 /* <var_listnode7:nullable Object> isa Array[Object] */
2218 cltype24 = type_array__Arraykernel__Object.color;
2219 idtype25 = type_array__Arraykernel__Object.id;
2220 if(var_listnode7 == NULL) {
2221 var23 = 0;
2222 } else {
2223 if(cltype24 >= var_listnode7->type->table_size) {
2224 var23 = 0;
2225 } else {
2226 var23 = var_listnode7->type->type_table[cltype24] == idtype25;
2227 }
2228 }
2229 if (!var23) {
2230 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4807);
2231 exit(1);
2232 }
2233 var26 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction83>*/;
2234 var_listnode8 = var26;
2235 var_tkwendnode13 = var_nodearraylist9;
2236 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
2237 cltype28 = type_nullable_parser_nodes__TKwend.color;
2238 idtype29 = type_nullable_parser_nodes__TKwend.id;
2239 if(var_tkwendnode13 == NULL) {
2240 var27 = 1;
2241 } else {
2242 if(cltype28 >= var_tkwendnode13->type->table_size) {
2243 var27 = 0;
2244 } else {
2245 var27 = var_tkwendnode13->type->type_table[cltype28] == idtype29;
2246 }
2247 }
2248 if (!var27) {
2249 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4810);
2250 exit(1);
2251 }
2252 var30 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2253 var31 = NULL;
2254 var32 = NULL;
2255 var33 = NULL;
2256 ((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_listnode8, var32, var33, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var30:AStdClassdef>*/;
2257 CHECK_NEW_parser_nodes__AStdClassdef(var30);
2258 var_pclassdefnode1 = var30;
2259 var_node_list = var_pclassdefnode1;
2260 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction83> */
2261 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
2262 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
2263 RET_LABEL:;
2264 }
2265 /* method parser#ReduceAction83#action for (self: Object, Parser) */
2266 void VIRTUAL_parser__ReduceAction83__action(val* self, val* p0) {
2267 parser__ReduceAction83__action(self, p0);
2268 RET_LABEL:;
2269 }
2270 /* method parser#ReduceAction84#action for (self: ReduceAction84, Parser) */
2271 void parser__ReduceAction84__action(val* self, val* p0) {
2272 val* var_p /* var p: Parser */;
2273 val* var /* : null */;
2274 val* var_node_list /* var node_list: nullable Object */;
2275 val* var1 /* : nullable Object */;
2276 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2277 val* var2 /* : nullable Object */;
2278 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2279 val* var3 /* : nullable Object */;
2280 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2281 val* var4 /* : nullable Object */;
2282 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2283 val* var5 /* : nullable Object */;
2284 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2285 val* var6 /* : nullable Object */;
2286 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2287 val* var7 /* : nullable Object */;
2288 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2289 val* var8 /* : nullable Object */;
2290 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2291 val* var9 /* : nullable Object */;
2292 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2293 val* var10 /* : nullable Object */;
2294 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2295 val* var11 /* : Array[Object] */;
2296 val* var_listnode8 /* var listnode8: Array[Object] */;
2297 val* var12 /* : Array[Object] */;
2298 val* var_listnode11 /* var listnode11: Array[Object] */;
2299 val* var13 /* : Array[Object] */;
2300 val* var_listnode12 /* var listnode12: Array[Object] */;
2301 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2302 short int var14 /* : Bool */;
2303 int cltype;
2304 int idtype;
2305 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2306 short int var15 /* : Bool */;
2307 int cltype16;
2308 int idtype17;
2309 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2310 short int var18 /* : Bool */;
2311 int cltype19;
2312 int idtype20;
2313 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2314 short int var21 /* : Bool */;
2315 int cltype22;
2316 int idtype23;
2317 val* var_listnode7 /* var listnode7: nullable Object */;
2318 short int var24 /* : Bool */;
2319 int cltype25;
2320 int idtype26;
2321 val* var27 /* : Array[Object] */;
2322 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
2323 short int var28 /* : Bool */;
2324 int cltype29;
2325 int idtype30;
2326 val* var31 /* : AStdClassdef */;
2327 val* var32 /* : null */;
2328 val* var33 /* : null */;
2329 val* var34 /* : null */;
2330 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2331 long var35 /* : Int */;
2332 long var36 /* : Int */;
2333 var_p = p0;
2334 var = NULL;
2335 var_node_list = var;
2336 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2337 var_nodearraylist10 = var1;
2338 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2339 var_nodearraylist9 = var2;
2340 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2341 var_nodearraylist8 = var3;
2342 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2343 var_nodearraylist7 = var4;
2344 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2345 var_nodearraylist6 = var5;
2346 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2347 var_nodearraylist5 = var6;
2348 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2349 var_nodearraylist4 = var7;
2350 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2351 var_nodearraylist3 = var8;
2352 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2353 var_nodearraylist2 = var9;
2354 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2355 var_nodearraylist1 = var10;
2356 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
2357 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
2358 CHECK_NEW_array__Array(var11);
2359 var_listnode8 = var11;
2360 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
2361 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
2362 CHECK_NEW_array__Array(var12);
2363 var_listnode11 = var12;
2364 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
2365 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
2366 CHECK_NEW_array__Array(var13);
2367 var_listnode12 = var13;
2368 var_pdocnode2 = var_nodearraylist1;
2369 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2370 cltype = type_nullable_parser_nodes__ADoc.color;
2371 idtype = type_nullable_parser_nodes__ADoc.id;
2372 if(var_pdocnode2 == NULL) {
2373 var14 = 1;
2374 } else {
2375 if(cltype >= var_pdocnode2->type->table_size) {
2376 var14 = 0;
2377 } else {
2378 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
2379 }
2380 }
2381 if (!var14) {
2382 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4847);
2383 exit(1);
2384 }
2385 var_pvisibilitynode4 = var_nodearraylist2;
2386 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2387 cltype16 = type_nullable_parser_nodes__AVisibility.color;
2388 idtype17 = type_nullable_parser_nodes__AVisibility.id;
2389 if(var_pvisibilitynode4 == NULL) {
2390 var15 = 1;
2391 } else {
2392 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
2393 var15 = 0;
2394 } else {
2395 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
2396 }
2397 }
2398 if (!var15) {
2399 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4849);
2400 exit(1);
2401 }
2402 var_pclasskindnode5 = var_nodearraylist3;
2403 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2404 cltype19 = type_nullable_parser_nodes__AClasskind.color;
2405 idtype20 = type_nullable_parser_nodes__AClasskind.id;
2406 if(var_pclasskindnode5 == NULL) {
2407 var18 = 1;
2408 } else {
2409 if(cltype19 >= var_pclasskindnode5->type->table_size) {
2410 var18 = 0;
2411 } else {
2412 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
2413 }
2414 }
2415 if (!var18) {
2416 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4851);
2417 exit(1);
2418 }
2419 var_tclassidnode6 = var_nodearraylist7;
2420 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2421 cltype22 = type_nullable_parser_nodes__TClassid.color;
2422 idtype23 = type_nullable_parser_nodes__TClassid.id;
2423 if(var_tclassidnode6 == NULL) {
2424 var21 = 1;
2425 } else {
2426 if(cltype22 >= var_tclassidnode6->type->table_size) {
2427 var21 = 0;
2428 } else {
2429 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
2430 }
2431 }
2432 if (!var21) {
2433 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4853);
2434 exit(1);
2435 }
2436 var_listnode7 = var_nodearraylist8;
2437 /* <var_listnode7:nullable Object> isa Array[Object] */
2438 cltype25 = type_array__Arraykernel__Object.color;
2439 idtype26 = type_array__Arraykernel__Object.id;
2440 if(var_listnode7 == NULL) {
2441 var24 = 0;
2442 } else {
2443 if(cltype25 >= var_listnode7->type->table_size) {
2444 var24 = 0;
2445 } else {
2446 var24 = var_listnode7->type->type_table[cltype25] == idtype26;
2447 }
2448 }
2449 if (!var24) {
2450 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4855);
2451 exit(1);
2452 }
2453 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction84>*/;
2454 var_listnode8 = var27;
2455 var_tkwendnode13 = var_nodearraylist10;
2456 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
2457 cltype29 = type_nullable_parser_nodes__TKwend.color;
2458 idtype30 = type_nullable_parser_nodes__TKwend.id;
2459 if(var_tkwendnode13 == NULL) {
2460 var28 = 1;
2461 } else {
2462 if(cltype29 >= var_tkwendnode13->type->table_size) {
2463 var28 = 0;
2464 } else {
2465 var28 = var_tkwendnode13->type->type_table[cltype29] == idtype30;
2466 }
2467 }
2468 if (!var28) {
2469 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4858);
2470 exit(1);
2471 }
2472 var31 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2473 var32 = NULL;
2474 var33 = NULL;
2475 var34 = NULL;
2476 ((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_listnode8, var33, var34, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var31:AStdClassdef>*/;
2477 CHECK_NEW_parser_nodes__AStdClassdef(var31);
2478 var_pclassdefnode1 = var31;
2479 var_node_list = var_pclassdefnode1;
2480 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction84> */
2481 var36 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var35) /* go_to on <var_p:Parser>*/;
2482 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var36, var_node_list) /* push on <var_p:Parser>*/;
2483 RET_LABEL:;
2484 }
2485 /* method parser#ReduceAction84#action for (self: Object, Parser) */
2486 void VIRTUAL_parser__ReduceAction84__action(val* self, val* p0) {
2487 parser__ReduceAction84__action(self, p0);
2488 RET_LABEL:;
2489 }
2490 /* method parser#ReduceAction86#action for (self: ReduceAction86, Parser) */
2491 void parser__ReduceAction86__action(val* self, val* p0) {
2492 val* var_p /* var p: Parser */;
2493 val* var /* : null */;
2494 val* var_node_list /* var node_list: nullable Object */;
2495 val* var1 /* : nullable Object */;
2496 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2497 val* var2 /* : nullable Object */;
2498 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2499 val* var3 /* : nullable Object */;
2500 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2501 val* var4 /* : nullable Object */;
2502 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2503 val* var5 /* : nullable Object */;
2504 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2505 val* var6 /* : nullable Object */;
2506 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2507 val* var7 /* : nullable Object */;
2508 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2509 val* var8 /* : nullable Object */;
2510 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2511 val* var9 /* : nullable Object */;
2512 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2513 val* var10 /* : nullable Object */;
2514 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2515 val* var11 /* : Array[Object] */;
2516 val* var_listnode8 /* var listnode8: Array[Object] */;
2517 val* var12 /* : Array[Object] */;
2518 val* var_listnode11 /* var listnode11: Array[Object] */;
2519 val* var13 /* : Array[Object] */;
2520 val* var_listnode12 /* var listnode12: Array[Object] */;
2521 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2522 short int var14 /* : Bool */;
2523 int cltype;
2524 int idtype;
2525 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
2526 short int var15 /* : Bool */;
2527 int cltype16;
2528 int idtype17;
2529 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2530 short int var18 /* : Bool */;
2531 int cltype19;
2532 int idtype20;
2533 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2534 short int var21 /* : Bool */;
2535 int cltype22;
2536 int idtype23;
2537 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2538 short int var24 /* : Bool */;
2539 int cltype25;
2540 int idtype26;
2541 val* var_listnode7 /* var listnode7: nullable Object */;
2542 short int var27 /* : Bool */;
2543 int cltype28;
2544 int idtype29;
2545 val* var30 /* : Array[Object] */;
2546 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
2547 short int var31 /* : Bool */;
2548 int cltype32;
2549 int idtype33;
2550 val* var34 /* : AStdClassdef */;
2551 val* var35 /* : null */;
2552 val* var36 /* : null */;
2553 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2554 long var37 /* : Int */;
2555 long var38 /* : Int */;
2556 var_p = p0;
2557 var = NULL;
2558 var_node_list = var;
2559 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2560 var_nodearraylist10 = var1;
2561 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2562 var_nodearraylist9 = var2;
2563 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2564 var_nodearraylist8 = var3;
2565 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2566 var_nodearraylist7 = var4;
2567 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2568 var_nodearraylist6 = var5;
2569 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2570 var_nodearraylist5 = var6;
2571 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2572 var_nodearraylist4 = var7;
2573 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2574 var_nodearraylist3 = var8;
2575 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2576 var_nodearraylist2 = var9;
2577 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2578 var_nodearraylist1 = var10;
2579 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
2580 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
2581 CHECK_NEW_array__Array(var11);
2582 var_listnode8 = var11;
2583 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
2584 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
2585 CHECK_NEW_array__Array(var12);
2586 var_listnode11 = var12;
2587 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
2588 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
2589 CHECK_NEW_array__Array(var13);
2590 var_listnode12 = var13;
2591 var_pdocnode2 = var_nodearraylist1;
2592 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2593 cltype = type_nullable_parser_nodes__ADoc.color;
2594 idtype = type_nullable_parser_nodes__ADoc.id;
2595 if(var_pdocnode2 == NULL) {
2596 var14 = 1;
2597 } else {
2598 if(cltype >= var_pdocnode2->type->table_size) {
2599 var14 = 0;
2600 } else {
2601 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
2602 }
2603 }
2604 if (!var14) {
2605 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4895);
2606 exit(1);
2607 }
2608 var_tkwredefnode3 = var_nodearraylist2;
2609 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2610 cltype16 = type_nullable_parser_nodes__TKwredef.color;
2611 idtype17 = type_nullable_parser_nodes__TKwredef.id;
2612 if(var_tkwredefnode3 == NULL) {
2613 var15 = 1;
2614 } else {
2615 if(cltype16 >= var_tkwredefnode3->type->table_size) {
2616 var15 = 0;
2617 } else {
2618 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
2619 }
2620 }
2621 if (!var15) {
2622 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4897);
2623 exit(1);
2624 }
2625 var_pvisibilitynode4 = var_nodearraylist3;
2626 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2627 cltype19 = type_nullable_parser_nodes__AVisibility.color;
2628 idtype20 = type_nullable_parser_nodes__AVisibility.id;
2629 if(var_pvisibilitynode4 == NULL) {
2630 var18 = 1;
2631 } else {
2632 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
2633 var18 = 0;
2634 } else {
2635 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
2636 }
2637 }
2638 if (!var18) {
2639 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4899);
2640 exit(1);
2641 }
2642 var_pclasskindnode5 = var_nodearraylist4;
2643 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2644 cltype22 = type_nullable_parser_nodes__AClasskind.color;
2645 idtype23 = type_nullable_parser_nodes__AClasskind.id;
2646 if(var_pclasskindnode5 == NULL) {
2647 var21 = 1;
2648 } else {
2649 if(cltype22 >= var_pclasskindnode5->type->table_size) {
2650 var21 = 0;
2651 } else {
2652 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
2653 }
2654 }
2655 if (!var21) {
2656 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4901);
2657 exit(1);
2658 }
2659 var_tclassidnode6 = var_nodearraylist7;
2660 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2661 cltype25 = type_nullable_parser_nodes__TClassid.color;
2662 idtype26 = type_nullable_parser_nodes__TClassid.id;
2663 if(var_tclassidnode6 == NULL) {
2664 var24 = 1;
2665 } else {
2666 if(cltype25 >= var_tclassidnode6->type->table_size) {
2667 var24 = 0;
2668 } else {
2669 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
2670 }
2671 }
2672 if (!var24) {
2673 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4903);
2674 exit(1);
2675 }
2676 var_listnode7 = var_nodearraylist8;
2677 /* <var_listnode7:nullable Object> isa Array[Object] */
2678 cltype28 = type_array__Arraykernel__Object.color;
2679 idtype29 = type_array__Arraykernel__Object.id;
2680 if(var_listnode7 == NULL) {
2681 var27 = 0;
2682 } else {
2683 if(cltype28 >= var_listnode7->type->table_size) {
2684 var27 = 0;
2685 } else {
2686 var27 = var_listnode7->type->type_table[cltype28] == idtype29;
2687 }
2688 }
2689 if (!var27) {
2690 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4905);
2691 exit(1);
2692 }
2693 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction86>*/;
2694 var_listnode8 = var30;
2695 var_tkwendnode13 = var_nodearraylist10;
2696 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
2697 cltype32 = type_nullable_parser_nodes__TKwend.color;
2698 idtype33 = type_nullable_parser_nodes__TKwend.id;
2699 if(var_tkwendnode13 == NULL) {
2700 var31 = 1;
2701 } else {
2702 if(cltype32 >= var_tkwendnode13->type->table_size) {
2703 var31 = 0;
2704 } else {
2705 var31 = var_tkwendnode13->type->type_table[cltype32] == idtype33;
2706 }
2707 }
2708 if (!var31) {
2709 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4908);
2710 exit(1);
2711 }
2712 var34 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2713 var35 = NULL;
2714 var36 = NULL;
2715 ((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_listnode8, var35, var36, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var34:AStdClassdef>*/;
2716 CHECK_NEW_parser_nodes__AStdClassdef(var34);
2717 var_pclassdefnode1 = var34;
2718 var_node_list = var_pclassdefnode1;
2719 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction86> */
2720 var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on <var_p:Parser>*/;
2721 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on <var_p:Parser>*/;
2722 RET_LABEL:;
2723 }
2724 /* method parser#ReduceAction86#action for (self: Object, Parser) */
2725 void VIRTUAL_parser__ReduceAction86__action(val* self, val* p0) {
2726 parser__ReduceAction86__action(self, p0);
2727 RET_LABEL:;
2728 }
2729 /* method parser#ReduceAction87#action for (self: ReduceAction87, Parser) */
2730 void parser__ReduceAction87__action(val* self, val* p0) {
2731 val* var_p /* var p: Parser */;
2732 val* var /* : null */;
2733 val* var_node_list /* var node_list: nullable Object */;
2734 val* var1 /* : nullable Object */;
2735 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
2736 val* var2 /* : nullable Object */;
2737 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
2738 val* var3 /* : nullable Object */;
2739 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
2740 val* var4 /* : nullable Object */;
2741 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2742 val* var5 /* : nullable Object */;
2743 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2744 val* var6 /* : nullable Object */;
2745 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2746 val* var7 /* : nullable Object */;
2747 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2748 val* var8 /* : nullable Object */;
2749 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2750 val* var9 /* : nullable Object */;
2751 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2752 val* var10 /* : nullable Object */;
2753 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2754 val* var11 /* : nullable Object */;
2755 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2756 val* var12 /* : Array[Object] */;
2757 val* var_listnode8 /* var listnode8: Array[Object] */;
2758 val* var13 /* : Array[Object] */;
2759 val* var_listnode11 /* var listnode11: Array[Object] */;
2760 val* var14 /* : Array[Object] */;
2761 val* var_listnode12 /* var listnode12: Array[Object] */;
2762 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
2763 short int var15 /* : Bool */;
2764 int cltype;
2765 int idtype;
2766 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
2767 short int var16 /* : Bool */;
2768 int cltype17;
2769 int idtype18;
2770 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
2771 short int var19 /* : Bool */;
2772 int cltype20;
2773 int idtype21;
2774 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
2775 short int var22 /* : Bool */;
2776 int cltype23;
2777 int idtype24;
2778 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
2779 short int var25 /* : Bool */;
2780 int cltype26;
2781 int idtype27;
2782 val* var_listnode7 /* var listnode7: nullable Object */;
2783 short int var28 /* : Bool */;
2784 int cltype29;
2785 int idtype30;
2786 val* var31 /* : Array[Object] */;
2787 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
2788 short int var32 /* : Bool */;
2789 int cltype33;
2790 int idtype34;
2791 val* var35 /* : AStdClassdef */;
2792 val* var36 /* : null */;
2793 val* var37 /* : null */;
2794 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
2795 long var38 /* : Int */;
2796 long var39 /* : Int */;
2797 var_p = p0;
2798 var = NULL;
2799 var_node_list = var;
2800 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2801 var_nodearraylist11 = var1;
2802 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2803 var_nodearraylist10 = var2;
2804 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2805 var_nodearraylist9 = var3;
2806 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2807 var_nodearraylist8 = var4;
2808 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2809 var_nodearraylist7 = var5;
2810 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2811 var_nodearraylist6 = var6;
2812 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2813 var_nodearraylist5 = var7;
2814 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2815 var_nodearraylist4 = var8;
2816 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2817 var_nodearraylist3 = var9;
2818 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2819 var_nodearraylist2 = var10;
2820 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
2821 var_nodearraylist1 = var11;
2822 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
2823 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
2824 CHECK_NEW_array__Array(var12);
2825 var_listnode8 = var12;
2826 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
2827 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
2828 CHECK_NEW_array__Array(var13);
2829 var_listnode11 = var13;
2830 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
2831 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
2832 CHECK_NEW_array__Array(var14);
2833 var_listnode12 = var14;
2834 var_pdocnode2 = var_nodearraylist1;
2835 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2836 cltype = type_nullable_parser_nodes__ADoc.color;
2837 idtype = type_nullable_parser_nodes__ADoc.id;
2838 if(var_pdocnode2 == NULL) {
2839 var15 = 1;
2840 } else {
2841 if(cltype >= var_pdocnode2->type->table_size) {
2842 var15 = 0;
2843 } else {
2844 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
2845 }
2846 }
2847 if (!var15) {
2848 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4946);
2849 exit(1);
2850 }
2851 var_tkwredefnode3 = var_nodearraylist2;
2852 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2853 cltype17 = type_nullable_parser_nodes__TKwredef.color;
2854 idtype18 = type_nullable_parser_nodes__TKwredef.id;
2855 if(var_tkwredefnode3 == NULL) {
2856 var16 = 1;
2857 } else {
2858 if(cltype17 >= var_tkwredefnode3->type->table_size) {
2859 var16 = 0;
2860 } else {
2861 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
2862 }
2863 }
2864 if (!var16) {
2865 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4948);
2866 exit(1);
2867 }
2868 var_pvisibilitynode4 = var_nodearraylist3;
2869 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2870 cltype20 = type_nullable_parser_nodes__AVisibility.color;
2871 idtype21 = type_nullable_parser_nodes__AVisibility.id;
2872 if(var_pvisibilitynode4 == NULL) {
2873 var19 = 1;
2874 } else {
2875 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
2876 var19 = 0;
2877 } else {
2878 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
2879 }
2880 }
2881 if (!var19) {
2882 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4950);
2883 exit(1);
2884 }
2885 var_pclasskindnode5 = var_nodearraylist4;
2886 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
2887 cltype23 = type_nullable_parser_nodes__AClasskind.color;
2888 idtype24 = type_nullable_parser_nodes__AClasskind.id;
2889 if(var_pclasskindnode5 == NULL) {
2890 var22 = 1;
2891 } else {
2892 if(cltype23 >= var_pclasskindnode5->type->table_size) {
2893 var22 = 0;
2894 } else {
2895 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
2896 }
2897 }
2898 if (!var22) {
2899 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4952);
2900 exit(1);
2901 }
2902 var_tclassidnode6 = var_nodearraylist8;
2903 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
2904 cltype26 = type_nullable_parser_nodes__TClassid.color;
2905 idtype27 = type_nullable_parser_nodes__TClassid.id;
2906 if(var_tclassidnode6 == NULL) {
2907 var25 = 1;
2908 } else {
2909 if(cltype26 >= var_tclassidnode6->type->table_size) {
2910 var25 = 0;
2911 } else {
2912 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
2913 }
2914 }
2915 if (!var25) {
2916 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4954);
2917 exit(1);
2918 }
2919 var_listnode7 = var_nodearraylist9;
2920 /* <var_listnode7:nullable Object> isa Array[Object] */
2921 cltype29 = type_array__Arraykernel__Object.color;
2922 idtype30 = type_array__Arraykernel__Object.id;
2923 if(var_listnode7 == NULL) {
2924 var28 = 0;
2925 } else {
2926 if(cltype29 >= var_listnode7->type->table_size) {
2927 var28 = 0;
2928 } else {
2929 var28 = var_listnode7->type->type_table[cltype29] == idtype30;
2930 }
2931 }
2932 if (!var28) {
2933 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4956);
2934 exit(1);
2935 }
2936 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction87>*/;
2937 var_listnode8 = var31;
2938 var_tkwendnode13 = var_nodearraylist11;
2939 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
2940 cltype33 = type_nullable_parser_nodes__TKwend.color;
2941 idtype34 = type_nullable_parser_nodes__TKwend.id;
2942 if(var_tkwendnode13 == NULL) {
2943 var32 = 1;
2944 } else {
2945 if(cltype33 >= var_tkwendnode13->type->table_size) {
2946 var32 = 0;
2947 } else {
2948 var32 = var_tkwendnode13->type->type_table[cltype33] == idtype34;
2949 }
2950 }
2951 if (!var32) {
2952 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4959);
2953 exit(1);
2954 }
2955 var35 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
2956 var36 = NULL;
2957 var37 = NULL;
2958 ((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_listnode8, var36, var37, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var35:AStdClassdef>*/;
2959 CHECK_NEW_parser_nodes__AStdClassdef(var35);
2960 var_pclassdefnode1 = var35;
2961 var_node_list = var_pclassdefnode1;
2962 var38 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction87> */
2963 var39 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var38) /* go_to on <var_p:Parser>*/;
2964 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var39, var_node_list) /* push on <var_p:Parser>*/;
2965 RET_LABEL:;
2966 }
2967 /* method parser#ReduceAction87#action for (self: Object, Parser) */
2968 void VIRTUAL_parser__ReduceAction87__action(val* self, val* p0) {
2969 parser__ReduceAction87__action(self, p0);
2970 RET_LABEL:;
2971 }
2972 /* method parser#ReduceAction89#action for (self: ReduceAction89, Parser) */
2973 void parser__ReduceAction89__action(val* self, val* p0) {
2974 val* var_p /* var p: Parser */;
2975 val* var /* : null */;
2976 val* var_node_list /* var node_list: nullable Object */;
2977 val* var1 /* : nullable Object */;
2978 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
2979 val* var2 /* : nullable Object */;
2980 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
2981 val* var3 /* : nullable Object */;
2982 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
2983 val* var4 /* : nullable Object */;
2984 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
2985 val* var5 /* : nullable Object */;
2986 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
2987 val* var6 /* : nullable Object */;
2988 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
2989 val* var7 /* : nullable Object */;
2990 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
2991 val* var8 /* : nullable Object */;
2992 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
2993 val* var9 /* : Array[Object] */;
2994 val* var_listnode7 /* var listnode7: Array[Object] */;
2995 val* var10 /* : Array[Object] */;
2996 val* var_listnode15 /* var listnode15: Array[Object] */;
2997 val* var11 /* : Array[Object] */;
2998 val* var_listnode16 /* var listnode16: Array[Object] */;
2999 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3000 short int var12 /* : Bool */;
3001 int cltype;
3002 int idtype;
3003 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3004 short int var13 /* : Bool */;
3005 int cltype14;
3006 int idtype15;
3007 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3008 short int var16 /* : Bool */;
3009 int cltype17;
3010 int idtype18;
3011 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3012 short int var19 /* : Bool */;
3013 int cltype20;
3014 int idtype21;
3015 val* var22 /* : Array[Object] */;
3016 val* var_listnode12 /* var listnode12: Array[Object] */;
3017 val* var_listnode11 /* var listnode11: nullable Object */;
3018 short int var23 /* : Bool */;
3019 int cltype24;
3020 int idtype25;
3021 val* var26 /* : Array[Object] */;
3022 val* var27 /* : AAnnotations */;
3023 val* var28 /* : null */;
3024 val* var29 /* : null */;
3025 val* var30 /* : null */;
3026 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
3027 val* var_tkwendnode17 /* var tkwendnode17: nullable Object */;
3028 short int var31 /* : Bool */;
3029 int cltype32;
3030 int idtype33;
3031 val* var34 /* : AStdClassdef */;
3032 val* var35 /* : null */;
3033 val* var36 /* : null */;
3034 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3035 long var37 /* : Int */;
3036 long var38 /* : Int */;
3037 var_p = p0;
3038 var = NULL;
3039 var_node_list = var;
3040 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3041 var_nodearraylist8 = var1;
3042 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3043 var_nodearraylist7 = var2;
3044 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3045 var_nodearraylist6 = var3;
3046 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3047 var_nodearraylist5 = var4;
3048 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3049 var_nodearraylist4 = var5;
3050 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3051 var_nodearraylist3 = var6;
3052 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3053 var_nodearraylist2 = var7;
3054 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3055 var_nodearraylist1 = var8;
3056 var9 = NEW_array__Array(&type_array__Arraykernel__Object);
3057 ((void (*)(val*))(var9->class->vft[COLOR_array__Array__init]))(var9) /* init on <var9:Array[Object]>*/;
3058 CHECK_NEW_array__Array(var9);
3059 var_listnode7 = var9;
3060 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
3061 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
3062 CHECK_NEW_array__Array(var10);
3063 var_listnode15 = var10;
3064 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
3065 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
3066 CHECK_NEW_array__Array(var11);
3067 var_listnode16 = var11;
3068 var_pdocnode2 = var_nodearraylist1;
3069 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3070 cltype = type_nullable_parser_nodes__ADoc.color;
3071 idtype = type_nullable_parser_nodes__ADoc.id;
3072 if(var_pdocnode2 == NULL) {
3073 var12 = 1;
3074 } else {
3075 if(cltype >= var_pdocnode2->type->table_size) {
3076 var12 = 0;
3077 } else {
3078 var12 = var_pdocnode2->type->type_table[cltype] == idtype;
3079 }
3080 }
3081 if (!var12) {
3082 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4994);
3083 exit(1);
3084 }
3085 var_pvisibilitynode4 = var_nodearraylist2;
3086 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3087 cltype14 = type_nullable_parser_nodes__AVisibility.color;
3088 idtype15 = type_nullable_parser_nodes__AVisibility.id;
3089 if(var_pvisibilitynode4 == NULL) {
3090 var13 = 1;
3091 } else {
3092 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
3093 var13 = 0;
3094 } else {
3095 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
3096 }
3097 }
3098 if (!var13) {
3099 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4996);
3100 exit(1);
3101 }
3102 var_pclasskindnode5 = var_nodearraylist3;
3103 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3104 cltype17 = type_nullable_parser_nodes__AClasskind.color;
3105 idtype18 = type_nullable_parser_nodes__AClasskind.id;
3106 if(var_pclasskindnode5 == NULL) {
3107 var16 = 1;
3108 } else {
3109 if(cltype17 >= var_pclasskindnode5->type->table_size) {
3110 var16 = 0;
3111 } else {
3112 var16 = var_pclasskindnode5->type->type_table[cltype17] == idtype18;
3113 }
3114 }
3115 if (!var16) {
3116 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 4998);
3117 exit(1);
3118 }
3119 var_tclassidnode6 = var_nodearraylist5;
3120 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3121 cltype20 = type_nullable_parser_nodes__TClassid.color;
3122 idtype21 = type_nullable_parser_nodes__TClassid.id;
3123 if(var_tclassidnode6 == NULL) {
3124 var19 = 1;
3125 } else {
3126 if(cltype20 >= var_tclassidnode6->type->table_size) {
3127 var19 = 0;
3128 } else {
3129 var19 = var_tclassidnode6->type->type_table[cltype20] == idtype21;
3130 }
3131 }
3132 if (!var19) {
3133 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5000);
3134 exit(1);
3135 }
3136 var22 = NEW_array__Array(&type_array__Arraykernel__Object);
3137 ((void (*)(val*))(var22->class->vft[COLOR_array__Array__init]))(var22) /* init on <var22:Array[Object]>*/;
3138 CHECK_NEW_array__Array(var22);
3139 var_listnode12 = var22;
3140 var_listnode11 = var_nodearraylist6;
3141 /* <var_listnode11:nullable Object> isa Array[Object] */
3142 cltype24 = type_array__Arraykernel__Object.color;
3143 idtype25 = type_array__Arraykernel__Object.id;
3144 if(var_listnode11 == NULL) {
3145 var23 = 0;
3146 } else {
3147 if(cltype24 >= var_listnode11->type->table_size) {
3148 var23 = 0;
3149 } else {
3150 var23 = var_listnode11->type->type_table[cltype24] == idtype25;
3151 }
3152 }
3153 if (!var23) {
3154 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5003);
3155 exit(1);
3156 }
3157 var26 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction89>*/;
3158 var_listnode12 = var26;
3159 var27 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
3160 var28 = NULL;
3161 var29 = NULL;
3162 var30 = NULL;
3163 ((void (*)(val*, val*, val*, val*, val*))(var27->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var27, var28, var29, var_listnode12, var30) /* init_aannotations on <var27:AAnnotations>*/;
3164 CHECK_NEW_parser_nodes__AAnnotations(var27);
3165 var_pannotationsnode8 = var27;
3166 var_tkwendnode17 = var_nodearraylist8;
3167 /* <var_tkwendnode17:nullable Object> isa nullable TKwend */
3168 cltype32 = type_nullable_parser_nodes__TKwend.color;
3169 idtype33 = type_nullable_parser_nodes__TKwend.id;
3170 if(var_tkwendnode17 == NULL) {
3171 var31 = 1;
3172 } else {
3173 if(cltype32 >= var_tkwendnode17->type->table_size) {
3174 var31 = 0;
3175 } else {
3176 var31 = var_tkwendnode17->type->type_table[cltype32] == idtype33;
3177 }
3178 }
3179 if (!var31) {
3180 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5012);
3181 exit(1);
3182 }
3183 var34 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3184 var35 = NULL;
3185 var36 = NULL;
3186 ((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, var_pannotationsnode8, var36, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on <var34:AStdClassdef>*/;
3187 CHECK_NEW_parser_nodes__AStdClassdef(var34);
3188 var_pclassdefnode1 = var34;
3189 var_node_list = var_pclassdefnode1;
3190 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction89> */
3191 var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on <var_p:Parser>*/;
3192 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on <var_p:Parser>*/;
3193 RET_LABEL:;
3194 }
3195 /* method parser#ReduceAction89#action for (self: Object, Parser) */
3196 void VIRTUAL_parser__ReduceAction89__action(val* self, val* p0) {
3197 parser__ReduceAction89__action(self, p0);
3198 RET_LABEL:;
3199 }
3200 /* method parser#ReduceAction90#action for (self: ReduceAction90, Parser) */
3201 void parser__ReduceAction90__action(val* self, val* p0) {
3202 val* var_p /* var p: Parser */;
3203 val* var /* : null */;
3204 val* var_node_list /* var node_list: nullable Object */;
3205 val* var1 /* : nullable Object */;
3206 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3207 val* var2 /* : nullable Object */;
3208 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3209 val* var3 /* : nullable Object */;
3210 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3211 val* var4 /* : nullable Object */;
3212 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3213 val* var5 /* : nullable Object */;
3214 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3215 val* var6 /* : nullable Object */;
3216 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3217 val* var7 /* : nullable Object */;
3218 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3219 val* var8 /* : nullable Object */;
3220 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3221 val* var9 /* : nullable Object */;
3222 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3223 val* var10 /* : Array[Object] */;
3224 val* var_listnode7 /* var listnode7: Array[Object] */;
3225 val* var11 /* : Array[Object] */;
3226 val* var_listnode15 /* var listnode15: Array[Object] */;
3227 val* var12 /* : Array[Object] */;
3228 val* var_listnode16 /* var listnode16: Array[Object] */;
3229 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3230 short int var13 /* : Bool */;
3231 int cltype;
3232 int idtype;
3233 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
3234 short int var14 /* : Bool */;
3235 int cltype15;
3236 int idtype16;
3237 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3238 short int var17 /* : Bool */;
3239 int cltype18;
3240 int idtype19;
3241 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3242 short int var20 /* : Bool */;
3243 int cltype21;
3244 int idtype22;
3245 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3246 short int var23 /* : Bool */;
3247 int cltype24;
3248 int idtype25;
3249 val* var26 /* : Array[Object] */;
3250 val* var_listnode12 /* var listnode12: Array[Object] */;
3251 val* var_listnode11 /* var listnode11: nullable Object */;
3252 short int var27 /* : Bool */;
3253 int cltype28;
3254 int idtype29;
3255 val* var30 /* : Array[Object] */;
3256 val* var31 /* : AAnnotations */;
3257 val* var32 /* : null */;
3258 val* var33 /* : null */;
3259 val* var34 /* : null */;
3260 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
3261 val* var_tkwendnode17 /* var tkwendnode17: nullable Object */;
3262 short int var35 /* : Bool */;
3263 int cltype36;
3264 int idtype37;
3265 val* var38 /* : AStdClassdef */;
3266 val* var39 /* : null */;
3267 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3268 long var40 /* : Int */;
3269 long var41 /* : Int */;
3270 var_p = p0;
3271 var = NULL;
3272 var_node_list = var;
3273 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3274 var_nodearraylist9 = var1;
3275 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3276 var_nodearraylist8 = var2;
3277 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3278 var_nodearraylist7 = var3;
3279 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3280 var_nodearraylist6 = var4;
3281 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3282 var_nodearraylist5 = var5;
3283 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3284 var_nodearraylist4 = var6;
3285 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3286 var_nodearraylist3 = var7;
3287 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3288 var_nodearraylist2 = var8;
3289 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3290 var_nodearraylist1 = var9;
3291 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
3292 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
3293 CHECK_NEW_array__Array(var10);
3294 var_listnode7 = var10;
3295 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
3296 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
3297 CHECK_NEW_array__Array(var11);
3298 var_listnode15 = var11;
3299 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
3300 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
3301 CHECK_NEW_array__Array(var12);
3302 var_listnode16 = var12;
3303 var_pdocnode2 = var_nodearraylist1;
3304 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3305 cltype = type_nullable_parser_nodes__ADoc.color;
3306 idtype = type_nullable_parser_nodes__ADoc.id;
3307 if(var_pdocnode2 == NULL) {
3308 var13 = 1;
3309 } else {
3310 if(cltype >= var_pdocnode2->type->table_size) {
3311 var13 = 0;
3312 } else {
3313 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
3314 }
3315 }
3316 if (!var13) {
3317 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5048);
3318 exit(1);
3319 }
3320 var_tkwredefnode3 = var_nodearraylist2;
3321 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3322 cltype15 = type_nullable_parser_nodes__TKwredef.color;
3323 idtype16 = type_nullable_parser_nodes__TKwredef.id;
3324 if(var_tkwredefnode3 == NULL) {
3325 var14 = 1;
3326 } else {
3327 if(cltype15 >= var_tkwredefnode3->type->table_size) {
3328 var14 = 0;
3329 } else {
3330 var14 = var_tkwredefnode3->type->type_table[cltype15] == idtype16;
3331 }
3332 }
3333 if (!var14) {
3334 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5050);
3335 exit(1);
3336 }
3337 var_pvisibilitynode4 = var_nodearraylist3;
3338 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3339 cltype18 = type_nullable_parser_nodes__AVisibility.color;
3340 idtype19 = type_nullable_parser_nodes__AVisibility.id;
3341 if(var_pvisibilitynode4 == NULL) {
3342 var17 = 1;
3343 } else {
3344 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
3345 var17 = 0;
3346 } else {
3347 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
3348 }
3349 }
3350 if (!var17) {
3351 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5052);
3352 exit(1);
3353 }
3354 var_pclasskindnode5 = var_nodearraylist4;
3355 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3356 cltype21 = type_nullable_parser_nodes__AClasskind.color;
3357 idtype22 = type_nullable_parser_nodes__AClasskind.id;
3358 if(var_pclasskindnode5 == NULL) {
3359 var20 = 1;
3360 } else {
3361 if(cltype21 >= var_pclasskindnode5->type->table_size) {
3362 var20 = 0;
3363 } else {
3364 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
3365 }
3366 }
3367 if (!var20) {
3368 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5054);
3369 exit(1);
3370 }
3371 var_tclassidnode6 = var_nodearraylist6;
3372 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3373 cltype24 = type_nullable_parser_nodes__TClassid.color;
3374 idtype25 = type_nullable_parser_nodes__TClassid.id;
3375 if(var_tclassidnode6 == NULL) {
3376 var23 = 1;
3377 } else {
3378 if(cltype24 >= var_tclassidnode6->type->table_size) {
3379 var23 = 0;
3380 } else {
3381 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
3382 }
3383 }
3384 if (!var23) {
3385 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5056);
3386 exit(1);
3387 }
3388 var26 = NEW_array__Array(&type_array__Arraykernel__Object);
3389 ((void (*)(val*))(var26->class->vft[COLOR_array__Array__init]))(var26) /* init on <var26:Array[Object]>*/;
3390 CHECK_NEW_array__Array(var26);
3391 var_listnode12 = var26;
3392 var_listnode11 = var_nodearraylist7;
3393 /* <var_listnode11:nullable Object> isa Array[Object] */
3394 cltype28 = type_array__Arraykernel__Object.color;
3395 idtype29 = type_array__Arraykernel__Object.id;
3396 if(var_listnode11 == NULL) {
3397 var27 = 0;
3398 } else {
3399 if(cltype28 >= var_listnode11->type->table_size) {
3400 var27 = 0;
3401 } else {
3402 var27 = var_listnode11->type->type_table[cltype28] == idtype29;
3403 }
3404 }
3405 if (!var27) {
3406 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5059);
3407 exit(1);
3408 }
3409 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction90>*/;
3410 var_listnode12 = var30;
3411 var31 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
3412 var32 = NULL;
3413 var33 = NULL;
3414 var34 = NULL;
3415 ((void (*)(val*, val*, val*, val*, val*))(var31->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var31, var32, var33, var_listnode12, var34) /* init_aannotations on <var31:AAnnotations>*/;
3416 CHECK_NEW_parser_nodes__AAnnotations(var31);
3417 var_pannotationsnode8 = var31;
3418 var_tkwendnode17 = var_nodearraylist9;
3419 /* <var_tkwendnode17:nullable Object> isa nullable TKwend */
3420 cltype36 = type_nullable_parser_nodes__TKwend.color;
3421 idtype37 = type_nullable_parser_nodes__TKwend.id;
3422 if(var_tkwendnode17 == NULL) {
3423 var35 = 1;
3424 } else {
3425 if(cltype36 >= var_tkwendnode17->type->table_size) {
3426 var35 = 0;
3427 } else {
3428 var35 = var_tkwendnode17->type->type_table[cltype36] == idtype37;
3429 }
3430 }
3431 if (!var35) {
3432 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5068);
3433 exit(1);
3434 }
3435 var38 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3436 var39 = NULL;
3437 ((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, var_pannotationsnode8, var39, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on <var38:AStdClassdef>*/;
3438 CHECK_NEW_parser_nodes__AStdClassdef(var38);
3439 var_pclassdefnode1 = var38;
3440 var_node_list = var_pclassdefnode1;
3441 var40 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction90> */
3442 var41 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var40) /* go_to on <var_p:Parser>*/;
3443 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var41, var_node_list) /* push on <var_p:Parser>*/;
3444 RET_LABEL:;
3445 }
3446 /* method parser#ReduceAction90#action for (self: Object, Parser) */
3447 void VIRTUAL_parser__ReduceAction90__action(val* self, val* p0) {
3448 parser__ReduceAction90__action(self, p0);
3449 RET_LABEL:;
3450 }
3451 /* method parser#ReduceAction91#action for (self: ReduceAction91, Parser) */
3452 void parser__ReduceAction91__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_nodearraylist9 /* var nodearraylist9: nullable Object */;
3458 val* var2 /* : nullable Object */;
3459 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3460 val* var3 /* : nullable Object */;
3461 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3462 val* var4 /* : nullable Object */;
3463 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3464 val* var5 /* : nullable Object */;
3465 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3466 val* var6 /* : nullable Object */;
3467 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3468 val* var7 /* : nullable Object */;
3469 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3470 val* var8 /* : nullable Object */;
3471 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3472 val* var9 /* : nullable Object */;
3473 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3474 val* var10 /* : Array[Object] */;
3475 val* var_listnode7 /* var listnode7: Array[Object] */;
3476 val* var11 /* : Array[Object] */;
3477 val* var_listnode15 /* var listnode15: Array[Object] */;
3478 val* var12 /* : Array[Object] */;
3479 val* var_listnode16 /* var listnode16: Array[Object] */;
3480 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3481 short int var13 /* : Bool */;
3482 int cltype;
3483 int idtype;
3484 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3485 short int var14 /* : Bool */;
3486 int cltype15;
3487 int idtype16;
3488 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3489 short int var17 /* : Bool */;
3490 int cltype18;
3491 int idtype19;
3492 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3493 short int var20 /* : Bool */;
3494 int cltype21;
3495 int idtype22;
3496 val* var23 /* : Array[Object] */;
3497 val* var_listnode12 /* var listnode12: Array[Object] */;
3498 val* var_listnode11 /* var listnode11: nullable Object */;
3499 short int var24 /* : Bool */;
3500 int cltype25;
3501 int idtype26;
3502 val* var27 /* : Array[Object] */;
3503 val* var28 /* : AAnnotations */;
3504 val* var29 /* : null */;
3505 val* var30 /* : null */;
3506 val* var31 /* : null */;
3507 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
3508 val* var_tkwendnode17 /* var tkwendnode17: nullable Object */;
3509 short int var32 /* : Bool */;
3510 int cltype33;
3511 int idtype34;
3512 val* var35 /* : AStdClassdef */;
3513 val* var36 /* : null */;
3514 val* var37 /* : null */;
3515 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3516 long var38 /* : Int */;
3517 long var39 /* : Int */;
3518 var_p = p0;
3519 var = NULL;
3520 var_node_list = var;
3521 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3522 var_nodearraylist9 = var1;
3523 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3524 var_nodearraylist8 = var2;
3525 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3526 var_nodearraylist7 = var3;
3527 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3528 var_nodearraylist6 = var4;
3529 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3530 var_nodearraylist5 = var5;
3531 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3532 var_nodearraylist4 = var6;
3533 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3534 var_nodearraylist3 = var7;
3535 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3536 var_nodearraylist2 = var8;
3537 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3538 var_nodearraylist1 = var9;
3539 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
3540 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
3541 CHECK_NEW_array__Array(var10);
3542 var_listnode7 = var10;
3543 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
3544 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
3545 CHECK_NEW_array__Array(var11);
3546 var_listnode15 = var11;
3547 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
3548 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
3549 CHECK_NEW_array__Array(var12);
3550 var_listnode16 = var12;
3551 var_pdocnode2 = var_nodearraylist1;
3552 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3553 cltype = type_nullable_parser_nodes__ADoc.color;
3554 idtype = type_nullable_parser_nodes__ADoc.id;
3555 if(var_pdocnode2 == NULL) {
3556 var13 = 1;
3557 } else {
3558 if(cltype >= var_pdocnode2->type->table_size) {
3559 var13 = 0;
3560 } else {
3561 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
3562 }
3563 }
3564 if (!var13) {
3565 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5104);
3566 exit(1);
3567 }
3568 var_pvisibilitynode4 = var_nodearraylist2;
3569 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3570 cltype15 = type_nullable_parser_nodes__AVisibility.color;
3571 idtype16 = type_nullable_parser_nodes__AVisibility.id;
3572 if(var_pvisibilitynode4 == NULL) {
3573 var14 = 1;
3574 } else {
3575 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
3576 var14 = 0;
3577 } else {
3578 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
3579 }
3580 }
3581 if (!var14) {
3582 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5106);
3583 exit(1);
3584 }
3585 var_pclasskindnode5 = var_nodearraylist3;
3586 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3587 cltype18 = type_nullable_parser_nodes__AClasskind.color;
3588 idtype19 = type_nullable_parser_nodes__AClasskind.id;
3589 if(var_pclasskindnode5 == NULL) {
3590 var17 = 1;
3591 } else {
3592 if(cltype18 >= var_pclasskindnode5->type->table_size) {
3593 var17 = 0;
3594 } else {
3595 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
3596 }
3597 }
3598 if (!var17) {
3599 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5108);
3600 exit(1);
3601 }
3602 var_tclassidnode6 = var_nodearraylist6;
3603 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3604 cltype21 = type_nullable_parser_nodes__TClassid.color;
3605 idtype22 = type_nullable_parser_nodes__TClassid.id;
3606 if(var_tclassidnode6 == NULL) {
3607 var20 = 1;
3608 } else {
3609 if(cltype21 >= var_tclassidnode6->type->table_size) {
3610 var20 = 0;
3611 } else {
3612 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
3613 }
3614 }
3615 if (!var20) {
3616 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5110);
3617 exit(1);
3618 }
3619 var23 = NEW_array__Array(&type_array__Arraykernel__Object);
3620 ((void (*)(val*))(var23->class->vft[COLOR_array__Array__init]))(var23) /* init on <var23:Array[Object]>*/;
3621 CHECK_NEW_array__Array(var23);
3622 var_listnode12 = var23;
3623 var_listnode11 = var_nodearraylist7;
3624 /* <var_listnode11:nullable Object> isa Array[Object] */
3625 cltype25 = type_array__Arraykernel__Object.color;
3626 idtype26 = type_array__Arraykernel__Object.id;
3627 if(var_listnode11 == NULL) {
3628 var24 = 0;
3629 } else {
3630 if(cltype25 >= var_listnode11->type->table_size) {
3631 var24 = 0;
3632 } else {
3633 var24 = var_listnode11->type->type_table[cltype25] == idtype26;
3634 }
3635 }
3636 if (!var24) {
3637 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5113);
3638 exit(1);
3639 }
3640 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction91>*/;
3641 var_listnode12 = var27;
3642 var28 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
3643 var29 = NULL;
3644 var30 = NULL;
3645 var31 = NULL;
3646 ((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>*/;
3647 CHECK_NEW_parser_nodes__AAnnotations(var28);
3648 var_pannotationsnode8 = var28;
3649 var_tkwendnode17 = var_nodearraylist9;
3650 /* <var_tkwendnode17:nullable Object> isa nullable TKwend */
3651 cltype33 = type_nullable_parser_nodes__TKwend.color;
3652 idtype34 = type_nullable_parser_nodes__TKwend.id;
3653 if(var_tkwendnode17 == NULL) {
3654 var32 = 1;
3655 } else {
3656 if(cltype33 >= var_tkwendnode17->type->table_size) {
3657 var32 = 0;
3658 } else {
3659 var32 = var_tkwendnode17->type->type_table[cltype33] == idtype34;
3660 }
3661 }
3662 if (!var32) {
3663 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5122);
3664 exit(1);
3665 }
3666 var35 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3667 var36 = NULL;
3668 var37 = NULL;
3669 ((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, var_pannotationsnode8, var37, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on <var35:AStdClassdef>*/;
3670 CHECK_NEW_parser_nodes__AStdClassdef(var35);
3671 var_pclassdefnode1 = var35;
3672 var_node_list = var_pclassdefnode1;
3673 var38 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction91> */
3674 var39 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var38) /* go_to on <var_p:Parser>*/;
3675 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var39, var_node_list) /* push on <var_p:Parser>*/;
3676 RET_LABEL:;
3677 }
3678 /* method parser#ReduceAction91#action for (self: Object, Parser) */
3679 void VIRTUAL_parser__ReduceAction91__action(val* self, val* p0) {
3680 parser__ReduceAction91__action(self, p0);
3681 RET_LABEL:;
3682 }
3683 /* method parser#ReduceAction92#action for (self: ReduceAction92, Parser) */
3684 void parser__ReduceAction92__action(val* self, val* p0) {
3685 val* var_p /* var p: Parser */;
3686 val* var /* : null */;
3687 val* var_node_list /* var node_list: nullable Object */;
3688 val* var1 /* : nullable Object */;
3689 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
3690 val* var2 /* : nullable Object */;
3691 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3692 val* var3 /* : nullable Object */;
3693 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3694 val* var4 /* : nullable Object */;
3695 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3696 val* var5 /* : nullable Object */;
3697 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3698 val* var6 /* : nullable Object */;
3699 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3700 val* var7 /* : nullable Object */;
3701 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3702 val* var8 /* : nullable Object */;
3703 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3704 val* var9 /* : nullable Object */;
3705 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3706 val* var10 /* : nullable Object */;
3707 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3708 val* var11 /* : Array[Object] */;
3709 val* var_listnode7 /* var listnode7: Array[Object] */;
3710 val* var12 /* : Array[Object] */;
3711 val* var_listnode15 /* var listnode15: Array[Object] */;
3712 val* var13 /* : Array[Object] */;
3713 val* var_listnode16 /* var listnode16: Array[Object] */;
3714 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3715 short int var14 /* : Bool */;
3716 int cltype;
3717 int idtype;
3718 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3719 short int var15 /* : Bool */;
3720 int cltype16;
3721 int idtype17;
3722 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3723 short int var18 /* : Bool */;
3724 int cltype19;
3725 int idtype20;
3726 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3727 short int var21 /* : Bool */;
3728 int cltype22;
3729 int idtype23;
3730 val* var24 /* : Array[Object] */;
3731 val* var_listnode12 /* var listnode12: Array[Object] */;
3732 val* var_listnode11 /* var listnode11: nullable Object */;
3733 short int var25 /* : Bool */;
3734 int cltype26;
3735 int idtype27;
3736 val* var28 /* : Array[Object] */;
3737 val* var29 /* : AAnnotations */;
3738 val* var30 /* : null */;
3739 val* var31 /* : null */;
3740 val* var32 /* : null */;
3741 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
3742 val* var_tkwendnode17 /* var tkwendnode17: nullable Object */;
3743 short int var33 /* : Bool */;
3744 int cltype34;
3745 int idtype35;
3746 val* var36 /* : AStdClassdef */;
3747 val* var37 /* : null */;
3748 val* var38 /* : null */;
3749 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3750 long var39 /* : Int */;
3751 long var40 /* : Int */;
3752 var_p = p0;
3753 var = NULL;
3754 var_node_list = var;
3755 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3756 var_nodearraylist10 = var1;
3757 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3758 var_nodearraylist9 = var2;
3759 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3760 var_nodearraylist8 = var3;
3761 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3762 var_nodearraylist7 = var4;
3763 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3764 var_nodearraylist6 = var5;
3765 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3766 var_nodearraylist5 = var6;
3767 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3768 var_nodearraylist4 = var7;
3769 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3770 var_nodearraylist3 = var8;
3771 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3772 var_nodearraylist2 = var9;
3773 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3774 var_nodearraylist1 = var10;
3775 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
3776 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
3777 CHECK_NEW_array__Array(var11);
3778 var_listnode7 = var11;
3779 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
3780 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
3781 CHECK_NEW_array__Array(var12);
3782 var_listnode15 = var12;
3783 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
3784 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
3785 CHECK_NEW_array__Array(var13);
3786 var_listnode16 = var13;
3787 var_pdocnode2 = var_nodearraylist1;
3788 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3789 cltype = type_nullable_parser_nodes__ADoc.color;
3790 idtype = type_nullable_parser_nodes__ADoc.id;
3791 if(var_pdocnode2 == NULL) {
3792 var14 = 1;
3793 } else {
3794 if(cltype >= var_pdocnode2->type->table_size) {
3795 var14 = 0;
3796 } else {
3797 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
3798 }
3799 }
3800 if (!var14) {
3801 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5159);
3802 exit(1);
3803 }
3804 var_pvisibilitynode4 = var_nodearraylist2;
3805 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3806 cltype16 = type_nullable_parser_nodes__AVisibility.color;
3807 idtype17 = type_nullable_parser_nodes__AVisibility.id;
3808 if(var_pvisibilitynode4 == NULL) {
3809 var15 = 1;
3810 } else {
3811 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
3812 var15 = 0;
3813 } else {
3814 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
3815 }
3816 }
3817 if (!var15) {
3818 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5161);
3819 exit(1);
3820 }
3821 var_pclasskindnode5 = var_nodearraylist3;
3822 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
3823 cltype19 = type_nullable_parser_nodes__AClasskind.color;
3824 idtype20 = type_nullable_parser_nodes__AClasskind.id;
3825 if(var_pclasskindnode5 == NULL) {
3826 var18 = 1;
3827 } else {
3828 if(cltype19 >= var_pclasskindnode5->type->table_size) {
3829 var18 = 0;
3830 } else {
3831 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
3832 }
3833 }
3834 if (!var18) {
3835 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5163);
3836 exit(1);
3837 }
3838 var_tclassidnode6 = var_nodearraylist7;
3839 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
3840 cltype22 = type_nullable_parser_nodes__TClassid.color;
3841 idtype23 = type_nullable_parser_nodes__TClassid.id;
3842 if(var_tclassidnode6 == NULL) {
3843 var21 = 1;
3844 } else {
3845 if(cltype22 >= var_tclassidnode6->type->table_size) {
3846 var21 = 0;
3847 } else {
3848 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
3849 }
3850 }
3851 if (!var21) {
3852 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5165);
3853 exit(1);
3854 }
3855 var24 = NEW_array__Array(&type_array__Arraykernel__Object);
3856 ((void (*)(val*))(var24->class->vft[COLOR_array__Array__init]))(var24) /* init on <var24:Array[Object]>*/;
3857 CHECK_NEW_array__Array(var24);
3858 var_listnode12 = var24;
3859 var_listnode11 = var_nodearraylist8;
3860 /* <var_listnode11:nullable Object> isa Array[Object] */
3861 cltype26 = type_array__Arraykernel__Object.color;
3862 idtype27 = type_array__Arraykernel__Object.id;
3863 if(var_listnode11 == NULL) {
3864 var25 = 0;
3865 } else {
3866 if(cltype26 >= var_listnode11->type->table_size) {
3867 var25 = 0;
3868 } else {
3869 var25 = var_listnode11->type->type_table[cltype26] == idtype27;
3870 }
3871 }
3872 if (!var25) {
3873 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5168);
3874 exit(1);
3875 }
3876 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction92>*/;
3877 var_listnode12 = var28;
3878 var29 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
3879 var30 = NULL;
3880 var31 = NULL;
3881 var32 = NULL;
3882 ((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>*/;
3883 CHECK_NEW_parser_nodes__AAnnotations(var29);
3884 var_pannotationsnode8 = var29;
3885 var_tkwendnode17 = var_nodearraylist10;
3886 /* <var_tkwendnode17:nullable Object> isa nullable TKwend */
3887 cltype34 = type_nullable_parser_nodes__TKwend.color;
3888 idtype35 = type_nullable_parser_nodes__TKwend.id;
3889 if(var_tkwendnode17 == NULL) {
3890 var33 = 1;
3891 } else {
3892 if(cltype34 >= var_tkwendnode17->type->table_size) {
3893 var33 = 0;
3894 } else {
3895 var33 = var_tkwendnode17->type->type_table[cltype34] == idtype35;
3896 }
3897 }
3898 if (!var33) {
3899 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5177);
3900 exit(1);
3901 }
3902 var36 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
3903 var37 = NULL;
3904 var38 = NULL;
3905 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var36->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var36, var_pdocnode2, var37, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var38, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on <var36:AStdClassdef>*/;
3906 CHECK_NEW_parser_nodes__AStdClassdef(var36);
3907 var_pclassdefnode1 = var36;
3908 var_node_list = var_pclassdefnode1;
3909 var39 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction92> */
3910 var40 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var39) /* go_to on <var_p:Parser>*/;
3911 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var40, var_node_list) /* push on <var_p:Parser>*/;
3912 RET_LABEL:;
3913 }
3914 /* method parser#ReduceAction92#action for (self: Object, Parser) */
3915 void VIRTUAL_parser__ReduceAction92__action(val* self, val* p0) {
3916 parser__ReduceAction92__action(self, p0);
3917 RET_LABEL:;
3918 }
3919 /* method parser#ReduceAction94#action for (self: ReduceAction94, Parser) */
3920 void parser__ReduceAction94__action(val* self, val* p0) {
3921 val* var_p /* var p: Parser */;
3922 val* var /* : null */;
3923 val* var_node_list /* var node_list: nullable Object */;
3924 val* var1 /* : nullable Object */;
3925 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
3926 val* var2 /* : nullable Object */;
3927 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
3928 val* var3 /* : nullable Object */;
3929 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
3930 val* var4 /* : nullable Object */;
3931 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
3932 val* var5 /* : nullable Object */;
3933 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
3934 val* var6 /* : nullable Object */;
3935 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
3936 val* var7 /* : nullable Object */;
3937 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
3938 val* var8 /* : nullable Object */;
3939 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
3940 val* var9 /* : nullable Object */;
3941 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
3942 val* var10 /* : nullable Object */;
3943 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
3944 val* var11 /* : Array[Object] */;
3945 val* var_listnode7 /* var listnode7: Array[Object] */;
3946 val* var12 /* : Array[Object] */;
3947 val* var_listnode15 /* var listnode15: Array[Object] */;
3948 val* var13 /* : Array[Object] */;
3949 val* var_listnode16 /* var listnode16: Array[Object] */;
3950 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
3951 short int var14 /* : Bool */;
3952 int cltype;
3953 int idtype;
3954 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
3955 short int var15 /* : Bool */;
3956 int cltype16;
3957 int idtype17;
3958 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
3959 short int var18 /* : Bool */;
3960 int cltype19;
3961 int idtype20;
3962 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
3963 short int var21 /* : Bool */;
3964 int cltype22;
3965 int idtype23;
3966 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
3967 short int var24 /* : Bool */;
3968 int cltype25;
3969 int idtype26;
3970 val* var27 /* : Array[Object] */;
3971 val* var_listnode12 /* var listnode12: Array[Object] */;
3972 val* var_listnode11 /* var listnode11: nullable Object */;
3973 short int var28 /* : Bool */;
3974 int cltype29;
3975 int idtype30;
3976 val* var31 /* : Array[Object] */;
3977 val* var32 /* : AAnnotations */;
3978 val* var33 /* : null */;
3979 val* var34 /* : null */;
3980 val* var35 /* : null */;
3981 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
3982 val* var_tkwendnode17 /* var tkwendnode17: nullable Object */;
3983 short int var36 /* : Bool */;
3984 int cltype37;
3985 int idtype38;
3986 val* var39 /* : AStdClassdef */;
3987 val* var40 /* : null */;
3988 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
3989 long var41 /* : Int */;
3990 long var42 /* : Int */;
3991 var_p = p0;
3992 var = NULL;
3993 var_node_list = var;
3994 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3995 var_nodearraylist10 = var1;
3996 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3997 var_nodearraylist9 = var2;
3998 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
3999 var_nodearraylist8 = var3;
4000 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4001 var_nodearraylist7 = var4;
4002 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4003 var_nodearraylist6 = var5;
4004 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4005 var_nodearraylist5 = var6;
4006 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4007 var_nodearraylist4 = var7;
4008 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4009 var_nodearraylist3 = var8;
4010 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4011 var_nodearraylist2 = var9;
4012 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4013 var_nodearraylist1 = var10;
4014 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
4015 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
4016 CHECK_NEW_array__Array(var11);
4017 var_listnode7 = var11;
4018 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
4019 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
4020 CHECK_NEW_array__Array(var12);
4021 var_listnode15 = var12;
4022 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
4023 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
4024 CHECK_NEW_array__Array(var13);
4025 var_listnode16 = var13;
4026 var_pdocnode2 = var_nodearraylist1;
4027 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4028 cltype = type_nullable_parser_nodes__ADoc.color;
4029 idtype = type_nullable_parser_nodes__ADoc.id;
4030 if(var_pdocnode2 == NULL) {
4031 var14 = 1;
4032 } else {
4033 if(cltype >= var_pdocnode2->type->table_size) {
4034 var14 = 0;
4035 } else {
4036 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
4037 }
4038 }
4039 if (!var14) {
4040 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5214);
4041 exit(1);
4042 }
4043 var_tkwredefnode3 = var_nodearraylist2;
4044 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4045 cltype16 = type_nullable_parser_nodes__TKwredef.color;
4046 idtype17 = type_nullable_parser_nodes__TKwredef.id;
4047 if(var_tkwredefnode3 == NULL) {
4048 var15 = 1;
4049 } else {
4050 if(cltype16 >= var_tkwredefnode3->type->table_size) {
4051 var15 = 0;
4052 } else {
4053 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
4054 }
4055 }
4056 if (!var15) {
4057 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5216);
4058 exit(1);
4059 }
4060 var_pvisibilitynode4 = var_nodearraylist3;
4061 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4062 cltype19 = type_nullable_parser_nodes__AVisibility.color;
4063 idtype20 = type_nullable_parser_nodes__AVisibility.id;
4064 if(var_pvisibilitynode4 == NULL) {
4065 var18 = 1;
4066 } else {
4067 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
4068 var18 = 0;
4069 } else {
4070 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
4071 }
4072 }
4073 if (!var18) {
4074 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5218);
4075 exit(1);
4076 }
4077 var_pclasskindnode5 = var_nodearraylist4;
4078 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4079 cltype22 = type_nullable_parser_nodes__AClasskind.color;
4080 idtype23 = type_nullable_parser_nodes__AClasskind.id;
4081 if(var_pclasskindnode5 == NULL) {
4082 var21 = 1;
4083 } else {
4084 if(cltype22 >= var_pclasskindnode5->type->table_size) {
4085 var21 = 0;
4086 } else {
4087 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
4088 }
4089 }
4090 if (!var21) {
4091 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5220);
4092 exit(1);
4093 }
4094 var_tclassidnode6 = var_nodearraylist7;
4095 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4096 cltype25 = type_nullable_parser_nodes__TClassid.color;
4097 idtype26 = type_nullable_parser_nodes__TClassid.id;
4098 if(var_tclassidnode6 == NULL) {
4099 var24 = 1;
4100 } else {
4101 if(cltype25 >= var_tclassidnode6->type->table_size) {
4102 var24 = 0;
4103 } else {
4104 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
4105 }
4106 }
4107 if (!var24) {
4108 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5222);
4109 exit(1);
4110 }
4111 var27 = NEW_array__Array(&type_array__Arraykernel__Object);
4112 ((void (*)(val*))(var27->class->vft[COLOR_array__Array__init]))(var27) /* init on <var27:Array[Object]>*/;
4113 CHECK_NEW_array__Array(var27);
4114 var_listnode12 = var27;
4115 var_listnode11 = var_nodearraylist8;
4116 /* <var_listnode11:nullable Object> isa Array[Object] */
4117 cltype29 = type_array__Arraykernel__Object.color;
4118 idtype30 = type_array__Arraykernel__Object.id;
4119 if(var_listnode11 == NULL) {
4120 var28 = 0;
4121 } else {
4122 if(cltype29 >= var_listnode11->type->table_size) {
4123 var28 = 0;
4124 } else {
4125 var28 = var_listnode11->type->type_table[cltype29] == idtype30;
4126 }
4127 }
4128 if (!var28) {
4129 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5225);
4130 exit(1);
4131 }
4132 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction94>*/;
4133 var_listnode12 = var31;
4134 var32 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
4135 var33 = NULL;
4136 var34 = NULL;
4137 var35 = NULL;
4138 ((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>*/;
4139 CHECK_NEW_parser_nodes__AAnnotations(var32);
4140 var_pannotationsnode8 = var32;
4141 var_tkwendnode17 = var_nodearraylist10;
4142 /* <var_tkwendnode17:nullable Object> isa nullable TKwend */
4143 cltype37 = type_nullable_parser_nodes__TKwend.color;
4144 idtype38 = type_nullable_parser_nodes__TKwend.id;
4145 if(var_tkwendnode17 == NULL) {
4146 var36 = 1;
4147 } else {
4148 if(cltype37 >= var_tkwendnode17->type->table_size) {
4149 var36 = 0;
4150 } else {
4151 var36 = var_tkwendnode17->type->type_table[cltype37] == idtype38;
4152 }
4153 }
4154 if (!var36) {
4155 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5234);
4156 exit(1);
4157 }
4158 var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4159 var40 = NULL;
4160 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var39->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var39, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var40, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on <var39:AStdClassdef>*/;
4161 CHECK_NEW_parser_nodes__AStdClassdef(var39);
4162 var_pclassdefnode1 = var39;
4163 var_node_list = var_pclassdefnode1;
4164 var41 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction94> */
4165 var42 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var41) /* go_to on <var_p:Parser>*/;
4166 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var42, var_node_list) /* push on <var_p:Parser>*/;
4167 RET_LABEL:;
4168 }
4169 /* method parser#ReduceAction94#action for (self: Object, Parser) */
4170 void VIRTUAL_parser__ReduceAction94__action(val* self, val* p0) {
4171 parser__ReduceAction94__action(self, p0);
4172 RET_LABEL:;
4173 }
4174 /* method parser#ReduceAction95#action for (self: ReduceAction95, Parser) */
4175 void parser__ReduceAction95__action(val* self, val* p0) {
4176 val* var_p /* var p: Parser */;
4177 val* var /* : null */;
4178 val* var_node_list /* var node_list: nullable Object */;
4179 val* var1 /* : nullable Object */;
4180 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
4181 val* var2 /* : nullable Object */;
4182 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4183 val* var3 /* : nullable Object */;
4184 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4185 val* var4 /* : nullable Object */;
4186 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4187 val* var5 /* : nullable Object */;
4188 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4189 val* var6 /* : nullable Object */;
4190 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4191 val* var7 /* : nullable Object */;
4192 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4193 val* var8 /* : nullable Object */;
4194 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4195 val* var9 /* : nullable Object */;
4196 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4197 val* var10 /* : nullable Object */;
4198 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4199 val* var11 /* : nullable Object */;
4200 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4201 val* var12 /* : Array[Object] */;
4202 val* var_listnode7 /* var listnode7: Array[Object] */;
4203 val* var13 /* : Array[Object] */;
4204 val* var_listnode15 /* var listnode15: Array[Object] */;
4205 val* var14 /* : Array[Object] */;
4206 val* var_listnode16 /* var listnode16: Array[Object] */;
4207 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4208 short int var15 /* : Bool */;
4209 int cltype;
4210 int idtype;
4211 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
4212 short int var16 /* : Bool */;
4213 int cltype17;
4214 int idtype18;
4215 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4216 short int var19 /* : Bool */;
4217 int cltype20;
4218 int idtype21;
4219 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4220 short int var22 /* : Bool */;
4221 int cltype23;
4222 int idtype24;
4223 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4224 short int var25 /* : Bool */;
4225 int cltype26;
4226 int idtype27;
4227 val* var28 /* : Array[Object] */;
4228 val* var_listnode12 /* var listnode12: Array[Object] */;
4229 val* var_listnode11 /* var listnode11: nullable Object */;
4230 short int var29 /* : Bool */;
4231 int cltype30;
4232 int idtype31;
4233 val* var32 /* : Array[Object] */;
4234 val* var33 /* : AAnnotations */;
4235 val* var34 /* : null */;
4236 val* var35 /* : null */;
4237 val* var36 /* : null */;
4238 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
4239 val* var_tkwendnode17 /* var tkwendnode17: nullable Object */;
4240 short int var37 /* : Bool */;
4241 int cltype38;
4242 int idtype39;
4243 val* var40 /* : AStdClassdef */;
4244 val* var41 /* : null */;
4245 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4246 long var42 /* : Int */;
4247 long var43 /* : Int */;
4248 var_p = p0;
4249 var = NULL;
4250 var_node_list = var;
4251 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4252 var_nodearraylist11 = var1;
4253 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4254 var_nodearraylist10 = var2;
4255 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4256 var_nodearraylist9 = var3;
4257 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4258 var_nodearraylist8 = var4;
4259 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4260 var_nodearraylist7 = var5;
4261 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4262 var_nodearraylist6 = var6;
4263 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4264 var_nodearraylist5 = var7;
4265 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4266 var_nodearraylist4 = var8;
4267 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4268 var_nodearraylist3 = var9;
4269 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4270 var_nodearraylist2 = var10;
4271 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4272 var_nodearraylist1 = var11;
4273 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
4274 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
4275 CHECK_NEW_array__Array(var12);
4276 var_listnode7 = var12;
4277 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
4278 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
4279 CHECK_NEW_array__Array(var13);
4280 var_listnode15 = var13;
4281 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
4282 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
4283 CHECK_NEW_array__Array(var14);
4284 var_listnode16 = var14;
4285 var_pdocnode2 = var_nodearraylist1;
4286 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4287 cltype = type_nullable_parser_nodes__ADoc.color;
4288 idtype = type_nullable_parser_nodes__ADoc.id;
4289 if(var_pdocnode2 == NULL) {
4290 var15 = 1;
4291 } else {
4292 if(cltype >= var_pdocnode2->type->table_size) {
4293 var15 = 0;
4294 } else {
4295 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
4296 }
4297 }
4298 if (!var15) {
4299 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5272);
4300 exit(1);
4301 }
4302 var_tkwredefnode3 = var_nodearraylist2;
4303 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4304 cltype17 = type_nullable_parser_nodes__TKwredef.color;
4305 idtype18 = type_nullable_parser_nodes__TKwredef.id;
4306 if(var_tkwredefnode3 == NULL) {
4307 var16 = 1;
4308 } else {
4309 if(cltype17 >= var_tkwredefnode3->type->table_size) {
4310 var16 = 0;
4311 } else {
4312 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
4313 }
4314 }
4315 if (!var16) {
4316 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5274);
4317 exit(1);
4318 }
4319 var_pvisibilitynode4 = var_nodearraylist3;
4320 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4321 cltype20 = type_nullable_parser_nodes__AVisibility.color;
4322 idtype21 = type_nullable_parser_nodes__AVisibility.id;
4323 if(var_pvisibilitynode4 == NULL) {
4324 var19 = 1;
4325 } else {
4326 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
4327 var19 = 0;
4328 } else {
4329 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
4330 }
4331 }
4332 if (!var19) {
4333 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5276);
4334 exit(1);
4335 }
4336 var_pclasskindnode5 = var_nodearraylist4;
4337 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4338 cltype23 = type_nullable_parser_nodes__AClasskind.color;
4339 idtype24 = type_nullable_parser_nodes__AClasskind.id;
4340 if(var_pclasskindnode5 == NULL) {
4341 var22 = 1;
4342 } else {
4343 if(cltype23 >= var_pclasskindnode5->type->table_size) {
4344 var22 = 0;
4345 } else {
4346 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
4347 }
4348 }
4349 if (!var22) {
4350 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5278);
4351 exit(1);
4352 }
4353 var_tclassidnode6 = var_nodearraylist8;
4354 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4355 cltype26 = type_nullable_parser_nodes__TClassid.color;
4356 idtype27 = type_nullable_parser_nodes__TClassid.id;
4357 if(var_tclassidnode6 == NULL) {
4358 var25 = 1;
4359 } else {
4360 if(cltype26 >= var_tclassidnode6->type->table_size) {
4361 var25 = 0;
4362 } else {
4363 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
4364 }
4365 }
4366 if (!var25) {
4367 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5280);
4368 exit(1);
4369 }
4370 var28 = NEW_array__Array(&type_array__Arraykernel__Object);
4371 ((void (*)(val*))(var28->class->vft[COLOR_array__Array__init]))(var28) /* init on <var28:Array[Object]>*/;
4372 CHECK_NEW_array__Array(var28);
4373 var_listnode12 = var28;
4374 var_listnode11 = var_nodearraylist9;
4375 /* <var_listnode11:nullable Object> isa Array[Object] */
4376 cltype30 = type_array__Arraykernel__Object.color;
4377 idtype31 = type_array__Arraykernel__Object.id;
4378 if(var_listnode11 == NULL) {
4379 var29 = 0;
4380 } else {
4381 if(cltype30 >= var_listnode11->type->table_size) {
4382 var29 = 0;
4383 } else {
4384 var29 = var_listnode11->type->type_table[cltype30] == idtype31;
4385 }
4386 }
4387 if (!var29) {
4388 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5283);
4389 exit(1);
4390 }
4391 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction95>*/;
4392 var_listnode12 = var32;
4393 var33 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
4394 var34 = NULL;
4395 var35 = NULL;
4396 var36 = NULL;
4397 ((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>*/;
4398 CHECK_NEW_parser_nodes__AAnnotations(var33);
4399 var_pannotationsnode8 = var33;
4400 var_tkwendnode17 = var_nodearraylist11;
4401 /* <var_tkwendnode17:nullable Object> isa nullable TKwend */
4402 cltype38 = type_nullable_parser_nodes__TKwend.color;
4403 idtype39 = type_nullable_parser_nodes__TKwend.id;
4404 if(var_tkwendnode17 == NULL) {
4405 var37 = 1;
4406 } else {
4407 if(cltype38 >= var_tkwendnode17->type->table_size) {
4408 var37 = 0;
4409 } else {
4410 var37 = var_tkwendnode17->type->type_table[cltype38] == idtype39;
4411 }
4412 }
4413 if (!var37) {
4414 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5292);
4415 exit(1);
4416 }
4417 var40 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4418 var41 = NULL;
4419 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var40->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var40, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var41, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on <var40:AStdClassdef>*/;
4420 CHECK_NEW_parser_nodes__AStdClassdef(var40);
4421 var_pclassdefnode1 = var40;
4422 var_node_list = var_pclassdefnode1;
4423 var42 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction95> */
4424 var43 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var42) /* go_to on <var_p:Parser>*/;
4425 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var43, var_node_list) /* push on <var_p:Parser>*/;
4426 RET_LABEL:;
4427 }
4428 /* method parser#ReduceAction95#action for (self: Object, Parser) */
4429 void VIRTUAL_parser__ReduceAction95__action(val* self, val* p0) {
4430 parser__ReduceAction95__action(self, p0);
4431 RET_LABEL:;
4432 }
4433 /* method parser#ReduceAction97#action for (self: ReduceAction97, Parser) */
4434 void parser__ReduceAction97__action(val* self, val* p0) {
4435 val* var_p /* var p: Parser */;
4436 val* var /* : null */;
4437 val* var_node_list /* var node_list: nullable Object */;
4438 val* var1 /* : nullable Object */;
4439 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4440 val* var2 /* : nullable Object */;
4441 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4442 val* var3 /* : nullable Object */;
4443 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4444 val* var4 /* : nullable Object */;
4445 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4446 val* var5 /* : nullable Object */;
4447 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4448 val* var6 /* : nullable Object */;
4449 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4450 val* var7 /* : nullable Object */;
4451 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4452 val* var8 /* : nullable Object */;
4453 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4454 val* var9 /* : nullable Object */;
4455 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4456 val* var10 /* : Array[Object] */;
4457 val* var_listnode8 /* var listnode8: Array[Object] */;
4458 val* var11 /* : Array[Object] */;
4459 val* var_listnode16 /* var listnode16: Array[Object] */;
4460 val* var12 /* : Array[Object] */;
4461 val* var_listnode17 /* var listnode17: Array[Object] */;
4462 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4463 short int var13 /* : Bool */;
4464 int cltype;
4465 int idtype;
4466 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4467 short int var14 /* : Bool */;
4468 int cltype15;
4469 int idtype16;
4470 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4471 short int var17 /* : Bool */;
4472 int cltype18;
4473 int idtype19;
4474 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4475 short int var20 /* : Bool */;
4476 int cltype21;
4477 int idtype22;
4478 val* var_listnode7 /* var listnode7: nullable Object */;
4479 short int var23 /* : Bool */;
4480 int cltype24;
4481 int idtype25;
4482 val* var26 /* : Array[Object] */;
4483 val* var27 /* : Array[Object] */;
4484 val* var_listnode13 /* var listnode13: Array[Object] */;
4485 val* var_listnode12 /* var listnode12: nullable Object */;
4486 short int var28 /* : Bool */;
4487 int cltype29;
4488 int idtype30;
4489 val* var31 /* : Array[Object] */;
4490 val* var32 /* : AAnnotations */;
4491 val* var33 /* : null */;
4492 val* var34 /* : null */;
4493 val* var35 /* : null */;
4494 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
4495 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
4496 short int var36 /* : Bool */;
4497 int cltype37;
4498 int idtype38;
4499 val* var39 /* : AStdClassdef */;
4500 val* var40 /* : null */;
4501 val* var41 /* : null */;
4502 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4503 long var42 /* : Int */;
4504 long var43 /* : Int */;
4505 var_p = p0;
4506 var = NULL;
4507 var_node_list = var;
4508 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4509 var_nodearraylist9 = var1;
4510 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4511 var_nodearraylist8 = var2;
4512 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4513 var_nodearraylist7 = var3;
4514 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4515 var_nodearraylist6 = var4;
4516 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4517 var_nodearraylist5 = var5;
4518 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4519 var_nodearraylist4 = var6;
4520 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4521 var_nodearraylist3 = var7;
4522 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4523 var_nodearraylist2 = var8;
4524 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4525 var_nodearraylist1 = var9;
4526 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
4527 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
4528 CHECK_NEW_array__Array(var10);
4529 var_listnode8 = var10;
4530 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
4531 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
4532 CHECK_NEW_array__Array(var11);
4533 var_listnode16 = var11;
4534 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
4535 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
4536 CHECK_NEW_array__Array(var12);
4537 var_listnode17 = var12;
4538 var_pdocnode2 = var_nodearraylist1;
4539 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4540 cltype = type_nullable_parser_nodes__ADoc.color;
4541 idtype = type_nullable_parser_nodes__ADoc.id;
4542 if(var_pdocnode2 == NULL) {
4543 var13 = 1;
4544 } else {
4545 if(cltype >= var_pdocnode2->type->table_size) {
4546 var13 = 0;
4547 } else {
4548 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
4549 }
4550 }
4551 if (!var13) {
4552 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5328);
4553 exit(1);
4554 }
4555 var_pvisibilitynode4 = var_nodearraylist2;
4556 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4557 cltype15 = type_nullable_parser_nodes__AVisibility.color;
4558 idtype16 = type_nullable_parser_nodes__AVisibility.id;
4559 if(var_pvisibilitynode4 == NULL) {
4560 var14 = 1;
4561 } else {
4562 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
4563 var14 = 0;
4564 } else {
4565 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
4566 }
4567 }
4568 if (!var14) {
4569 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5330);
4570 exit(1);
4571 }
4572 var_pclasskindnode5 = var_nodearraylist3;
4573 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4574 cltype18 = type_nullable_parser_nodes__AClasskind.color;
4575 idtype19 = type_nullable_parser_nodes__AClasskind.id;
4576 if(var_pclasskindnode5 == NULL) {
4577 var17 = 1;
4578 } else {
4579 if(cltype18 >= var_pclasskindnode5->type->table_size) {
4580 var17 = 0;
4581 } else {
4582 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
4583 }
4584 }
4585 if (!var17) {
4586 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5332);
4587 exit(1);
4588 }
4589 var_tclassidnode6 = var_nodearraylist5;
4590 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4591 cltype21 = type_nullable_parser_nodes__TClassid.color;
4592 idtype22 = type_nullable_parser_nodes__TClassid.id;
4593 if(var_tclassidnode6 == NULL) {
4594 var20 = 1;
4595 } else {
4596 if(cltype21 >= var_tclassidnode6->type->table_size) {
4597 var20 = 0;
4598 } else {
4599 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
4600 }
4601 }
4602 if (!var20) {
4603 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5334);
4604 exit(1);
4605 }
4606 var_listnode7 = var_nodearraylist6;
4607 /* <var_listnode7:nullable Object> isa Array[Object] */
4608 cltype24 = type_array__Arraykernel__Object.color;
4609 idtype25 = type_array__Arraykernel__Object.id;
4610 if(var_listnode7 == NULL) {
4611 var23 = 0;
4612 } else {
4613 if(cltype24 >= var_listnode7->type->table_size) {
4614 var23 = 0;
4615 } else {
4616 var23 = var_listnode7->type->type_table[cltype24] == idtype25;
4617 }
4618 }
4619 if (!var23) {
4620 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5336);
4621 exit(1);
4622 }
4623 var26 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction97>*/;
4624 var_listnode8 = var26;
4625 var27 = NEW_array__Array(&type_array__Arraykernel__Object);
4626 ((void (*)(val*))(var27->class->vft[COLOR_array__Array__init]))(var27) /* init on <var27:Array[Object]>*/;
4627 CHECK_NEW_array__Array(var27);
4628 var_listnode13 = var27;
4629 var_listnode12 = var_nodearraylist7;
4630 /* <var_listnode12:nullable Object> isa Array[Object] */
4631 cltype29 = type_array__Arraykernel__Object.color;
4632 idtype30 = type_array__Arraykernel__Object.id;
4633 if(var_listnode12 == NULL) {
4634 var28 = 0;
4635 } else {
4636 if(cltype29 >= var_listnode12->type->table_size) {
4637 var28 = 0;
4638 } else {
4639 var28 = var_listnode12->type->type_table[cltype29] == idtype30;
4640 }
4641 }
4642 if (!var28) {
4643 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5340);
4644 exit(1);
4645 }
4646 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction97>*/;
4647 var_listnode13 = var31;
4648 var32 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
4649 var33 = NULL;
4650 var34 = NULL;
4651 var35 = NULL;
4652 ((void (*)(val*, val*, val*, val*, val*))(var32->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var32, var33, var34, var_listnode13, var35) /* init_aannotations on <var32:AAnnotations>*/;
4653 CHECK_NEW_parser_nodes__AAnnotations(var32);
4654 var_pannotationsnode9 = var32;
4655 var_tkwendnode18 = var_nodearraylist9;
4656 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
4657 cltype37 = type_nullable_parser_nodes__TKwend.color;
4658 idtype38 = type_nullable_parser_nodes__TKwend.id;
4659 if(var_tkwendnode18 == NULL) {
4660 var36 = 1;
4661 } else {
4662 if(cltype37 >= var_tkwendnode18->type->table_size) {
4663 var36 = 0;
4664 } else {
4665 var36 = var_tkwendnode18->type->type_table[cltype37] == idtype38;
4666 }
4667 }
4668 if (!var36) {
4669 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5349);
4670 exit(1);
4671 }
4672 var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4673 var40 = NULL;
4674 var41 = NULL;
4675 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var39->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var39, var_pdocnode2, var40, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var41, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var39:AStdClassdef>*/;
4676 CHECK_NEW_parser_nodes__AStdClassdef(var39);
4677 var_pclassdefnode1 = var39;
4678 var_node_list = var_pclassdefnode1;
4679 var42 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction97> */
4680 var43 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var42) /* go_to on <var_p:Parser>*/;
4681 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var43, var_node_list) /* push on <var_p:Parser>*/;
4682 RET_LABEL:;
4683 }
4684 /* method parser#ReduceAction97#action for (self: Object, Parser) */
4685 void VIRTUAL_parser__ReduceAction97__action(val* self, val* p0) {
4686 parser__ReduceAction97__action(self, p0);
4687 RET_LABEL:;
4688 }
4689 /* method parser#ReduceAction98#action for (self: ReduceAction98, Parser) */
4690 void parser__ReduceAction98__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_nodearraylist10 /* var nodearraylist10: nullable Object */;
4696 val* var2 /* : nullable Object */;
4697 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4698 val* var3 /* : nullable Object */;
4699 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4700 val* var4 /* : nullable Object */;
4701 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4702 val* var5 /* : nullable Object */;
4703 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4704 val* var6 /* : nullable Object */;
4705 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4706 val* var7 /* : nullable Object */;
4707 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4708 val* var8 /* : nullable Object */;
4709 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4710 val* var9 /* : nullable Object */;
4711 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4712 val* var10 /* : nullable Object */;
4713 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4714 val* var11 /* : Array[Object] */;
4715 val* var_listnode8 /* var listnode8: Array[Object] */;
4716 val* var12 /* : Array[Object] */;
4717 val* var_listnode16 /* var listnode16: Array[Object] */;
4718 val* var13 /* : Array[Object] */;
4719 val* var_listnode17 /* var listnode17: Array[Object] */;
4720 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
4721 short int var14 /* : Bool */;
4722 int cltype;
4723 int idtype;
4724 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
4725 short int var15 /* : Bool */;
4726 int cltype16;
4727 int idtype17;
4728 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
4729 short int var18 /* : Bool */;
4730 int cltype19;
4731 int idtype20;
4732 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
4733 short int var21 /* : Bool */;
4734 int cltype22;
4735 int idtype23;
4736 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
4737 short int var24 /* : Bool */;
4738 int cltype25;
4739 int idtype26;
4740 val* var_listnode7 /* var listnode7: nullable Object */;
4741 short int var27 /* : Bool */;
4742 int cltype28;
4743 int idtype29;
4744 val* var30 /* : Array[Object] */;
4745 val* var31 /* : Array[Object] */;
4746 val* var_listnode13 /* var listnode13: Array[Object] */;
4747 val* var_listnode12 /* var listnode12: nullable Object */;
4748 short int var32 /* : Bool */;
4749 int cltype33;
4750 int idtype34;
4751 val* var35 /* : Array[Object] */;
4752 val* var36 /* : AAnnotations */;
4753 val* var37 /* : null */;
4754 val* var38 /* : null */;
4755 val* var39 /* : null */;
4756 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
4757 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
4758 short int var40 /* : Bool */;
4759 int cltype41;
4760 int idtype42;
4761 val* var43 /* : AStdClassdef */;
4762 val* var44 /* : null */;
4763 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
4764 long var45 /* : Int */;
4765 long var46 /* : Int */;
4766 var_p = p0;
4767 var = NULL;
4768 var_node_list = var;
4769 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4770 var_nodearraylist10 = var1;
4771 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4772 var_nodearraylist9 = var2;
4773 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4774 var_nodearraylist8 = var3;
4775 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4776 var_nodearraylist7 = var4;
4777 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4778 var_nodearraylist6 = var5;
4779 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4780 var_nodearraylist5 = var6;
4781 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4782 var_nodearraylist4 = var7;
4783 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4784 var_nodearraylist3 = var8;
4785 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4786 var_nodearraylist2 = var9;
4787 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
4788 var_nodearraylist1 = var10;
4789 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
4790 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
4791 CHECK_NEW_array__Array(var11);
4792 var_listnode8 = var11;
4793 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
4794 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
4795 CHECK_NEW_array__Array(var12);
4796 var_listnode16 = var12;
4797 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
4798 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
4799 CHECK_NEW_array__Array(var13);
4800 var_listnode17 = var13;
4801 var_pdocnode2 = var_nodearraylist1;
4802 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4803 cltype = type_nullable_parser_nodes__ADoc.color;
4804 idtype = type_nullable_parser_nodes__ADoc.id;
4805 if(var_pdocnode2 == NULL) {
4806 var14 = 1;
4807 } else {
4808 if(cltype >= var_pdocnode2->type->table_size) {
4809 var14 = 0;
4810 } else {
4811 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
4812 }
4813 }
4814 if (!var14) {
4815 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5386);
4816 exit(1);
4817 }
4818 var_tkwredefnode3 = var_nodearraylist2;
4819 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
4820 cltype16 = type_nullable_parser_nodes__TKwredef.color;
4821 idtype17 = type_nullable_parser_nodes__TKwredef.id;
4822 if(var_tkwredefnode3 == NULL) {
4823 var15 = 1;
4824 } else {
4825 if(cltype16 >= var_tkwredefnode3->type->table_size) {
4826 var15 = 0;
4827 } else {
4828 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
4829 }
4830 }
4831 if (!var15) {
4832 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5388);
4833 exit(1);
4834 }
4835 var_pvisibilitynode4 = var_nodearraylist3;
4836 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
4837 cltype19 = type_nullable_parser_nodes__AVisibility.color;
4838 idtype20 = type_nullable_parser_nodes__AVisibility.id;
4839 if(var_pvisibilitynode4 == NULL) {
4840 var18 = 1;
4841 } else {
4842 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
4843 var18 = 0;
4844 } else {
4845 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
4846 }
4847 }
4848 if (!var18) {
4849 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5390);
4850 exit(1);
4851 }
4852 var_pclasskindnode5 = var_nodearraylist4;
4853 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
4854 cltype22 = type_nullable_parser_nodes__AClasskind.color;
4855 idtype23 = type_nullable_parser_nodes__AClasskind.id;
4856 if(var_pclasskindnode5 == NULL) {
4857 var21 = 1;
4858 } else {
4859 if(cltype22 >= var_pclasskindnode5->type->table_size) {
4860 var21 = 0;
4861 } else {
4862 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
4863 }
4864 }
4865 if (!var21) {
4866 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5392);
4867 exit(1);
4868 }
4869 var_tclassidnode6 = var_nodearraylist6;
4870 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
4871 cltype25 = type_nullable_parser_nodes__TClassid.color;
4872 idtype26 = type_nullable_parser_nodes__TClassid.id;
4873 if(var_tclassidnode6 == NULL) {
4874 var24 = 1;
4875 } else {
4876 if(cltype25 >= var_tclassidnode6->type->table_size) {
4877 var24 = 0;
4878 } else {
4879 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
4880 }
4881 }
4882 if (!var24) {
4883 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5394);
4884 exit(1);
4885 }
4886 var_listnode7 = var_nodearraylist7;
4887 /* <var_listnode7:nullable Object> isa Array[Object] */
4888 cltype28 = type_array__Arraykernel__Object.color;
4889 idtype29 = type_array__Arraykernel__Object.id;
4890 if(var_listnode7 == NULL) {
4891 var27 = 0;
4892 } else {
4893 if(cltype28 >= var_listnode7->type->table_size) {
4894 var27 = 0;
4895 } else {
4896 var27 = var_listnode7->type->type_table[cltype28] == idtype29;
4897 }
4898 }
4899 if (!var27) {
4900 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5396);
4901 exit(1);
4902 }
4903 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction98>*/;
4904 var_listnode8 = var30;
4905 var31 = NEW_array__Array(&type_array__Arraykernel__Object);
4906 ((void (*)(val*))(var31->class->vft[COLOR_array__Array__init]))(var31) /* init on <var31:Array[Object]>*/;
4907 CHECK_NEW_array__Array(var31);
4908 var_listnode13 = var31;
4909 var_listnode12 = var_nodearraylist8;
4910 /* <var_listnode12:nullable Object> isa Array[Object] */
4911 cltype33 = type_array__Arraykernel__Object.color;
4912 idtype34 = type_array__Arraykernel__Object.id;
4913 if(var_listnode12 == NULL) {
4914 var32 = 0;
4915 } else {
4916 if(cltype33 >= var_listnode12->type->table_size) {
4917 var32 = 0;
4918 } else {
4919 var32 = var_listnode12->type->type_table[cltype33] == idtype34;
4920 }
4921 }
4922 if (!var32) {
4923 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5400);
4924 exit(1);
4925 }
4926 var35 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction98>*/;
4927 var_listnode13 = var35;
4928 var36 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
4929 var37 = NULL;
4930 var38 = NULL;
4931 var39 = NULL;
4932 ((void (*)(val*, val*, val*, val*, val*))(var36->class->vft[COLOR_parser_prod__AAnnotations__init_aannotations]))(var36, var37, var38, var_listnode13, var39) /* init_aannotations on <var36:AAnnotations>*/;
4933 CHECK_NEW_parser_nodes__AAnnotations(var36);
4934 var_pannotationsnode9 = var36;
4935 var_tkwendnode18 = var_nodearraylist10;
4936 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
4937 cltype41 = type_nullable_parser_nodes__TKwend.color;
4938 idtype42 = type_nullable_parser_nodes__TKwend.id;
4939 if(var_tkwendnode18 == NULL) {
4940 var40 = 1;
4941 } else {
4942 if(cltype41 >= var_tkwendnode18->type->table_size) {
4943 var40 = 0;
4944 } else {
4945 var40 = var_tkwendnode18->type->type_table[cltype41] == idtype42;
4946 }
4947 }
4948 if (!var40) {
4949 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5409);
4950 exit(1);
4951 }
4952 var43 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
4953 var44 = NULL;
4954 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var43->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var43, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var44, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var43:AStdClassdef>*/;
4955 CHECK_NEW_parser_nodes__AStdClassdef(var43);
4956 var_pclassdefnode1 = var43;
4957 var_node_list = var_pclassdefnode1;
4958 var45 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction98> */
4959 var46 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var45) /* go_to on <var_p:Parser>*/;
4960 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var46, var_node_list) /* push on <var_p:Parser>*/;
4961 RET_LABEL:;
4962 }
4963 /* method parser#ReduceAction98#action for (self: Object, Parser) */
4964 void VIRTUAL_parser__ReduceAction98__action(val* self, val* p0) {
4965 parser__ReduceAction98__action(self, p0);
4966 RET_LABEL:;
4967 }
4968 /* method parser#ReduceAction99#action for (self: ReduceAction99, Parser) */
4969 void parser__ReduceAction99__action(val* self, val* p0) {
4970 val* var_p /* var p: Parser */;
4971 val* var /* : null */;
4972 val* var_node_list /* var node_list: nullable Object */;
4973 val* var1 /* : nullable Object */;
4974 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
4975 val* var2 /* : nullable Object */;
4976 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
4977 val* var3 /* : nullable Object */;
4978 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
4979 val* var4 /* : nullable Object */;
4980 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
4981 val* var5 /* : nullable Object */;
4982 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
4983 val* var6 /* : nullable Object */;
4984 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
4985 val* var7 /* : nullable Object */;
4986 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
4987 val* var8 /* : nullable Object */;
4988 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
4989 val* var9 /* : nullable Object */;
4990 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
4991 val* var10 /* : nullable Object */;
4992 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
4993 val* var11 /* : Array[Object] */;
4994 val* var_listnode8 /* var listnode8: Array[Object] */;
4995 val* var12 /* : Array[Object] */;
4996 val* var_listnode16 /* var listnode16: Array[Object] */;
4997 val* var13 /* : Array[Object] */;
4998 val* var_listnode17 /* var listnode17: Array[Object] */;
4999 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5000 short int var14 /* : Bool */;
5001 int cltype;
5002 int idtype;
5003 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5004 short int var15 /* : Bool */;
5005 int cltype16;
5006 int idtype17;
5007 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5008 short int var18 /* : Bool */;
5009 int cltype19;
5010 int idtype20;
5011 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5012 short int var21 /* : Bool */;
5013 int cltype22;
5014 int idtype23;
5015 val* var_listnode7 /* var listnode7: nullable Object */;
5016 short int var24 /* : Bool */;
5017 int cltype25;
5018 int idtype26;
5019 val* var27 /* : Array[Object] */;
5020 val* var28 /* : Array[Object] */;
5021 val* var_listnode13 /* var listnode13: Array[Object] */;
5022 val* var_listnode12 /* var listnode12: nullable Object */;
5023 short int var29 /* : Bool */;
5024 int cltype30;
5025 int idtype31;
5026 val* var32 /* : Array[Object] */;
5027 val* var33 /* : AAnnotations */;
5028 val* var34 /* : null */;
5029 val* var35 /* : null */;
5030 val* var36 /* : null */;
5031 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
5032 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
5033 short int var37 /* : Bool */;
5034 int cltype38;
5035 int idtype39;
5036 val* var40 /* : AStdClassdef */;
5037 val* var41 /* : null */;
5038 val* var42 /* : null */;
5039 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5040 long var43 /* : Int */;
5041 long var44 /* : Int */;
5042 var_p = p0;
5043 var = NULL;
5044 var_node_list = var;
5045 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5046 var_nodearraylist10 = var1;
5047 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5048 var_nodearraylist9 = var2;
5049 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5050 var_nodearraylist8 = var3;
5051 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5052 var_nodearraylist7 = var4;
5053 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5054 var_nodearraylist6 = var5;
5055 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5056 var_nodearraylist5 = var6;
5057 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5058 var_nodearraylist4 = var7;
5059 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5060 var_nodearraylist3 = var8;
5061 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5062 var_nodearraylist2 = var9;
5063 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5064 var_nodearraylist1 = var10;
5065 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
5066 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
5067 CHECK_NEW_array__Array(var11);
5068 var_listnode8 = var11;
5069 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
5070 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
5071 CHECK_NEW_array__Array(var12);
5072 var_listnode16 = var12;
5073 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
5074 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
5075 CHECK_NEW_array__Array(var13);
5076 var_listnode17 = var13;
5077 var_pdocnode2 = var_nodearraylist1;
5078 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5079 cltype = type_nullable_parser_nodes__ADoc.color;
5080 idtype = type_nullable_parser_nodes__ADoc.id;
5081 if(var_pdocnode2 == NULL) {
5082 var14 = 1;
5083 } else {
5084 if(cltype >= var_pdocnode2->type->table_size) {
5085 var14 = 0;
5086 } else {
5087 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
5088 }
5089 }
5090 if (!var14) {
5091 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5446);
5092 exit(1);
5093 }
5094 var_pvisibilitynode4 = var_nodearraylist2;
5095 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5096 cltype16 = type_nullable_parser_nodes__AVisibility.color;
5097 idtype17 = type_nullable_parser_nodes__AVisibility.id;
5098 if(var_pvisibilitynode4 == NULL) {
5099 var15 = 1;
5100 } else {
5101 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
5102 var15 = 0;
5103 } else {
5104 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
5105 }
5106 }
5107 if (!var15) {
5108 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5448);
5109 exit(1);
5110 }
5111 var_pclasskindnode5 = var_nodearraylist3;
5112 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5113 cltype19 = type_nullable_parser_nodes__AClasskind.color;
5114 idtype20 = type_nullable_parser_nodes__AClasskind.id;
5115 if(var_pclasskindnode5 == NULL) {
5116 var18 = 1;
5117 } else {
5118 if(cltype19 >= var_pclasskindnode5->type->table_size) {
5119 var18 = 0;
5120 } else {
5121 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
5122 }
5123 }
5124 if (!var18) {
5125 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5450);
5126 exit(1);
5127 }
5128 var_tclassidnode6 = var_nodearraylist6;
5129 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5130 cltype22 = type_nullable_parser_nodes__TClassid.color;
5131 idtype23 = type_nullable_parser_nodes__TClassid.id;
5132 if(var_tclassidnode6 == NULL) {
5133 var21 = 1;
5134 } else {
5135 if(cltype22 >= var_tclassidnode6->type->table_size) {
5136 var21 = 0;
5137 } else {
5138 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
5139 }
5140 }
5141 if (!var21) {
5142 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5452);
5143 exit(1);
5144 }
5145 var_listnode7 = var_nodearraylist7;
5146 /* <var_listnode7:nullable Object> isa Array[Object] */
5147 cltype25 = type_array__Arraykernel__Object.color;
5148 idtype26 = type_array__Arraykernel__Object.id;
5149 if(var_listnode7 == NULL) {
5150 var24 = 0;
5151 } else {
5152 if(cltype25 >= var_listnode7->type->table_size) {
5153 var24 = 0;
5154 } else {
5155 var24 = var_listnode7->type->type_table[cltype25] == idtype26;
5156 }
5157 }
5158 if (!var24) {
5159 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5454);
5160 exit(1);
5161 }
5162 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction99>*/;
5163 var_listnode8 = var27;
5164 var28 = NEW_array__Array(&type_array__Arraykernel__Object);
5165 ((void (*)(val*))(var28->class->vft[COLOR_array__Array__init]))(var28) /* init on <var28:Array[Object]>*/;
5166 CHECK_NEW_array__Array(var28);
5167 var_listnode13 = var28;
5168 var_listnode12 = var_nodearraylist8;
5169 /* <var_listnode12:nullable Object> isa Array[Object] */
5170 cltype30 = type_array__Arraykernel__Object.color;
5171 idtype31 = type_array__Arraykernel__Object.id;
5172 if(var_listnode12 == NULL) {
5173 var29 = 0;
5174 } else {
5175 if(cltype30 >= var_listnode12->type->table_size) {
5176 var29 = 0;
5177 } else {
5178 var29 = var_listnode12->type->type_table[cltype30] == idtype31;
5179 }
5180 }
5181 if (!var29) {
5182 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5458);
5183 exit(1);
5184 }
5185 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction99>*/;
5186 var_listnode13 = var32;
5187 var33 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
5188 var34 = NULL;
5189 var35 = NULL;
5190 var36 = NULL;
5191 ((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>*/;
5192 CHECK_NEW_parser_nodes__AAnnotations(var33);
5193 var_pannotationsnode9 = var33;
5194 var_tkwendnode18 = var_nodearraylist10;
5195 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
5196 cltype38 = type_nullable_parser_nodes__TKwend.color;
5197 idtype39 = type_nullable_parser_nodes__TKwend.id;
5198 if(var_tkwendnode18 == NULL) {
5199 var37 = 1;
5200 } else {
5201 if(cltype38 >= var_tkwendnode18->type->table_size) {
5202 var37 = 0;
5203 } else {
5204 var37 = var_tkwendnode18->type->type_table[cltype38] == idtype39;
5205 }
5206 }
5207 if (!var37) {
5208 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5467);
5209 exit(1);
5210 }
5211 var40 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5212 var41 = NULL;
5213 var42 = NULL;
5214 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var40->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var40, var_pdocnode2, var41, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var42, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var40:AStdClassdef>*/;
5215 CHECK_NEW_parser_nodes__AStdClassdef(var40);
5216 var_pclassdefnode1 = var40;
5217 var_node_list = var_pclassdefnode1;
5218 var43 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction99> */
5219 var44 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var43) /* go_to on <var_p:Parser>*/;
5220 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var44, var_node_list) /* push on <var_p:Parser>*/;
5221 RET_LABEL:;
5222 }
5223 /* method parser#ReduceAction99#action for (self: Object, Parser) */
5224 void VIRTUAL_parser__ReduceAction99__action(val* self, val* p0) {
5225 parser__ReduceAction99__action(self, p0);
5226 RET_LABEL:;
5227 }
5228 /* method parser#ReduceAction100#action for (self: ReduceAction100, Parser) */
5229 void parser__ReduceAction100__action(val* self, val* p0) {
5230 val* var_p /* var p: Parser */;
5231 val* var /* : null */;
5232 val* var_node_list /* var node_list: nullable Object */;
5233 val* var1 /* : nullable Object */;
5234 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
5235 val* var2 /* : nullable Object */;
5236 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5237 val* var3 /* : nullable Object */;
5238 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5239 val* var4 /* : nullable Object */;
5240 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5241 val* var5 /* : nullable Object */;
5242 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5243 val* var6 /* : nullable Object */;
5244 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5245 val* var7 /* : nullable Object */;
5246 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5247 val* var8 /* : nullable Object */;
5248 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5249 val* var9 /* : nullable Object */;
5250 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5251 val* var10 /* : nullable Object */;
5252 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5253 val* var11 /* : nullable Object */;
5254 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5255 val* var12 /* : Array[Object] */;
5256 val* var_listnode8 /* var listnode8: Array[Object] */;
5257 val* var13 /* : Array[Object] */;
5258 val* var_listnode16 /* var listnode16: Array[Object] */;
5259 val* var14 /* : Array[Object] */;
5260 val* var_listnode17 /* var listnode17: Array[Object] */;
5261 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5262 short int var15 /* : Bool */;
5263 int cltype;
5264 int idtype;
5265 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5266 short int var16 /* : Bool */;
5267 int cltype17;
5268 int idtype18;
5269 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5270 short int var19 /* : Bool */;
5271 int cltype20;
5272 int idtype21;
5273 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5274 short int var22 /* : Bool */;
5275 int cltype23;
5276 int idtype24;
5277 val* var_listnode7 /* var listnode7: nullable Object */;
5278 short int var25 /* : Bool */;
5279 int cltype26;
5280 int idtype27;
5281 val* var28 /* : Array[Object] */;
5282 val* var29 /* : Array[Object] */;
5283 val* var_listnode13 /* var listnode13: Array[Object] */;
5284 val* var_listnode12 /* var listnode12: nullable Object */;
5285 short int var30 /* : Bool */;
5286 int cltype31;
5287 int idtype32;
5288 val* var33 /* : Array[Object] */;
5289 val* var34 /* : AAnnotations */;
5290 val* var35 /* : null */;
5291 val* var36 /* : null */;
5292 val* var37 /* : null */;
5293 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
5294 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
5295 short int var38 /* : Bool */;
5296 int cltype39;
5297 int idtype40;
5298 val* var41 /* : AStdClassdef */;
5299 val* var42 /* : null */;
5300 val* var43 /* : null */;
5301 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5302 long var44 /* : Int */;
5303 long var45 /* : Int */;
5304 var_p = p0;
5305 var = NULL;
5306 var_node_list = var;
5307 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5308 var_nodearraylist11 = var1;
5309 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5310 var_nodearraylist10 = var2;
5311 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5312 var_nodearraylist9 = var3;
5313 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5314 var_nodearraylist8 = var4;
5315 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5316 var_nodearraylist7 = var5;
5317 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5318 var_nodearraylist6 = var6;
5319 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5320 var_nodearraylist5 = var7;
5321 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5322 var_nodearraylist4 = var8;
5323 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5324 var_nodearraylist3 = var9;
5325 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5326 var_nodearraylist2 = var10;
5327 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5328 var_nodearraylist1 = var11;
5329 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
5330 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
5331 CHECK_NEW_array__Array(var12);
5332 var_listnode8 = var12;
5333 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
5334 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
5335 CHECK_NEW_array__Array(var13);
5336 var_listnode16 = var13;
5337 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
5338 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
5339 CHECK_NEW_array__Array(var14);
5340 var_listnode17 = var14;
5341 var_pdocnode2 = var_nodearraylist1;
5342 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5343 cltype = type_nullable_parser_nodes__ADoc.color;
5344 idtype = type_nullable_parser_nodes__ADoc.id;
5345 if(var_pdocnode2 == NULL) {
5346 var15 = 1;
5347 } else {
5348 if(cltype >= var_pdocnode2->type->table_size) {
5349 var15 = 0;
5350 } else {
5351 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
5352 }
5353 }
5354 if (!var15) {
5355 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5505);
5356 exit(1);
5357 }
5358 var_pvisibilitynode4 = var_nodearraylist2;
5359 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5360 cltype17 = type_nullable_parser_nodes__AVisibility.color;
5361 idtype18 = type_nullable_parser_nodes__AVisibility.id;
5362 if(var_pvisibilitynode4 == NULL) {
5363 var16 = 1;
5364 } else {
5365 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
5366 var16 = 0;
5367 } else {
5368 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
5369 }
5370 }
5371 if (!var16) {
5372 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5507);
5373 exit(1);
5374 }
5375 var_pclasskindnode5 = var_nodearraylist3;
5376 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5377 cltype20 = type_nullable_parser_nodes__AClasskind.color;
5378 idtype21 = type_nullable_parser_nodes__AClasskind.id;
5379 if(var_pclasskindnode5 == NULL) {
5380 var19 = 1;
5381 } else {
5382 if(cltype20 >= var_pclasskindnode5->type->table_size) {
5383 var19 = 0;
5384 } else {
5385 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
5386 }
5387 }
5388 if (!var19) {
5389 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5509);
5390 exit(1);
5391 }
5392 var_tclassidnode6 = var_nodearraylist7;
5393 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5394 cltype23 = type_nullable_parser_nodes__TClassid.color;
5395 idtype24 = type_nullable_parser_nodes__TClassid.id;
5396 if(var_tclassidnode6 == NULL) {
5397 var22 = 1;
5398 } else {
5399 if(cltype23 >= var_tclassidnode6->type->table_size) {
5400 var22 = 0;
5401 } else {
5402 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
5403 }
5404 }
5405 if (!var22) {
5406 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5511);
5407 exit(1);
5408 }
5409 var_listnode7 = var_nodearraylist8;
5410 /* <var_listnode7:nullable Object> isa Array[Object] */
5411 cltype26 = type_array__Arraykernel__Object.color;
5412 idtype27 = type_array__Arraykernel__Object.id;
5413 if(var_listnode7 == NULL) {
5414 var25 = 0;
5415 } else {
5416 if(cltype26 >= var_listnode7->type->table_size) {
5417 var25 = 0;
5418 } else {
5419 var25 = var_listnode7->type->type_table[cltype26] == idtype27;
5420 }
5421 }
5422 if (!var25) {
5423 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5513);
5424 exit(1);
5425 }
5426 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction100>*/;
5427 var_listnode8 = var28;
5428 var29 = NEW_array__Array(&type_array__Arraykernel__Object);
5429 ((void (*)(val*))(var29->class->vft[COLOR_array__Array__init]))(var29) /* init on <var29:Array[Object]>*/;
5430 CHECK_NEW_array__Array(var29);
5431 var_listnode13 = var29;
5432 var_listnode12 = var_nodearraylist9;
5433 /* <var_listnode12:nullable Object> isa Array[Object] */
5434 cltype31 = type_array__Arraykernel__Object.color;
5435 idtype32 = type_array__Arraykernel__Object.id;
5436 if(var_listnode12 == NULL) {
5437 var30 = 0;
5438 } else {
5439 if(cltype31 >= var_listnode12->type->table_size) {
5440 var30 = 0;
5441 } else {
5442 var30 = var_listnode12->type->type_table[cltype31] == idtype32;
5443 }
5444 }
5445 if (!var30) {
5446 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5517);
5447 exit(1);
5448 }
5449 var33 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction100>*/;
5450 var_listnode13 = var33;
5451 var34 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
5452 var35 = NULL;
5453 var36 = NULL;
5454 var37 = NULL;
5455 ((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>*/;
5456 CHECK_NEW_parser_nodes__AAnnotations(var34);
5457 var_pannotationsnode9 = var34;
5458 var_tkwendnode18 = var_nodearraylist11;
5459 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
5460 cltype39 = type_nullable_parser_nodes__TKwend.color;
5461 idtype40 = type_nullable_parser_nodes__TKwend.id;
5462 if(var_tkwendnode18 == NULL) {
5463 var38 = 1;
5464 } else {
5465 if(cltype39 >= var_tkwendnode18->type->table_size) {
5466 var38 = 0;
5467 } else {
5468 var38 = var_tkwendnode18->type->type_table[cltype39] == idtype40;
5469 }
5470 }
5471 if (!var38) {
5472 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5526);
5473 exit(1);
5474 }
5475 var41 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5476 var42 = NULL;
5477 var43 = NULL;
5478 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var41->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var41, var_pdocnode2, var42, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var43, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var41:AStdClassdef>*/;
5479 CHECK_NEW_parser_nodes__AStdClassdef(var41);
5480 var_pclassdefnode1 = var41;
5481 var_node_list = var_pclassdefnode1;
5482 var44 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction100> */
5483 var45 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var44) /* go_to on <var_p:Parser>*/;
5484 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var45, var_node_list) /* push on <var_p:Parser>*/;
5485 RET_LABEL:;
5486 }
5487 /* method parser#ReduceAction100#action for (self: Object, Parser) */
5488 void VIRTUAL_parser__ReduceAction100__action(val* self, val* p0) {
5489 parser__ReduceAction100__action(self, p0);
5490 RET_LABEL:;
5491 }
5492 /* method parser#ReduceAction102#action for (self: ReduceAction102, Parser) */
5493 void parser__ReduceAction102__action(val* self, val* p0) {
5494 val* var_p /* var p: Parser */;
5495 val* var /* : null */;
5496 val* var_node_list /* var node_list: nullable Object */;
5497 val* var1 /* : nullable Object */;
5498 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
5499 val* var2 /* : nullable Object */;
5500 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5501 val* var3 /* : nullable Object */;
5502 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5503 val* var4 /* : nullable Object */;
5504 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5505 val* var5 /* : nullable Object */;
5506 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5507 val* var6 /* : nullable Object */;
5508 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5509 val* var7 /* : nullable Object */;
5510 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5511 val* var8 /* : nullable Object */;
5512 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5513 val* var9 /* : nullable Object */;
5514 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5515 val* var10 /* : nullable Object */;
5516 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5517 val* var11 /* : nullable Object */;
5518 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5519 val* var12 /* : Array[Object] */;
5520 val* var_listnode8 /* var listnode8: Array[Object] */;
5521 val* var13 /* : Array[Object] */;
5522 val* var_listnode16 /* var listnode16: Array[Object] */;
5523 val* var14 /* : Array[Object] */;
5524 val* var_listnode17 /* var listnode17: Array[Object] */;
5525 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5526 short int var15 /* : Bool */;
5527 int cltype;
5528 int idtype;
5529 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
5530 short int var16 /* : Bool */;
5531 int cltype17;
5532 int idtype18;
5533 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5534 short int var19 /* : Bool */;
5535 int cltype20;
5536 int idtype21;
5537 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5538 short int var22 /* : Bool */;
5539 int cltype23;
5540 int idtype24;
5541 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5542 short int var25 /* : Bool */;
5543 int cltype26;
5544 int idtype27;
5545 val* var_listnode7 /* var listnode7: nullable Object */;
5546 short int var28 /* : Bool */;
5547 int cltype29;
5548 int idtype30;
5549 val* var31 /* : Array[Object] */;
5550 val* var32 /* : Array[Object] */;
5551 val* var_listnode13 /* var listnode13: Array[Object] */;
5552 val* var_listnode12 /* var listnode12: nullable Object */;
5553 short int var33 /* : Bool */;
5554 int cltype34;
5555 int idtype35;
5556 val* var36 /* : Array[Object] */;
5557 val* var37 /* : AAnnotations */;
5558 val* var38 /* : null */;
5559 val* var39 /* : null */;
5560 val* var40 /* : null */;
5561 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
5562 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
5563 short int var41 /* : Bool */;
5564 int cltype42;
5565 int idtype43;
5566 val* var44 /* : AStdClassdef */;
5567 val* var45 /* : null */;
5568 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5569 long var46 /* : Int */;
5570 long var47 /* : Int */;
5571 var_p = p0;
5572 var = NULL;
5573 var_node_list = var;
5574 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5575 var_nodearraylist11 = var1;
5576 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5577 var_nodearraylist10 = var2;
5578 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5579 var_nodearraylist9 = var3;
5580 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5581 var_nodearraylist8 = var4;
5582 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5583 var_nodearraylist7 = var5;
5584 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5585 var_nodearraylist6 = var6;
5586 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5587 var_nodearraylist5 = var7;
5588 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5589 var_nodearraylist4 = var8;
5590 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5591 var_nodearraylist3 = var9;
5592 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5593 var_nodearraylist2 = var10;
5594 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5595 var_nodearraylist1 = var11;
5596 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
5597 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
5598 CHECK_NEW_array__Array(var12);
5599 var_listnode8 = var12;
5600 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
5601 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
5602 CHECK_NEW_array__Array(var13);
5603 var_listnode16 = var13;
5604 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
5605 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
5606 CHECK_NEW_array__Array(var14);
5607 var_listnode17 = var14;
5608 var_pdocnode2 = var_nodearraylist1;
5609 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5610 cltype = type_nullable_parser_nodes__ADoc.color;
5611 idtype = type_nullable_parser_nodes__ADoc.id;
5612 if(var_pdocnode2 == NULL) {
5613 var15 = 1;
5614 } else {
5615 if(cltype >= var_pdocnode2->type->table_size) {
5616 var15 = 0;
5617 } else {
5618 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
5619 }
5620 }
5621 if (!var15) {
5622 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5564);
5623 exit(1);
5624 }
5625 var_tkwredefnode3 = var_nodearraylist2;
5626 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
5627 cltype17 = type_nullable_parser_nodes__TKwredef.color;
5628 idtype18 = type_nullable_parser_nodes__TKwredef.id;
5629 if(var_tkwredefnode3 == NULL) {
5630 var16 = 1;
5631 } else {
5632 if(cltype17 >= var_tkwredefnode3->type->table_size) {
5633 var16 = 0;
5634 } else {
5635 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
5636 }
5637 }
5638 if (!var16) {
5639 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5566);
5640 exit(1);
5641 }
5642 var_pvisibilitynode4 = var_nodearraylist3;
5643 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5644 cltype20 = type_nullable_parser_nodes__AVisibility.color;
5645 idtype21 = type_nullable_parser_nodes__AVisibility.id;
5646 if(var_pvisibilitynode4 == NULL) {
5647 var19 = 1;
5648 } else {
5649 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
5650 var19 = 0;
5651 } else {
5652 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
5653 }
5654 }
5655 if (!var19) {
5656 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5568);
5657 exit(1);
5658 }
5659 var_pclasskindnode5 = var_nodearraylist4;
5660 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5661 cltype23 = type_nullable_parser_nodes__AClasskind.color;
5662 idtype24 = type_nullable_parser_nodes__AClasskind.id;
5663 if(var_pclasskindnode5 == NULL) {
5664 var22 = 1;
5665 } else {
5666 if(cltype23 >= var_pclasskindnode5->type->table_size) {
5667 var22 = 0;
5668 } else {
5669 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
5670 }
5671 }
5672 if (!var22) {
5673 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5570);
5674 exit(1);
5675 }
5676 var_tclassidnode6 = var_nodearraylist7;
5677 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5678 cltype26 = type_nullable_parser_nodes__TClassid.color;
5679 idtype27 = type_nullable_parser_nodes__TClassid.id;
5680 if(var_tclassidnode6 == NULL) {
5681 var25 = 1;
5682 } else {
5683 if(cltype26 >= var_tclassidnode6->type->table_size) {
5684 var25 = 0;
5685 } else {
5686 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
5687 }
5688 }
5689 if (!var25) {
5690 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5572);
5691 exit(1);
5692 }
5693 var_listnode7 = var_nodearraylist8;
5694 /* <var_listnode7:nullable Object> isa Array[Object] */
5695 cltype29 = type_array__Arraykernel__Object.color;
5696 idtype30 = type_array__Arraykernel__Object.id;
5697 if(var_listnode7 == NULL) {
5698 var28 = 0;
5699 } else {
5700 if(cltype29 >= var_listnode7->type->table_size) {
5701 var28 = 0;
5702 } else {
5703 var28 = var_listnode7->type->type_table[cltype29] == idtype30;
5704 }
5705 }
5706 if (!var28) {
5707 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5574);
5708 exit(1);
5709 }
5710 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction102>*/;
5711 var_listnode8 = var31;
5712 var32 = NEW_array__Array(&type_array__Arraykernel__Object);
5713 ((void (*)(val*))(var32->class->vft[COLOR_array__Array__init]))(var32) /* init on <var32:Array[Object]>*/;
5714 CHECK_NEW_array__Array(var32);
5715 var_listnode13 = var32;
5716 var_listnode12 = var_nodearraylist9;
5717 /* <var_listnode12:nullable Object> isa Array[Object] */
5718 cltype34 = type_array__Arraykernel__Object.color;
5719 idtype35 = type_array__Arraykernel__Object.id;
5720 if(var_listnode12 == NULL) {
5721 var33 = 0;
5722 } else {
5723 if(cltype34 >= var_listnode12->type->table_size) {
5724 var33 = 0;
5725 } else {
5726 var33 = var_listnode12->type->type_table[cltype34] == idtype35;
5727 }
5728 }
5729 if (!var33) {
5730 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5578);
5731 exit(1);
5732 }
5733 var36 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction102>*/;
5734 var_listnode13 = var36;
5735 var37 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
5736 var38 = NULL;
5737 var39 = NULL;
5738 var40 = NULL;
5739 ((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>*/;
5740 CHECK_NEW_parser_nodes__AAnnotations(var37);
5741 var_pannotationsnode9 = var37;
5742 var_tkwendnode18 = var_nodearraylist11;
5743 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
5744 cltype42 = type_nullable_parser_nodes__TKwend.color;
5745 idtype43 = type_nullable_parser_nodes__TKwend.id;
5746 if(var_tkwendnode18 == NULL) {
5747 var41 = 1;
5748 } else {
5749 if(cltype42 >= var_tkwendnode18->type->table_size) {
5750 var41 = 0;
5751 } else {
5752 var41 = var_tkwendnode18->type->type_table[cltype42] == idtype43;
5753 }
5754 }
5755 if (!var41) {
5756 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5587);
5757 exit(1);
5758 }
5759 var44 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
5760 var45 = NULL;
5761 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var44->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var44, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var45, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var44:AStdClassdef>*/;
5762 CHECK_NEW_parser_nodes__AStdClassdef(var44);
5763 var_pclassdefnode1 = var44;
5764 var_node_list = var_pclassdefnode1;
5765 var46 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction102> */
5766 var47 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var46) /* go_to on <var_p:Parser>*/;
5767 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var47, var_node_list) /* push on <var_p:Parser>*/;
5768 RET_LABEL:;
5769 }
5770 /* method parser#ReduceAction102#action for (self: Object, Parser) */
5771 void VIRTUAL_parser__ReduceAction102__action(val* self, val* p0) {
5772 parser__ReduceAction102__action(self, p0);
5773 RET_LABEL:;
5774 }
5775 /* method parser#ReduceAction103#action for (self: ReduceAction103, Parser) */
5776 void parser__ReduceAction103__action(val* self, val* p0) {
5777 val* var_p /* var p: Parser */;
5778 val* var /* : null */;
5779 val* var_node_list /* var node_list: nullable Object */;
5780 val* var1 /* : nullable Object */;
5781 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
5782 val* var2 /* : nullable Object */;
5783 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
5784 val* var3 /* : nullable Object */;
5785 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
5786 val* var4 /* : nullable Object */;
5787 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
5788 val* var5 /* : nullable Object */;
5789 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
5790 val* var6 /* : nullable Object */;
5791 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
5792 val* var7 /* : nullable Object */;
5793 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
5794 val* var8 /* : nullable Object */;
5795 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
5796 val* var9 /* : nullable Object */;
5797 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
5798 val* var10 /* : nullable Object */;
5799 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
5800 val* var11 /* : nullable Object */;
5801 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
5802 val* var12 /* : nullable Object */;
5803 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
5804 val* var13 /* : Array[Object] */;
5805 val* var_listnode8 /* var listnode8: Array[Object] */;
5806 val* var14 /* : Array[Object] */;
5807 val* var_listnode16 /* var listnode16: Array[Object] */;
5808 val* var15 /* : Array[Object] */;
5809 val* var_listnode17 /* var listnode17: Array[Object] */;
5810 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
5811 short int var16 /* : Bool */;
5812 int cltype;
5813 int idtype;
5814 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
5815 short int var17 /* : Bool */;
5816 int cltype18;
5817 int idtype19;
5818 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
5819 short int var20 /* : Bool */;
5820 int cltype21;
5821 int idtype22;
5822 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
5823 short int var23 /* : Bool */;
5824 int cltype24;
5825 int idtype25;
5826 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
5827 short int var26 /* : Bool */;
5828 int cltype27;
5829 int idtype28;
5830 val* var_listnode7 /* var listnode7: nullable Object */;
5831 short int var29 /* : Bool */;
5832 int cltype30;
5833 int idtype31;
5834 val* var32 /* : Array[Object] */;
5835 val* var33 /* : Array[Object] */;
5836 val* var_listnode13 /* var listnode13: Array[Object] */;
5837 val* var_listnode12 /* var listnode12: nullable Object */;
5838 short int var34 /* : Bool */;
5839 int cltype35;
5840 int idtype36;
5841 val* var37 /* : Array[Object] */;
5842 val* var38 /* : AAnnotations */;
5843 val* var39 /* : null */;
5844 val* var40 /* : null */;
5845 val* var41 /* : null */;
5846 val* var_pannotationsnode9 /* var pannotationsnode9: nullable AAnnotations */;
5847 val* var_tkwendnode18 /* var tkwendnode18: nullable Object */;
5848 short int var42 /* : Bool */;
5849 int cltype43;
5850 int idtype44;
5851 val* var45 /* : AStdClassdef */;
5852 val* var46 /* : null */;
5853 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
5854 long var47 /* : Int */;
5855 long var48 /* : Int */;
5856 var_p = p0;
5857 var = NULL;
5858 var_node_list = var;
5859 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5860 var_nodearraylist12 = var1;
5861 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5862 var_nodearraylist11 = var2;
5863 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5864 var_nodearraylist10 = var3;
5865 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5866 var_nodearraylist9 = var4;
5867 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5868 var_nodearraylist8 = var5;
5869 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5870 var_nodearraylist7 = var6;
5871 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5872 var_nodearraylist6 = var7;
5873 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5874 var_nodearraylist5 = var8;
5875 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5876 var_nodearraylist4 = var9;
5877 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5878 var_nodearraylist3 = var10;
5879 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5880 var_nodearraylist2 = var11;
5881 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
5882 var_nodearraylist1 = var12;
5883 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
5884 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
5885 CHECK_NEW_array__Array(var13);
5886 var_listnode8 = var13;
5887 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
5888 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
5889 CHECK_NEW_array__Array(var14);
5890 var_listnode16 = var14;
5891 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
5892 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
5893 CHECK_NEW_array__Array(var15);
5894 var_listnode17 = var15;
5895 var_pdocnode2 = var_nodearraylist1;
5896 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
5897 cltype = type_nullable_parser_nodes__ADoc.color;
5898 idtype = type_nullable_parser_nodes__ADoc.id;
5899 if(var_pdocnode2 == NULL) {
5900 var16 = 1;
5901 } else {
5902 if(cltype >= var_pdocnode2->type->table_size) {
5903 var16 = 0;
5904 } else {
5905 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
5906 }
5907 }
5908 if (!var16) {
5909 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5626);
5910 exit(1);
5911 }
5912 var_tkwredefnode3 = var_nodearraylist2;
5913 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
5914 cltype18 = type_nullable_parser_nodes__TKwredef.color;
5915 idtype19 = type_nullable_parser_nodes__TKwredef.id;
5916 if(var_tkwredefnode3 == NULL) {
5917 var17 = 1;
5918 } else {
5919 if(cltype18 >= var_tkwredefnode3->type->table_size) {
5920 var17 = 0;
5921 } else {
5922 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
5923 }
5924 }
5925 if (!var17) {
5926 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5628);
5927 exit(1);
5928 }
5929 var_pvisibilitynode4 = var_nodearraylist3;
5930 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
5931 cltype21 = type_nullable_parser_nodes__AVisibility.color;
5932 idtype22 = type_nullable_parser_nodes__AVisibility.id;
5933 if(var_pvisibilitynode4 == NULL) {
5934 var20 = 1;
5935 } else {
5936 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
5937 var20 = 0;
5938 } else {
5939 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
5940 }
5941 }
5942 if (!var20) {
5943 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5630);
5944 exit(1);
5945 }
5946 var_pclasskindnode5 = var_nodearraylist4;
5947 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
5948 cltype24 = type_nullable_parser_nodes__AClasskind.color;
5949 idtype25 = type_nullable_parser_nodes__AClasskind.id;
5950 if(var_pclasskindnode5 == NULL) {
5951 var23 = 1;
5952 } else {
5953 if(cltype24 >= var_pclasskindnode5->type->table_size) {
5954 var23 = 0;
5955 } else {
5956 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
5957 }
5958 }
5959 if (!var23) {
5960 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5632);
5961 exit(1);
5962 }
5963 var_tclassidnode6 = var_nodearraylist8;
5964 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
5965 cltype27 = type_nullable_parser_nodes__TClassid.color;
5966 idtype28 = type_nullable_parser_nodes__TClassid.id;
5967 if(var_tclassidnode6 == NULL) {
5968 var26 = 1;
5969 } else {
5970 if(cltype27 >= var_tclassidnode6->type->table_size) {
5971 var26 = 0;
5972 } else {
5973 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
5974 }
5975 }
5976 if (!var26) {
5977 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5634);
5978 exit(1);
5979 }
5980 var_listnode7 = var_nodearraylist9;
5981 /* <var_listnode7:nullable Object> isa Array[Object] */
5982 cltype30 = type_array__Arraykernel__Object.color;
5983 idtype31 = type_array__Arraykernel__Object.id;
5984 if(var_listnode7 == NULL) {
5985 var29 = 0;
5986 } else {
5987 if(cltype30 >= var_listnode7->type->table_size) {
5988 var29 = 0;
5989 } else {
5990 var29 = var_listnode7->type->type_table[cltype30] == idtype31;
5991 }
5992 }
5993 if (!var29) {
5994 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5636);
5995 exit(1);
5996 }
5997 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction103>*/;
5998 var_listnode8 = var32;
5999 var33 = NEW_array__Array(&type_array__Arraykernel__Object);
6000 ((void (*)(val*))(var33->class->vft[COLOR_array__Array__init]))(var33) /* init on <var33:Array[Object]>*/;
6001 CHECK_NEW_array__Array(var33);
6002 var_listnode13 = var33;
6003 var_listnode12 = var_nodearraylist10;
6004 /* <var_listnode12:nullable Object> isa Array[Object] */
6005 cltype35 = type_array__Arraykernel__Object.color;
6006 idtype36 = type_array__Arraykernel__Object.id;
6007 if(var_listnode12 == NULL) {
6008 var34 = 0;
6009 } else {
6010 if(cltype35 >= var_listnode12->type->table_size) {
6011 var34 = 0;
6012 } else {
6013 var34 = var_listnode12->type->type_table[cltype35] == idtype36;
6014 }
6015 }
6016 if (!var34) {
6017 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5640);
6018 exit(1);
6019 }
6020 var37 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode13, var_listnode12) /* concat on <self:ReduceAction103>*/;
6021 var_listnode13 = var37;
6022 var38 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
6023 var39 = NULL;
6024 var40 = NULL;
6025 var41 = NULL;
6026 ((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>*/;
6027 CHECK_NEW_parser_nodes__AAnnotations(var38);
6028 var_pannotationsnode9 = var38;
6029 var_tkwendnode18 = var_nodearraylist12;
6030 /* <var_tkwendnode18:nullable Object> isa nullable TKwend */
6031 cltype43 = type_nullable_parser_nodes__TKwend.color;
6032 idtype44 = type_nullable_parser_nodes__TKwend.id;
6033 if(var_tkwendnode18 == NULL) {
6034 var42 = 1;
6035 } else {
6036 if(cltype43 >= var_tkwendnode18->type->table_size) {
6037 var42 = 0;
6038 } else {
6039 var42 = var_tkwendnode18->type->type_table[cltype43] == idtype44;
6040 }
6041 }
6042 if (!var42) {
6043 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5649);
6044 exit(1);
6045 }
6046 var45 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6047 var46 = NULL;
6048 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var45->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var45, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode8, var_pannotationsnode9, var46, var_listnode16, var_listnode17, var_tkwendnode18) /* init_astdclassdef on <var45:AStdClassdef>*/;
6049 CHECK_NEW_parser_nodes__AStdClassdef(var45);
6050 var_pclassdefnode1 = var45;
6051 var_node_list = var_pclassdefnode1;
6052 var47 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction103> */
6053 var48 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var47) /* go_to on <var_p:Parser>*/;
6054 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var48, var_node_list) /* push on <var_p:Parser>*/;
6055 RET_LABEL:;
6056 }
6057 /* method parser#ReduceAction103#action for (self: Object, Parser) */
6058 void VIRTUAL_parser__ReduceAction103__action(val* self, val* p0) {
6059 parser__ReduceAction103__action(self, p0);
6060 RET_LABEL:;
6061 }
6062 /* method parser#ReduceAction105#action for (self: ReduceAction105, Parser) */
6063 void parser__ReduceAction105__action(val* self, val* p0) {
6064 val* var_p /* var p: Parser */;
6065 val* var /* : null */;
6066 val* var_node_list /* var node_list: nullable Object */;
6067 val* var1 /* : nullable Object */;
6068 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6069 val* var2 /* : nullable Object */;
6070 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6071 val* var3 /* : nullable Object */;
6072 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6073 val* var4 /* : nullable Object */;
6074 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6075 val* var5 /* : nullable Object */;
6076 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6077 val* var6 /* : nullable Object */;
6078 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6079 val* var7 /* : nullable Object */;
6080 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6081 val* var8 /* : nullable Object */;
6082 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6083 val* var9 /* : Array[Object] */;
6084 val* var_listnode7 /* var listnode7: Array[Object] */;
6085 val* var10 /* : Array[Object] */;
6086 val* var_listnode10 /* var listnode10: Array[Object] */;
6087 val* var11 /* : Array[Object] */;
6088 val* var_listnode11 /* var listnode11: Array[Object] */;
6089 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6090 short int var12 /* : Bool */;
6091 int cltype;
6092 int idtype;
6093 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6094 short int var13 /* : Bool */;
6095 int cltype14;
6096 int idtype15;
6097 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6098 short int var16 /* : Bool */;
6099 int cltype17;
6100 int idtype18;
6101 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6102 short int var19 /* : Bool */;
6103 int cltype20;
6104 int idtype21;
6105 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
6106 short int var22 /* : Bool */;
6107 int cltype23;
6108 int idtype24;
6109 val* var_tkwendnode12 /* var tkwendnode12: nullable Object */;
6110 short int var25 /* : Bool */;
6111 int cltype26;
6112 int idtype27;
6113 val* var28 /* : AStdClassdef */;
6114 val* var29 /* : null */;
6115 val* var30 /* : null */;
6116 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6117 long var31 /* : Int */;
6118 long var32 /* : Int */;
6119 var_p = p0;
6120 var = NULL;
6121 var_node_list = var;
6122 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6123 var_nodearraylist8 = var1;
6124 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6125 var_nodearraylist7 = var2;
6126 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6127 var_nodearraylist6 = var3;
6128 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6129 var_nodearraylist5 = var4;
6130 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6131 var_nodearraylist4 = var5;
6132 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6133 var_nodearraylist3 = var6;
6134 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6135 var_nodearraylist2 = var7;
6136 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6137 var_nodearraylist1 = var8;
6138 var9 = NEW_array__Array(&type_array__Arraykernel__Object);
6139 ((void (*)(val*))(var9->class->vft[COLOR_array__Array__init]))(var9) /* init on <var9:Array[Object]>*/;
6140 CHECK_NEW_array__Array(var9);
6141 var_listnode7 = var9;
6142 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
6143 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
6144 CHECK_NEW_array__Array(var10);
6145 var_listnode10 = var10;
6146 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
6147 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
6148 CHECK_NEW_array__Array(var11);
6149 var_listnode11 = var11;
6150 var_pdocnode2 = var_nodearraylist1;
6151 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6152 cltype = type_nullable_parser_nodes__ADoc.color;
6153 idtype = type_nullable_parser_nodes__ADoc.id;
6154 if(var_pdocnode2 == NULL) {
6155 var12 = 1;
6156 } else {
6157 if(cltype >= var_pdocnode2->type->table_size) {
6158 var12 = 0;
6159 } else {
6160 var12 = var_pdocnode2->type->type_table[cltype] == idtype;
6161 }
6162 }
6163 if (!var12) {
6164 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5684);
6165 exit(1);
6166 }
6167 var_pvisibilitynode4 = var_nodearraylist2;
6168 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6169 cltype14 = type_nullable_parser_nodes__AVisibility.color;
6170 idtype15 = type_nullable_parser_nodes__AVisibility.id;
6171 if(var_pvisibilitynode4 == NULL) {
6172 var13 = 1;
6173 } else {
6174 if(cltype14 >= var_pvisibilitynode4->type->table_size) {
6175 var13 = 0;
6176 } else {
6177 var13 = var_pvisibilitynode4->type->type_table[cltype14] == idtype15;
6178 }
6179 }
6180 if (!var13) {
6181 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5686);
6182 exit(1);
6183 }
6184 var_pclasskindnode5 = var_nodearraylist3;
6185 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6186 cltype17 = type_nullable_parser_nodes__AClasskind.color;
6187 idtype18 = type_nullable_parser_nodes__AClasskind.id;
6188 if(var_pclasskindnode5 == NULL) {
6189 var16 = 1;
6190 } else {
6191 if(cltype17 >= var_pclasskindnode5->type->table_size) {
6192 var16 = 0;
6193 } else {
6194 var16 = var_pclasskindnode5->type->type_table[cltype17] == idtype18;
6195 }
6196 }
6197 if (!var16) {
6198 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5688);
6199 exit(1);
6200 }
6201 var_tclassidnode6 = var_nodearraylist5;
6202 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6203 cltype20 = type_nullable_parser_nodes__TClassid.color;
6204 idtype21 = type_nullable_parser_nodes__TClassid.id;
6205 if(var_tclassidnode6 == NULL) {
6206 var19 = 1;
6207 } else {
6208 if(cltype20 >= var_tclassidnode6->type->table_size) {
6209 var19 = 0;
6210 } else {
6211 var19 = var_tclassidnode6->type->type_table[cltype20] == idtype21;
6212 }
6213 }
6214 if (!var19) {
6215 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5690);
6216 exit(1);
6217 }
6218 var_pexterncodeblocknode9 = var_nodearraylist6;
6219 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
6220 cltype23 = type_nullable_parser_nodes__AExternCodeBlock.color;
6221 idtype24 = type_nullable_parser_nodes__AExternCodeBlock.id;
6222 if(var_pexterncodeblocknode9 == NULL) {
6223 var22 = 1;
6224 } else {
6225 if(cltype23 >= var_pexterncodeblocknode9->type->table_size) {
6226 var22 = 0;
6227 } else {
6228 var22 = var_pexterncodeblocknode9->type->type_table[cltype23] == idtype24;
6229 }
6230 }
6231 if (!var22) {
6232 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5692);
6233 exit(1);
6234 }
6235 var_tkwendnode12 = var_nodearraylist8;
6236 /* <var_tkwendnode12:nullable Object> isa nullable TKwend */
6237 cltype26 = type_nullable_parser_nodes__TKwend.color;
6238 idtype27 = type_nullable_parser_nodes__TKwend.id;
6239 if(var_tkwendnode12 == NULL) {
6240 var25 = 1;
6241 } else {
6242 if(cltype26 >= var_tkwendnode12->type->table_size) {
6243 var25 = 0;
6244 } else {
6245 var25 = var_tkwendnode12->type->type_table[cltype26] == idtype27;
6246 }
6247 }
6248 if (!var25) {
6249 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5694);
6250 exit(1);
6251 }
6252 var28 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6253 var29 = NULL;
6254 var30 = NULL;
6255 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var28->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var28, var_pdocnode2, var29, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var30, var_pexterncodeblocknode9, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on <var28:AStdClassdef>*/;
6256 CHECK_NEW_parser_nodes__AStdClassdef(var28);
6257 var_pclassdefnode1 = var28;
6258 var_node_list = var_pclassdefnode1;
6259 var31 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction105> */
6260 var32 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var31) /* go_to on <var_p:Parser>*/;
6261 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var32, var_node_list) /* push on <var_p:Parser>*/;
6262 RET_LABEL:;
6263 }
6264 /* method parser#ReduceAction105#action for (self: Object, Parser) */
6265 void VIRTUAL_parser__ReduceAction105__action(val* self, val* p0) {
6266 parser__ReduceAction105__action(self, p0);
6267 RET_LABEL:;
6268 }
6269 /* method parser#ReduceAction106#action for (self: ReduceAction106, Parser) */
6270 void parser__ReduceAction106__action(val* self, val* p0) {
6271 val* var_p /* var p: Parser */;
6272 val* var /* : null */;
6273 val* var_node_list /* var node_list: nullable Object */;
6274 val* var1 /* : nullable Object */;
6275 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6276 val* var2 /* : nullable Object */;
6277 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6278 val* var3 /* : nullable Object */;
6279 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6280 val* var4 /* : nullable Object */;
6281 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6282 val* var5 /* : nullable Object */;
6283 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6284 val* var6 /* : nullable Object */;
6285 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6286 val* var7 /* : nullable Object */;
6287 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6288 val* var8 /* : nullable Object */;
6289 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6290 val* var9 /* : nullable Object */;
6291 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6292 val* var10 /* : Array[Object] */;
6293 val* var_listnode7 /* var listnode7: Array[Object] */;
6294 val* var11 /* : Array[Object] */;
6295 val* var_listnode10 /* var listnode10: Array[Object] */;
6296 val* var12 /* : Array[Object] */;
6297 val* var_listnode11 /* var listnode11: Array[Object] */;
6298 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6299 short int var13 /* : Bool */;
6300 int cltype;
6301 int idtype;
6302 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
6303 short int var14 /* : Bool */;
6304 int cltype15;
6305 int idtype16;
6306 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6307 short int var17 /* : Bool */;
6308 int cltype18;
6309 int idtype19;
6310 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6311 short int var20 /* : Bool */;
6312 int cltype21;
6313 int idtype22;
6314 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6315 short int var23 /* : Bool */;
6316 int cltype24;
6317 int idtype25;
6318 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
6319 short int var26 /* : Bool */;
6320 int cltype27;
6321 int idtype28;
6322 val* var_tkwendnode12 /* var tkwendnode12: nullable Object */;
6323 short int var29 /* : Bool */;
6324 int cltype30;
6325 int idtype31;
6326 val* var32 /* : AStdClassdef */;
6327 val* var33 /* : null */;
6328 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6329 long var34 /* : Int */;
6330 long var35 /* : Int */;
6331 var_p = p0;
6332 var = NULL;
6333 var_node_list = var;
6334 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6335 var_nodearraylist9 = var1;
6336 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6337 var_nodearraylist8 = var2;
6338 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6339 var_nodearraylist7 = var3;
6340 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6341 var_nodearraylist6 = var4;
6342 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6343 var_nodearraylist5 = var5;
6344 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6345 var_nodearraylist4 = var6;
6346 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6347 var_nodearraylist3 = var7;
6348 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6349 var_nodearraylist2 = var8;
6350 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6351 var_nodearraylist1 = var9;
6352 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
6353 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
6354 CHECK_NEW_array__Array(var10);
6355 var_listnode7 = var10;
6356 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
6357 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
6358 CHECK_NEW_array__Array(var11);
6359 var_listnode10 = var11;
6360 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
6361 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
6362 CHECK_NEW_array__Array(var12);
6363 var_listnode11 = var12;
6364 var_pdocnode2 = var_nodearraylist1;
6365 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6366 cltype = type_nullable_parser_nodes__ADoc.color;
6367 idtype = type_nullable_parser_nodes__ADoc.id;
6368 if(var_pdocnode2 == NULL) {
6369 var13 = 1;
6370 } else {
6371 if(cltype >= var_pdocnode2->type->table_size) {
6372 var13 = 0;
6373 } else {
6374 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
6375 }
6376 }
6377 if (!var13) {
6378 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5730);
6379 exit(1);
6380 }
6381 var_tkwredefnode3 = var_nodearraylist2;
6382 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
6383 cltype15 = type_nullable_parser_nodes__TKwredef.color;
6384 idtype16 = type_nullable_parser_nodes__TKwredef.id;
6385 if(var_tkwredefnode3 == NULL) {
6386 var14 = 1;
6387 } else {
6388 if(cltype15 >= var_tkwredefnode3->type->table_size) {
6389 var14 = 0;
6390 } else {
6391 var14 = var_tkwredefnode3->type->type_table[cltype15] == idtype16;
6392 }
6393 }
6394 if (!var14) {
6395 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5732);
6396 exit(1);
6397 }
6398 var_pvisibilitynode4 = var_nodearraylist3;
6399 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6400 cltype18 = type_nullable_parser_nodes__AVisibility.color;
6401 idtype19 = type_nullable_parser_nodes__AVisibility.id;
6402 if(var_pvisibilitynode4 == NULL) {
6403 var17 = 1;
6404 } else {
6405 if(cltype18 >= var_pvisibilitynode4->type->table_size) {
6406 var17 = 0;
6407 } else {
6408 var17 = var_pvisibilitynode4->type->type_table[cltype18] == idtype19;
6409 }
6410 }
6411 if (!var17) {
6412 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5734);
6413 exit(1);
6414 }
6415 var_pclasskindnode5 = var_nodearraylist4;
6416 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6417 cltype21 = type_nullable_parser_nodes__AClasskind.color;
6418 idtype22 = type_nullable_parser_nodes__AClasskind.id;
6419 if(var_pclasskindnode5 == NULL) {
6420 var20 = 1;
6421 } else {
6422 if(cltype21 >= var_pclasskindnode5->type->table_size) {
6423 var20 = 0;
6424 } else {
6425 var20 = var_pclasskindnode5->type->type_table[cltype21] == idtype22;
6426 }
6427 }
6428 if (!var20) {
6429 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5736);
6430 exit(1);
6431 }
6432 var_tclassidnode6 = var_nodearraylist6;
6433 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6434 cltype24 = type_nullable_parser_nodes__TClassid.color;
6435 idtype25 = type_nullable_parser_nodes__TClassid.id;
6436 if(var_tclassidnode6 == NULL) {
6437 var23 = 1;
6438 } else {
6439 if(cltype24 >= var_tclassidnode6->type->table_size) {
6440 var23 = 0;
6441 } else {
6442 var23 = var_tclassidnode6->type->type_table[cltype24] == idtype25;
6443 }
6444 }
6445 if (!var23) {
6446 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5738);
6447 exit(1);
6448 }
6449 var_pexterncodeblocknode9 = var_nodearraylist7;
6450 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
6451 cltype27 = type_nullable_parser_nodes__AExternCodeBlock.color;
6452 idtype28 = type_nullable_parser_nodes__AExternCodeBlock.id;
6453 if(var_pexterncodeblocknode9 == NULL) {
6454 var26 = 1;
6455 } else {
6456 if(cltype27 >= var_pexterncodeblocknode9->type->table_size) {
6457 var26 = 0;
6458 } else {
6459 var26 = var_pexterncodeblocknode9->type->type_table[cltype27] == idtype28;
6460 }
6461 }
6462 if (!var26) {
6463 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5740);
6464 exit(1);
6465 }
6466 var_tkwendnode12 = var_nodearraylist9;
6467 /* <var_tkwendnode12:nullable Object> isa nullable TKwend */
6468 cltype30 = type_nullable_parser_nodes__TKwend.color;
6469 idtype31 = type_nullable_parser_nodes__TKwend.id;
6470 if(var_tkwendnode12 == NULL) {
6471 var29 = 1;
6472 } else {
6473 if(cltype30 >= var_tkwendnode12->type->table_size) {
6474 var29 = 0;
6475 } else {
6476 var29 = var_tkwendnode12->type->type_table[cltype30] == idtype31;
6477 }
6478 }
6479 if (!var29) {
6480 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5742);
6481 exit(1);
6482 }
6483 var32 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6484 var33 = NULL;
6485 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var32->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var32, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var33, var_pexterncodeblocknode9, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on <var32:AStdClassdef>*/;
6486 CHECK_NEW_parser_nodes__AStdClassdef(var32);
6487 var_pclassdefnode1 = var32;
6488 var_node_list = var_pclassdefnode1;
6489 var34 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction106> */
6490 var35 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var34) /* go_to on <var_p:Parser>*/;
6491 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var35, var_node_list) /* push on <var_p:Parser>*/;
6492 RET_LABEL:;
6493 }
6494 /* method parser#ReduceAction106#action for (self: Object, Parser) */
6495 void VIRTUAL_parser__ReduceAction106__action(val* self, val* p0) {
6496 parser__ReduceAction106__action(self, p0);
6497 RET_LABEL:;
6498 }
6499 /* method parser#ReduceAction107#action for (self: ReduceAction107, Parser) */
6500 void parser__ReduceAction107__action(val* self, val* p0) {
6501 val* var_p /* var p: Parser */;
6502 val* var /* : null */;
6503 val* var_node_list /* var node_list: nullable Object */;
6504 val* var1 /* : nullable Object */;
6505 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6506 val* var2 /* : nullable Object */;
6507 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6508 val* var3 /* : nullable Object */;
6509 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6510 val* var4 /* : nullable Object */;
6511 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6512 val* var5 /* : nullable Object */;
6513 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6514 val* var6 /* : nullable Object */;
6515 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6516 val* var7 /* : nullable Object */;
6517 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6518 val* var8 /* : nullable Object */;
6519 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6520 val* var9 /* : nullable Object */;
6521 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6522 val* var10 /* : Array[Object] */;
6523 val* var_listnode7 /* var listnode7: Array[Object] */;
6524 val* var11 /* : Array[Object] */;
6525 val* var_listnode10 /* var listnode10: Array[Object] */;
6526 val* var12 /* : Array[Object] */;
6527 val* var_listnode11 /* var listnode11: Array[Object] */;
6528 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6529 short int var13 /* : Bool */;
6530 int cltype;
6531 int idtype;
6532 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6533 short int var14 /* : Bool */;
6534 int cltype15;
6535 int idtype16;
6536 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6537 short int var17 /* : Bool */;
6538 int cltype18;
6539 int idtype19;
6540 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6541 short int var20 /* : Bool */;
6542 int cltype21;
6543 int idtype22;
6544 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
6545 short int var23 /* : Bool */;
6546 int cltype24;
6547 int idtype25;
6548 val* var_tkwendnode12 /* var tkwendnode12: nullable Object */;
6549 short int var26 /* : Bool */;
6550 int cltype27;
6551 int idtype28;
6552 val* var29 /* : AStdClassdef */;
6553 val* var30 /* : null */;
6554 val* var31 /* : null */;
6555 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6556 long var32 /* : Int */;
6557 long var33 /* : Int */;
6558 var_p = p0;
6559 var = NULL;
6560 var_node_list = var;
6561 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6562 var_nodearraylist9 = var1;
6563 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6564 var_nodearraylist8 = var2;
6565 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6566 var_nodearraylist7 = var3;
6567 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6568 var_nodearraylist6 = var4;
6569 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6570 var_nodearraylist5 = var5;
6571 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6572 var_nodearraylist4 = var6;
6573 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6574 var_nodearraylist3 = var7;
6575 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6576 var_nodearraylist2 = var8;
6577 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6578 var_nodearraylist1 = var9;
6579 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
6580 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
6581 CHECK_NEW_array__Array(var10);
6582 var_listnode7 = var10;
6583 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
6584 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
6585 CHECK_NEW_array__Array(var11);
6586 var_listnode10 = var11;
6587 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
6588 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
6589 CHECK_NEW_array__Array(var12);
6590 var_listnode11 = var12;
6591 var_pdocnode2 = var_nodearraylist1;
6592 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6593 cltype = type_nullable_parser_nodes__ADoc.color;
6594 idtype = type_nullable_parser_nodes__ADoc.id;
6595 if(var_pdocnode2 == NULL) {
6596 var13 = 1;
6597 } else {
6598 if(cltype >= var_pdocnode2->type->table_size) {
6599 var13 = 0;
6600 } else {
6601 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
6602 }
6603 }
6604 if (!var13) {
6605 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5778);
6606 exit(1);
6607 }
6608 var_pvisibilitynode4 = var_nodearraylist2;
6609 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6610 cltype15 = type_nullable_parser_nodes__AVisibility.color;
6611 idtype16 = type_nullable_parser_nodes__AVisibility.id;
6612 if(var_pvisibilitynode4 == NULL) {
6613 var14 = 1;
6614 } else {
6615 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
6616 var14 = 0;
6617 } else {
6618 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
6619 }
6620 }
6621 if (!var14) {
6622 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5780);
6623 exit(1);
6624 }
6625 var_pclasskindnode5 = var_nodearraylist3;
6626 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6627 cltype18 = type_nullable_parser_nodes__AClasskind.color;
6628 idtype19 = type_nullable_parser_nodes__AClasskind.id;
6629 if(var_pclasskindnode5 == NULL) {
6630 var17 = 1;
6631 } else {
6632 if(cltype18 >= var_pclasskindnode5->type->table_size) {
6633 var17 = 0;
6634 } else {
6635 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
6636 }
6637 }
6638 if (!var17) {
6639 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5782);
6640 exit(1);
6641 }
6642 var_tclassidnode6 = var_nodearraylist6;
6643 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6644 cltype21 = type_nullable_parser_nodes__TClassid.color;
6645 idtype22 = type_nullable_parser_nodes__TClassid.id;
6646 if(var_tclassidnode6 == NULL) {
6647 var20 = 1;
6648 } else {
6649 if(cltype21 >= var_tclassidnode6->type->table_size) {
6650 var20 = 0;
6651 } else {
6652 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
6653 }
6654 }
6655 if (!var20) {
6656 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5784);
6657 exit(1);
6658 }
6659 var_pexterncodeblocknode9 = var_nodearraylist7;
6660 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
6661 cltype24 = type_nullable_parser_nodes__AExternCodeBlock.color;
6662 idtype25 = type_nullable_parser_nodes__AExternCodeBlock.id;
6663 if(var_pexterncodeblocknode9 == NULL) {
6664 var23 = 1;
6665 } else {
6666 if(cltype24 >= var_pexterncodeblocknode9->type->table_size) {
6667 var23 = 0;
6668 } else {
6669 var23 = var_pexterncodeblocknode9->type->type_table[cltype24] == idtype25;
6670 }
6671 }
6672 if (!var23) {
6673 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5786);
6674 exit(1);
6675 }
6676 var_tkwendnode12 = var_nodearraylist9;
6677 /* <var_tkwendnode12:nullable Object> isa nullable TKwend */
6678 cltype27 = type_nullable_parser_nodes__TKwend.color;
6679 idtype28 = type_nullable_parser_nodes__TKwend.id;
6680 if(var_tkwendnode12 == NULL) {
6681 var26 = 1;
6682 } else {
6683 if(cltype27 >= var_tkwendnode12->type->table_size) {
6684 var26 = 0;
6685 } else {
6686 var26 = var_tkwendnode12->type->type_table[cltype27] == idtype28;
6687 }
6688 }
6689 if (!var26) {
6690 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5788);
6691 exit(1);
6692 }
6693 var29 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6694 var30 = NULL;
6695 var31 = NULL;
6696 ((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, var_pexterncodeblocknode9, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on <var29:AStdClassdef>*/;
6697 CHECK_NEW_parser_nodes__AStdClassdef(var29);
6698 var_pclassdefnode1 = var29;
6699 var_node_list = var_pclassdefnode1;
6700 var32 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction107> */
6701 var33 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var32) /* go_to on <var_p:Parser>*/;
6702 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var33, var_node_list) /* push on <var_p:Parser>*/;
6703 RET_LABEL:;
6704 }
6705 /* method parser#ReduceAction107#action for (self: Object, Parser) */
6706 void VIRTUAL_parser__ReduceAction107__action(val* self, val* p0) {
6707 parser__ReduceAction107__action(self, p0);
6708 RET_LABEL:;
6709 }
6710 /* method parser#ReduceAction108#action for (self: ReduceAction108, Parser) */
6711 void parser__ReduceAction108__action(val* self, val* p0) {
6712 val* var_p /* var p: Parser */;
6713 val* var /* : null */;
6714 val* var_node_list /* var node_list: nullable Object */;
6715 val* var1 /* : nullable Object */;
6716 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6717 val* var2 /* : nullable Object */;
6718 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6719 val* var3 /* : nullable Object */;
6720 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6721 val* var4 /* : nullable Object */;
6722 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6723 val* var5 /* : nullable Object */;
6724 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6725 val* var6 /* : nullable Object */;
6726 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6727 val* var7 /* : nullable Object */;
6728 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6729 val* var8 /* : nullable Object */;
6730 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6731 val* var9 /* : nullable Object */;
6732 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6733 val* var10 /* : nullable Object */;
6734 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6735 val* var11 /* : Array[Object] */;
6736 val* var_listnode7 /* var listnode7: Array[Object] */;
6737 val* var12 /* : Array[Object] */;
6738 val* var_listnode10 /* var listnode10: Array[Object] */;
6739 val* var13 /* : Array[Object] */;
6740 val* var_listnode11 /* var listnode11: Array[Object] */;
6741 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6742 short int var14 /* : Bool */;
6743 int cltype;
6744 int idtype;
6745 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6746 short int var15 /* : Bool */;
6747 int cltype16;
6748 int idtype17;
6749 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6750 short int var18 /* : Bool */;
6751 int cltype19;
6752 int idtype20;
6753 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6754 short int var21 /* : Bool */;
6755 int cltype22;
6756 int idtype23;
6757 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
6758 short int var24 /* : Bool */;
6759 int cltype25;
6760 int idtype26;
6761 val* var_tkwendnode12 /* var tkwendnode12: nullable Object */;
6762 short int var27 /* : Bool */;
6763 int cltype28;
6764 int idtype29;
6765 val* var30 /* : AStdClassdef */;
6766 val* var31 /* : null */;
6767 val* var32 /* : null */;
6768 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6769 long var33 /* : Int */;
6770 long var34 /* : Int */;
6771 var_p = p0;
6772 var = NULL;
6773 var_node_list = var;
6774 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6775 var_nodearraylist10 = var1;
6776 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6777 var_nodearraylist9 = var2;
6778 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6779 var_nodearraylist8 = var3;
6780 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6781 var_nodearraylist7 = var4;
6782 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6783 var_nodearraylist6 = var5;
6784 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6785 var_nodearraylist5 = var6;
6786 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6787 var_nodearraylist4 = var7;
6788 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6789 var_nodearraylist3 = var8;
6790 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6791 var_nodearraylist2 = var9;
6792 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6793 var_nodearraylist1 = var10;
6794 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
6795 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
6796 CHECK_NEW_array__Array(var11);
6797 var_listnode7 = var11;
6798 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
6799 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
6800 CHECK_NEW_array__Array(var12);
6801 var_listnode10 = var12;
6802 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
6803 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
6804 CHECK_NEW_array__Array(var13);
6805 var_listnode11 = var13;
6806 var_pdocnode2 = var_nodearraylist1;
6807 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
6808 cltype = type_nullable_parser_nodes__ADoc.color;
6809 idtype = type_nullable_parser_nodes__ADoc.id;
6810 if(var_pdocnode2 == NULL) {
6811 var14 = 1;
6812 } else {
6813 if(cltype >= var_pdocnode2->type->table_size) {
6814 var14 = 0;
6815 } else {
6816 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
6817 }
6818 }
6819 if (!var14) {
6820 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5825);
6821 exit(1);
6822 }
6823 var_pvisibilitynode4 = var_nodearraylist2;
6824 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
6825 cltype16 = type_nullable_parser_nodes__AVisibility.color;
6826 idtype17 = type_nullable_parser_nodes__AVisibility.id;
6827 if(var_pvisibilitynode4 == NULL) {
6828 var15 = 1;
6829 } else {
6830 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
6831 var15 = 0;
6832 } else {
6833 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
6834 }
6835 }
6836 if (!var15) {
6837 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5827);
6838 exit(1);
6839 }
6840 var_pclasskindnode5 = var_nodearraylist3;
6841 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
6842 cltype19 = type_nullable_parser_nodes__AClasskind.color;
6843 idtype20 = type_nullable_parser_nodes__AClasskind.id;
6844 if(var_pclasskindnode5 == NULL) {
6845 var18 = 1;
6846 } else {
6847 if(cltype19 >= var_pclasskindnode5->type->table_size) {
6848 var18 = 0;
6849 } else {
6850 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
6851 }
6852 }
6853 if (!var18) {
6854 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5829);
6855 exit(1);
6856 }
6857 var_tclassidnode6 = var_nodearraylist7;
6858 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
6859 cltype22 = type_nullable_parser_nodes__TClassid.color;
6860 idtype23 = type_nullable_parser_nodes__TClassid.id;
6861 if(var_tclassidnode6 == NULL) {
6862 var21 = 1;
6863 } else {
6864 if(cltype22 >= var_tclassidnode6->type->table_size) {
6865 var21 = 0;
6866 } else {
6867 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
6868 }
6869 }
6870 if (!var21) {
6871 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5831);
6872 exit(1);
6873 }
6874 var_pexterncodeblocknode9 = var_nodearraylist8;
6875 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
6876 cltype25 = type_nullable_parser_nodes__AExternCodeBlock.color;
6877 idtype26 = type_nullable_parser_nodes__AExternCodeBlock.id;
6878 if(var_pexterncodeblocknode9 == NULL) {
6879 var24 = 1;
6880 } else {
6881 if(cltype25 >= var_pexterncodeblocknode9->type->table_size) {
6882 var24 = 0;
6883 } else {
6884 var24 = var_pexterncodeblocknode9->type->type_table[cltype25] == idtype26;
6885 }
6886 }
6887 if (!var24) {
6888 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5833);
6889 exit(1);
6890 }
6891 var_tkwendnode12 = var_nodearraylist10;
6892 /* <var_tkwendnode12:nullable Object> isa nullable TKwend */
6893 cltype28 = type_nullable_parser_nodes__TKwend.color;
6894 idtype29 = type_nullable_parser_nodes__TKwend.id;
6895 if(var_tkwendnode12 == NULL) {
6896 var27 = 1;
6897 } else {
6898 if(cltype28 >= var_tkwendnode12->type->table_size) {
6899 var27 = 0;
6900 } else {
6901 var27 = var_tkwendnode12->type->type_table[cltype28] == idtype29;
6902 }
6903 }
6904 if (!var27) {
6905 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5835);
6906 exit(1);
6907 }
6908 var30 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
6909 var31 = NULL;
6910 var32 = NULL;
6911 ((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, var_pexterncodeblocknode9, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on <var30:AStdClassdef>*/;
6912 CHECK_NEW_parser_nodes__AStdClassdef(var30);
6913 var_pclassdefnode1 = var30;
6914 var_node_list = var_pclassdefnode1;
6915 var33 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction108> */
6916 var34 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var33) /* go_to on <var_p:Parser>*/;
6917 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var34, var_node_list) /* push on <var_p:Parser>*/;
6918 RET_LABEL:;
6919 }
6920 /* method parser#ReduceAction108#action for (self: Object, Parser) */
6921 void VIRTUAL_parser__ReduceAction108__action(val* self, val* p0) {
6922 parser__ReduceAction108__action(self, p0);
6923 RET_LABEL:;
6924 }
6925 /* method parser#ReduceAction110#action for (self: ReduceAction110, Parser) */
6926 void parser__ReduceAction110__action(val* self, val* p0) {
6927 val* var_p /* var p: Parser */;
6928 val* var /* : null */;
6929 val* var_node_list /* var node_list: nullable Object */;
6930 val* var1 /* : nullable Object */;
6931 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
6932 val* var2 /* : nullable Object */;
6933 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
6934 val* var3 /* : nullable Object */;
6935 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
6936 val* var4 /* : nullable Object */;
6937 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
6938 val* var5 /* : nullable Object */;
6939 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
6940 val* var6 /* : nullable Object */;
6941 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
6942 val* var7 /* : nullable Object */;
6943 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
6944 val* var8 /* : nullable Object */;
6945 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
6946 val* var9 /* : nullable Object */;
6947 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
6948 val* var10 /* : nullable Object */;
6949 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
6950 val* var11 /* : Array[Object] */;
6951 val* var_listnode7 /* var listnode7: Array[Object] */;
6952 val* var12 /* : Array[Object] */;
6953 val* var_listnode10 /* var listnode10: Array[Object] */;
6954 val* var13 /* : Array[Object] */;
6955 val* var_listnode11 /* var listnode11: Array[Object] */;
6956 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
6957 short int var14 /* : Bool */;
6958 int cltype;
6959 int idtype;
6960 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
6961 short int var15 /* : Bool */;
6962 int cltype16;
6963 int idtype17;
6964 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
6965 short int var18 /* : Bool */;
6966 int cltype19;
6967 int idtype20;
6968 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
6969 short int var21 /* : Bool */;
6970 int cltype22;
6971 int idtype23;
6972 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
6973 short int var24 /* : Bool */;
6974 int cltype25;
6975 int idtype26;
6976 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
6977 short int var27 /* : Bool */;
6978 int cltype28;
6979 int idtype29;
6980 val* var_tkwendnode12 /* var tkwendnode12: nullable Object */;
6981 short int var30 /* : Bool */;
6982 int cltype31;
6983 int idtype32;
6984 val* var33 /* : AStdClassdef */;
6985 val* var34 /* : null */;
6986 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
6987 long var35 /* : Int */;
6988 long var36 /* : Int */;
6989 var_p = p0;
6990 var = NULL;
6991 var_node_list = var;
6992 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6993 var_nodearraylist10 = var1;
6994 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6995 var_nodearraylist9 = var2;
6996 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6997 var_nodearraylist8 = var3;
6998 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
6999 var_nodearraylist7 = var4;
7000 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7001 var_nodearraylist6 = var5;
7002 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7003 var_nodearraylist5 = var6;
7004 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7005 var_nodearraylist4 = var7;
7006 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7007 var_nodearraylist3 = var8;
7008 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7009 var_nodearraylist2 = var9;
7010 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7011 var_nodearraylist1 = var10;
7012 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
7013 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
7014 CHECK_NEW_array__Array(var11);
7015 var_listnode7 = var11;
7016 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
7017 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
7018 CHECK_NEW_array__Array(var12);
7019 var_listnode10 = var12;
7020 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
7021 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
7022 CHECK_NEW_array__Array(var13);
7023 var_listnode11 = var13;
7024 var_pdocnode2 = var_nodearraylist1;
7025 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7026 cltype = type_nullable_parser_nodes__ADoc.color;
7027 idtype = type_nullable_parser_nodes__ADoc.id;
7028 if(var_pdocnode2 == NULL) {
7029 var14 = 1;
7030 } else {
7031 if(cltype >= var_pdocnode2->type->table_size) {
7032 var14 = 0;
7033 } else {
7034 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
7035 }
7036 }
7037 if (!var14) {
7038 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5872);
7039 exit(1);
7040 }
7041 var_tkwredefnode3 = var_nodearraylist2;
7042 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7043 cltype16 = type_nullable_parser_nodes__TKwredef.color;
7044 idtype17 = type_nullable_parser_nodes__TKwredef.id;
7045 if(var_tkwredefnode3 == NULL) {
7046 var15 = 1;
7047 } else {
7048 if(cltype16 >= var_tkwredefnode3->type->table_size) {
7049 var15 = 0;
7050 } else {
7051 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
7052 }
7053 }
7054 if (!var15) {
7055 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5874);
7056 exit(1);
7057 }
7058 var_pvisibilitynode4 = var_nodearraylist3;
7059 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7060 cltype19 = type_nullable_parser_nodes__AVisibility.color;
7061 idtype20 = type_nullable_parser_nodes__AVisibility.id;
7062 if(var_pvisibilitynode4 == NULL) {
7063 var18 = 1;
7064 } else {
7065 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
7066 var18 = 0;
7067 } else {
7068 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
7069 }
7070 }
7071 if (!var18) {
7072 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5876);
7073 exit(1);
7074 }
7075 var_pclasskindnode5 = var_nodearraylist4;
7076 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7077 cltype22 = type_nullable_parser_nodes__AClasskind.color;
7078 idtype23 = type_nullable_parser_nodes__AClasskind.id;
7079 if(var_pclasskindnode5 == NULL) {
7080 var21 = 1;
7081 } else {
7082 if(cltype22 >= var_pclasskindnode5->type->table_size) {
7083 var21 = 0;
7084 } else {
7085 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
7086 }
7087 }
7088 if (!var21) {
7089 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5878);
7090 exit(1);
7091 }
7092 var_tclassidnode6 = var_nodearraylist7;
7093 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7094 cltype25 = type_nullable_parser_nodes__TClassid.color;
7095 idtype26 = type_nullable_parser_nodes__TClassid.id;
7096 if(var_tclassidnode6 == NULL) {
7097 var24 = 1;
7098 } else {
7099 if(cltype25 >= var_tclassidnode6->type->table_size) {
7100 var24 = 0;
7101 } else {
7102 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
7103 }
7104 }
7105 if (!var24) {
7106 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5880);
7107 exit(1);
7108 }
7109 var_pexterncodeblocknode9 = var_nodearraylist8;
7110 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
7111 cltype28 = type_nullable_parser_nodes__AExternCodeBlock.color;
7112 idtype29 = type_nullable_parser_nodes__AExternCodeBlock.id;
7113 if(var_pexterncodeblocknode9 == NULL) {
7114 var27 = 1;
7115 } else {
7116 if(cltype28 >= var_pexterncodeblocknode9->type->table_size) {
7117 var27 = 0;
7118 } else {
7119 var27 = var_pexterncodeblocknode9->type->type_table[cltype28] == idtype29;
7120 }
7121 }
7122 if (!var27) {
7123 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5882);
7124 exit(1);
7125 }
7126 var_tkwendnode12 = var_nodearraylist10;
7127 /* <var_tkwendnode12:nullable Object> isa nullable TKwend */
7128 cltype31 = type_nullable_parser_nodes__TKwend.color;
7129 idtype32 = type_nullable_parser_nodes__TKwend.id;
7130 if(var_tkwendnode12 == NULL) {
7131 var30 = 1;
7132 } else {
7133 if(cltype31 >= var_tkwendnode12->type->table_size) {
7134 var30 = 0;
7135 } else {
7136 var30 = var_tkwendnode12->type->type_table[cltype31] == idtype32;
7137 }
7138 }
7139 if (!var30) {
7140 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5884);
7141 exit(1);
7142 }
7143 var33 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7144 var34 = NULL;
7145 ((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, var_pexterncodeblocknode9, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on <var33:AStdClassdef>*/;
7146 CHECK_NEW_parser_nodes__AStdClassdef(var33);
7147 var_pclassdefnode1 = var33;
7148 var_node_list = var_pclassdefnode1;
7149 var35 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction110> */
7150 var36 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var35) /* go_to on <var_p:Parser>*/;
7151 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var36, var_node_list) /* push on <var_p:Parser>*/;
7152 RET_LABEL:;
7153 }
7154 /* method parser#ReduceAction110#action for (self: Object, Parser) */
7155 void VIRTUAL_parser__ReduceAction110__action(val* self, val* p0) {
7156 parser__ReduceAction110__action(self, p0);
7157 RET_LABEL:;
7158 }
7159 /* method parser#ReduceAction111#action for (self: ReduceAction111, Parser) */
7160 void parser__ReduceAction111__action(val* self, val* p0) {
7161 val* var_p /* var p: Parser */;
7162 val* var /* : null */;
7163 val* var_node_list /* var node_list: nullable Object */;
7164 val* var1 /* : nullable Object */;
7165 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
7166 val* var2 /* : nullable Object */;
7167 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7168 val* var3 /* : nullable Object */;
7169 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7170 val* var4 /* : nullable Object */;
7171 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7172 val* var5 /* : nullable Object */;
7173 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7174 val* var6 /* : nullable Object */;
7175 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7176 val* var7 /* : nullable Object */;
7177 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7178 val* var8 /* : nullable Object */;
7179 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7180 val* var9 /* : nullable Object */;
7181 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7182 val* var10 /* : nullable Object */;
7183 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7184 val* var11 /* : nullable Object */;
7185 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7186 val* var12 /* : Array[Object] */;
7187 val* var_listnode7 /* var listnode7: Array[Object] */;
7188 val* var13 /* : Array[Object] */;
7189 val* var_listnode10 /* var listnode10: Array[Object] */;
7190 val* var14 /* : Array[Object] */;
7191 val* var_listnode11 /* var listnode11: Array[Object] */;
7192 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7193 short int var15 /* : Bool */;
7194 int cltype;
7195 int idtype;
7196 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
7197 short int var16 /* : Bool */;
7198 int cltype17;
7199 int idtype18;
7200 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7201 short int var19 /* : Bool */;
7202 int cltype20;
7203 int idtype21;
7204 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7205 short int var22 /* : Bool */;
7206 int cltype23;
7207 int idtype24;
7208 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7209 short int var25 /* : Bool */;
7210 int cltype26;
7211 int idtype27;
7212 val* var_pexterncodeblocknode9 /* var pexterncodeblocknode9: nullable Object */;
7213 short int var28 /* : Bool */;
7214 int cltype29;
7215 int idtype30;
7216 val* var_tkwendnode12 /* var tkwendnode12: nullable Object */;
7217 short int var31 /* : Bool */;
7218 int cltype32;
7219 int idtype33;
7220 val* var34 /* : AStdClassdef */;
7221 val* var35 /* : null */;
7222 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7223 long var36 /* : Int */;
7224 long var37 /* : Int */;
7225 var_p = p0;
7226 var = NULL;
7227 var_node_list = var;
7228 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7229 var_nodearraylist11 = var1;
7230 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7231 var_nodearraylist10 = var2;
7232 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7233 var_nodearraylist9 = var3;
7234 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7235 var_nodearraylist8 = var4;
7236 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7237 var_nodearraylist7 = var5;
7238 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7239 var_nodearraylist6 = var6;
7240 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7241 var_nodearraylist5 = var7;
7242 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7243 var_nodearraylist4 = var8;
7244 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7245 var_nodearraylist3 = var9;
7246 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7247 var_nodearraylist2 = var10;
7248 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7249 var_nodearraylist1 = var11;
7250 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
7251 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
7252 CHECK_NEW_array__Array(var12);
7253 var_listnode7 = var12;
7254 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
7255 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
7256 CHECK_NEW_array__Array(var13);
7257 var_listnode10 = var13;
7258 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
7259 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
7260 CHECK_NEW_array__Array(var14);
7261 var_listnode11 = var14;
7262 var_pdocnode2 = var_nodearraylist1;
7263 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7264 cltype = type_nullable_parser_nodes__ADoc.color;
7265 idtype = type_nullable_parser_nodes__ADoc.id;
7266 if(var_pdocnode2 == NULL) {
7267 var15 = 1;
7268 } else {
7269 if(cltype >= var_pdocnode2->type->table_size) {
7270 var15 = 0;
7271 } else {
7272 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
7273 }
7274 }
7275 if (!var15) {
7276 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5922);
7277 exit(1);
7278 }
7279 var_tkwredefnode3 = var_nodearraylist2;
7280 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7281 cltype17 = type_nullable_parser_nodes__TKwredef.color;
7282 idtype18 = type_nullable_parser_nodes__TKwredef.id;
7283 if(var_tkwredefnode3 == NULL) {
7284 var16 = 1;
7285 } else {
7286 if(cltype17 >= var_tkwredefnode3->type->table_size) {
7287 var16 = 0;
7288 } else {
7289 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
7290 }
7291 }
7292 if (!var16) {
7293 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5924);
7294 exit(1);
7295 }
7296 var_pvisibilitynode4 = var_nodearraylist3;
7297 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7298 cltype20 = type_nullable_parser_nodes__AVisibility.color;
7299 idtype21 = type_nullable_parser_nodes__AVisibility.id;
7300 if(var_pvisibilitynode4 == NULL) {
7301 var19 = 1;
7302 } else {
7303 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
7304 var19 = 0;
7305 } else {
7306 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
7307 }
7308 }
7309 if (!var19) {
7310 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5926);
7311 exit(1);
7312 }
7313 var_pclasskindnode5 = var_nodearraylist4;
7314 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7315 cltype23 = type_nullable_parser_nodes__AClasskind.color;
7316 idtype24 = type_nullable_parser_nodes__AClasskind.id;
7317 if(var_pclasskindnode5 == NULL) {
7318 var22 = 1;
7319 } else {
7320 if(cltype23 >= var_pclasskindnode5->type->table_size) {
7321 var22 = 0;
7322 } else {
7323 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
7324 }
7325 }
7326 if (!var22) {
7327 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5928);
7328 exit(1);
7329 }
7330 var_tclassidnode6 = var_nodearraylist8;
7331 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7332 cltype26 = type_nullable_parser_nodes__TClassid.color;
7333 idtype27 = type_nullable_parser_nodes__TClassid.id;
7334 if(var_tclassidnode6 == NULL) {
7335 var25 = 1;
7336 } else {
7337 if(cltype26 >= var_tclassidnode6->type->table_size) {
7338 var25 = 0;
7339 } else {
7340 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
7341 }
7342 }
7343 if (!var25) {
7344 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5930);
7345 exit(1);
7346 }
7347 var_pexterncodeblocknode9 = var_nodearraylist9;
7348 /* <var_pexterncodeblocknode9:nullable Object> isa nullable AExternCodeBlock */
7349 cltype29 = type_nullable_parser_nodes__AExternCodeBlock.color;
7350 idtype30 = type_nullable_parser_nodes__AExternCodeBlock.id;
7351 if(var_pexterncodeblocknode9 == NULL) {
7352 var28 = 1;
7353 } else {
7354 if(cltype29 >= var_pexterncodeblocknode9->type->table_size) {
7355 var28 = 0;
7356 } else {
7357 var28 = var_pexterncodeblocknode9->type->type_table[cltype29] == idtype30;
7358 }
7359 }
7360 if (!var28) {
7361 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5932);
7362 exit(1);
7363 }
7364 var_tkwendnode12 = var_nodearraylist11;
7365 /* <var_tkwendnode12:nullable Object> isa nullable TKwend */
7366 cltype32 = type_nullable_parser_nodes__TKwend.color;
7367 idtype33 = type_nullable_parser_nodes__TKwend.id;
7368 if(var_tkwendnode12 == NULL) {
7369 var31 = 1;
7370 } else {
7371 if(cltype32 >= var_tkwendnode12->type->table_size) {
7372 var31 = 0;
7373 } else {
7374 var31 = var_tkwendnode12->type->type_table[cltype32] == idtype33;
7375 }
7376 }
7377 if (!var31) {
7378 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5934);
7379 exit(1);
7380 }
7381 var34 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7382 var35 = NULL;
7383 ((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, var_pexterncodeblocknode9, var_listnode10, var_listnode11, var_tkwendnode12) /* init_astdclassdef on <var34:AStdClassdef>*/;
7384 CHECK_NEW_parser_nodes__AStdClassdef(var34);
7385 var_pclassdefnode1 = var34;
7386 var_node_list = var_pclassdefnode1;
7387 var36 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction111> */
7388 var37 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var36) /* go_to on <var_p:Parser>*/;
7389 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var37, var_node_list) /* push on <var_p:Parser>*/;
7390 RET_LABEL:;
7391 }
7392 /* method parser#ReduceAction111#action for (self: Object, Parser) */
7393 void VIRTUAL_parser__ReduceAction111__action(val* self, val* p0) {
7394 parser__ReduceAction111__action(self, p0);
7395 RET_LABEL:;
7396 }
7397 /* method parser#ReduceAction113#action for (self: ReduceAction113, Parser) */
7398 void parser__ReduceAction113__action(val* self, val* p0) {
7399 val* var_p /* var p: Parser */;
7400 val* var /* : null */;
7401 val* var_node_list /* var node_list: nullable Object */;
7402 val* var1 /* : nullable Object */;
7403 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7404 val* var2 /* : nullable Object */;
7405 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7406 val* var3 /* : nullable Object */;
7407 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7408 val* var4 /* : nullable Object */;
7409 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7410 val* var5 /* : nullable Object */;
7411 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7412 val* var6 /* : nullable Object */;
7413 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7414 val* var7 /* : nullable Object */;
7415 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7416 val* var8 /* : nullable Object */;
7417 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7418 val* var9 /* : nullable Object */;
7419 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7420 val* var10 /* : Array[Object] */;
7421 val* var_listnode8 /* var listnode8: Array[Object] */;
7422 val* var11 /* : Array[Object] */;
7423 val* var_listnode11 /* var listnode11: Array[Object] */;
7424 val* var12 /* : Array[Object] */;
7425 val* var_listnode12 /* var listnode12: Array[Object] */;
7426 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7427 short int var13 /* : Bool */;
7428 int cltype;
7429 int idtype;
7430 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7431 short int var14 /* : Bool */;
7432 int cltype15;
7433 int idtype16;
7434 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7435 short int var17 /* : Bool */;
7436 int cltype18;
7437 int idtype19;
7438 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7439 short int var20 /* : Bool */;
7440 int cltype21;
7441 int idtype22;
7442 val* var_listnode7 /* var listnode7: nullable Object */;
7443 short int var23 /* : Bool */;
7444 int cltype24;
7445 int idtype25;
7446 val* var26 /* : Array[Object] */;
7447 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
7448 short int var27 /* : Bool */;
7449 int cltype28;
7450 int idtype29;
7451 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
7452 short int var30 /* : Bool */;
7453 int cltype31;
7454 int idtype32;
7455 val* var33 /* : AStdClassdef */;
7456 val* var34 /* : null */;
7457 val* var35 /* : null */;
7458 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7459 long var36 /* : Int */;
7460 long var37 /* : Int */;
7461 var_p = p0;
7462 var = NULL;
7463 var_node_list = var;
7464 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7465 var_nodearraylist9 = var1;
7466 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7467 var_nodearraylist8 = var2;
7468 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7469 var_nodearraylist7 = var3;
7470 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7471 var_nodearraylist6 = var4;
7472 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7473 var_nodearraylist5 = var5;
7474 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7475 var_nodearraylist4 = var6;
7476 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7477 var_nodearraylist3 = var7;
7478 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7479 var_nodearraylist2 = var8;
7480 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7481 var_nodearraylist1 = var9;
7482 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
7483 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
7484 CHECK_NEW_array__Array(var10);
7485 var_listnode8 = var10;
7486 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
7487 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
7488 CHECK_NEW_array__Array(var11);
7489 var_listnode11 = var11;
7490 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
7491 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
7492 CHECK_NEW_array__Array(var12);
7493 var_listnode12 = var12;
7494 var_pdocnode2 = var_nodearraylist1;
7495 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7496 cltype = type_nullable_parser_nodes__ADoc.color;
7497 idtype = type_nullable_parser_nodes__ADoc.id;
7498 if(var_pdocnode2 == NULL) {
7499 var13 = 1;
7500 } else {
7501 if(cltype >= var_pdocnode2->type->table_size) {
7502 var13 = 0;
7503 } else {
7504 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
7505 }
7506 }
7507 if (!var13) {
7508 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5970);
7509 exit(1);
7510 }
7511 var_pvisibilitynode4 = var_nodearraylist2;
7512 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7513 cltype15 = type_nullable_parser_nodes__AVisibility.color;
7514 idtype16 = type_nullable_parser_nodes__AVisibility.id;
7515 if(var_pvisibilitynode4 == NULL) {
7516 var14 = 1;
7517 } else {
7518 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
7519 var14 = 0;
7520 } else {
7521 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
7522 }
7523 }
7524 if (!var14) {
7525 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5972);
7526 exit(1);
7527 }
7528 var_pclasskindnode5 = var_nodearraylist3;
7529 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7530 cltype18 = type_nullable_parser_nodes__AClasskind.color;
7531 idtype19 = type_nullable_parser_nodes__AClasskind.id;
7532 if(var_pclasskindnode5 == NULL) {
7533 var17 = 1;
7534 } else {
7535 if(cltype18 >= var_pclasskindnode5->type->table_size) {
7536 var17 = 0;
7537 } else {
7538 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
7539 }
7540 }
7541 if (!var17) {
7542 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5974);
7543 exit(1);
7544 }
7545 var_tclassidnode6 = var_nodearraylist5;
7546 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7547 cltype21 = type_nullable_parser_nodes__TClassid.color;
7548 idtype22 = type_nullable_parser_nodes__TClassid.id;
7549 if(var_tclassidnode6 == NULL) {
7550 var20 = 1;
7551 } else {
7552 if(cltype21 >= var_tclassidnode6->type->table_size) {
7553 var20 = 0;
7554 } else {
7555 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
7556 }
7557 }
7558 if (!var20) {
7559 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5976);
7560 exit(1);
7561 }
7562 var_listnode7 = var_nodearraylist6;
7563 /* <var_listnode7:nullable Object> isa Array[Object] */
7564 cltype24 = type_array__Arraykernel__Object.color;
7565 idtype25 = type_array__Arraykernel__Object.id;
7566 if(var_listnode7 == NULL) {
7567 var23 = 0;
7568 } else {
7569 if(cltype24 >= var_listnode7->type->table_size) {
7570 var23 = 0;
7571 } else {
7572 var23 = var_listnode7->type->type_table[cltype24] == idtype25;
7573 }
7574 }
7575 if (!var23) {
7576 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5978);
7577 exit(1);
7578 }
7579 var26 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction113>*/;
7580 var_listnode8 = var26;
7581 var_pexterncodeblocknode10 = var_nodearraylist7;
7582 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
7583 cltype28 = type_nullable_parser_nodes__AExternCodeBlock.color;
7584 idtype29 = type_nullable_parser_nodes__AExternCodeBlock.id;
7585 if(var_pexterncodeblocknode10 == NULL) {
7586 var27 = 1;
7587 } else {
7588 if(cltype28 >= var_pexterncodeblocknode10->type->table_size) {
7589 var27 = 0;
7590 } else {
7591 var27 = var_pexterncodeblocknode10->type->type_table[cltype28] == idtype29;
7592 }
7593 }
7594 if (!var27) {
7595 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5981);
7596 exit(1);
7597 }
7598 var_tkwendnode13 = var_nodearraylist9;
7599 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
7600 cltype31 = type_nullable_parser_nodes__TKwend.color;
7601 idtype32 = type_nullable_parser_nodes__TKwend.id;
7602 if(var_tkwendnode13 == NULL) {
7603 var30 = 1;
7604 } else {
7605 if(cltype31 >= var_tkwendnode13->type->table_size) {
7606 var30 = 0;
7607 } else {
7608 var30 = var_tkwendnode13->type->type_table[cltype31] == idtype32;
7609 }
7610 }
7611 if (!var30) {
7612 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 5983);
7613 exit(1);
7614 }
7615 var33 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7616 var34 = NULL;
7617 var35 = NULL;
7618 ((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_listnode8, var35, var_pexterncodeblocknode10, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var33:AStdClassdef>*/;
7619 CHECK_NEW_parser_nodes__AStdClassdef(var33);
7620 var_pclassdefnode1 = var33;
7621 var_node_list = var_pclassdefnode1;
7622 var36 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction113> */
7623 var37 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var36) /* go_to on <var_p:Parser>*/;
7624 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var37, var_node_list) /* push on <var_p:Parser>*/;
7625 RET_LABEL:;
7626 }
7627 /* method parser#ReduceAction113#action for (self: Object, Parser) */
7628 void VIRTUAL_parser__ReduceAction113__action(val* self, val* p0) {
7629 parser__ReduceAction113__action(self, p0);
7630 RET_LABEL:;
7631 }
7632 /* method parser#ReduceAction114#action for (self: ReduceAction114, Parser) */
7633 void parser__ReduceAction114__action(val* self, val* p0) {
7634 val* var_p /* var p: Parser */;
7635 val* var /* : null */;
7636 val* var_node_list /* var node_list: nullable Object */;
7637 val* var1 /* : nullable Object */;
7638 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7639 val* var2 /* : nullable Object */;
7640 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7641 val* var3 /* : nullable Object */;
7642 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7643 val* var4 /* : nullable Object */;
7644 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7645 val* var5 /* : nullable Object */;
7646 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7647 val* var6 /* : nullable Object */;
7648 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7649 val* var7 /* : nullable Object */;
7650 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7651 val* var8 /* : nullable Object */;
7652 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7653 val* var9 /* : nullable Object */;
7654 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7655 val* var10 /* : nullable Object */;
7656 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7657 val* var11 /* : Array[Object] */;
7658 val* var_listnode8 /* var listnode8: Array[Object] */;
7659 val* var12 /* : Array[Object] */;
7660 val* var_listnode11 /* var listnode11: Array[Object] */;
7661 val* var13 /* : Array[Object] */;
7662 val* var_listnode12 /* var listnode12: Array[Object] */;
7663 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7664 short int var14 /* : Bool */;
7665 int cltype;
7666 int idtype;
7667 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
7668 short int var15 /* : Bool */;
7669 int cltype16;
7670 int idtype17;
7671 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7672 short int var18 /* : Bool */;
7673 int cltype19;
7674 int idtype20;
7675 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7676 short int var21 /* : Bool */;
7677 int cltype22;
7678 int idtype23;
7679 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7680 short int var24 /* : Bool */;
7681 int cltype25;
7682 int idtype26;
7683 val* var_listnode7 /* var listnode7: nullable Object */;
7684 short int var27 /* : Bool */;
7685 int cltype28;
7686 int idtype29;
7687 val* var30 /* : Array[Object] */;
7688 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
7689 short int var31 /* : Bool */;
7690 int cltype32;
7691 int idtype33;
7692 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
7693 short int var34 /* : Bool */;
7694 int cltype35;
7695 int idtype36;
7696 val* var37 /* : AStdClassdef */;
7697 val* var38 /* : null */;
7698 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7699 long var39 /* : Int */;
7700 long var40 /* : Int */;
7701 var_p = p0;
7702 var = NULL;
7703 var_node_list = var;
7704 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7705 var_nodearraylist10 = var1;
7706 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7707 var_nodearraylist9 = var2;
7708 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7709 var_nodearraylist8 = var3;
7710 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7711 var_nodearraylist7 = var4;
7712 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7713 var_nodearraylist6 = var5;
7714 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7715 var_nodearraylist5 = var6;
7716 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7717 var_nodearraylist4 = var7;
7718 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7719 var_nodearraylist3 = var8;
7720 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7721 var_nodearraylist2 = var9;
7722 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7723 var_nodearraylist1 = var10;
7724 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
7725 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
7726 CHECK_NEW_array__Array(var11);
7727 var_listnode8 = var11;
7728 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
7729 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
7730 CHECK_NEW_array__Array(var12);
7731 var_listnode11 = var12;
7732 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
7733 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
7734 CHECK_NEW_array__Array(var13);
7735 var_listnode12 = var13;
7736 var_pdocnode2 = var_nodearraylist1;
7737 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7738 cltype = type_nullable_parser_nodes__ADoc.color;
7739 idtype = type_nullable_parser_nodes__ADoc.id;
7740 if(var_pdocnode2 == NULL) {
7741 var14 = 1;
7742 } else {
7743 if(cltype >= var_pdocnode2->type->table_size) {
7744 var14 = 0;
7745 } else {
7746 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
7747 }
7748 }
7749 if (!var14) {
7750 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6020);
7751 exit(1);
7752 }
7753 var_tkwredefnode3 = var_nodearraylist2;
7754 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
7755 cltype16 = type_nullable_parser_nodes__TKwredef.color;
7756 idtype17 = type_nullable_parser_nodes__TKwredef.id;
7757 if(var_tkwredefnode3 == NULL) {
7758 var15 = 1;
7759 } else {
7760 if(cltype16 >= var_tkwredefnode3->type->table_size) {
7761 var15 = 0;
7762 } else {
7763 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
7764 }
7765 }
7766 if (!var15) {
7767 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6022);
7768 exit(1);
7769 }
7770 var_pvisibilitynode4 = var_nodearraylist3;
7771 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
7772 cltype19 = type_nullable_parser_nodes__AVisibility.color;
7773 idtype20 = type_nullable_parser_nodes__AVisibility.id;
7774 if(var_pvisibilitynode4 == NULL) {
7775 var18 = 1;
7776 } else {
7777 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
7778 var18 = 0;
7779 } else {
7780 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
7781 }
7782 }
7783 if (!var18) {
7784 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6024);
7785 exit(1);
7786 }
7787 var_pclasskindnode5 = var_nodearraylist4;
7788 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
7789 cltype22 = type_nullable_parser_nodes__AClasskind.color;
7790 idtype23 = type_nullable_parser_nodes__AClasskind.id;
7791 if(var_pclasskindnode5 == NULL) {
7792 var21 = 1;
7793 } else {
7794 if(cltype22 >= var_pclasskindnode5->type->table_size) {
7795 var21 = 0;
7796 } else {
7797 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
7798 }
7799 }
7800 if (!var21) {
7801 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6026);
7802 exit(1);
7803 }
7804 var_tclassidnode6 = var_nodearraylist6;
7805 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
7806 cltype25 = type_nullable_parser_nodes__TClassid.color;
7807 idtype26 = type_nullable_parser_nodes__TClassid.id;
7808 if(var_tclassidnode6 == NULL) {
7809 var24 = 1;
7810 } else {
7811 if(cltype25 >= var_tclassidnode6->type->table_size) {
7812 var24 = 0;
7813 } else {
7814 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
7815 }
7816 }
7817 if (!var24) {
7818 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6028);
7819 exit(1);
7820 }
7821 var_listnode7 = var_nodearraylist7;
7822 /* <var_listnode7:nullable Object> isa Array[Object] */
7823 cltype28 = type_array__Arraykernel__Object.color;
7824 idtype29 = type_array__Arraykernel__Object.id;
7825 if(var_listnode7 == NULL) {
7826 var27 = 0;
7827 } else {
7828 if(cltype28 >= var_listnode7->type->table_size) {
7829 var27 = 0;
7830 } else {
7831 var27 = var_listnode7->type->type_table[cltype28] == idtype29;
7832 }
7833 }
7834 if (!var27) {
7835 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6030);
7836 exit(1);
7837 }
7838 var30 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction114>*/;
7839 var_listnode8 = var30;
7840 var_pexterncodeblocknode10 = var_nodearraylist8;
7841 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
7842 cltype32 = type_nullable_parser_nodes__AExternCodeBlock.color;
7843 idtype33 = type_nullable_parser_nodes__AExternCodeBlock.id;
7844 if(var_pexterncodeblocknode10 == NULL) {
7845 var31 = 1;
7846 } else {
7847 if(cltype32 >= var_pexterncodeblocknode10->type->table_size) {
7848 var31 = 0;
7849 } else {
7850 var31 = var_pexterncodeblocknode10->type->type_table[cltype32] == idtype33;
7851 }
7852 }
7853 if (!var31) {
7854 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6033);
7855 exit(1);
7856 }
7857 var_tkwendnode13 = var_nodearraylist10;
7858 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
7859 cltype35 = type_nullable_parser_nodes__TKwend.color;
7860 idtype36 = type_nullable_parser_nodes__TKwend.id;
7861 if(var_tkwendnode13 == NULL) {
7862 var34 = 1;
7863 } else {
7864 if(cltype35 >= var_tkwendnode13->type->table_size) {
7865 var34 = 0;
7866 } else {
7867 var34 = var_tkwendnode13->type->type_table[cltype35] == idtype36;
7868 }
7869 }
7870 if (!var34) {
7871 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6035);
7872 exit(1);
7873 }
7874 var37 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
7875 var38 = NULL;
7876 ((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_listnode8, var38, var_pexterncodeblocknode10, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var37:AStdClassdef>*/;
7877 CHECK_NEW_parser_nodes__AStdClassdef(var37);
7878 var_pclassdefnode1 = var37;
7879 var_node_list = var_pclassdefnode1;
7880 var39 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction114> */
7881 var40 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var39) /* go_to on <var_p:Parser>*/;
7882 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var40, var_node_list) /* push on <var_p:Parser>*/;
7883 RET_LABEL:;
7884 }
7885 /* method parser#ReduceAction114#action for (self: Object, Parser) */
7886 void VIRTUAL_parser__ReduceAction114__action(val* self, val* p0) {
7887 parser__ReduceAction114__action(self, p0);
7888 RET_LABEL:;
7889 }
7890 /* method parser#ReduceAction115#action for (self: ReduceAction115, Parser) */
7891 void parser__ReduceAction115__action(val* self, val* p0) {
7892 val* var_p /* var p: Parser */;
7893 val* var /* : null */;
7894 val* var_node_list /* var node_list: nullable Object */;
7895 val* var1 /* : nullable Object */;
7896 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
7897 val* var2 /* : nullable Object */;
7898 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
7899 val* var3 /* : nullable Object */;
7900 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
7901 val* var4 /* : nullable Object */;
7902 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
7903 val* var5 /* : nullable Object */;
7904 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
7905 val* var6 /* : nullable Object */;
7906 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
7907 val* var7 /* : nullable Object */;
7908 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
7909 val* var8 /* : nullable Object */;
7910 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
7911 val* var9 /* : nullable Object */;
7912 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
7913 val* var10 /* : nullable Object */;
7914 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
7915 val* var11 /* : Array[Object] */;
7916 val* var_listnode8 /* var listnode8: Array[Object] */;
7917 val* var12 /* : Array[Object] */;
7918 val* var_listnode11 /* var listnode11: Array[Object] */;
7919 val* var13 /* : Array[Object] */;
7920 val* var_listnode12 /* var listnode12: Array[Object] */;
7921 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
7922 short int var14 /* : Bool */;
7923 int cltype;
7924 int idtype;
7925 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
7926 short int var15 /* : Bool */;
7927 int cltype16;
7928 int idtype17;
7929 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
7930 short int var18 /* : Bool */;
7931 int cltype19;
7932 int idtype20;
7933 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
7934 short int var21 /* : Bool */;
7935 int cltype22;
7936 int idtype23;
7937 val* var_listnode7 /* var listnode7: nullable Object */;
7938 short int var24 /* : Bool */;
7939 int cltype25;
7940 int idtype26;
7941 val* var27 /* : Array[Object] */;
7942 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
7943 short int var28 /* : Bool */;
7944 int cltype29;
7945 int idtype30;
7946 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
7947 short int var31 /* : Bool */;
7948 int cltype32;
7949 int idtype33;
7950 val* var34 /* : AStdClassdef */;
7951 val* var35 /* : null */;
7952 val* var36 /* : null */;
7953 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
7954 long var37 /* : Int */;
7955 long var38 /* : Int */;
7956 var_p = p0;
7957 var = NULL;
7958 var_node_list = var;
7959 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7960 var_nodearraylist10 = var1;
7961 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7962 var_nodearraylist9 = var2;
7963 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7964 var_nodearraylist8 = var3;
7965 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7966 var_nodearraylist7 = var4;
7967 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7968 var_nodearraylist6 = var5;
7969 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7970 var_nodearraylist5 = var6;
7971 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7972 var_nodearraylist4 = var7;
7973 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7974 var_nodearraylist3 = var8;
7975 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7976 var_nodearraylist2 = var9;
7977 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
7978 var_nodearraylist1 = var10;
7979 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
7980 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
7981 CHECK_NEW_array__Array(var11);
7982 var_listnode8 = var11;
7983 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
7984 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
7985 CHECK_NEW_array__Array(var12);
7986 var_listnode11 = var12;
7987 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
7988 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
7989 CHECK_NEW_array__Array(var13);
7990 var_listnode12 = var13;
7991 var_pdocnode2 = var_nodearraylist1;
7992 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
7993 cltype = type_nullable_parser_nodes__ADoc.color;
7994 idtype = type_nullable_parser_nodes__ADoc.id;
7995 if(var_pdocnode2 == NULL) {
7996 var14 = 1;
7997 } else {
7998 if(cltype >= var_pdocnode2->type->table_size) {
7999 var14 = 0;
8000 } else {
8001 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
8002 }
8003 }
8004 if (!var14) {
8005 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6072);
8006 exit(1);
8007 }
8008 var_pvisibilitynode4 = var_nodearraylist2;
8009 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8010 cltype16 = type_nullable_parser_nodes__AVisibility.color;
8011 idtype17 = type_nullable_parser_nodes__AVisibility.id;
8012 if(var_pvisibilitynode4 == NULL) {
8013 var15 = 1;
8014 } else {
8015 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
8016 var15 = 0;
8017 } else {
8018 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
8019 }
8020 }
8021 if (!var15) {
8022 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6074);
8023 exit(1);
8024 }
8025 var_pclasskindnode5 = var_nodearraylist3;
8026 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8027 cltype19 = type_nullable_parser_nodes__AClasskind.color;
8028 idtype20 = type_nullable_parser_nodes__AClasskind.id;
8029 if(var_pclasskindnode5 == NULL) {
8030 var18 = 1;
8031 } else {
8032 if(cltype19 >= var_pclasskindnode5->type->table_size) {
8033 var18 = 0;
8034 } else {
8035 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
8036 }
8037 }
8038 if (!var18) {
8039 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6076);
8040 exit(1);
8041 }
8042 var_tclassidnode6 = var_nodearraylist6;
8043 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8044 cltype22 = type_nullable_parser_nodes__TClassid.color;
8045 idtype23 = type_nullable_parser_nodes__TClassid.id;
8046 if(var_tclassidnode6 == NULL) {
8047 var21 = 1;
8048 } else {
8049 if(cltype22 >= var_tclassidnode6->type->table_size) {
8050 var21 = 0;
8051 } else {
8052 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
8053 }
8054 }
8055 if (!var21) {
8056 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6078);
8057 exit(1);
8058 }
8059 var_listnode7 = var_nodearraylist7;
8060 /* <var_listnode7:nullable Object> isa Array[Object] */
8061 cltype25 = type_array__Arraykernel__Object.color;
8062 idtype26 = type_array__Arraykernel__Object.id;
8063 if(var_listnode7 == NULL) {
8064 var24 = 0;
8065 } else {
8066 if(cltype25 >= var_listnode7->type->table_size) {
8067 var24 = 0;
8068 } else {
8069 var24 = var_listnode7->type->type_table[cltype25] == idtype26;
8070 }
8071 }
8072 if (!var24) {
8073 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6080);
8074 exit(1);
8075 }
8076 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction115>*/;
8077 var_listnode8 = var27;
8078 var_pexterncodeblocknode10 = var_nodearraylist8;
8079 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
8080 cltype29 = type_nullable_parser_nodes__AExternCodeBlock.color;
8081 idtype30 = type_nullable_parser_nodes__AExternCodeBlock.id;
8082 if(var_pexterncodeblocknode10 == NULL) {
8083 var28 = 1;
8084 } else {
8085 if(cltype29 >= var_pexterncodeblocknode10->type->table_size) {
8086 var28 = 0;
8087 } else {
8088 var28 = var_pexterncodeblocknode10->type->type_table[cltype29] == idtype30;
8089 }
8090 }
8091 if (!var28) {
8092 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6083);
8093 exit(1);
8094 }
8095 var_tkwendnode13 = var_nodearraylist10;
8096 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
8097 cltype32 = type_nullable_parser_nodes__TKwend.color;
8098 idtype33 = type_nullable_parser_nodes__TKwend.id;
8099 if(var_tkwendnode13 == NULL) {
8100 var31 = 1;
8101 } else {
8102 if(cltype32 >= var_tkwendnode13->type->table_size) {
8103 var31 = 0;
8104 } else {
8105 var31 = var_tkwendnode13->type->type_table[cltype32] == idtype33;
8106 }
8107 }
8108 if (!var31) {
8109 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6085);
8110 exit(1);
8111 }
8112 var34 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8113 var35 = NULL;
8114 var36 = NULL;
8115 ((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, var_pexterncodeblocknode10, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var34:AStdClassdef>*/;
8116 CHECK_NEW_parser_nodes__AStdClassdef(var34);
8117 var_pclassdefnode1 = var34;
8118 var_node_list = var_pclassdefnode1;
8119 var37 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction115> */
8120 var38 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var37) /* go_to on <var_p:Parser>*/;
8121 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var38, var_node_list) /* push on <var_p:Parser>*/;
8122 RET_LABEL:;
8123 }
8124 /* method parser#ReduceAction115#action for (self: Object, Parser) */
8125 void VIRTUAL_parser__ReduceAction115__action(val* self, val* p0) {
8126 parser__ReduceAction115__action(self, p0);
8127 RET_LABEL:;
8128 }
8129 /* method parser#ReduceAction116#action for (self: ReduceAction116, Parser) */
8130 void parser__ReduceAction116__action(val* self, val* p0) {
8131 val* var_p /* var p: Parser */;
8132 val* var /* : null */;
8133 val* var_node_list /* var node_list: nullable Object */;
8134 val* var1 /* : nullable Object */;
8135 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
8136 val* var2 /* : nullable Object */;
8137 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8138 val* var3 /* : nullable Object */;
8139 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8140 val* var4 /* : nullable Object */;
8141 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8142 val* var5 /* : nullable Object */;
8143 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8144 val* var6 /* : nullable Object */;
8145 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8146 val* var7 /* : nullable Object */;
8147 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8148 val* var8 /* : nullable Object */;
8149 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8150 val* var9 /* : nullable Object */;
8151 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8152 val* var10 /* : nullable Object */;
8153 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8154 val* var11 /* : nullable Object */;
8155 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8156 val* var12 /* : Array[Object] */;
8157 val* var_listnode8 /* var listnode8: Array[Object] */;
8158 val* var13 /* : Array[Object] */;
8159 val* var_listnode11 /* var listnode11: Array[Object] */;
8160 val* var14 /* : Array[Object] */;
8161 val* var_listnode12 /* var listnode12: Array[Object] */;
8162 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8163 short int var15 /* : Bool */;
8164 int cltype;
8165 int idtype;
8166 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8167 short int var16 /* : Bool */;
8168 int cltype17;
8169 int idtype18;
8170 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8171 short int var19 /* : Bool */;
8172 int cltype20;
8173 int idtype21;
8174 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8175 short int var22 /* : Bool */;
8176 int cltype23;
8177 int idtype24;
8178 val* var_listnode7 /* var listnode7: nullable Object */;
8179 short int var25 /* : Bool */;
8180 int cltype26;
8181 int idtype27;
8182 val* var28 /* : Array[Object] */;
8183 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
8184 short int var29 /* : Bool */;
8185 int cltype30;
8186 int idtype31;
8187 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
8188 short int var32 /* : Bool */;
8189 int cltype33;
8190 int idtype34;
8191 val* var35 /* : AStdClassdef */;
8192 val* var36 /* : null */;
8193 val* var37 /* : null */;
8194 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8195 long var38 /* : Int */;
8196 long var39 /* : Int */;
8197 var_p = p0;
8198 var = NULL;
8199 var_node_list = var;
8200 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8201 var_nodearraylist11 = var1;
8202 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8203 var_nodearraylist10 = var2;
8204 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8205 var_nodearraylist9 = var3;
8206 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8207 var_nodearraylist8 = var4;
8208 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8209 var_nodearraylist7 = var5;
8210 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8211 var_nodearraylist6 = var6;
8212 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8213 var_nodearraylist5 = var7;
8214 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8215 var_nodearraylist4 = var8;
8216 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8217 var_nodearraylist3 = var9;
8218 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8219 var_nodearraylist2 = var10;
8220 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8221 var_nodearraylist1 = var11;
8222 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
8223 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
8224 CHECK_NEW_array__Array(var12);
8225 var_listnode8 = var12;
8226 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
8227 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
8228 CHECK_NEW_array__Array(var13);
8229 var_listnode11 = var13;
8230 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
8231 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
8232 CHECK_NEW_array__Array(var14);
8233 var_listnode12 = var14;
8234 var_pdocnode2 = var_nodearraylist1;
8235 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8236 cltype = type_nullable_parser_nodes__ADoc.color;
8237 idtype = type_nullable_parser_nodes__ADoc.id;
8238 if(var_pdocnode2 == NULL) {
8239 var15 = 1;
8240 } else {
8241 if(cltype >= var_pdocnode2->type->table_size) {
8242 var15 = 0;
8243 } else {
8244 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
8245 }
8246 }
8247 if (!var15) {
8248 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6123);
8249 exit(1);
8250 }
8251 var_pvisibilitynode4 = var_nodearraylist2;
8252 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8253 cltype17 = type_nullable_parser_nodes__AVisibility.color;
8254 idtype18 = type_nullable_parser_nodes__AVisibility.id;
8255 if(var_pvisibilitynode4 == NULL) {
8256 var16 = 1;
8257 } else {
8258 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
8259 var16 = 0;
8260 } else {
8261 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
8262 }
8263 }
8264 if (!var16) {
8265 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6125);
8266 exit(1);
8267 }
8268 var_pclasskindnode5 = var_nodearraylist3;
8269 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8270 cltype20 = type_nullable_parser_nodes__AClasskind.color;
8271 idtype21 = type_nullable_parser_nodes__AClasskind.id;
8272 if(var_pclasskindnode5 == NULL) {
8273 var19 = 1;
8274 } else {
8275 if(cltype20 >= var_pclasskindnode5->type->table_size) {
8276 var19 = 0;
8277 } else {
8278 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
8279 }
8280 }
8281 if (!var19) {
8282 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6127);
8283 exit(1);
8284 }
8285 var_tclassidnode6 = var_nodearraylist7;
8286 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8287 cltype23 = type_nullable_parser_nodes__TClassid.color;
8288 idtype24 = type_nullable_parser_nodes__TClassid.id;
8289 if(var_tclassidnode6 == NULL) {
8290 var22 = 1;
8291 } else {
8292 if(cltype23 >= var_tclassidnode6->type->table_size) {
8293 var22 = 0;
8294 } else {
8295 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
8296 }
8297 }
8298 if (!var22) {
8299 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6129);
8300 exit(1);
8301 }
8302 var_listnode7 = var_nodearraylist8;
8303 /* <var_listnode7:nullable Object> isa Array[Object] */
8304 cltype26 = type_array__Arraykernel__Object.color;
8305 idtype27 = type_array__Arraykernel__Object.id;
8306 if(var_listnode7 == NULL) {
8307 var25 = 0;
8308 } else {
8309 if(cltype26 >= var_listnode7->type->table_size) {
8310 var25 = 0;
8311 } else {
8312 var25 = var_listnode7->type->type_table[cltype26] == idtype27;
8313 }
8314 }
8315 if (!var25) {
8316 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6131);
8317 exit(1);
8318 }
8319 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction116>*/;
8320 var_listnode8 = var28;
8321 var_pexterncodeblocknode10 = var_nodearraylist9;
8322 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
8323 cltype30 = type_nullable_parser_nodes__AExternCodeBlock.color;
8324 idtype31 = type_nullable_parser_nodes__AExternCodeBlock.id;
8325 if(var_pexterncodeblocknode10 == NULL) {
8326 var29 = 1;
8327 } else {
8328 if(cltype30 >= var_pexterncodeblocknode10->type->table_size) {
8329 var29 = 0;
8330 } else {
8331 var29 = var_pexterncodeblocknode10->type->type_table[cltype30] == idtype31;
8332 }
8333 }
8334 if (!var29) {
8335 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6134);
8336 exit(1);
8337 }
8338 var_tkwendnode13 = var_nodearraylist11;
8339 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
8340 cltype33 = type_nullable_parser_nodes__TKwend.color;
8341 idtype34 = type_nullable_parser_nodes__TKwend.id;
8342 if(var_tkwendnode13 == NULL) {
8343 var32 = 1;
8344 } else {
8345 if(cltype33 >= var_tkwendnode13->type->table_size) {
8346 var32 = 0;
8347 } else {
8348 var32 = var_tkwendnode13->type->type_table[cltype33] == idtype34;
8349 }
8350 }
8351 if (!var32) {
8352 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6136);
8353 exit(1);
8354 }
8355 var35 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8356 var36 = NULL;
8357 var37 = NULL;
8358 ((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, var_pexterncodeblocknode10, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var35:AStdClassdef>*/;
8359 CHECK_NEW_parser_nodes__AStdClassdef(var35);
8360 var_pclassdefnode1 = var35;
8361 var_node_list = var_pclassdefnode1;
8362 var38 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction116> */
8363 var39 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var38) /* go_to on <var_p:Parser>*/;
8364 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var39, var_node_list) /* push on <var_p:Parser>*/;
8365 RET_LABEL:;
8366 }
8367 /* method parser#ReduceAction116#action for (self: Object, Parser) */
8368 void VIRTUAL_parser__ReduceAction116__action(val* self, val* p0) {
8369 parser__ReduceAction116__action(self, p0);
8370 RET_LABEL:;
8371 }
8372 /* method parser#ReduceAction118#action for (self: ReduceAction118, Parser) */
8373 void parser__ReduceAction118__action(val* self, val* p0) {
8374 val* var_p /* var p: Parser */;
8375 val* var /* : null */;
8376 val* var_node_list /* var node_list: nullable Object */;
8377 val* var1 /* : nullable Object */;
8378 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
8379 val* var2 /* : nullable Object */;
8380 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8381 val* var3 /* : nullable Object */;
8382 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8383 val* var4 /* : nullable Object */;
8384 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8385 val* var5 /* : nullable Object */;
8386 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8387 val* var6 /* : nullable Object */;
8388 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8389 val* var7 /* : nullable Object */;
8390 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8391 val* var8 /* : nullable Object */;
8392 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8393 val* var9 /* : nullable Object */;
8394 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8395 val* var10 /* : nullable Object */;
8396 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8397 val* var11 /* : nullable Object */;
8398 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8399 val* var12 /* : Array[Object] */;
8400 val* var_listnode8 /* var listnode8: Array[Object] */;
8401 val* var13 /* : Array[Object] */;
8402 val* var_listnode11 /* var listnode11: Array[Object] */;
8403 val* var14 /* : Array[Object] */;
8404 val* var_listnode12 /* var listnode12: Array[Object] */;
8405 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8406 short int var15 /* : Bool */;
8407 int cltype;
8408 int idtype;
8409 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
8410 short int var16 /* : Bool */;
8411 int cltype17;
8412 int idtype18;
8413 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8414 short int var19 /* : Bool */;
8415 int cltype20;
8416 int idtype21;
8417 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8418 short int var22 /* : Bool */;
8419 int cltype23;
8420 int idtype24;
8421 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8422 short int var25 /* : Bool */;
8423 int cltype26;
8424 int idtype27;
8425 val* var_listnode7 /* var listnode7: nullable Object */;
8426 short int var28 /* : Bool */;
8427 int cltype29;
8428 int idtype30;
8429 val* var31 /* : Array[Object] */;
8430 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
8431 short int var32 /* : Bool */;
8432 int cltype33;
8433 int idtype34;
8434 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
8435 short int var35 /* : Bool */;
8436 int cltype36;
8437 int idtype37;
8438 val* var38 /* : AStdClassdef */;
8439 val* var39 /* : null */;
8440 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8441 long var40 /* : Int */;
8442 long var41 /* : Int */;
8443 var_p = p0;
8444 var = NULL;
8445 var_node_list = var;
8446 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8447 var_nodearraylist11 = var1;
8448 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8449 var_nodearraylist10 = var2;
8450 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8451 var_nodearraylist9 = var3;
8452 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8453 var_nodearraylist8 = var4;
8454 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8455 var_nodearraylist7 = var5;
8456 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8457 var_nodearraylist6 = var6;
8458 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8459 var_nodearraylist5 = var7;
8460 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8461 var_nodearraylist4 = var8;
8462 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8463 var_nodearraylist3 = var9;
8464 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8465 var_nodearraylist2 = var10;
8466 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8467 var_nodearraylist1 = var11;
8468 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
8469 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
8470 CHECK_NEW_array__Array(var12);
8471 var_listnode8 = var12;
8472 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
8473 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
8474 CHECK_NEW_array__Array(var13);
8475 var_listnode11 = var13;
8476 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
8477 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
8478 CHECK_NEW_array__Array(var14);
8479 var_listnode12 = var14;
8480 var_pdocnode2 = var_nodearraylist1;
8481 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8482 cltype = type_nullable_parser_nodes__ADoc.color;
8483 idtype = type_nullable_parser_nodes__ADoc.id;
8484 if(var_pdocnode2 == NULL) {
8485 var15 = 1;
8486 } else {
8487 if(cltype >= var_pdocnode2->type->table_size) {
8488 var15 = 0;
8489 } else {
8490 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
8491 }
8492 }
8493 if (!var15) {
8494 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6174);
8495 exit(1);
8496 }
8497 var_tkwredefnode3 = var_nodearraylist2;
8498 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8499 cltype17 = type_nullable_parser_nodes__TKwredef.color;
8500 idtype18 = type_nullable_parser_nodes__TKwredef.id;
8501 if(var_tkwredefnode3 == NULL) {
8502 var16 = 1;
8503 } else {
8504 if(cltype17 >= var_tkwredefnode3->type->table_size) {
8505 var16 = 0;
8506 } else {
8507 var16 = var_tkwredefnode3->type->type_table[cltype17] == idtype18;
8508 }
8509 }
8510 if (!var16) {
8511 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6176);
8512 exit(1);
8513 }
8514 var_pvisibilitynode4 = var_nodearraylist3;
8515 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8516 cltype20 = type_nullable_parser_nodes__AVisibility.color;
8517 idtype21 = type_nullable_parser_nodes__AVisibility.id;
8518 if(var_pvisibilitynode4 == NULL) {
8519 var19 = 1;
8520 } else {
8521 if(cltype20 >= var_pvisibilitynode4->type->table_size) {
8522 var19 = 0;
8523 } else {
8524 var19 = var_pvisibilitynode4->type->type_table[cltype20] == idtype21;
8525 }
8526 }
8527 if (!var19) {
8528 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6178);
8529 exit(1);
8530 }
8531 var_pclasskindnode5 = var_nodearraylist4;
8532 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8533 cltype23 = type_nullable_parser_nodes__AClasskind.color;
8534 idtype24 = type_nullable_parser_nodes__AClasskind.id;
8535 if(var_pclasskindnode5 == NULL) {
8536 var22 = 1;
8537 } else {
8538 if(cltype23 >= var_pclasskindnode5->type->table_size) {
8539 var22 = 0;
8540 } else {
8541 var22 = var_pclasskindnode5->type->type_table[cltype23] == idtype24;
8542 }
8543 }
8544 if (!var22) {
8545 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6180);
8546 exit(1);
8547 }
8548 var_tclassidnode6 = var_nodearraylist7;
8549 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8550 cltype26 = type_nullable_parser_nodes__TClassid.color;
8551 idtype27 = type_nullable_parser_nodes__TClassid.id;
8552 if(var_tclassidnode6 == NULL) {
8553 var25 = 1;
8554 } else {
8555 if(cltype26 >= var_tclassidnode6->type->table_size) {
8556 var25 = 0;
8557 } else {
8558 var25 = var_tclassidnode6->type->type_table[cltype26] == idtype27;
8559 }
8560 }
8561 if (!var25) {
8562 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6182);
8563 exit(1);
8564 }
8565 var_listnode7 = var_nodearraylist8;
8566 /* <var_listnode7:nullable Object> isa Array[Object] */
8567 cltype29 = type_array__Arraykernel__Object.color;
8568 idtype30 = type_array__Arraykernel__Object.id;
8569 if(var_listnode7 == NULL) {
8570 var28 = 0;
8571 } else {
8572 if(cltype29 >= var_listnode7->type->table_size) {
8573 var28 = 0;
8574 } else {
8575 var28 = var_listnode7->type->type_table[cltype29] == idtype30;
8576 }
8577 }
8578 if (!var28) {
8579 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6184);
8580 exit(1);
8581 }
8582 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction118>*/;
8583 var_listnode8 = var31;
8584 var_pexterncodeblocknode10 = var_nodearraylist9;
8585 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
8586 cltype33 = type_nullable_parser_nodes__AExternCodeBlock.color;
8587 idtype34 = type_nullable_parser_nodes__AExternCodeBlock.id;
8588 if(var_pexterncodeblocknode10 == NULL) {
8589 var32 = 1;
8590 } else {
8591 if(cltype33 >= var_pexterncodeblocknode10->type->table_size) {
8592 var32 = 0;
8593 } else {
8594 var32 = var_pexterncodeblocknode10->type->type_table[cltype33] == idtype34;
8595 }
8596 }
8597 if (!var32) {
8598 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6187);
8599 exit(1);
8600 }
8601 var_tkwendnode13 = var_nodearraylist11;
8602 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
8603 cltype36 = type_nullable_parser_nodes__TKwend.color;
8604 idtype37 = type_nullable_parser_nodes__TKwend.id;
8605 if(var_tkwendnode13 == NULL) {
8606 var35 = 1;
8607 } else {
8608 if(cltype36 >= var_tkwendnode13->type->table_size) {
8609 var35 = 0;
8610 } else {
8611 var35 = var_tkwendnode13->type->type_table[cltype36] == idtype37;
8612 }
8613 }
8614 if (!var35) {
8615 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6189);
8616 exit(1);
8617 }
8618 var38 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8619 var39 = NULL;
8620 ((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, var_pexterncodeblocknode10, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var38:AStdClassdef>*/;
8621 CHECK_NEW_parser_nodes__AStdClassdef(var38);
8622 var_pclassdefnode1 = var38;
8623 var_node_list = var_pclassdefnode1;
8624 var40 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction118> */
8625 var41 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var40) /* go_to on <var_p:Parser>*/;
8626 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var41, var_node_list) /* push on <var_p:Parser>*/;
8627 RET_LABEL:;
8628 }
8629 /* method parser#ReduceAction118#action for (self: Object, Parser) */
8630 void VIRTUAL_parser__ReduceAction118__action(val* self, val* p0) {
8631 parser__ReduceAction118__action(self, p0);
8632 RET_LABEL:;
8633 }
8634 /* method parser#ReduceAction119#action for (self: ReduceAction119, Parser) */
8635 void parser__ReduceAction119__action(val* self, val* p0) {
8636 val* var_p /* var p: Parser */;
8637 val* var /* : null */;
8638 val* var_node_list /* var node_list: nullable Object */;
8639 val* var1 /* : nullable Object */;
8640 val* var_nodearraylist12 /* var nodearraylist12: nullable Object */;
8641 val* var2 /* : nullable Object */;
8642 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
8643 val* var3 /* : nullable Object */;
8644 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
8645 val* var4 /* : nullable Object */;
8646 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8647 val* var5 /* : nullable Object */;
8648 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8649 val* var6 /* : nullable Object */;
8650 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8651 val* var7 /* : nullable Object */;
8652 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8653 val* var8 /* : nullable Object */;
8654 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8655 val* var9 /* : nullable Object */;
8656 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8657 val* var10 /* : nullable Object */;
8658 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8659 val* var11 /* : nullable Object */;
8660 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8661 val* var12 /* : nullable Object */;
8662 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8663 val* var13 /* : Array[Object] */;
8664 val* var_listnode8 /* var listnode8: Array[Object] */;
8665 val* var14 /* : Array[Object] */;
8666 val* var_listnode11 /* var listnode11: Array[Object] */;
8667 val* var15 /* : Array[Object] */;
8668 val* var_listnode12 /* var listnode12: Array[Object] */;
8669 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8670 short int var16 /* : Bool */;
8671 int cltype;
8672 int idtype;
8673 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
8674 short int var17 /* : Bool */;
8675 int cltype18;
8676 int idtype19;
8677 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8678 short int var20 /* : Bool */;
8679 int cltype21;
8680 int idtype22;
8681 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8682 short int var23 /* : Bool */;
8683 int cltype24;
8684 int idtype25;
8685 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8686 short int var26 /* : Bool */;
8687 int cltype27;
8688 int idtype28;
8689 val* var_listnode7 /* var listnode7: nullable Object */;
8690 short int var29 /* : Bool */;
8691 int cltype30;
8692 int idtype31;
8693 val* var32 /* : Array[Object] */;
8694 val* var_pexterncodeblocknode10 /* var pexterncodeblocknode10: nullable Object */;
8695 short int var33 /* : Bool */;
8696 int cltype34;
8697 int idtype35;
8698 val* var_tkwendnode13 /* var tkwendnode13: nullable Object */;
8699 short int var36 /* : Bool */;
8700 int cltype37;
8701 int idtype38;
8702 val* var39 /* : AStdClassdef */;
8703 val* var40 /* : null */;
8704 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8705 long var41 /* : Int */;
8706 long var42 /* : Int */;
8707 var_p = p0;
8708 var = NULL;
8709 var_node_list = var;
8710 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8711 var_nodearraylist12 = var1;
8712 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8713 var_nodearraylist11 = var2;
8714 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8715 var_nodearraylist10 = var3;
8716 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8717 var_nodearraylist9 = var4;
8718 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8719 var_nodearraylist8 = var5;
8720 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8721 var_nodearraylist7 = var6;
8722 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8723 var_nodearraylist6 = var7;
8724 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8725 var_nodearraylist5 = var8;
8726 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8727 var_nodearraylist4 = var9;
8728 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8729 var_nodearraylist3 = var10;
8730 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8731 var_nodearraylist2 = var11;
8732 var12 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8733 var_nodearraylist1 = var12;
8734 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
8735 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
8736 CHECK_NEW_array__Array(var13);
8737 var_listnode8 = var13;
8738 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
8739 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
8740 CHECK_NEW_array__Array(var14);
8741 var_listnode11 = var14;
8742 var15 = NEW_array__Array(&type_array__Arraykernel__Object);
8743 ((void (*)(val*))(var15->class->vft[COLOR_array__Array__init]))(var15) /* init on <var15:Array[Object]>*/;
8744 CHECK_NEW_array__Array(var15);
8745 var_listnode12 = var15;
8746 var_pdocnode2 = var_nodearraylist1;
8747 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
8748 cltype = type_nullable_parser_nodes__ADoc.color;
8749 idtype = type_nullable_parser_nodes__ADoc.id;
8750 if(var_pdocnode2 == NULL) {
8751 var16 = 1;
8752 } else {
8753 if(cltype >= var_pdocnode2->type->table_size) {
8754 var16 = 0;
8755 } else {
8756 var16 = var_pdocnode2->type->type_table[cltype] == idtype;
8757 }
8758 }
8759 if (!var16) {
8760 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6228);
8761 exit(1);
8762 }
8763 var_tkwredefnode3 = var_nodearraylist2;
8764 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
8765 cltype18 = type_nullable_parser_nodes__TKwredef.color;
8766 idtype19 = type_nullable_parser_nodes__TKwredef.id;
8767 if(var_tkwredefnode3 == NULL) {
8768 var17 = 1;
8769 } else {
8770 if(cltype18 >= var_tkwredefnode3->type->table_size) {
8771 var17 = 0;
8772 } else {
8773 var17 = var_tkwredefnode3->type->type_table[cltype18] == idtype19;
8774 }
8775 }
8776 if (!var17) {
8777 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6230);
8778 exit(1);
8779 }
8780 var_pvisibilitynode4 = var_nodearraylist3;
8781 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
8782 cltype21 = type_nullable_parser_nodes__AVisibility.color;
8783 idtype22 = type_nullable_parser_nodes__AVisibility.id;
8784 if(var_pvisibilitynode4 == NULL) {
8785 var20 = 1;
8786 } else {
8787 if(cltype21 >= var_pvisibilitynode4->type->table_size) {
8788 var20 = 0;
8789 } else {
8790 var20 = var_pvisibilitynode4->type->type_table[cltype21] == idtype22;
8791 }
8792 }
8793 if (!var20) {
8794 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6232);
8795 exit(1);
8796 }
8797 var_pclasskindnode5 = var_nodearraylist4;
8798 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
8799 cltype24 = type_nullable_parser_nodes__AClasskind.color;
8800 idtype25 = type_nullable_parser_nodes__AClasskind.id;
8801 if(var_pclasskindnode5 == NULL) {
8802 var23 = 1;
8803 } else {
8804 if(cltype24 >= var_pclasskindnode5->type->table_size) {
8805 var23 = 0;
8806 } else {
8807 var23 = var_pclasskindnode5->type->type_table[cltype24] == idtype25;
8808 }
8809 }
8810 if (!var23) {
8811 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6234);
8812 exit(1);
8813 }
8814 var_tclassidnode6 = var_nodearraylist8;
8815 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
8816 cltype27 = type_nullable_parser_nodes__TClassid.color;
8817 idtype28 = type_nullable_parser_nodes__TClassid.id;
8818 if(var_tclassidnode6 == NULL) {
8819 var26 = 1;
8820 } else {
8821 if(cltype27 >= var_tclassidnode6->type->table_size) {
8822 var26 = 0;
8823 } else {
8824 var26 = var_tclassidnode6->type->type_table[cltype27] == idtype28;
8825 }
8826 }
8827 if (!var26) {
8828 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6236);
8829 exit(1);
8830 }
8831 var_listnode7 = var_nodearraylist9;
8832 /* <var_listnode7:nullable Object> isa Array[Object] */
8833 cltype30 = type_array__Arraykernel__Object.color;
8834 idtype31 = type_array__Arraykernel__Object.id;
8835 if(var_listnode7 == NULL) {
8836 var29 = 0;
8837 } else {
8838 if(cltype30 >= var_listnode7->type->table_size) {
8839 var29 = 0;
8840 } else {
8841 var29 = var_listnode7->type->type_table[cltype30] == idtype31;
8842 }
8843 }
8844 if (!var29) {
8845 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6238);
8846 exit(1);
8847 }
8848 var32 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode8, var_listnode7) /* concat on <self:ReduceAction119>*/;
8849 var_listnode8 = var32;
8850 var_pexterncodeblocknode10 = var_nodearraylist10;
8851 /* <var_pexterncodeblocknode10:nullable Object> isa nullable AExternCodeBlock */
8852 cltype34 = type_nullable_parser_nodes__AExternCodeBlock.color;
8853 idtype35 = type_nullable_parser_nodes__AExternCodeBlock.id;
8854 if(var_pexterncodeblocknode10 == NULL) {
8855 var33 = 1;
8856 } else {
8857 if(cltype34 >= var_pexterncodeblocknode10->type->table_size) {
8858 var33 = 0;
8859 } else {
8860 var33 = var_pexterncodeblocknode10->type->type_table[cltype34] == idtype35;
8861 }
8862 }
8863 if (!var33) {
8864 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6241);
8865 exit(1);
8866 }
8867 var_tkwendnode13 = var_nodearraylist12;
8868 /* <var_tkwendnode13:nullable Object> isa nullable TKwend */
8869 cltype37 = type_nullable_parser_nodes__TKwend.color;
8870 idtype38 = type_nullable_parser_nodes__TKwend.id;
8871 if(var_tkwendnode13 == NULL) {
8872 var36 = 1;
8873 } else {
8874 if(cltype37 >= var_tkwendnode13->type->table_size) {
8875 var36 = 0;
8876 } else {
8877 var36 = var_tkwendnode13->type->type_table[cltype37] == idtype38;
8878 }
8879 }
8880 if (!var36) {
8881 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6243);
8882 exit(1);
8883 }
8884 var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
8885 var40 = NULL;
8886 ((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, var_pexterncodeblocknode10, var_listnode11, var_listnode12, var_tkwendnode13) /* init_astdclassdef on <var39:AStdClassdef>*/;
8887 CHECK_NEW_parser_nodes__AStdClassdef(var39);
8888 var_pclassdefnode1 = var39;
8889 var_node_list = var_pclassdefnode1;
8890 var41 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction119> */
8891 var42 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var41) /* go_to on <var_p:Parser>*/;
8892 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var42, var_node_list) /* push on <var_p:Parser>*/;
8893 RET_LABEL:;
8894 }
8895 /* method parser#ReduceAction119#action for (self: Object, Parser) */
8896 void VIRTUAL_parser__ReduceAction119__action(val* self, val* p0) {
8897 parser__ReduceAction119__action(self, p0);
8898 RET_LABEL:;
8899 }
8900 /* method parser#ReduceAction121#action for (self: ReduceAction121, Parser) */
8901 void parser__ReduceAction121__action(val* self, val* p0) {
8902 val* var_p /* var p: Parser */;
8903 val* var /* : null */;
8904 val* var_node_list /* var node_list: nullable Object */;
8905 val* var1 /* : nullable Object */;
8906 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
8907 val* var2 /* : nullable Object */;
8908 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
8909 val* var3 /* : nullable Object */;
8910 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
8911 val* var4 /* : nullable Object */;
8912 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
8913 val* var5 /* : nullable Object */;
8914 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
8915 val* var6 /* : nullable Object */;
8916 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
8917 val* var7 /* : nullable Object */;
8918 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
8919 val* var8 /* : nullable Object */;
8920 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
8921 val* var9 /* : nullable Object */;
8922 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
8923 val* var10 /* : Array[Object] */;
8924 val* var_listnode7 /* var listnode7: Array[Object] */;
8925 val* var11 /* : Array[Object] */;
8926 val* var_listnode15 /* var listnode15: Array[Object] */;
8927 val* var12 /* : Array[Object] */;
8928 val* var_listnode16 /* var listnode16: Array[Object] */;
8929 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
8930 short int var13 /* : Bool */;
8931 int cltype;
8932 int idtype;
8933 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
8934 short int var14 /* : Bool */;
8935 int cltype15;
8936 int idtype16;
8937 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
8938 short int var17 /* : Bool */;
8939 int cltype18;
8940 int idtype19;
8941 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
8942 short int var20 /* : Bool */;
8943 int cltype21;
8944 int idtype22;
8945 val* var23 /* : Array[Object] */;
8946 val* var_listnode12 /* var listnode12: Array[Object] */;
8947 val* var_listnode11 /* var listnode11: nullable Object */;
8948 short int var24 /* : Bool */;
8949 int cltype25;
8950 int idtype26;
8951 val* var27 /* : Array[Object] */;
8952 val* var28 /* : AAnnotations */;
8953 val* var29 /* : null */;
8954 val* var30 /* : null */;
8955 val* var31 /* : null */;
8956 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
8957 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
8958 short int var32 /* : Bool */;
8959 int cltype33;
8960 int idtype34;
8961 val* var_tkwendnode17 /* var tkwendnode17: nullable Object */;
8962 short int var35 /* : Bool */;
8963 int cltype36;
8964 int idtype37;
8965 val* var38 /* : AStdClassdef */;
8966 val* var39 /* : null */;
8967 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
8968 long var40 /* : Int */;
8969 long var41 /* : Int */;
8970 var_p = p0;
8971 var = NULL;
8972 var_node_list = var;
8973 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8974 var_nodearraylist9 = var1;
8975 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8976 var_nodearraylist8 = var2;
8977 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8978 var_nodearraylist7 = var3;
8979 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8980 var_nodearraylist6 = var4;
8981 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8982 var_nodearraylist5 = var5;
8983 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8984 var_nodearraylist4 = var6;
8985 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8986 var_nodearraylist3 = var7;
8987 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8988 var_nodearraylist2 = var8;
8989 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
8990 var_nodearraylist1 = var9;
8991 var10 = NEW_array__Array(&type_array__Arraykernel__Object);
8992 ((void (*)(val*))(var10->class->vft[COLOR_array__Array__init]))(var10) /* init on <var10:Array[Object]>*/;
8993 CHECK_NEW_array__Array(var10);
8994 var_listnode7 = var10;
8995 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
8996 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
8997 CHECK_NEW_array__Array(var11);
8998 var_listnode15 = var11;
8999 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
9000 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
9001 CHECK_NEW_array__Array(var12);
9002 var_listnode16 = var12;
9003 var_pdocnode2 = var_nodearraylist1;
9004 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9005 cltype = type_nullable_parser_nodes__ADoc.color;
9006 idtype = type_nullable_parser_nodes__ADoc.id;
9007 if(var_pdocnode2 == NULL) {
9008 var13 = 1;
9009 } else {
9010 if(cltype >= var_pdocnode2->type->table_size) {
9011 var13 = 0;
9012 } else {
9013 var13 = var_pdocnode2->type->type_table[cltype] == idtype;
9014 }
9015 }
9016 if (!var13) {
9017 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6279);
9018 exit(1);
9019 }
9020 var_pvisibilitynode4 = var_nodearraylist2;
9021 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9022 cltype15 = type_nullable_parser_nodes__AVisibility.color;
9023 idtype16 = type_nullable_parser_nodes__AVisibility.id;
9024 if(var_pvisibilitynode4 == NULL) {
9025 var14 = 1;
9026 } else {
9027 if(cltype15 >= var_pvisibilitynode4->type->table_size) {
9028 var14 = 0;
9029 } else {
9030 var14 = var_pvisibilitynode4->type->type_table[cltype15] == idtype16;
9031 }
9032 }
9033 if (!var14) {
9034 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6281);
9035 exit(1);
9036 }
9037 var_pclasskindnode5 = var_nodearraylist3;
9038 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
9039 cltype18 = type_nullable_parser_nodes__AClasskind.color;
9040 idtype19 = type_nullable_parser_nodes__AClasskind.id;
9041 if(var_pclasskindnode5 == NULL) {
9042 var17 = 1;
9043 } else {
9044 if(cltype18 >= var_pclasskindnode5->type->table_size) {
9045 var17 = 0;
9046 } else {
9047 var17 = var_pclasskindnode5->type->type_table[cltype18] == idtype19;
9048 }
9049 }
9050 if (!var17) {
9051 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6283);
9052 exit(1);
9053 }
9054 var_tclassidnode6 = var_nodearraylist5;
9055 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9056 cltype21 = type_nullable_parser_nodes__TClassid.color;
9057 idtype22 = type_nullable_parser_nodes__TClassid.id;
9058 if(var_tclassidnode6 == NULL) {
9059 var20 = 1;
9060 } else {
9061 if(cltype21 >= var_tclassidnode6->type->table_size) {
9062 var20 = 0;
9063 } else {
9064 var20 = var_tclassidnode6->type->type_table[cltype21] == idtype22;
9065 }
9066 }
9067 if (!var20) {
9068 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6285);
9069 exit(1);
9070 }
9071 var23 = NEW_array__Array(&type_array__Arraykernel__Object);
9072 ((void (*)(val*))(var23->class->vft[COLOR_array__Array__init]))(var23) /* init on <var23:Array[Object]>*/;
9073 CHECK_NEW_array__Array(var23);
9074 var_listnode12 = var23;
9075 var_listnode11 = var_nodearraylist6;
9076 /* <var_listnode11:nullable Object> isa Array[Object] */
9077 cltype25 = type_array__Arraykernel__Object.color;
9078 idtype26 = type_array__Arraykernel__Object.id;
9079 if(var_listnode11 == NULL) {
9080 var24 = 0;
9081 } else {
9082 if(cltype25 >= var_listnode11->type->table_size) {
9083 var24 = 0;
9084 } else {
9085 var24 = var_listnode11->type->type_table[cltype25] == idtype26;
9086 }
9087 }
9088 if (!var24) {
9089 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6288);
9090 exit(1);
9091 }
9092 var27 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction121>*/;
9093 var_listnode12 = var27;
9094 var28 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
9095 var29 = NULL;
9096 var30 = NULL;
9097 var31 = NULL;
9098 ((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>*/;
9099 CHECK_NEW_parser_nodes__AAnnotations(var28);
9100 var_pannotationsnode8 = var28;
9101 var_pexterncodeblocknode14 = var_nodearraylist7;
9102 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
9103 cltype33 = type_nullable_parser_nodes__AExternCodeBlock.color;
9104 idtype34 = type_nullable_parser_nodes__AExternCodeBlock.id;
9105 if(var_pexterncodeblocknode14 == NULL) {
9106 var32 = 1;
9107 } else {
9108 if(cltype33 >= var_pexterncodeblocknode14->type->table_size) {
9109 var32 = 0;
9110 } else {
9111 var32 = var_pexterncodeblocknode14->type->type_table[cltype33] == idtype34;
9112 }
9113 }
9114 if (!var32) {
9115 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6297);
9116 exit(1);
9117 }
9118 var_tkwendnode17 = var_nodearraylist9;
9119 /* <var_tkwendnode17:nullable Object> isa nullable TKwend */
9120 cltype36 = type_nullable_parser_nodes__TKwend.color;
9121 idtype37 = type_nullable_parser_nodes__TKwend.id;
9122 if(var_tkwendnode17 == NULL) {
9123 var35 = 1;
9124 } else {
9125 if(cltype36 >= var_tkwendnode17->type->table_size) {
9126 var35 = 0;
9127 } else {
9128 var35 = var_tkwendnode17->type->type_table[cltype36] == idtype37;
9129 }
9130 }
9131 if (!var35) {
9132 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6299);
9133 exit(1);
9134 }
9135 var38 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9136 var39 = NULL;
9137 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var38->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var38, var_pdocnode2, var39, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on <var38:AStdClassdef>*/;
9138 CHECK_NEW_parser_nodes__AStdClassdef(var38);
9139 var_pclassdefnode1 = var38;
9140 var_node_list = var_pclassdefnode1;
9141 var40 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction121> */
9142 var41 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var40) /* go_to on <var_p:Parser>*/;
9143 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var41, var_node_list) /* push on <var_p:Parser>*/;
9144 RET_LABEL:;
9145 }
9146 /* method parser#ReduceAction121#action for (self: Object, Parser) */
9147 void VIRTUAL_parser__ReduceAction121__action(val* self, val* p0) {
9148 parser__ReduceAction121__action(self, p0);
9149 RET_LABEL:;
9150 }
9151 /* method parser#ReduceAction122#action for (self: ReduceAction122, Parser) */
9152 void parser__ReduceAction122__action(val* self, val* p0) {
9153 val* var_p /* var p: Parser */;
9154 val* var /* : null */;
9155 val* var_node_list /* var node_list: nullable Object */;
9156 val* var1 /* : nullable Object */;
9157 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
9158 val* var2 /* : nullable Object */;
9159 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9160 val* var3 /* : nullable Object */;
9161 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9162 val* var4 /* : nullable Object */;
9163 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9164 val* var5 /* : nullable Object */;
9165 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9166 val* var6 /* : nullable Object */;
9167 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9168 val* var7 /* : nullable Object */;
9169 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9170 val* var8 /* : nullable Object */;
9171 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9172 val* var9 /* : nullable Object */;
9173 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9174 val* var10 /* : nullable Object */;
9175 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9176 val* var11 /* : Array[Object] */;
9177 val* var_listnode7 /* var listnode7: Array[Object] */;
9178 val* var12 /* : Array[Object] */;
9179 val* var_listnode15 /* var listnode15: Array[Object] */;
9180 val* var13 /* : Array[Object] */;
9181 val* var_listnode16 /* var listnode16: Array[Object] */;
9182 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9183 short int var14 /* : Bool */;
9184 int cltype;
9185 int idtype;
9186 val* var_tkwredefnode3 /* var tkwredefnode3: nullable Object */;
9187 short int var15 /* : Bool */;
9188 int cltype16;
9189 int idtype17;
9190 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9191 short int var18 /* : Bool */;
9192 int cltype19;
9193 int idtype20;
9194 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
9195 short int var21 /* : Bool */;
9196 int cltype22;
9197 int idtype23;
9198 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9199 short int var24 /* : Bool */;
9200 int cltype25;
9201 int idtype26;
9202 val* var27 /* : Array[Object] */;
9203 val* var_listnode12 /* var listnode12: Array[Object] */;
9204 val* var_listnode11 /* var listnode11: nullable Object */;
9205 short int var28 /* : Bool */;
9206 int cltype29;
9207 int idtype30;
9208 val* var31 /* : Array[Object] */;
9209 val* var32 /* : AAnnotations */;
9210 val* var33 /* : null */;
9211 val* var34 /* : null */;
9212 val* var35 /* : null */;
9213 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
9214 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
9215 short int var36 /* : Bool */;
9216 int cltype37;
9217 int idtype38;
9218 val* var_tkwendnode17 /* var tkwendnode17: nullable Object */;
9219 short int var39 /* : Bool */;
9220 int cltype40;
9221 int idtype41;
9222 val* var42 /* : AStdClassdef */;
9223 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
9224 long var43 /* : Int */;
9225 long var44 /* : Int */;
9226 var_p = p0;
9227 var = NULL;
9228 var_node_list = var;
9229 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9230 var_nodearraylist10 = var1;
9231 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9232 var_nodearraylist9 = var2;
9233 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9234 var_nodearraylist8 = var3;
9235 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9236 var_nodearraylist7 = var4;
9237 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9238 var_nodearraylist6 = var5;
9239 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9240 var_nodearraylist5 = var6;
9241 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9242 var_nodearraylist4 = var7;
9243 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9244 var_nodearraylist3 = var8;
9245 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9246 var_nodearraylist2 = var9;
9247 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9248 var_nodearraylist1 = var10;
9249 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
9250 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
9251 CHECK_NEW_array__Array(var11);
9252 var_listnode7 = var11;
9253 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
9254 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
9255 CHECK_NEW_array__Array(var12);
9256 var_listnode15 = var12;
9257 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
9258 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
9259 CHECK_NEW_array__Array(var13);
9260 var_listnode16 = var13;
9261 var_pdocnode2 = var_nodearraylist1;
9262 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9263 cltype = type_nullable_parser_nodes__ADoc.color;
9264 idtype = type_nullable_parser_nodes__ADoc.id;
9265 if(var_pdocnode2 == NULL) {
9266 var14 = 1;
9267 } else {
9268 if(cltype >= var_pdocnode2->type->table_size) {
9269 var14 = 0;
9270 } else {
9271 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
9272 }
9273 }
9274 if (!var14) {
9275 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6336);
9276 exit(1);
9277 }
9278 var_tkwredefnode3 = var_nodearraylist2;
9279 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
9280 cltype16 = type_nullable_parser_nodes__TKwredef.color;
9281 idtype17 = type_nullable_parser_nodes__TKwredef.id;
9282 if(var_tkwredefnode3 == NULL) {
9283 var15 = 1;
9284 } else {
9285 if(cltype16 >= var_tkwredefnode3->type->table_size) {
9286 var15 = 0;
9287 } else {
9288 var15 = var_tkwredefnode3->type->type_table[cltype16] == idtype17;
9289 }
9290 }
9291 if (!var15) {
9292 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6338);
9293 exit(1);
9294 }
9295 var_pvisibilitynode4 = var_nodearraylist3;
9296 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9297 cltype19 = type_nullable_parser_nodes__AVisibility.color;
9298 idtype20 = type_nullable_parser_nodes__AVisibility.id;
9299 if(var_pvisibilitynode4 == NULL) {
9300 var18 = 1;
9301 } else {
9302 if(cltype19 >= var_pvisibilitynode4->type->table_size) {
9303 var18 = 0;
9304 } else {
9305 var18 = var_pvisibilitynode4->type->type_table[cltype19] == idtype20;
9306 }
9307 }
9308 if (!var18) {
9309 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6340);
9310 exit(1);
9311 }
9312 var_pclasskindnode5 = var_nodearraylist4;
9313 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
9314 cltype22 = type_nullable_parser_nodes__AClasskind.color;
9315 idtype23 = type_nullable_parser_nodes__AClasskind.id;
9316 if(var_pclasskindnode5 == NULL) {
9317 var21 = 1;
9318 } else {
9319 if(cltype22 >= var_pclasskindnode5->type->table_size) {
9320 var21 = 0;
9321 } else {
9322 var21 = var_pclasskindnode5->type->type_table[cltype22] == idtype23;
9323 }
9324 }
9325 if (!var21) {
9326 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6342);
9327 exit(1);
9328 }
9329 var_tclassidnode6 = var_nodearraylist6;
9330 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9331 cltype25 = type_nullable_parser_nodes__TClassid.color;
9332 idtype26 = type_nullable_parser_nodes__TClassid.id;
9333 if(var_tclassidnode6 == NULL) {
9334 var24 = 1;
9335 } else {
9336 if(cltype25 >= var_tclassidnode6->type->table_size) {
9337 var24 = 0;
9338 } else {
9339 var24 = var_tclassidnode6->type->type_table[cltype25] == idtype26;
9340 }
9341 }
9342 if (!var24) {
9343 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6344);
9344 exit(1);
9345 }
9346 var27 = NEW_array__Array(&type_array__Arraykernel__Object);
9347 ((void (*)(val*))(var27->class->vft[COLOR_array__Array__init]))(var27) /* init on <var27:Array[Object]>*/;
9348 CHECK_NEW_array__Array(var27);
9349 var_listnode12 = var27;
9350 var_listnode11 = var_nodearraylist7;
9351 /* <var_listnode11:nullable Object> isa Array[Object] */
9352 cltype29 = type_array__Arraykernel__Object.color;
9353 idtype30 = type_array__Arraykernel__Object.id;
9354 if(var_listnode11 == NULL) {
9355 var28 = 0;
9356 } else {
9357 if(cltype29 >= var_listnode11->type->table_size) {
9358 var28 = 0;
9359 } else {
9360 var28 = var_listnode11->type->type_table[cltype29] == idtype30;
9361 }
9362 }
9363 if (!var28) {
9364 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6347);
9365 exit(1);
9366 }
9367 var31 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction122>*/;
9368 var_listnode12 = var31;
9369 var32 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
9370 var33 = NULL;
9371 var34 = NULL;
9372 var35 = NULL;
9373 ((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>*/;
9374 CHECK_NEW_parser_nodes__AAnnotations(var32);
9375 var_pannotationsnode8 = var32;
9376 var_pexterncodeblocknode14 = var_nodearraylist8;
9377 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
9378 cltype37 = type_nullable_parser_nodes__AExternCodeBlock.color;
9379 idtype38 = type_nullable_parser_nodes__AExternCodeBlock.id;
9380 if(var_pexterncodeblocknode14 == NULL) {
9381 var36 = 1;
9382 } else {
9383 if(cltype37 >= var_pexterncodeblocknode14->type->table_size) {
9384 var36 = 0;
9385 } else {
9386 var36 = var_pexterncodeblocknode14->type->type_table[cltype37] == idtype38;
9387 }
9388 }
9389 if (!var36) {
9390 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6356);
9391 exit(1);
9392 }
9393 var_tkwendnode17 = var_nodearraylist10;
9394 /* <var_tkwendnode17:nullable Object> isa nullable TKwend */
9395 cltype40 = type_nullable_parser_nodes__TKwend.color;
9396 idtype41 = type_nullable_parser_nodes__TKwend.id;
9397 if(var_tkwendnode17 == NULL) {
9398 var39 = 1;
9399 } else {
9400 if(cltype40 >= var_tkwendnode17->type->table_size) {
9401 var39 = 0;
9402 } else {
9403 var39 = var_tkwendnode17->type->type_table[cltype40] == idtype41;
9404 }
9405 }
9406 if (!var39) {
9407 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6358);
9408 exit(1);
9409 }
9410 var42 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9411 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var42->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var42, var_pdocnode2, var_tkwredefnode3, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on <var42:AStdClassdef>*/;
9412 CHECK_NEW_parser_nodes__AStdClassdef(var42);
9413 var_pclassdefnode1 = var42;
9414 var_node_list = var_pclassdefnode1;
9415 var43 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction122> */
9416 var44 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var43) /* go_to on <var_p:Parser>*/;
9417 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var44, var_node_list) /* push on <var_p:Parser>*/;
9418 RET_LABEL:;
9419 }
9420 /* method parser#ReduceAction122#action for (self: Object, Parser) */
9421 void VIRTUAL_parser__ReduceAction122__action(val* self, val* p0) {
9422 parser__ReduceAction122__action(self, p0);
9423 RET_LABEL:;
9424 }
9425 /* method parser#ReduceAction123#action for (self: ReduceAction123, Parser) */
9426 void parser__ReduceAction123__action(val* self, val* p0) {
9427 val* var_p /* var p: Parser */;
9428 val* var /* : null */;
9429 val* var_node_list /* var node_list: nullable Object */;
9430 val* var1 /* : nullable Object */;
9431 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
9432 val* var2 /* : nullable Object */;
9433 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9434 val* var3 /* : nullable Object */;
9435 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9436 val* var4 /* : nullable Object */;
9437 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9438 val* var5 /* : nullable Object */;
9439 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9440 val* var6 /* : nullable Object */;
9441 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9442 val* var7 /* : nullable Object */;
9443 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9444 val* var8 /* : nullable Object */;
9445 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9446 val* var9 /* : nullable Object */;
9447 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9448 val* var10 /* : nullable Object */;
9449 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9450 val* var11 /* : Array[Object] */;
9451 val* var_listnode7 /* var listnode7: Array[Object] */;
9452 val* var12 /* : Array[Object] */;
9453 val* var_listnode15 /* var listnode15: Array[Object] */;
9454 val* var13 /* : Array[Object] */;
9455 val* var_listnode16 /* var listnode16: Array[Object] */;
9456 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9457 short int var14 /* : Bool */;
9458 int cltype;
9459 int idtype;
9460 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9461 short int var15 /* : Bool */;
9462 int cltype16;
9463 int idtype17;
9464 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
9465 short int var18 /* : Bool */;
9466 int cltype19;
9467 int idtype20;
9468 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9469 short int var21 /* : Bool */;
9470 int cltype22;
9471 int idtype23;
9472 val* var24 /* : Array[Object] */;
9473 val* var_listnode12 /* var listnode12: Array[Object] */;
9474 val* var_listnode11 /* var listnode11: nullable Object */;
9475 short int var25 /* : Bool */;
9476 int cltype26;
9477 int idtype27;
9478 val* var28 /* : Array[Object] */;
9479 val* var29 /* : AAnnotations */;
9480 val* var30 /* : null */;
9481 val* var31 /* : null */;
9482 val* var32 /* : null */;
9483 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
9484 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
9485 short int var33 /* : Bool */;
9486 int cltype34;
9487 int idtype35;
9488 val* var_tkwendnode17 /* var tkwendnode17: nullable Object */;
9489 short int var36 /* : Bool */;
9490 int cltype37;
9491 int idtype38;
9492 val* var39 /* : AStdClassdef */;
9493 val* var40 /* : null */;
9494 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
9495 long var41 /* : Int */;
9496 long var42 /* : Int */;
9497 var_p = p0;
9498 var = NULL;
9499 var_node_list = var;
9500 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9501 var_nodearraylist10 = var1;
9502 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9503 var_nodearraylist9 = var2;
9504 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9505 var_nodearraylist8 = var3;
9506 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9507 var_nodearraylist7 = var4;
9508 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9509 var_nodearraylist6 = var5;
9510 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9511 var_nodearraylist5 = var6;
9512 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9513 var_nodearraylist4 = var7;
9514 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9515 var_nodearraylist3 = var8;
9516 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9517 var_nodearraylist2 = var9;
9518 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9519 var_nodearraylist1 = var10;
9520 var11 = NEW_array__Array(&type_array__Arraykernel__Object);
9521 ((void (*)(val*))(var11->class->vft[COLOR_array__Array__init]))(var11) /* init on <var11:Array[Object]>*/;
9522 CHECK_NEW_array__Array(var11);
9523 var_listnode7 = var11;
9524 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
9525 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
9526 CHECK_NEW_array__Array(var12);
9527 var_listnode15 = var12;
9528 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
9529 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
9530 CHECK_NEW_array__Array(var13);
9531 var_listnode16 = var13;
9532 var_pdocnode2 = var_nodearraylist1;
9533 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9534 cltype = type_nullable_parser_nodes__ADoc.color;
9535 idtype = type_nullable_parser_nodes__ADoc.id;
9536 if(var_pdocnode2 == NULL) {
9537 var14 = 1;
9538 } else {
9539 if(cltype >= var_pdocnode2->type->table_size) {
9540 var14 = 0;
9541 } else {
9542 var14 = var_pdocnode2->type->type_table[cltype] == idtype;
9543 }
9544 }
9545 if (!var14) {
9546 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6395);
9547 exit(1);
9548 }
9549 var_pvisibilitynode4 = var_nodearraylist2;
9550 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9551 cltype16 = type_nullable_parser_nodes__AVisibility.color;
9552 idtype17 = type_nullable_parser_nodes__AVisibility.id;
9553 if(var_pvisibilitynode4 == NULL) {
9554 var15 = 1;
9555 } else {
9556 if(cltype16 >= var_pvisibilitynode4->type->table_size) {
9557 var15 = 0;
9558 } else {
9559 var15 = var_pvisibilitynode4->type->type_table[cltype16] == idtype17;
9560 }
9561 }
9562 if (!var15) {
9563 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6397);
9564 exit(1);
9565 }
9566 var_pclasskindnode5 = var_nodearraylist3;
9567 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
9568 cltype19 = type_nullable_parser_nodes__AClasskind.color;
9569 idtype20 = type_nullable_parser_nodes__AClasskind.id;
9570 if(var_pclasskindnode5 == NULL) {
9571 var18 = 1;
9572 } else {
9573 if(cltype19 >= var_pclasskindnode5->type->table_size) {
9574 var18 = 0;
9575 } else {
9576 var18 = var_pclasskindnode5->type->type_table[cltype19] == idtype20;
9577 }
9578 }
9579 if (!var18) {
9580 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6399);
9581 exit(1);
9582 }
9583 var_tclassidnode6 = var_nodearraylist6;
9584 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9585 cltype22 = type_nullable_parser_nodes__TClassid.color;
9586 idtype23 = type_nullable_parser_nodes__TClassid.id;
9587 if(var_tclassidnode6 == NULL) {
9588 var21 = 1;
9589 } else {
9590 if(cltype22 >= var_tclassidnode6->type->table_size) {
9591 var21 = 0;
9592 } else {
9593 var21 = var_tclassidnode6->type->type_table[cltype22] == idtype23;
9594 }
9595 }
9596 if (!var21) {
9597 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6401);
9598 exit(1);
9599 }
9600 var24 = NEW_array__Array(&type_array__Arraykernel__Object);
9601 ((void (*)(val*))(var24->class->vft[COLOR_array__Array__init]))(var24) /* init on <var24:Array[Object]>*/;
9602 CHECK_NEW_array__Array(var24);
9603 var_listnode12 = var24;
9604 var_listnode11 = var_nodearraylist7;
9605 /* <var_listnode11:nullable Object> isa Array[Object] */
9606 cltype26 = type_array__Arraykernel__Object.color;
9607 idtype27 = type_array__Arraykernel__Object.id;
9608 if(var_listnode11 == NULL) {
9609 var25 = 0;
9610 } else {
9611 if(cltype26 >= var_listnode11->type->table_size) {
9612 var25 = 0;
9613 } else {
9614 var25 = var_listnode11->type->type_table[cltype26] == idtype27;
9615 }
9616 }
9617 if (!var25) {
9618 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6404);
9619 exit(1);
9620 }
9621 var28 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction123>*/;
9622 var_listnode12 = var28;
9623 var29 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
9624 var30 = NULL;
9625 var31 = NULL;
9626 var32 = NULL;
9627 ((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>*/;
9628 CHECK_NEW_parser_nodes__AAnnotations(var29);
9629 var_pannotationsnode8 = var29;
9630 var_pexterncodeblocknode14 = var_nodearraylist8;
9631 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
9632 cltype34 = type_nullable_parser_nodes__AExternCodeBlock.color;
9633 idtype35 = type_nullable_parser_nodes__AExternCodeBlock.id;
9634 if(var_pexterncodeblocknode14 == NULL) {
9635 var33 = 1;
9636 } else {
9637 if(cltype34 >= var_pexterncodeblocknode14->type->table_size) {
9638 var33 = 0;
9639 } else {
9640 var33 = var_pexterncodeblocknode14->type->type_table[cltype34] == idtype35;
9641 }
9642 }
9643 if (!var33) {
9644 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6413);
9645 exit(1);
9646 }
9647 var_tkwendnode17 = var_nodearraylist10;
9648 /* <var_tkwendnode17:nullable Object> isa nullable TKwend */
9649 cltype37 = type_nullable_parser_nodes__TKwend.color;
9650 idtype38 = type_nullable_parser_nodes__TKwend.id;
9651 if(var_tkwendnode17 == NULL) {
9652 var36 = 1;
9653 } else {
9654 if(cltype37 >= var_tkwendnode17->type->table_size) {
9655 var36 = 0;
9656 } else {
9657 var36 = var_tkwendnode17->type->type_table[cltype37] == idtype38;
9658 }
9659 }
9660 if (!var36) {
9661 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6415);
9662 exit(1);
9663 }
9664 var39 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9665 var40 = NULL;
9666 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var39->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var39, var_pdocnode2, var40, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on <var39:AStdClassdef>*/;
9667 CHECK_NEW_parser_nodes__AStdClassdef(var39);
9668 var_pclassdefnode1 = var39;
9669 var_node_list = var_pclassdefnode1;
9670 var41 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction123> */
9671 var42 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var41) /* go_to on <var_p:Parser>*/;
9672 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var42, var_node_list) /* push on <var_p:Parser>*/;
9673 RET_LABEL:;
9674 }
9675 /* method parser#ReduceAction123#action for (self: Object, Parser) */
9676 void VIRTUAL_parser__ReduceAction123__action(val* self, val* p0) {
9677 parser__ReduceAction123__action(self, p0);
9678 RET_LABEL:;
9679 }
9680 /* method parser#ReduceAction124#action for (self: ReduceAction124, Parser) */
9681 void parser__ReduceAction124__action(val* self, val* p0) {
9682 val* var_p /* var p: Parser */;
9683 val* var /* : null */;
9684 val* var_node_list /* var node_list: nullable Object */;
9685 val* var1 /* : nullable Object */;
9686 val* var_nodearraylist11 /* var nodearraylist11: nullable Object */;
9687 val* var2 /* : nullable Object */;
9688 val* var_nodearraylist10 /* var nodearraylist10: nullable Object */;
9689 val* var3 /* : nullable Object */;
9690 val* var_nodearraylist9 /* var nodearraylist9: nullable Object */;
9691 val* var4 /* : nullable Object */;
9692 val* var_nodearraylist8 /* var nodearraylist8: nullable Object */;
9693 val* var5 /* : nullable Object */;
9694 val* var_nodearraylist7 /* var nodearraylist7: nullable Object */;
9695 val* var6 /* : nullable Object */;
9696 val* var_nodearraylist6 /* var nodearraylist6: nullable Object */;
9697 val* var7 /* : nullable Object */;
9698 val* var_nodearraylist5 /* var nodearraylist5: nullable Object */;
9699 val* var8 /* : nullable Object */;
9700 val* var_nodearraylist4 /* var nodearraylist4: nullable Object */;
9701 val* var9 /* : nullable Object */;
9702 val* var_nodearraylist3 /* var nodearraylist3: nullable Object */;
9703 val* var10 /* : nullable Object */;
9704 val* var_nodearraylist2 /* var nodearraylist2: nullable Object */;
9705 val* var11 /* : nullable Object */;
9706 val* var_nodearraylist1 /* var nodearraylist1: nullable Object */;
9707 val* var12 /* : Array[Object] */;
9708 val* var_listnode7 /* var listnode7: Array[Object] */;
9709 val* var13 /* : Array[Object] */;
9710 val* var_listnode15 /* var listnode15: Array[Object] */;
9711 val* var14 /* : Array[Object] */;
9712 val* var_listnode16 /* var listnode16: Array[Object] */;
9713 val* var_pdocnode2 /* var pdocnode2: nullable Object */;
9714 short int var15 /* : Bool */;
9715 int cltype;
9716 int idtype;
9717 val* var_pvisibilitynode4 /* var pvisibilitynode4: nullable Object */;
9718 short int var16 /* : Bool */;
9719 int cltype17;
9720 int idtype18;
9721 val* var_pclasskindnode5 /* var pclasskindnode5: nullable Object */;
9722 short int var19 /* : Bool */;
9723 int cltype20;
9724 int idtype21;
9725 val* var_tclassidnode6 /* var tclassidnode6: nullable Object */;
9726 short int var22 /* : Bool */;
9727 int cltype23;
9728 int idtype24;
9729 val* var25 /* : Array[Object] */;
9730 val* var_listnode12 /* var listnode12: Array[Object] */;
9731 val* var_listnode11 /* var listnode11: nullable Object */;
9732 short int var26 /* : Bool */;
9733 int cltype27;
9734 int idtype28;
9735 val* var29 /* : Array[Object] */;
9736 val* var30 /* : AAnnotations */;
9737 val* var31 /* : null */;
9738 val* var32 /* : null */;
9739 val* var33 /* : null */;
9740 val* var_pannotationsnode8 /* var pannotationsnode8: nullable AAnnotations */;
9741 val* var_pexterncodeblocknode14 /* var pexterncodeblocknode14: nullable Object */;
9742 short int var34 /* : Bool */;
9743 int cltype35;
9744 int idtype36;
9745 val* var_tkwendnode17 /* var tkwendnode17: nullable Object */;
9746 short int var37 /* : Bool */;
9747 int cltype38;
9748 int idtype39;
9749 val* var40 /* : AStdClassdef */;
9750 val* var41 /* : null */;
9751 val* var_pclassdefnode1 /* var pclassdefnode1: nullable AStdClassdef */;
9752 long var42 /* : Int */;
9753 long var43 /* : Int */;
9754 var_p = p0;
9755 var = NULL;
9756 var_node_list = var;
9757 var1 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9758 var_nodearraylist11 = var1;
9759 var2 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9760 var_nodearraylist10 = var2;
9761 var3 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9762 var_nodearraylist9 = var3;
9763 var4 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9764 var_nodearraylist8 = var4;
9765 var5 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9766 var_nodearraylist7 = var5;
9767 var6 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9768 var_nodearraylist6 = var6;
9769 var7 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9770 var_nodearraylist5 = var7;
9771 var8 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9772 var_nodearraylist4 = var8;
9773 var9 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9774 var_nodearraylist3 = var9;
9775 var10 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9776 var_nodearraylist2 = var10;
9777 var11 = ((val* (*)(val*))(var_p->class->vft[COLOR_parser__Parser__pop]))(var_p) /* pop on <var_p:Parser>*/;
9778 var_nodearraylist1 = var11;
9779 var12 = NEW_array__Array(&type_array__Arraykernel__Object);
9780 ((void (*)(val*))(var12->class->vft[COLOR_array__Array__init]))(var12) /* init on <var12:Array[Object]>*/;
9781 CHECK_NEW_array__Array(var12);
9782 var_listnode7 = var12;
9783 var13 = NEW_array__Array(&type_array__Arraykernel__Object);
9784 ((void (*)(val*))(var13->class->vft[COLOR_array__Array__init]))(var13) /* init on <var13:Array[Object]>*/;
9785 CHECK_NEW_array__Array(var13);
9786 var_listnode15 = var13;
9787 var14 = NEW_array__Array(&type_array__Arraykernel__Object);
9788 ((void (*)(val*))(var14->class->vft[COLOR_array__Array__init]))(var14) /* init on <var14:Array[Object]>*/;
9789 CHECK_NEW_array__Array(var14);
9790 var_listnode16 = var14;
9791 var_pdocnode2 = var_nodearraylist1;
9792 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
9793 cltype = type_nullable_parser_nodes__ADoc.color;
9794 idtype = type_nullable_parser_nodes__ADoc.id;
9795 if(var_pdocnode2 == NULL) {
9796 var15 = 1;
9797 } else {
9798 if(cltype >= var_pdocnode2->type->table_size) {
9799 var15 = 0;
9800 } else {
9801 var15 = var_pdocnode2->type->type_table[cltype] == idtype;
9802 }
9803 }
9804 if (!var15) {
9805 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6453);
9806 exit(1);
9807 }
9808 var_pvisibilitynode4 = var_nodearraylist2;
9809 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
9810 cltype17 = type_nullable_parser_nodes__AVisibility.color;
9811 idtype18 = type_nullable_parser_nodes__AVisibility.id;
9812 if(var_pvisibilitynode4 == NULL) {
9813 var16 = 1;
9814 } else {
9815 if(cltype17 >= var_pvisibilitynode4->type->table_size) {
9816 var16 = 0;
9817 } else {
9818 var16 = var_pvisibilitynode4->type->type_table[cltype17] == idtype18;
9819 }
9820 }
9821 if (!var16) {
9822 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6455);
9823 exit(1);
9824 }
9825 var_pclasskindnode5 = var_nodearraylist3;
9826 /* <var_pclasskindnode5:nullable Object> isa nullable AClasskind */
9827 cltype20 = type_nullable_parser_nodes__AClasskind.color;
9828 idtype21 = type_nullable_parser_nodes__AClasskind.id;
9829 if(var_pclasskindnode5 == NULL) {
9830 var19 = 1;
9831 } else {
9832 if(cltype20 >= var_pclasskindnode5->type->table_size) {
9833 var19 = 0;
9834 } else {
9835 var19 = var_pclasskindnode5->type->type_table[cltype20] == idtype21;
9836 }
9837 }
9838 if (!var19) {
9839 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6457);
9840 exit(1);
9841 }
9842 var_tclassidnode6 = var_nodearraylist7;
9843 /* <var_tclassidnode6:nullable Object> isa nullable TClassid */
9844 cltype23 = type_nullable_parser_nodes__TClassid.color;
9845 idtype24 = type_nullable_parser_nodes__TClassid.id;
9846 if(var_tclassidnode6 == NULL) {
9847 var22 = 1;
9848 } else {
9849 if(cltype23 >= var_tclassidnode6->type->table_size) {
9850 var22 = 0;
9851 } else {
9852 var22 = var_tclassidnode6->type->type_table[cltype23] == idtype24;
9853 }
9854 }
9855 if (!var22) {
9856 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6459);
9857 exit(1);
9858 }
9859 var25 = NEW_array__Array(&type_array__Arraykernel__Object);
9860 ((void (*)(val*))(var25->class->vft[COLOR_array__Array__init]))(var25) /* init on <var25:Array[Object]>*/;
9861 CHECK_NEW_array__Array(var25);
9862 var_listnode12 = var25;
9863 var_listnode11 = var_nodearraylist8;
9864 /* <var_listnode11:nullable Object> isa Array[Object] */
9865 cltype27 = type_array__Arraykernel__Object.color;
9866 idtype28 = type_array__Arraykernel__Object.id;
9867 if(var_listnode11 == NULL) {
9868 var26 = 0;
9869 } else {
9870 if(cltype27 >= var_listnode11->type->table_size) {
9871 var26 = 0;
9872 } else {
9873 var26 = var_listnode11->type->type_table[cltype27] == idtype28;
9874 }
9875 }
9876 if (!var26) {
9877 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6462);
9878 exit(1);
9879 }
9880 var29 = ((val* (*)(val*, val*, val*))(self->class->vft[COLOR_parser__ReduceAction__concat]))(self, var_listnode12, var_listnode11) /* concat on <self:ReduceAction124>*/;
9881 var_listnode12 = var29;
9882 var30 = NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations);
9883 var31 = NULL;
9884 var32 = NULL;
9885 var33 = NULL;
9886 ((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>*/;
9887 CHECK_NEW_parser_nodes__AAnnotations(var30);
9888 var_pannotationsnode8 = var30;
9889 var_pexterncodeblocknode14 = var_nodearraylist9;
9890 /* <var_pexterncodeblocknode14:nullable Object> isa nullable AExternCodeBlock */
9891 cltype35 = type_nullable_parser_nodes__AExternCodeBlock.color;
9892 idtype36 = type_nullable_parser_nodes__AExternCodeBlock.id;
9893 if(var_pexterncodeblocknode14 == NULL) {
9894 var34 = 1;
9895 } else {
9896 if(cltype35 >= var_pexterncodeblocknode14->type->table_size) {
9897 var34 = 0;
9898 } else {
9899 var34 = var_pexterncodeblocknode14->type->type_table[cltype35] == idtype36;
9900 }
9901 }
9902 if (!var34) {
9903 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6471);
9904 exit(1);
9905 }
9906 var_tkwendnode17 = var_nodearraylist11;
9907 /* <var_tkwendnode17:nullable Object> isa nullable TKwend */
9908 cltype38 = type_nullable_parser_nodes__TKwend.color;
9909 idtype39 = type_nullable_parser_nodes__TKwend.id;
9910 if(var_tkwendnode17 == NULL) {
9911 var37 = 1;
9912 } else {
9913 if(cltype38 >= var_tkwendnode17->type->table_size) {
9914 var37 = 0;
9915 } else {
9916 var37 = var_tkwendnode17->type->type_table[cltype38] == idtype39;
9917 }
9918 }
9919 if (!var37) {
9920 fprintf(stderr, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 6473);
9921 exit(1);
9922 }
9923 var40 = NEW_parser_nodes__AStdClassdef(&type_parser_nodes__AStdClassdef);
9924 var41 = NULL;
9925 ((void (*)(val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*, val*))(var40->class->vft[COLOR_parser_prod__AStdClassdef__init_astdclassdef]))(var40, var_pdocnode2, var41, var_pvisibilitynode4, var_pclasskindnode5, var_tclassidnode6, var_listnode7, var_pannotationsnode8, var_pexterncodeblocknode14, var_listnode15, var_listnode16, var_tkwendnode17) /* init_astdclassdef on <var40:AStdClassdef>*/;
9926 CHECK_NEW_parser_nodes__AStdClassdef(var40);
9927 var_pclassdefnode1 = var40;
9928 var_node_list = var_pclassdefnode1;
9929 var42 = self->attrs[COLOR_parser__ReduceAction___goto].l; /* _goto on <self:ReduceAction124> */
9930 var43 = ((long (*)(val*, long))(var_p->class->vft[COLOR_parser__Parser__go_to]))(var_p, var42) /* go_to on <var_p:Parser>*/;
9931 ((void (*)(val*, long, val*))(var_p->class->vft[COLOR_parser__Parser__push]))(var_p, var43, var_node_list) /* push on <var_p:Parser>*/;
9932 RET_LABEL:;
9933 }
9934 /* method parser#ReduceAction124#action for (self: Object, Parser) */
9935 void VIRTUAL_parser__ReduceAction124__action(val* self, val* p0) {
9936 parser__ReduceAction124__action(self, p0);
9937 RET_LABEL:;
9938 }