1 #include "parser.sep.0.h"
2 /* method parser#ReduceAction775#action for (self: ReduceAction775, Parser) */
3 void parser__ReduceAction775__action(val
* self
, val
* p0
) {
4 val
* var_p
/* var p: Parser */;
6 val
* var_node_list
/* var node_list: nullable Object */;
7 val
* var1
/* : nullable Object */;
8 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9 val
* var2
/* : nullable Object */;
10 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
11 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
12 short int var3
/* : Bool */;
15 val
* var_pexprsnode3
/* var pexprsnode3: nullable Object */;
16 short int var4
/* : Bool */;
19 val
* var7
/* : ABraExpr */;
20 val
* var_pexprnode1
/* var pexprnode1: nullable ABraExpr */;
21 long var8
/* : Int */;
22 long var9
/* : Int */;
26 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
27 var_nodearraylist2
= var1
;
28 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
29 var_nodearraylist1
= var2
;
30 var_pexprnode2
= var_nodearraylist1
;
31 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
32 cltype
= type_nullable_parser_nodes__AExpr
.color
;
33 idtype
= type_nullable_parser_nodes__AExpr
.id
;
34 if(var_pexprnode2
== NULL
) {
37 if(cltype
>= var_pexprnode2
->type
->table_size
) {
40 var3
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
44 fprintf(stderr
, "Runtime error: %s", "Assert failed");
45 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27255);
48 var_pexprsnode3
= var_nodearraylist2
;
49 /* <var_pexprsnode3:nullable Object> isa nullable AExprs */
50 cltype5
= type_nullable_parser_nodes__AExprs
.color
;
51 idtype6
= type_nullable_parser_nodes__AExprs
.id
;
52 if(var_pexprsnode3
== NULL
) {
55 if(cltype5
>= var_pexprsnode3
->type
->table_size
) {
58 var4
= var_pexprsnode3
->type
->type_table
[cltype5
] == idtype6
;
62 fprintf(stderr
, "Runtime error: %s", "Assert failed");
63 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27257);
66 var7
= NEW_parser_nodes__ABraExpr(&type_parser_nodes__ABraExpr
);
67 ((void (*)(val
*, val
*, val
*))(var7
->class->vft
[COLOR_parser_prod__ABraExpr__init_abraexpr
]))(var7
, var_pexprnode2
, var_pexprsnode3
) /* init_abraexpr on <var7:ABraExpr>*/;
68 var_pexprnode1
= var7
;
69 var_node_list
= var_pexprnode1
;
70 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction775> */
71 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
72 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
75 /* method parser#ReduceAction775#action for (self: Object, Parser) */
76 void VIRTUAL_parser__ReduceAction775__action(val
* self
, val
* p0
) {
77 parser__ReduceAction775__action(self
, p0
);
80 /* method parser#ReduceAction776#action for (self: ReduceAction776, Parser) */
81 void parser__ReduceAction776__action(val
* self
, val
* p0
) {
82 val
* var_p
/* var p: Parser */;
83 val
* var
/* : null */;
84 val
* var_node_list
/* var node_list: nullable Object */;
85 val
* var1
/* : nullable Object */;
86 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
87 val
* var2
/* : nullable Object */;
88 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
89 val
* var3
/* : nullable Object */;
90 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
91 val
* var4
/* : nullable Object */;
92 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
93 val
* var5
/* : nullable Object */;
94 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
95 val
* var6
/* : nullable Object */;
96 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
97 val
* var7
/* : nullable Object */;
98 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
99 val
* var_tkwnewnode2
/* var tkwnewnode2: nullable Object */;
100 short int var8
/* : Bool */;
103 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
104 short int var9
/* : Bool */;
107 val
* var_tidnode4
/* var tidnode4: nullable Object */;
108 short int var12
/* : Bool */;
111 val
* var_pexprsnode5
/* var pexprsnode5: nullable Object */;
112 short int var15
/* : Bool */;
115 val
* var18
/* : ANewExpr */;
116 val
* var_pexprnode1
/* var pexprnode1: nullable ANewExpr */;
117 long var19
/* : Int */;
118 long var20
/* : Int */;
122 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
123 var_nodearraylist7
= var1
;
124 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
125 var_nodearraylist6
= var2
;
126 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
127 var_nodearraylist5
= var3
;
128 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
129 var_nodearraylist4
= var4
;
130 var5
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
131 var_nodearraylist3
= var5
;
132 var6
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
133 var_nodearraylist2
= var6
;
134 var7
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
135 var_nodearraylist1
= var7
;
136 var_tkwnewnode2
= var_nodearraylist1
;
137 /* <var_tkwnewnode2:nullable Object> isa nullable TKwnew */
138 cltype
= type_nullable_parser_nodes__TKwnew
.color
;
139 idtype
= type_nullable_parser_nodes__TKwnew
.id
;
140 if(var_tkwnewnode2
== NULL
) {
143 if(cltype
>= var_tkwnewnode2
->type
->table_size
) {
146 var8
= var_tkwnewnode2
->type
->type_table
[cltype
] == idtype
;
150 fprintf(stderr
, "Runtime error: %s", "Assert failed");
151 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27279);
154 var_ptypenode3
= var_nodearraylist3
;
155 /* <var_ptypenode3:nullable Object> isa nullable AType */
156 cltype10
= type_nullable_parser_nodes__AType
.color
;
157 idtype11
= type_nullable_parser_nodes__AType
.id
;
158 if(var_ptypenode3
== NULL
) {
161 if(cltype10
>= var_ptypenode3
->type
->table_size
) {
164 var9
= var_ptypenode3
->type
->type_table
[cltype10
] == idtype11
;
168 fprintf(stderr
, "Runtime error: %s", "Assert failed");
169 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27281);
172 var_tidnode4
= var_nodearraylist6
;
173 /* <var_tidnode4:nullable Object> isa nullable TId */
174 cltype13
= type_nullable_parser_nodes__TId
.color
;
175 idtype14
= type_nullable_parser_nodes__TId
.id
;
176 if(var_tidnode4
== NULL
) {
179 if(cltype13
>= var_tidnode4
->type
->table_size
) {
182 var12
= var_tidnode4
->type
->type_table
[cltype13
] == idtype14
;
186 fprintf(stderr
, "Runtime error: %s", "Assert failed");
187 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27283);
190 var_pexprsnode5
= var_nodearraylist7
;
191 /* <var_pexprsnode5:nullable Object> isa nullable AExprs */
192 cltype16
= type_nullable_parser_nodes__AExprs
.color
;
193 idtype17
= type_nullable_parser_nodes__AExprs
.id
;
194 if(var_pexprsnode5
== NULL
) {
197 if(cltype16
>= var_pexprsnode5
->type
->table_size
) {
200 var15
= var_pexprsnode5
->type
->type_table
[cltype16
] == idtype17
;
204 fprintf(stderr
, "Runtime error: %s", "Assert failed");
205 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27285);
208 var18
= NEW_parser_nodes__ANewExpr(&type_parser_nodes__ANewExpr
);
209 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var18
->class->vft
[COLOR_parser_prod__ANewExpr__init_anewexpr
]))(var18
, var_tkwnewnode2
, var_ptypenode3
, var_tidnode4
, var_pexprsnode5
) /* init_anewexpr on <var18:ANewExpr>*/;
210 var_pexprnode1
= var18
;
211 var_node_list
= var_pexprnode1
;
212 var19
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction776> */
213 var20
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var19
) /* go_to on <var_p:Parser>*/;
214 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var20
, var_node_list
) /* push on <var_p:Parser>*/;
217 /* method parser#ReduceAction776#action for (self: Object, Parser) */
218 void VIRTUAL_parser__ReduceAction776__action(val
* self
, val
* p0
) {
219 parser__ReduceAction776__action(self
, p0
);
222 /* method parser#ReduceAction777#action for (self: ReduceAction777, Parser) */
223 void parser__ReduceAction777__action(val
* self
, val
* p0
) {
224 val
* var_p
/* var p: Parser */;
225 val
* var
/* : null */;
226 val
* var_node_list
/* var node_list: nullable Object */;
227 val
* var1
/* : nullable Object */;
228 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
229 val
* var2
/* : nullable Object */;
230 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
231 val
* var3
/* : nullable Object */;
232 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
233 val
* var4
/* : nullable Object */;
234 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
235 val
* var5
/* : nullable Object */;
236 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
237 val
* var6
/* : nullable Object */;
238 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
239 val
* var7
/* : nullable Object */;
240 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
241 val
* var8
/* : nullable Object */;
242 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
243 val
* var_tkwnewnode2
/* var tkwnewnode2: nullable Object */;
244 short int var9
/* : Bool */;
247 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
248 short int var10
/* : Bool */;
251 val
* var_tidnode4
/* var tidnode4: nullable Object */;
252 short int var13
/* : Bool */;
255 val
* var_pexprsnode5
/* var pexprsnode5: nullable Object */;
256 short int var16
/* : Bool */;
259 val
* var19
/* : ANewExpr */;
260 val
* var_pexprnode1
/* var pexprnode1: nullable ANewExpr */;
261 long var20
/* : Int */;
262 long var21
/* : Int */;
266 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
267 var_nodearraylist8
= var1
;
268 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
269 var_nodearraylist7
= var2
;
270 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
271 var_nodearraylist6
= var3
;
272 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
273 var_nodearraylist5
= var4
;
274 var5
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
275 var_nodearraylist4
= var5
;
276 var6
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
277 var_nodearraylist3
= var6
;
278 var7
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
279 var_nodearraylist2
= var7
;
280 var8
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
281 var_nodearraylist1
= var8
;
282 var_tkwnewnode2
= var_nodearraylist1
;
283 /* <var_tkwnewnode2:nullable Object> isa nullable TKwnew */
284 cltype
= type_nullable_parser_nodes__TKwnew
.color
;
285 idtype
= type_nullable_parser_nodes__TKwnew
.id
;
286 if(var_tkwnewnode2
== NULL
) {
289 if(cltype
>= var_tkwnewnode2
->type
->table_size
) {
292 var9
= var_tkwnewnode2
->type
->type_table
[cltype
] == idtype
;
296 fprintf(stderr
, "Runtime error: %s", "Assert failed");
297 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27310);
300 var_ptypenode3
= var_nodearraylist3
;
301 /* <var_ptypenode3:nullable Object> isa nullable AType */
302 cltype11
= type_nullable_parser_nodes__AType
.color
;
303 idtype12
= type_nullable_parser_nodes__AType
.id
;
304 if(var_ptypenode3
== NULL
) {
307 if(cltype11
>= var_ptypenode3
->type
->table_size
) {
310 var10
= var_ptypenode3
->type
->type_table
[cltype11
] == idtype12
;
314 fprintf(stderr
, "Runtime error: %s", "Assert failed");
315 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27312);
318 var_tidnode4
= var_nodearraylist7
;
319 /* <var_tidnode4:nullable Object> isa nullable TId */
320 cltype14
= type_nullable_parser_nodes__TId
.color
;
321 idtype15
= type_nullable_parser_nodes__TId
.id
;
322 if(var_tidnode4
== NULL
) {
325 if(cltype14
>= var_tidnode4
->type
->table_size
) {
328 var13
= var_tidnode4
->type
->type_table
[cltype14
] == idtype15
;
332 fprintf(stderr
, "Runtime error: %s", "Assert failed");
333 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27314);
336 var_pexprsnode5
= var_nodearraylist8
;
337 /* <var_pexprsnode5:nullable Object> isa nullable AExprs */
338 cltype17
= type_nullable_parser_nodes__AExprs
.color
;
339 idtype18
= type_nullable_parser_nodes__AExprs
.id
;
340 if(var_pexprsnode5
== NULL
) {
343 if(cltype17
>= var_pexprsnode5
->type
->table_size
) {
346 var16
= var_pexprsnode5
->type
->type_table
[cltype17
] == idtype18
;
350 fprintf(stderr
, "Runtime error: %s", "Assert failed");
351 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27316);
354 var19
= NEW_parser_nodes__ANewExpr(&type_parser_nodes__ANewExpr
);
355 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var19
->class->vft
[COLOR_parser_prod__ANewExpr__init_anewexpr
]))(var19
, var_tkwnewnode2
, var_ptypenode3
, var_tidnode4
, var_pexprsnode5
) /* init_anewexpr on <var19:ANewExpr>*/;
356 var_pexprnode1
= var19
;
357 var_node_list
= var_pexprnode1
;
358 var20
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction777> */
359 var21
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var20
) /* go_to on <var_p:Parser>*/;
360 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var21
, var_node_list
) /* push on <var_p:Parser>*/;
363 /* method parser#ReduceAction777#action for (self: Object, Parser) */
364 void VIRTUAL_parser__ReduceAction777__action(val
* self
, val
* p0
) {
365 parser__ReduceAction777__action(self
, p0
);
368 /* method parser#ReduceAction778#action for (self: ReduceAction778, Parser) */
369 void parser__ReduceAction778__action(val
* self
, val
* p0
) {
370 val
* var_p
/* var p: Parser */;
371 val
* var
/* : null */;
372 val
* var_node_list
/* var node_list: nullable Object */;
373 val
* var1
/* : nullable Object */;
374 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
375 val
* var2
/* : nullable Object */;
376 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
377 val
* var3
/* : nullable Object */;
378 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
379 val
* var4
/* : nullable Object */;
380 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
381 val
* var5
/* : nullable Object */;
382 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
383 val
* var6
/* : nullable Object */;
384 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
385 val
* var7
/* : nullable Object */;
386 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
387 val
* var8
/* : nullable Object */;
388 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
389 val
* var9
/* : nullable Object */;
390 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
391 val
* var_tkwnewnode2
/* var tkwnewnode2: nullable Object */;
392 short int var10
/* : Bool */;
395 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
396 short int var11
/* : Bool */;
399 val
* var_tidnode4
/* var tidnode4: nullable Object */;
400 short int var14
/* : Bool */;
403 val
* var_pexprsnode5
/* var pexprsnode5: nullable Object */;
404 short int var17
/* : Bool */;
407 val
* var20
/* : ANewExpr */;
408 val
* var_pexprnode1
/* var pexprnode1: nullable ANewExpr */;
409 long var21
/* : Int */;
410 long var22
/* : Int */;
414 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
415 var_nodearraylist9
= var1
;
416 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
417 var_nodearraylist8
= var2
;
418 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
419 var_nodearraylist7
= var3
;
420 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
421 var_nodearraylist6
= var4
;
422 var5
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
423 var_nodearraylist5
= var5
;
424 var6
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
425 var_nodearraylist4
= var6
;
426 var7
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
427 var_nodearraylist3
= var7
;
428 var8
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
429 var_nodearraylist2
= var8
;
430 var9
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
431 var_nodearraylist1
= var9
;
432 var_tkwnewnode2
= var_nodearraylist1
;
433 /* <var_tkwnewnode2:nullable Object> isa nullable TKwnew */
434 cltype
= type_nullable_parser_nodes__TKwnew
.color
;
435 idtype
= type_nullable_parser_nodes__TKwnew
.id
;
436 if(var_tkwnewnode2
== NULL
) {
439 if(cltype
>= var_tkwnewnode2
->type
->table_size
) {
442 var10
= var_tkwnewnode2
->type
->type_table
[cltype
] == idtype
;
446 fprintf(stderr
, "Runtime error: %s", "Assert failed");
447 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27342);
450 var_ptypenode3
= var_nodearraylist3
;
451 /* <var_ptypenode3:nullable Object> isa nullable AType */
452 cltype12
= type_nullable_parser_nodes__AType
.color
;
453 idtype13
= type_nullable_parser_nodes__AType
.id
;
454 if(var_ptypenode3
== NULL
) {
457 if(cltype12
>= var_ptypenode3
->type
->table_size
) {
460 var11
= var_ptypenode3
->type
->type_table
[cltype12
] == idtype13
;
464 fprintf(stderr
, "Runtime error: %s", "Assert failed");
465 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27344);
468 var_tidnode4
= var_nodearraylist8
;
469 /* <var_tidnode4:nullable Object> isa nullable TId */
470 cltype15
= type_nullable_parser_nodes__TId
.color
;
471 idtype16
= type_nullable_parser_nodes__TId
.id
;
472 if(var_tidnode4
== NULL
) {
475 if(cltype15
>= var_tidnode4
->type
->table_size
) {
478 var14
= var_tidnode4
->type
->type_table
[cltype15
] == idtype16
;
482 fprintf(stderr
, "Runtime error: %s", "Assert failed");
483 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27346);
486 var_pexprsnode5
= var_nodearraylist9
;
487 /* <var_pexprsnode5:nullable Object> isa nullable AExprs */
488 cltype18
= type_nullable_parser_nodes__AExprs
.color
;
489 idtype19
= type_nullable_parser_nodes__AExprs
.id
;
490 if(var_pexprsnode5
== NULL
) {
493 if(cltype18
>= var_pexprsnode5
->type
->table_size
) {
496 var17
= var_pexprsnode5
->type
->type_table
[cltype18
] == idtype19
;
500 fprintf(stderr
, "Runtime error: %s", "Assert failed");
501 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27348);
504 var20
= NEW_parser_nodes__ANewExpr(&type_parser_nodes__ANewExpr
);
505 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var20
->class->vft
[COLOR_parser_prod__ANewExpr__init_anewexpr
]))(var20
, var_tkwnewnode2
, var_ptypenode3
, var_tidnode4
, var_pexprsnode5
) /* init_anewexpr on <var20:ANewExpr>*/;
506 var_pexprnode1
= var20
;
507 var_node_list
= var_pexprnode1
;
508 var21
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction778> */
509 var22
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var21
) /* go_to on <var_p:Parser>*/;
510 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var22
, var_node_list
) /* push on <var_p:Parser>*/;
513 /* method parser#ReduceAction778#action for (self: Object, Parser) */
514 void VIRTUAL_parser__ReduceAction778__action(val
* self
, val
* p0
) {
515 parser__ReduceAction778__action(self
, p0
);
518 /* method parser#ReduceAction780#action for (self: ReduceAction780, Parser) */
519 void parser__ReduceAction780__action(val
* self
, val
* p0
) {
520 val
* var_p
/* var p: Parser */;
521 val
* var
/* : null */;
522 val
* var_node_list
/* var node_list: nullable Object */;
523 val
* var1
/* : nullable Object */;
524 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
525 val
* var2
/* : nullable Object */;
526 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
527 val
* var3
/* : nullable Object */;
528 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
529 val
* var4
/* : nullable Object */;
530 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
531 val
* var5
/* : nullable Object */;
532 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
533 val
* var6
/* : nullable Object */;
534 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
535 val
* var7
/* : nullable Object */;
536 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
537 val
* var8
/* : nullable Object */;
538 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
539 val
* var9
/* : nullable Object */;
540 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
541 val
* var_tobranode2
/* var tobranode2: nullable Object */;
542 short int var10
/* : Bool */;
545 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
546 short int var11
/* : Bool */;
549 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
550 short int var14
/* : Bool */;
553 val
* var_tcbranode5
/* var tcbranode5: nullable Object */;
554 short int var17
/* : Bool */;
557 val
* var20
/* : ACrangeExpr */;
558 val
* var21
/* : null */;
559 val
* var_pexprnode1
/* var pexprnode1: nullable ACrangeExpr */;
560 long var22
/* : Int */;
561 long var23
/* : Int */;
565 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
566 var_nodearraylist9
= var1
;
567 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
568 var_nodearraylist8
= var2
;
569 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
570 var_nodearraylist7
= var3
;
571 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
572 var_nodearraylist6
= var4
;
573 var5
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
574 var_nodearraylist5
= var5
;
575 var6
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
576 var_nodearraylist4
= var6
;
577 var7
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
578 var_nodearraylist3
= var7
;
579 var8
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
580 var_nodearraylist2
= var8
;
581 var9
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
582 var_nodearraylist1
= var9
;
583 var_tobranode2
= var_nodearraylist1
;
584 /* <var_tobranode2:nullable Object> isa nullable TObra */
585 cltype
= type_nullable_parser_nodes__TObra
.color
;
586 idtype
= type_nullable_parser_nodes__TObra
.id
;
587 if(var_tobranode2
== NULL
) {
590 if(cltype
>= var_tobranode2
->type
->table_size
) {
593 var10
= var_tobranode2
->type
->type_table
[cltype
] == idtype
;
597 fprintf(stderr
, "Runtime error: %s", "Assert failed");
598 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27374);
601 var_pexprnode3
= var_nodearraylist3
;
602 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
603 cltype12
= type_nullable_parser_nodes__AExpr
.color
;
604 idtype13
= type_nullable_parser_nodes__AExpr
.id
;
605 if(var_pexprnode3
== NULL
) {
608 if(cltype12
>= var_pexprnode3
->type
->table_size
) {
611 var11
= var_pexprnode3
->type
->type_table
[cltype12
] == idtype13
;
615 fprintf(stderr
, "Runtime error: %s", "Assert failed");
616 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27376);
619 var_pexprnode4
= var_nodearraylist7
;
620 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
621 cltype15
= type_nullable_parser_nodes__AExpr
.color
;
622 idtype16
= type_nullable_parser_nodes__AExpr
.id
;
623 if(var_pexprnode4
== NULL
) {
626 if(cltype15
>= var_pexprnode4
->type
->table_size
) {
629 var14
= var_pexprnode4
->type
->type_table
[cltype15
] == idtype16
;
633 fprintf(stderr
, "Runtime error: %s", "Assert failed");
634 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27378);
637 var_tcbranode5
= var_nodearraylist9
;
638 /* <var_tcbranode5:nullable Object> isa nullable TCbra */
639 cltype18
= type_nullable_parser_nodes__TCbra
.color
;
640 idtype19
= type_nullable_parser_nodes__TCbra
.id
;
641 if(var_tcbranode5
== NULL
) {
644 if(cltype18
>= var_tcbranode5
->type
->table_size
) {
647 var17
= var_tcbranode5
->type
->type_table
[cltype18
] == idtype19
;
651 fprintf(stderr
, "Runtime error: %s", "Assert failed");
652 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27380);
655 var20
= NEW_parser_nodes__ACrangeExpr(&type_parser_nodes__ACrangeExpr
);
657 ((void (*)(val
*, val
*, val
*, val
*, val
*, val
*))(var20
->class->vft
[COLOR_parser_prod__ACrangeExpr__init_acrangeexpr
]))(var20
, var_tobranode2
, var_pexprnode3
, var_pexprnode4
, var_tcbranode5
, var21
) /* init_acrangeexpr on <var20:ACrangeExpr>*/;
658 var_pexprnode1
= var20
;
659 var_node_list
= var_pexprnode1
;
660 var22
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction780> */
661 var23
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var22
) /* go_to on <var_p:Parser>*/;
662 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var23
, var_node_list
) /* push on <var_p:Parser>*/;
665 /* method parser#ReduceAction780#action for (self: Object, Parser) */
666 void VIRTUAL_parser__ReduceAction780__action(val
* self
, val
* p0
) {
667 parser__ReduceAction780__action(self
, p0
);
670 /* method parser#ReduceAction781#action for (self: ReduceAction781, Parser) */
671 void parser__ReduceAction781__action(val
* self
, val
* p0
) {
672 val
* var_p
/* var p: Parser */;
673 val
* var
/* : null */;
674 val
* var_node_list
/* var node_list: nullable Object */;
675 val
* var1
/* : nullable Object */;
676 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
677 val
* var2
/* : nullable Object */;
678 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
679 val
* var3
/* : nullable Object */;
680 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
681 val
* var4
/* : nullable Object */;
682 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
683 val
* var5
/* : nullable Object */;
684 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
685 val
* var6
/* : nullable Object */;
686 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
687 val
* var7
/* : nullable Object */;
688 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
689 val
* var8
/* : nullable Object */;
690 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
691 val
* var9
/* : nullable Object */;
692 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
693 val
* var10
/* : nullable Object */;
694 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
695 val
* var_tobranode2
/* var tobranode2: nullable Object */;
696 short int var11
/* : Bool */;
699 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
700 short int var12
/* : Bool */;
703 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
704 short int var15
/* : Bool */;
707 val
* var_tcbranode5
/* var tcbranode5: nullable Object */;
708 short int var18
/* : Bool */;
711 val
* var_pannotationsnode6
/* var pannotationsnode6: nullable Object */;
712 short int var21
/* : Bool */;
715 val
* var24
/* : ACrangeExpr */;
716 val
* var_pexprnode1
/* var pexprnode1: nullable ACrangeExpr */;
717 long var25
/* : Int */;
718 long var26
/* : Int */;
722 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
723 var_nodearraylist10
= var1
;
724 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
725 var_nodearraylist9
= var2
;
726 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
727 var_nodearraylist8
= var3
;
728 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
729 var_nodearraylist7
= var4
;
730 var5
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
731 var_nodearraylist6
= var5
;
732 var6
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
733 var_nodearraylist5
= var6
;
734 var7
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
735 var_nodearraylist4
= var7
;
736 var8
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
737 var_nodearraylist3
= var8
;
738 var9
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
739 var_nodearraylist2
= var9
;
740 var10
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
741 var_nodearraylist1
= var10
;
742 var_tobranode2
= var_nodearraylist1
;
743 /* <var_tobranode2:nullable Object> isa nullable TObra */
744 cltype
= type_nullable_parser_nodes__TObra
.color
;
745 idtype
= type_nullable_parser_nodes__TObra
.id
;
746 if(var_tobranode2
== NULL
) {
749 if(cltype
>= var_tobranode2
->type
->table_size
) {
752 var11
= var_tobranode2
->type
->type_table
[cltype
] == idtype
;
756 fprintf(stderr
, "Runtime error: %s", "Assert failed");
757 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27408);
760 var_pexprnode3
= var_nodearraylist3
;
761 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
762 cltype13
= type_nullable_parser_nodes__AExpr
.color
;
763 idtype14
= type_nullable_parser_nodes__AExpr
.id
;
764 if(var_pexprnode3
== NULL
) {
767 if(cltype13
>= var_pexprnode3
->type
->table_size
) {
770 var12
= var_pexprnode3
->type
->type_table
[cltype13
] == idtype14
;
774 fprintf(stderr
, "Runtime error: %s", "Assert failed");
775 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27410);
778 var_pexprnode4
= var_nodearraylist7
;
779 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
780 cltype16
= type_nullable_parser_nodes__AExpr
.color
;
781 idtype17
= type_nullable_parser_nodes__AExpr
.id
;
782 if(var_pexprnode4
== NULL
) {
785 if(cltype16
>= var_pexprnode4
->type
->table_size
) {
788 var15
= var_pexprnode4
->type
->type_table
[cltype16
] == idtype17
;
792 fprintf(stderr
, "Runtime error: %s", "Assert failed");
793 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27412);
796 var_tcbranode5
= var_nodearraylist9
;
797 /* <var_tcbranode5:nullable Object> isa nullable TCbra */
798 cltype19
= type_nullable_parser_nodes__TCbra
.color
;
799 idtype20
= type_nullable_parser_nodes__TCbra
.id
;
800 if(var_tcbranode5
== NULL
) {
803 if(cltype19
>= var_tcbranode5
->type
->table_size
) {
806 var18
= var_tcbranode5
->type
->type_table
[cltype19
] == idtype20
;
810 fprintf(stderr
, "Runtime error: %s", "Assert failed");
811 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27414);
814 var_pannotationsnode6
= var_nodearraylist10
;
815 /* <var_pannotationsnode6:nullable Object> isa nullable AAnnotations */
816 cltype22
= type_nullable_parser_nodes__AAnnotations
.color
;
817 idtype23
= type_nullable_parser_nodes__AAnnotations
.id
;
818 if(var_pannotationsnode6
== NULL
) {
821 if(cltype22
>= var_pannotationsnode6
->type
->table_size
) {
824 var21
= var_pannotationsnode6
->type
->type_table
[cltype22
] == idtype23
;
828 fprintf(stderr
, "Runtime error: %s", "Assert failed");
829 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27416);
832 var24
= NEW_parser_nodes__ACrangeExpr(&type_parser_nodes__ACrangeExpr
);
833 ((void (*)(val
*, val
*, val
*, val
*, val
*, val
*))(var24
->class->vft
[COLOR_parser_prod__ACrangeExpr__init_acrangeexpr
]))(var24
, var_tobranode2
, var_pexprnode3
, var_pexprnode4
, var_tcbranode5
, var_pannotationsnode6
) /* init_acrangeexpr on <var24:ACrangeExpr>*/;
834 var_pexprnode1
= var24
;
835 var_node_list
= var_pexprnode1
;
836 var25
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction781> */
837 var26
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var25
) /* go_to on <var_p:Parser>*/;
838 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var26
, var_node_list
) /* push on <var_p:Parser>*/;
841 /* method parser#ReduceAction781#action for (self: Object, Parser) */
842 void VIRTUAL_parser__ReduceAction781__action(val
* self
, val
* p0
) {
843 parser__ReduceAction781__action(self
, p0
);
846 /* method parser#ReduceAction782#action for (self: ReduceAction782, Parser) */
847 void parser__ReduceAction782__action(val
* self
, val
* p0
) {
848 val
* var_p
/* var p: Parser */;
849 val
* var
/* : null */;
850 val
* var_node_list
/* var node_list: nullable Object */;
851 val
* var1
/* : nullable Object */;
852 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
853 val
* var2
/* : nullable Object */;
854 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
855 val
* var3
/* : nullable Object */;
856 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
857 val
* var4
/* : nullable Object */;
858 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
859 val
* var5
/* : nullable Object */;
860 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
861 val
* var6
/* : nullable Object */;
862 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
863 val
* var7
/* : nullable Object */;
864 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
865 val
* var8
/* : nullable Object */;
866 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
867 val
* var9
/* : nullable Object */;
868 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
869 val
* var_tobranode2
/* var tobranode2: nullable Object */;
870 short int var10
/* : Bool */;
873 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
874 short int var11
/* : Bool */;
877 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
878 short int var14
/* : Bool */;
881 val
* var_tobranode5
/* var tobranode5: nullable Object */;
882 short int var17
/* : Bool */;
885 val
* var20
/* : AOrangeExpr */;
886 val
* var21
/* : null */;
887 val
* var_pexprnode1
/* var pexprnode1: nullable AOrangeExpr */;
888 long var22
/* : Int */;
889 long var23
/* : Int */;
893 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
894 var_nodearraylist9
= var1
;
895 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
896 var_nodearraylist8
= var2
;
897 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
898 var_nodearraylist7
= var3
;
899 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
900 var_nodearraylist6
= var4
;
901 var5
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
902 var_nodearraylist5
= var5
;
903 var6
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
904 var_nodearraylist4
= var6
;
905 var7
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
906 var_nodearraylist3
= var7
;
907 var8
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
908 var_nodearraylist2
= var8
;
909 var9
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
910 var_nodearraylist1
= var9
;
911 var_tobranode2
= var_nodearraylist1
;
912 /* <var_tobranode2:nullable Object> isa nullable TObra */
913 cltype
= type_nullable_parser_nodes__TObra
.color
;
914 idtype
= type_nullable_parser_nodes__TObra
.id
;
915 if(var_tobranode2
== NULL
) {
918 if(cltype
>= var_tobranode2
->type
->table_size
) {
921 var10
= var_tobranode2
->type
->type_table
[cltype
] == idtype
;
925 fprintf(stderr
, "Runtime error: %s", "Assert failed");
926 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27443);
929 var_pexprnode3
= var_nodearraylist3
;
930 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
931 cltype12
= type_nullable_parser_nodes__AExpr
.color
;
932 idtype13
= type_nullable_parser_nodes__AExpr
.id
;
933 if(var_pexprnode3
== NULL
) {
936 if(cltype12
>= var_pexprnode3
->type
->table_size
) {
939 var11
= var_pexprnode3
->type
->type_table
[cltype12
] == idtype13
;
943 fprintf(stderr
, "Runtime error: %s", "Assert failed");
944 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27445);
947 var_pexprnode4
= var_nodearraylist7
;
948 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
949 cltype15
= type_nullable_parser_nodes__AExpr
.color
;
950 idtype16
= type_nullable_parser_nodes__AExpr
.id
;
951 if(var_pexprnode4
== NULL
) {
954 if(cltype15
>= var_pexprnode4
->type
->table_size
) {
957 var14
= var_pexprnode4
->type
->type_table
[cltype15
] == idtype16
;
961 fprintf(stderr
, "Runtime error: %s", "Assert failed");
962 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27447);
965 var_tobranode5
= var_nodearraylist9
;
966 /* <var_tobranode5:nullable Object> isa nullable TObra */
967 cltype18
= type_nullable_parser_nodes__TObra
.color
;
968 idtype19
= type_nullable_parser_nodes__TObra
.id
;
969 if(var_tobranode5
== NULL
) {
972 if(cltype18
>= var_tobranode5
->type
->table_size
) {
975 var17
= var_tobranode5
->type
->type_table
[cltype18
] == idtype19
;
979 fprintf(stderr
, "Runtime error: %s", "Assert failed");
980 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27449);
983 var20
= NEW_parser_nodes__AOrangeExpr(&type_parser_nodes__AOrangeExpr
);
985 ((void (*)(val
*, val
*, val
*, val
*, val
*, val
*))(var20
->class->vft
[COLOR_parser_prod__AOrangeExpr__init_aorangeexpr
]))(var20
, var_tobranode2
, var_pexprnode3
, var_pexprnode4
, var_tobranode5
, var21
) /* init_aorangeexpr on <var20:AOrangeExpr>*/;
986 var_pexprnode1
= var20
;
987 var_node_list
= var_pexprnode1
;
988 var22
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction782> */
989 var23
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var22
) /* go_to on <var_p:Parser>*/;
990 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var23
, var_node_list
) /* push on <var_p:Parser>*/;
993 /* method parser#ReduceAction782#action for (self: Object, Parser) */
994 void VIRTUAL_parser__ReduceAction782__action(val
* self
, val
* p0
) {
995 parser__ReduceAction782__action(self
, p0
);
998 /* method parser#ReduceAction783#action for (self: ReduceAction783, Parser) */
999 void parser__ReduceAction783__action(val
* self
, val
* p0
) {
1000 val
* var_p
/* var p: Parser */;
1001 val
* var
/* : null */;
1002 val
* var_node_list
/* var node_list: nullable Object */;
1003 val
* var1
/* : nullable Object */;
1004 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
1005 val
* var2
/* : nullable Object */;
1006 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
1007 val
* var3
/* : nullable Object */;
1008 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
1009 val
* var4
/* : nullable Object */;
1010 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
1011 val
* var5
/* : nullable Object */;
1012 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
1013 val
* var6
/* : nullable Object */;
1014 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
1015 val
* var7
/* : nullable Object */;
1016 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1017 val
* var8
/* : nullable Object */;
1018 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1019 val
* var9
/* : nullable Object */;
1020 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1021 val
* var10
/* : nullable Object */;
1022 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1023 val
* var_tobranode2
/* var tobranode2: nullable Object */;
1024 short int var11
/* : Bool */;
1027 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
1028 short int var12
/* : Bool */;
1031 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
1032 short int var15
/* : Bool */;
1035 val
* var_tobranode5
/* var tobranode5: nullable Object */;
1036 short int var18
/* : Bool */;
1039 val
* var_pannotationsnode6
/* var pannotationsnode6: nullable Object */;
1040 short int var21
/* : Bool */;
1043 val
* var24
/* : AOrangeExpr */;
1044 val
* var_pexprnode1
/* var pexprnode1: nullable AOrangeExpr */;
1045 long var25
/* : Int */;
1046 long var26
/* : Int */;
1049 var_node_list
= var
;
1050 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1051 var_nodearraylist10
= var1
;
1052 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1053 var_nodearraylist9
= var2
;
1054 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1055 var_nodearraylist8
= var3
;
1056 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1057 var_nodearraylist7
= var4
;
1058 var5
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1059 var_nodearraylist6
= var5
;
1060 var6
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1061 var_nodearraylist5
= var6
;
1062 var7
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1063 var_nodearraylist4
= var7
;
1064 var8
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1065 var_nodearraylist3
= var8
;
1066 var9
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1067 var_nodearraylist2
= var9
;
1068 var10
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1069 var_nodearraylist1
= var10
;
1070 var_tobranode2
= var_nodearraylist1
;
1071 /* <var_tobranode2:nullable Object> isa nullable TObra */
1072 cltype
= type_nullable_parser_nodes__TObra
.color
;
1073 idtype
= type_nullable_parser_nodes__TObra
.id
;
1074 if(var_tobranode2
== NULL
) {
1077 if(cltype
>= var_tobranode2
->type
->table_size
) {
1080 var11
= var_tobranode2
->type
->type_table
[cltype
] == idtype
;
1084 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1085 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27477);
1088 var_pexprnode3
= var_nodearraylist3
;
1089 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
1090 cltype13
= type_nullable_parser_nodes__AExpr
.color
;
1091 idtype14
= type_nullable_parser_nodes__AExpr
.id
;
1092 if(var_pexprnode3
== NULL
) {
1095 if(cltype13
>= var_pexprnode3
->type
->table_size
) {
1098 var12
= var_pexprnode3
->type
->type_table
[cltype13
] == idtype14
;
1102 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1103 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27479);
1106 var_pexprnode4
= var_nodearraylist7
;
1107 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
1108 cltype16
= type_nullable_parser_nodes__AExpr
.color
;
1109 idtype17
= type_nullable_parser_nodes__AExpr
.id
;
1110 if(var_pexprnode4
== NULL
) {
1113 if(cltype16
>= var_pexprnode4
->type
->table_size
) {
1116 var15
= var_pexprnode4
->type
->type_table
[cltype16
] == idtype17
;
1120 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1121 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27481);
1124 var_tobranode5
= var_nodearraylist9
;
1125 /* <var_tobranode5:nullable Object> isa nullable TObra */
1126 cltype19
= type_nullable_parser_nodes__TObra
.color
;
1127 idtype20
= type_nullable_parser_nodes__TObra
.id
;
1128 if(var_tobranode5
== NULL
) {
1131 if(cltype19
>= var_tobranode5
->type
->table_size
) {
1134 var18
= var_tobranode5
->type
->type_table
[cltype19
] == idtype20
;
1138 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1139 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27483);
1142 var_pannotationsnode6
= var_nodearraylist10
;
1143 /* <var_pannotationsnode6:nullable Object> isa nullable AAnnotations */
1144 cltype22
= type_nullable_parser_nodes__AAnnotations
.color
;
1145 idtype23
= type_nullable_parser_nodes__AAnnotations
.id
;
1146 if(var_pannotationsnode6
== NULL
) {
1149 if(cltype22
>= var_pannotationsnode6
->type
->table_size
) {
1152 var21
= var_pannotationsnode6
->type
->type_table
[cltype22
] == idtype23
;
1156 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1157 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27485);
1160 var24
= NEW_parser_nodes__AOrangeExpr(&type_parser_nodes__AOrangeExpr
);
1161 ((void (*)(val
*, val
*, val
*, val
*, val
*, val
*))(var24
->class->vft
[COLOR_parser_prod__AOrangeExpr__init_aorangeexpr
]))(var24
, var_tobranode2
, var_pexprnode3
, var_pexprnode4
, var_tobranode5
, var_pannotationsnode6
) /* init_aorangeexpr on <var24:AOrangeExpr>*/;
1162 var_pexprnode1
= var24
;
1163 var_node_list
= var_pexprnode1
;
1164 var25
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction783> */
1165 var26
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var25
) /* go_to on <var_p:Parser>*/;
1166 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var26
, var_node_list
) /* push on <var_p:Parser>*/;
1169 /* method parser#ReduceAction783#action for (self: Object, Parser) */
1170 void VIRTUAL_parser__ReduceAction783__action(val
* self
, val
* p0
) {
1171 parser__ReduceAction783__action(self
, p0
);
1174 /* method parser#ReduceAction784#action for (self: ReduceAction784, Parser) */
1175 void parser__ReduceAction784__action(val
* self
, val
* p0
) {
1176 val
* var_p
/* var p: Parser */;
1177 val
* var
/* : null */;
1178 val
* var_node_list
/* var node_list: nullable Object */;
1179 val
* var1
/* : nullable Object */;
1180 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1181 val
* var_pexprsnode2
/* var pexprsnode2: nullable Object */;
1182 short int var2
/* : Bool */;
1185 val
* var3
/* : AArrayExpr */;
1186 val
* var4
/* : null */;
1187 val
* var_pexprnode1
/* var pexprnode1: nullable AArrayExpr */;
1188 long var5
/* : Int */;
1189 long var6
/* : Int */;
1192 var_node_list
= var
;
1193 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1194 var_nodearraylist1
= var1
;
1195 var_pexprsnode2
= var_nodearraylist1
;
1196 /* <var_pexprsnode2:nullable Object> isa nullable AExprs */
1197 cltype
= type_nullable_parser_nodes__AExprs
.color
;
1198 idtype
= type_nullable_parser_nodes__AExprs
.id
;
1199 if(var_pexprsnode2
== NULL
) {
1202 if(cltype
>= var_pexprsnode2
->type
->table_size
) {
1205 var2
= var_pexprsnode2
->type
->type_table
[cltype
] == idtype
;
1209 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1210 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27504);
1213 var3
= NEW_parser_nodes__AArrayExpr(&type_parser_nodes__AArrayExpr
);
1215 ((void (*)(val
*, val
*, val
*))(var3
->class->vft
[COLOR_parser_prod__AArrayExpr__init_aarrayexpr
]))(var3
, var_pexprsnode2
, var4
) /* init_aarrayexpr on <var3:AArrayExpr>*/;
1216 var_pexprnode1
= var3
;
1217 var_node_list
= var_pexprnode1
;
1218 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction784> */
1219 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
1220 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
1223 /* method parser#ReduceAction784#action for (self: Object, Parser) */
1224 void VIRTUAL_parser__ReduceAction784__action(val
* self
, val
* p0
) {
1225 parser__ReduceAction784__action(self
, p0
);
1228 /* method parser#ReduceAction785#action for (self: ReduceAction785, Parser) */
1229 void parser__ReduceAction785__action(val
* self
, val
* p0
) {
1230 val
* var_p
/* var p: Parser */;
1231 val
* var
/* : null */;
1232 val
* var_node_list
/* var node_list: nullable Object */;
1233 val
* var1
/* : nullable Object */;
1234 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1235 val
* var2
/* : nullable Object */;
1236 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1237 val
* var_pexprsnode2
/* var pexprsnode2: nullable Object */;
1238 short int var3
/* : Bool */;
1241 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
1242 short int var4
/* : Bool */;
1245 val
* var7
/* : AArrayExpr */;
1246 val
* var_pexprnode1
/* var pexprnode1: nullable AArrayExpr */;
1247 long var8
/* : Int */;
1248 long var9
/* : Int */;
1251 var_node_list
= var
;
1252 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1253 var_nodearraylist2
= var1
;
1254 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1255 var_nodearraylist1
= var2
;
1256 var_pexprsnode2
= var_nodearraylist1
;
1257 /* <var_pexprsnode2:nullable Object> isa nullable AExprs */
1258 cltype
= type_nullable_parser_nodes__AExprs
.color
;
1259 idtype
= type_nullable_parser_nodes__AExprs
.id
;
1260 if(var_pexprsnode2
== NULL
) {
1263 if(cltype
>= var_pexprsnode2
->type
->table_size
) {
1266 var3
= var_pexprsnode2
->type
->type_table
[cltype
] == idtype
;
1270 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1271 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27521);
1274 var_pannotationsnode3
= var_nodearraylist2
;
1275 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
1276 cltype5
= type_nullable_parser_nodes__AAnnotations
.color
;
1277 idtype6
= type_nullable_parser_nodes__AAnnotations
.id
;
1278 if(var_pannotationsnode3
== NULL
) {
1281 if(cltype5
>= var_pannotationsnode3
->type
->table_size
) {
1284 var4
= var_pannotationsnode3
->type
->type_table
[cltype5
] == idtype6
;
1288 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1289 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27523);
1292 var7
= NEW_parser_nodes__AArrayExpr(&type_parser_nodes__AArrayExpr
);
1293 ((void (*)(val
*, val
*, val
*))(var7
->class->vft
[COLOR_parser_prod__AArrayExpr__init_aarrayexpr
]))(var7
, var_pexprsnode2
, var_pannotationsnode3
) /* init_aarrayexpr on <var7:AArrayExpr>*/;
1294 var_pexprnode1
= var7
;
1295 var_node_list
= var_pexprnode1
;
1296 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction785> */
1297 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
1298 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
1301 /* method parser#ReduceAction785#action for (self: Object, Parser) */
1302 void VIRTUAL_parser__ReduceAction785__action(val
* self
, val
* p0
) {
1303 parser__ReduceAction785__action(self
, p0
);
1306 /* method parser#ReduceAction786#action for (self: ReduceAction786, Parser) */
1307 void parser__ReduceAction786__action(val
* self
, val
* p0
) {
1308 val
* var_p
/* var p: Parser */;
1309 val
* var
/* : null */;
1310 val
* var_node_list
/* var node_list: nullable Object */;
1311 val
* var1
/* : nullable Object */;
1312 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1313 val
* var_tkwselfnode2
/* var tkwselfnode2: nullable Object */;
1314 short int var2
/* : Bool */;
1317 val
* var3
/* : ASelfExpr */;
1318 val
* var4
/* : null */;
1319 val
* var_pexprnode1
/* var pexprnode1: nullable ASelfExpr */;
1320 long var5
/* : Int */;
1321 long var6
/* : Int */;
1324 var_node_list
= var
;
1325 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1326 var_nodearraylist1
= var1
;
1327 var_tkwselfnode2
= var_nodearraylist1
;
1328 /* <var_tkwselfnode2:nullable Object> isa nullable TKwself */
1329 cltype
= type_nullable_parser_nodes__TKwself
.color
;
1330 idtype
= type_nullable_parser_nodes__TKwself
.id
;
1331 if(var_tkwselfnode2
== NULL
) {
1334 if(cltype
>= var_tkwselfnode2
->type
->table_size
) {
1337 var2
= var_tkwselfnode2
->type
->type_table
[cltype
] == idtype
;
1341 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1342 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27539);
1345 var3
= NEW_parser_nodes__ASelfExpr(&type_parser_nodes__ASelfExpr
);
1347 ((void (*)(val
*, val
*, val
*))(var3
->class->vft
[COLOR_parser_prod__ASelfExpr__init_aselfexpr
]))(var3
, var_tkwselfnode2
, var4
) /* init_aselfexpr on <var3:ASelfExpr>*/;
1348 var_pexprnode1
= var3
;
1349 var_node_list
= var_pexprnode1
;
1350 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction786> */
1351 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
1352 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
1355 /* method parser#ReduceAction786#action for (self: Object, Parser) */
1356 void VIRTUAL_parser__ReduceAction786__action(val
* self
, val
* p0
) {
1357 parser__ReduceAction786__action(self
, p0
);
1360 /* method parser#ReduceAction787#action for (self: ReduceAction787, Parser) */
1361 void parser__ReduceAction787__action(val
* self
, val
* p0
) {
1362 val
* var_p
/* var p: Parser */;
1363 val
* var
/* : null */;
1364 val
* var_node_list
/* var node_list: nullable Object */;
1365 val
* var1
/* : nullable Object */;
1366 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1367 val
* var2
/* : nullable Object */;
1368 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1369 val
* var_tkwselfnode2
/* var tkwselfnode2: nullable Object */;
1370 short int var3
/* : Bool */;
1373 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
1374 short int var4
/* : Bool */;
1377 val
* var7
/* : ASelfExpr */;
1378 val
* var_pexprnode1
/* var pexprnode1: nullable ASelfExpr */;
1379 long var8
/* : Int */;
1380 long var9
/* : Int */;
1383 var_node_list
= var
;
1384 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1385 var_nodearraylist2
= var1
;
1386 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1387 var_nodearraylist1
= var2
;
1388 var_tkwselfnode2
= var_nodearraylist1
;
1389 /* <var_tkwselfnode2:nullable Object> isa nullable TKwself */
1390 cltype
= type_nullable_parser_nodes__TKwself
.color
;
1391 idtype
= type_nullable_parser_nodes__TKwself
.id
;
1392 if(var_tkwselfnode2
== NULL
) {
1395 if(cltype
>= var_tkwselfnode2
->type
->table_size
) {
1398 var3
= var_tkwselfnode2
->type
->type_table
[cltype
] == idtype
;
1402 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1403 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27556);
1406 var_pannotationsnode3
= var_nodearraylist2
;
1407 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
1408 cltype5
= type_nullable_parser_nodes__AAnnotations
.color
;
1409 idtype6
= type_nullable_parser_nodes__AAnnotations
.id
;
1410 if(var_pannotationsnode3
== NULL
) {
1413 if(cltype5
>= var_pannotationsnode3
->type
->table_size
) {
1416 var4
= var_pannotationsnode3
->type
->type_table
[cltype5
] == idtype6
;
1420 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1421 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27558);
1424 var7
= NEW_parser_nodes__ASelfExpr(&type_parser_nodes__ASelfExpr
);
1425 ((void (*)(val
*, val
*, val
*))(var7
->class->vft
[COLOR_parser_prod__ASelfExpr__init_aselfexpr
]))(var7
, var_tkwselfnode2
, var_pannotationsnode3
) /* init_aselfexpr on <var7:ASelfExpr>*/;
1426 var_pexprnode1
= var7
;
1427 var_node_list
= var_pexprnode1
;
1428 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction787> */
1429 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
1430 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
1433 /* method parser#ReduceAction787#action for (self: Object, Parser) */
1434 void VIRTUAL_parser__ReduceAction787__action(val
* self
, val
* p0
) {
1435 parser__ReduceAction787__action(self
, p0
);
1438 /* method parser#ReduceAction788#action for (self: ReduceAction788, Parser) */
1439 void parser__ReduceAction788__action(val
* self
, val
* p0
) {
1440 val
* var_p
/* var p: Parser */;
1441 val
* var
/* : null */;
1442 val
* var_node_list
/* var node_list: nullable Object */;
1443 val
* var1
/* : nullable Object */;
1444 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1445 val
* var_tkwtruenode2
/* var tkwtruenode2: nullable Object */;
1446 short int var2
/* : Bool */;
1449 val
* var3
/* : ATrueExpr */;
1450 val
* var4
/* : null */;
1451 val
* var_pexprnode1
/* var pexprnode1: nullable ATrueExpr */;
1452 long var5
/* : Int */;
1453 long var6
/* : Int */;
1456 var_node_list
= var
;
1457 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1458 var_nodearraylist1
= var1
;
1459 var_tkwtruenode2
= var_nodearraylist1
;
1460 /* <var_tkwtruenode2:nullable Object> isa nullable TKwtrue */
1461 cltype
= type_nullable_parser_nodes__TKwtrue
.color
;
1462 idtype
= type_nullable_parser_nodes__TKwtrue
.id
;
1463 if(var_tkwtruenode2
== NULL
) {
1466 if(cltype
>= var_tkwtruenode2
->type
->table_size
) {
1469 var2
= var_tkwtruenode2
->type
->type_table
[cltype
] == idtype
;
1473 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1474 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27574);
1477 var3
= NEW_parser_nodes__ATrueExpr(&type_parser_nodes__ATrueExpr
);
1479 ((void (*)(val
*, val
*, val
*))(var3
->class->vft
[COLOR_parser_prod__ATrueExpr__init_atrueexpr
]))(var3
, var_tkwtruenode2
, var4
) /* init_atrueexpr on <var3:ATrueExpr>*/;
1480 var_pexprnode1
= var3
;
1481 var_node_list
= var_pexprnode1
;
1482 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction788> */
1483 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
1484 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
1487 /* method parser#ReduceAction788#action for (self: Object, Parser) */
1488 void VIRTUAL_parser__ReduceAction788__action(val
* self
, val
* p0
) {
1489 parser__ReduceAction788__action(self
, p0
);
1492 /* method parser#ReduceAction789#action for (self: ReduceAction789, Parser) */
1493 void parser__ReduceAction789__action(val
* self
, val
* p0
) {
1494 val
* var_p
/* var p: Parser */;
1495 val
* var
/* : null */;
1496 val
* var_node_list
/* var node_list: nullable Object */;
1497 val
* var1
/* : nullable Object */;
1498 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1499 val
* var2
/* : nullable Object */;
1500 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1501 val
* var_tkwtruenode2
/* var tkwtruenode2: nullable Object */;
1502 short int var3
/* : Bool */;
1505 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
1506 short int var4
/* : Bool */;
1509 val
* var7
/* : ATrueExpr */;
1510 val
* var_pexprnode1
/* var pexprnode1: nullable ATrueExpr */;
1511 long var8
/* : Int */;
1512 long var9
/* : Int */;
1515 var_node_list
= var
;
1516 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1517 var_nodearraylist2
= var1
;
1518 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1519 var_nodearraylist1
= var2
;
1520 var_tkwtruenode2
= var_nodearraylist1
;
1521 /* <var_tkwtruenode2:nullable Object> isa nullable TKwtrue */
1522 cltype
= type_nullable_parser_nodes__TKwtrue
.color
;
1523 idtype
= type_nullable_parser_nodes__TKwtrue
.id
;
1524 if(var_tkwtruenode2
== NULL
) {
1527 if(cltype
>= var_tkwtruenode2
->type
->table_size
) {
1530 var3
= var_tkwtruenode2
->type
->type_table
[cltype
] == idtype
;
1534 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1535 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27591);
1538 var_pannotationsnode3
= var_nodearraylist2
;
1539 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
1540 cltype5
= type_nullable_parser_nodes__AAnnotations
.color
;
1541 idtype6
= type_nullable_parser_nodes__AAnnotations
.id
;
1542 if(var_pannotationsnode3
== NULL
) {
1545 if(cltype5
>= var_pannotationsnode3
->type
->table_size
) {
1548 var4
= var_pannotationsnode3
->type
->type_table
[cltype5
] == idtype6
;
1552 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1553 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27593);
1556 var7
= NEW_parser_nodes__ATrueExpr(&type_parser_nodes__ATrueExpr
);
1557 ((void (*)(val
*, val
*, val
*))(var7
->class->vft
[COLOR_parser_prod__ATrueExpr__init_atrueexpr
]))(var7
, var_tkwtruenode2
, var_pannotationsnode3
) /* init_atrueexpr on <var7:ATrueExpr>*/;
1558 var_pexprnode1
= var7
;
1559 var_node_list
= var_pexprnode1
;
1560 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction789> */
1561 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
1562 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
1565 /* method parser#ReduceAction789#action for (self: Object, Parser) */
1566 void VIRTUAL_parser__ReduceAction789__action(val
* self
, val
* p0
) {
1567 parser__ReduceAction789__action(self
, p0
);
1570 /* method parser#ReduceAction790#action for (self: ReduceAction790, Parser) */
1571 void parser__ReduceAction790__action(val
* self
, val
* p0
) {
1572 val
* var_p
/* var p: Parser */;
1573 val
* var
/* : null */;
1574 val
* var_node_list
/* var node_list: nullable Object */;
1575 val
* var1
/* : nullable Object */;
1576 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1577 val
* var_tkwfalsenode2
/* var tkwfalsenode2: nullable Object */;
1578 short int var2
/* : Bool */;
1581 val
* var3
/* : AFalseExpr */;
1582 val
* var4
/* : null */;
1583 val
* var_pexprnode1
/* var pexprnode1: nullable AFalseExpr */;
1584 long var5
/* : Int */;
1585 long var6
/* : Int */;
1588 var_node_list
= var
;
1589 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1590 var_nodearraylist1
= var1
;
1591 var_tkwfalsenode2
= var_nodearraylist1
;
1592 /* <var_tkwfalsenode2:nullable Object> isa nullable TKwfalse */
1593 cltype
= type_nullable_parser_nodes__TKwfalse
.color
;
1594 idtype
= type_nullable_parser_nodes__TKwfalse
.id
;
1595 if(var_tkwfalsenode2
== NULL
) {
1598 if(cltype
>= var_tkwfalsenode2
->type
->table_size
) {
1601 var2
= var_tkwfalsenode2
->type
->type_table
[cltype
] == idtype
;
1605 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1606 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27609);
1609 var3
= NEW_parser_nodes__AFalseExpr(&type_parser_nodes__AFalseExpr
);
1611 ((void (*)(val
*, val
*, val
*))(var3
->class->vft
[COLOR_parser_prod__AFalseExpr__init_afalseexpr
]))(var3
, var_tkwfalsenode2
, var4
) /* init_afalseexpr on <var3:AFalseExpr>*/;
1612 var_pexprnode1
= var3
;
1613 var_node_list
= var_pexprnode1
;
1614 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction790> */
1615 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
1616 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
1619 /* method parser#ReduceAction790#action for (self: Object, Parser) */
1620 void VIRTUAL_parser__ReduceAction790__action(val
* self
, val
* p0
) {
1621 parser__ReduceAction790__action(self
, p0
);
1624 /* method parser#ReduceAction791#action for (self: ReduceAction791, Parser) */
1625 void parser__ReduceAction791__action(val
* self
, val
* p0
) {
1626 val
* var_p
/* var p: Parser */;
1627 val
* var
/* : null */;
1628 val
* var_node_list
/* var node_list: nullable Object */;
1629 val
* var1
/* : nullable Object */;
1630 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1631 val
* var2
/* : nullable Object */;
1632 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1633 val
* var_tkwfalsenode2
/* var tkwfalsenode2: nullable Object */;
1634 short int var3
/* : Bool */;
1637 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
1638 short int var4
/* : Bool */;
1641 val
* var7
/* : AFalseExpr */;
1642 val
* var_pexprnode1
/* var pexprnode1: nullable AFalseExpr */;
1643 long var8
/* : Int */;
1644 long var9
/* : Int */;
1647 var_node_list
= var
;
1648 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1649 var_nodearraylist2
= var1
;
1650 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1651 var_nodearraylist1
= var2
;
1652 var_tkwfalsenode2
= var_nodearraylist1
;
1653 /* <var_tkwfalsenode2:nullable Object> isa nullable TKwfalse */
1654 cltype
= type_nullable_parser_nodes__TKwfalse
.color
;
1655 idtype
= type_nullable_parser_nodes__TKwfalse
.id
;
1656 if(var_tkwfalsenode2
== NULL
) {
1659 if(cltype
>= var_tkwfalsenode2
->type
->table_size
) {
1662 var3
= var_tkwfalsenode2
->type
->type_table
[cltype
] == idtype
;
1666 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1667 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27626);
1670 var_pannotationsnode3
= var_nodearraylist2
;
1671 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
1672 cltype5
= type_nullable_parser_nodes__AAnnotations
.color
;
1673 idtype6
= type_nullable_parser_nodes__AAnnotations
.id
;
1674 if(var_pannotationsnode3
== NULL
) {
1677 if(cltype5
>= var_pannotationsnode3
->type
->table_size
) {
1680 var4
= var_pannotationsnode3
->type
->type_table
[cltype5
] == idtype6
;
1684 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1685 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27628);
1688 var7
= NEW_parser_nodes__AFalseExpr(&type_parser_nodes__AFalseExpr
);
1689 ((void (*)(val
*, val
*, val
*))(var7
->class->vft
[COLOR_parser_prod__AFalseExpr__init_afalseexpr
]))(var7
, var_tkwfalsenode2
, var_pannotationsnode3
) /* init_afalseexpr on <var7:AFalseExpr>*/;
1690 var_pexprnode1
= var7
;
1691 var_node_list
= var_pexprnode1
;
1692 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction791> */
1693 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
1694 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
1697 /* method parser#ReduceAction791#action for (self: Object, Parser) */
1698 void VIRTUAL_parser__ReduceAction791__action(val
* self
, val
* p0
) {
1699 parser__ReduceAction791__action(self
, p0
);
1702 /* method parser#ReduceAction792#action for (self: ReduceAction792, Parser) */
1703 void parser__ReduceAction792__action(val
* self
, val
* p0
) {
1704 val
* var_p
/* var p: Parser */;
1705 val
* var
/* : null */;
1706 val
* var_node_list
/* var node_list: nullable Object */;
1707 val
* var1
/* : nullable Object */;
1708 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1709 val
* var_tkwnullnode2
/* var tkwnullnode2: nullable Object */;
1710 short int var2
/* : Bool */;
1713 val
* var3
/* : ANullExpr */;
1714 val
* var4
/* : null */;
1715 val
* var_pexprnode1
/* var pexprnode1: nullable ANullExpr */;
1716 long var5
/* : Int */;
1717 long var6
/* : Int */;
1720 var_node_list
= var
;
1721 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1722 var_nodearraylist1
= var1
;
1723 var_tkwnullnode2
= var_nodearraylist1
;
1724 /* <var_tkwnullnode2:nullable Object> isa nullable TKwnull */
1725 cltype
= type_nullable_parser_nodes__TKwnull
.color
;
1726 idtype
= type_nullable_parser_nodes__TKwnull
.id
;
1727 if(var_tkwnullnode2
== NULL
) {
1730 if(cltype
>= var_tkwnullnode2
->type
->table_size
) {
1733 var2
= var_tkwnullnode2
->type
->type_table
[cltype
] == idtype
;
1737 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1738 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27644);
1741 var3
= NEW_parser_nodes__ANullExpr(&type_parser_nodes__ANullExpr
);
1743 ((void (*)(val
*, val
*, val
*))(var3
->class->vft
[COLOR_parser_prod__ANullExpr__init_anullexpr
]))(var3
, var_tkwnullnode2
, var4
) /* init_anullexpr on <var3:ANullExpr>*/;
1744 var_pexprnode1
= var3
;
1745 var_node_list
= var_pexprnode1
;
1746 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction792> */
1747 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
1748 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
1751 /* method parser#ReduceAction792#action for (self: Object, Parser) */
1752 void VIRTUAL_parser__ReduceAction792__action(val
* self
, val
* p0
) {
1753 parser__ReduceAction792__action(self
, p0
);
1756 /* method parser#ReduceAction793#action for (self: ReduceAction793, Parser) */
1757 void parser__ReduceAction793__action(val
* self
, val
* p0
) {
1758 val
* var_p
/* var p: Parser */;
1759 val
* var
/* : null */;
1760 val
* var_node_list
/* var node_list: nullable Object */;
1761 val
* var1
/* : nullable Object */;
1762 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1763 val
* var2
/* : nullable Object */;
1764 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1765 val
* var_tkwnullnode2
/* var tkwnullnode2: nullable Object */;
1766 short int var3
/* : Bool */;
1769 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
1770 short int var4
/* : Bool */;
1773 val
* var7
/* : ANullExpr */;
1774 val
* var_pexprnode1
/* var pexprnode1: nullable ANullExpr */;
1775 long var8
/* : Int */;
1776 long var9
/* : Int */;
1779 var_node_list
= var
;
1780 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1781 var_nodearraylist2
= var1
;
1782 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1783 var_nodearraylist1
= var2
;
1784 var_tkwnullnode2
= var_nodearraylist1
;
1785 /* <var_tkwnullnode2:nullable Object> isa nullable TKwnull */
1786 cltype
= type_nullable_parser_nodes__TKwnull
.color
;
1787 idtype
= type_nullable_parser_nodes__TKwnull
.id
;
1788 if(var_tkwnullnode2
== NULL
) {
1791 if(cltype
>= var_tkwnullnode2
->type
->table_size
) {
1794 var3
= var_tkwnullnode2
->type
->type_table
[cltype
] == idtype
;
1798 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1799 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27661);
1802 var_pannotationsnode3
= var_nodearraylist2
;
1803 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
1804 cltype5
= type_nullable_parser_nodes__AAnnotations
.color
;
1805 idtype6
= type_nullable_parser_nodes__AAnnotations
.id
;
1806 if(var_pannotationsnode3
== NULL
) {
1809 if(cltype5
>= var_pannotationsnode3
->type
->table_size
) {
1812 var4
= var_pannotationsnode3
->type
->type_table
[cltype5
] == idtype6
;
1816 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1817 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27663);
1820 var7
= NEW_parser_nodes__ANullExpr(&type_parser_nodes__ANullExpr
);
1821 ((void (*)(val
*, val
*, val
*))(var7
->class->vft
[COLOR_parser_prod__ANullExpr__init_anullexpr
]))(var7
, var_tkwnullnode2
, var_pannotationsnode3
) /* init_anullexpr on <var7:ANullExpr>*/;
1822 var_pexprnode1
= var7
;
1823 var_node_list
= var_pexprnode1
;
1824 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction793> */
1825 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
1826 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
1829 /* method parser#ReduceAction793#action for (self: Object, Parser) */
1830 void VIRTUAL_parser__ReduceAction793__action(val
* self
, val
* p0
) {
1831 parser__ReduceAction793__action(self
, p0
);
1834 /* method parser#ReduceAction794#action for (self: ReduceAction794, Parser) */
1835 void parser__ReduceAction794__action(val
* self
, val
* p0
) {
1836 val
* var_p
/* var p: Parser */;
1837 val
* var
/* : null */;
1838 val
* var_node_list
/* var node_list: nullable Object */;
1839 val
* var1
/* : nullable Object */;
1840 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1841 val
* var_tnumbernode2
/* var tnumbernode2: nullable Object */;
1842 short int var2
/* : Bool */;
1845 val
* var3
/* : AIntExpr */;
1846 val
* var4
/* : null */;
1847 val
* var_pexprnode1
/* var pexprnode1: nullable AIntExpr */;
1848 long var5
/* : Int */;
1849 long var6
/* : Int */;
1852 var_node_list
= var
;
1853 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1854 var_nodearraylist1
= var1
;
1855 var_tnumbernode2
= var_nodearraylist1
;
1856 /* <var_tnumbernode2:nullable Object> isa nullable TNumber */
1857 cltype
= type_nullable_parser_nodes__TNumber
.color
;
1858 idtype
= type_nullable_parser_nodes__TNumber
.id
;
1859 if(var_tnumbernode2
== NULL
) {
1862 if(cltype
>= var_tnumbernode2
->type
->table_size
) {
1865 var2
= var_tnumbernode2
->type
->type_table
[cltype
] == idtype
;
1869 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1870 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27679);
1873 var3
= NEW_parser_nodes__AIntExpr(&type_parser_nodes__AIntExpr
);
1875 ((void (*)(val
*, val
*, val
*))(var3
->class->vft
[COLOR_parser_prod__AIntExpr__init_aintexpr
]))(var3
, var_tnumbernode2
, var4
) /* init_aintexpr on <var3:AIntExpr>*/;
1876 var_pexprnode1
= var3
;
1877 var_node_list
= var_pexprnode1
;
1878 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction794> */
1879 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
1880 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
1883 /* method parser#ReduceAction794#action for (self: Object, Parser) */
1884 void VIRTUAL_parser__ReduceAction794__action(val
* self
, val
* p0
) {
1885 parser__ReduceAction794__action(self
, p0
);
1888 /* method parser#ReduceAction795#action for (self: ReduceAction795, Parser) */
1889 void parser__ReduceAction795__action(val
* self
, val
* p0
) {
1890 val
* var_p
/* var p: Parser */;
1891 val
* var
/* : null */;
1892 val
* var_node_list
/* var node_list: nullable Object */;
1893 val
* var1
/* : nullable Object */;
1894 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1895 val
* var2
/* : nullable Object */;
1896 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1897 val
* var_tnumbernode2
/* var tnumbernode2: nullable Object */;
1898 short int var3
/* : Bool */;
1901 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
1902 short int var4
/* : Bool */;
1905 val
* var7
/* : AIntExpr */;
1906 val
* var_pexprnode1
/* var pexprnode1: nullable AIntExpr */;
1907 long var8
/* : Int */;
1908 long var9
/* : Int */;
1911 var_node_list
= var
;
1912 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1913 var_nodearraylist2
= var1
;
1914 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1915 var_nodearraylist1
= var2
;
1916 var_tnumbernode2
= var_nodearraylist1
;
1917 /* <var_tnumbernode2:nullable Object> isa nullable TNumber */
1918 cltype
= type_nullable_parser_nodes__TNumber
.color
;
1919 idtype
= type_nullable_parser_nodes__TNumber
.id
;
1920 if(var_tnumbernode2
== NULL
) {
1923 if(cltype
>= var_tnumbernode2
->type
->table_size
) {
1926 var3
= var_tnumbernode2
->type
->type_table
[cltype
] == idtype
;
1930 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1931 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27696);
1934 var_pannotationsnode3
= var_nodearraylist2
;
1935 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
1936 cltype5
= type_nullable_parser_nodes__AAnnotations
.color
;
1937 idtype6
= type_nullable_parser_nodes__AAnnotations
.id
;
1938 if(var_pannotationsnode3
== NULL
) {
1941 if(cltype5
>= var_pannotationsnode3
->type
->table_size
) {
1944 var4
= var_pannotationsnode3
->type
->type_table
[cltype5
] == idtype6
;
1948 fprintf(stderr
, "Runtime error: %s", "Assert failed");
1949 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27698);
1952 var7
= NEW_parser_nodes__AIntExpr(&type_parser_nodes__AIntExpr
);
1953 ((void (*)(val
*, val
*, val
*))(var7
->class->vft
[COLOR_parser_prod__AIntExpr__init_aintexpr
]))(var7
, var_tnumbernode2
, var_pannotationsnode3
) /* init_aintexpr on <var7:AIntExpr>*/;
1954 var_pexprnode1
= var7
;
1955 var_node_list
= var_pexprnode1
;
1956 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction795> */
1957 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
1958 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
1961 /* method parser#ReduceAction795#action for (self: Object, Parser) */
1962 void VIRTUAL_parser__ReduceAction795__action(val
* self
, val
* p0
) {
1963 parser__ReduceAction795__action(self
, p0
);
1966 /* method parser#ReduceAction796#action for (self: ReduceAction796, Parser) */
1967 void parser__ReduceAction796__action(val
* self
, val
* p0
) {
1968 val
* var_p
/* var p: Parser */;
1969 val
* var
/* : null */;
1970 val
* var_node_list
/* var node_list: nullable Object */;
1971 val
* var1
/* : nullable Object */;
1972 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1973 val
* var_tfloatnode2
/* var tfloatnode2: nullable Object */;
1974 short int var2
/* : Bool */;
1977 val
* var3
/* : AFloatExpr */;
1978 val
* var4
/* : null */;
1979 val
* var_pexprnode1
/* var pexprnode1: nullable AFloatExpr */;
1980 long var5
/* : Int */;
1981 long var6
/* : Int */;
1984 var_node_list
= var
;
1985 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1986 var_nodearraylist1
= var1
;
1987 var_tfloatnode2
= var_nodearraylist1
;
1988 /* <var_tfloatnode2:nullable Object> isa nullable TFloat */
1989 cltype
= type_nullable_parser_nodes__TFloat
.color
;
1990 idtype
= type_nullable_parser_nodes__TFloat
.id
;
1991 if(var_tfloatnode2
== NULL
) {
1994 if(cltype
>= var_tfloatnode2
->type
->table_size
) {
1997 var2
= var_tfloatnode2
->type
->type_table
[cltype
] == idtype
;
2001 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2002 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27714);
2005 var3
= NEW_parser_nodes__AFloatExpr(&type_parser_nodes__AFloatExpr
);
2007 ((void (*)(val
*, val
*, val
*))(var3
->class->vft
[COLOR_parser_prod__AFloatExpr__init_afloatexpr
]))(var3
, var_tfloatnode2
, var4
) /* init_afloatexpr on <var3:AFloatExpr>*/;
2008 var_pexprnode1
= var3
;
2009 var_node_list
= var_pexprnode1
;
2010 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction796> */
2011 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
2012 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
2015 /* method parser#ReduceAction796#action for (self: Object, Parser) */
2016 void VIRTUAL_parser__ReduceAction796__action(val
* self
, val
* p0
) {
2017 parser__ReduceAction796__action(self
, p0
);
2020 /* method parser#ReduceAction797#action for (self: ReduceAction797, Parser) */
2021 void parser__ReduceAction797__action(val
* self
, val
* p0
) {
2022 val
* var_p
/* var p: Parser */;
2023 val
* var
/* : null */;
2024 val
* var_node_list
/* var node_list: nullable Object */;
2025 val
* var1
/* : nullable Object */;
2026 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2027 val
* var2
/* : nullable Object */;
2028 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2029 val
* var_tfloatnode2
/* var tfloatnode2: nullable Object */;
2030 short int var3
/* : Bool */;
2033 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
2034 short int var4
/* : Bool */;
2037 val
* var7
/* : AFloatExpr */;
2038 val
* var_pexprnode1
/* var pexprnode1: nullable AFloatExpr */;
2039 long var8
/* : Int */;
2040 long var9
/* : Int */;
2043 var_node_list
= var
;
2044 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2045 var_nodearraylist2
= var1
;
2046 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2047 var_nodearraylist1
= var2
;
2048 var_tfloatnode2
= var_nodearraylist1
;
2049 /* <var_tfloatnode2:nullable Object> isa nullable TFloat */
2050 cltype
= type_nullable_parser_nodes__TFloat
.color
;
2051 idtype
= type_nullable_parser_nodes__TFloat
.id
;
2052 if(var_tfloatnode2
== NULL
) {
2055 if(cltype
>= var_tfloatnode2
->type
->table_size
) {
2058 var3
= var_tfloatnode2
->type
->type_table
[cltype
] == idtype
;
2062 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2063 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27731);
2066 var_pannotationsnode3
= var_nodearraylist2
;
2067 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
2068 cltype5
= type_nullable_parser_nodes__AAnnotations
.color
;
2069 idtype6
= type_nullable_parser_nodes__AAnnotations
.id
;
2070 if(var_pannotationsnode3
== NULL
) {
2073 if(cltype5
>= var_pannotationsnode3
->type
->table_size
) {
2076 var4
= var_pannotationsnode3
->type
->type_table
[cltype5
] == idtype6
;
2080 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2081 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27733);
2084 var7
= NEW_parser_nodes__AFloatExpr(&type_parser_nodes__AFloatExpr
);
2085 ((void (*)(val
*, val
*, val
*))(var7
->class->vft
[COLOR_parser_prod__AFloatExpr__init_afloatexpr
]))(var7
, var_tfloatnode2
, var_pannotationsnode3
) /* init_afloatexpr on <var7:AFloatExpr>*/;
2086 var_pexprnode1
= var7
;
2087 var_node_list
= var_pexprnode1
;
2088 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction797> */
2089 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
2090 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
2093 /* method parser#ReduceAction797#action for (self: Object, Parser) */
2094 void VIRTUAL_parser__ReduceAction797__action(val
* self
, val
* p0
) {
2095 parser__ReduceAction797__action(self
, p0
);
2098 /* method parser#ReduceAction798#action for (self: ReduceAction798, Parser) */
2099 void parser__ReduceAction798__action(val
* self
, val
* p0
) {
2100 val
* var_p
/* var p: Parser */;
2101 val
* var
/* : null */;
2102 val
* var_node_list
/* var node_list: nullable Object */;
2103 val
* var1
/* : nullable Object */;
2104 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2105 val
* var_tcharnode2
/* var tcharnode2: nullable Object */;
2106 short int var2
/* : Bool */;
2109 val
* var3
/* : ACharExpr */;
2110 val
* var4
/* : null */;
2111 val
* var_pexprnode1
/* var pexprnode1: nullable ACharExpr */;
2112 long var5
/* : Int */;
2113 long var6
/* : Int */;
2116 var_node_list
= var
;
2117 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2118 var_nodearraylist1
= var1
;
2119 var_tcharnode2
= var_nodearraylist1
;
2120 /* <var_tcharnode2:nullable Object> isa nullable TChar */
2121 cltype
= type_nullable_parser_nodes__TChar
.color
;
2122 idtype
= type_nullable_parser_nodes__TChar
.id
;
2123 if(var_tcharnode2
== NULL
) {
2126 if(cltype
>= var_tcharnode2
->type
->table_size
) {
2129 var2
= var_tcharnode2
->type
->type_table
[cltype
] == idtype
;
2133 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2134 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27749);
2137 var3
= NEW_parser_nodes__ACharExpr(&type_parser_nodes__ACharExpr
);
2139 ((void (*)(val
*, val
*, val
*))(var3
->class->vft
[COLOR_parser_prod__ACharExpr__init_acharexpr
]))(var3
, var_tcharnode2
, var4
) /* init_acharexpr on <var3:ACharExpr>*/;
2140 var_pexprnode1
= var3
;
2141 var_node_list
= var_pexprnode1
;
2142 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction798> */
2143 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
2144 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
2147 /* method parser#ReduceAction798#action for (self: Object, Parser) */
2148 void VIRTUAL_parser__ReduceAction798__action(val
* self
, val
* p0
) {
2149 parser__ReduceAction798__action(self
, p0
);
2152 /* method parser#ReduceAction799#action for (self: ReduceAction799, Parser) */
2153 void parser__ReduceAction799__action(val
* self
, val
* p0
) {
2154 val
* var_p
/* var p: Parser */;
2155 val
* var
/* : null */;
2156 val
* var_node_list
/* var node_list: nullable Object */;
2157 val
* var1
/* : nullable Object */;
2158 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2159 val
* var2
/* : nullable Object */;
2160 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2161 val
* var_tcharnode2
/* var tcharnode2: nullable Object */;
2162 short int var3
/* : Bool */;
2165 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
2166 short int var4
/* : Bool */;
2169 val
* var7
/* : ACharExpr */;
2170 val
* var_pexprnode1
/* var pexprnode1: nullable ACharExpr */;
2171 long var8
/* : Int */;
2172 long var9
/* : Int */;
2175 var_node_list
= var
;
2176 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2177 var_nodearraylist2
= var1
;
2178 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2179 var_nodearraylist1
= var2
;
2180 var_tcharnode2
= var_nodearraylist1
;
2181 /* <var_tcharnode2:nullable Object> isa nullable TChar */
2182 cltype
= type_nullable_parser_nodes__TChar
.color
;
2183 idtype
= type_nullable_parser_nodes__TChar
.id
;
2184 if(var_tcharnode2
== NULL
) {
2187 if(cltype
>= var_tcharnode2
->type
->table_size
) {
2190 var3
= var_tcharnode2
->type
->type_table
[cltype
] == idtype
;
2194 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2195 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27766);
2198 var_pannotationsnode3
= var_nodearraylist2
;
2199 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
2200 cltype5
= type_nullable_parser_nodes__AAnnotations
.color
;
2201 idtype6
= type_nullable_parser_nodes__AAnnotations
.id
;
2202 if(var_pannotationsnode3
== NULL
) {
2205 if(cltype5
>= var_pannotationsnode3
->type
->table_size
) {
2208 var4
= var_pannotationsnode3
->type
->type_table
[cltype5
] == idtype6
;
2212 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2213 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27768);
2216 var7
= NEW_parser_nodes__ACharExpr(&type_parser_nodes__ACharExpr
);
2217 ((void (*)(val
*, val
*, val
*))(var7
->class->vft
[COLOR_parser_prod__ACharExpr__init_acharexpr
]))(var7
, var_tcharnode2
, var_pannotationsnode3
) /* init_acharexpr on <var7:ACharExpr>*/;
2218 var_pexprnode1
= var7
;
2219 var_node_list
= var_pexprnode1
;
2220 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction799> */
2221 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
2222 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
2225 /* method parser#ReduceAction799#action for (self: Object, Parser) */
2226 void VIRTUAL_parser__ReduceAction799__action(val
* self
, val
* p0
) {
2227 parser__ReduceAction799__action(self
, p0
);
2230 /* method parser#ReduceAction800#action for (self: ReduceAction800, Parser) */
2231 void parser__ReduceAction800__action(val
* self
, val
* p0
) {
2232 val
* var_p
/* var p: Parser */;
2233 val
* var
/* : null */;
2234 val
* var_node_list
/* var node_list: nullable Object */;
2235 val
* var1
/* : nullable Object */;
2236 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2237 val
* var_tstringnode2
/* var tstringnode2: nullable Object */;
2238 short int var2
/* : Bool */;
2241 val
* var3
/* : AStringExpr */;
2242 val
* var4
/* : null */;
2243 val
* var_pexprnode1
/* var pexprnode1: nullable AStringExpr */;
2244 long var5
/* : Int */;
2245 long var6
/* : Int */;
2248 var_node_list
= var
;
2249 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2250 var_nodearraylist1
= var1
;
2251 var_tstringnode2
= var_nodearraylist1
;
2252 /* <var_tstringnode2:nullable Object> isa nullable TString */
2253 cltype
= type_nullable_parser_nodes__TString
.color
;
2254 idtype
= type_nullable_parser_nodes__TString
.id
;
2255 if(var_tstringnode2
== NULL
) {
2258 if(cltype
>= var_tstringnode2
->type
->table_size
) {
2261 var2
= var_tstringnode2
->type
->type_table
[cltype
] == idtype
;
2265 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2266 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27784);
2269 var3
= NEW_parser_nodes__AStringExpr(&type_parser_nodes__AStringExpr
);
2271 ((void (*)(val
*, val
*, val
*))(var3
->class->vft
[COLOR_parser_prod__AStringExpr__init_astringexpr
]))(var3
, var_tstringnode2
, var4
) /* init_astringexpr on <var3:AStringExpr>*/;
2272 var_pexprnode1
= var3
;
2273 var_node_list
= var_pexprnode1
;
2274 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction800> */
2275 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
2276 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
2279 /* method parser#ReduceAction800#action for (self: Object, Parser) */
2280 void VIRTUAL_parser__ReduceAction800__action(val
* self
, val
* p0
) {
2281 parser__ReduceAction800__action(self
, p0
);
2284 /* method parser#ReduceAction801#action for (self: ReduceAction801, Parser) */
2285 void parser__ReduceAction801__action(val
* self
, val
* p0
) {
2286 val
* var_p
/* var p: Parser */;
2287 val
* var
/* : null */;
2288 val
* var_node_list
/* var node_list: nullable Object */;
2289 val
* var1
/* : nullable Object */;
2290 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2291 val
* var2
/* : nullable Object */;
2292 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2293 val
* var_tstringnode2
/* var tstringnode2: nullable Object */;
2294 short int var3
/* : Bool */;
2297 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
2298 short int var4
/* : Bool */;
2301 val
* var7
/* : AStringExpr */;
2302 val
* var_pexprnode1
/* var pexprnode1: nullable AStringExpr */;
2303 long var8
/* : Int */;
2304 long var9
/* : Int */;
2307 var_node_list
= var
;
2308 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2309 var_nodearraylist2
= var1
;
2310 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2311 var_nodearraylist1
= var2
;
2312 var_tstringnode2
= var_nodearraylist1
;
2313 /* <var_tstringnode2:nullable Object> isa nullable TString */
2314 cltype
= type_nullable_parser_nodes__TString
.color
;
2315 idtype
= type_nullable_parser_nodes__TString
.id
;
2316 if(var_tstringnode2
== NULL
) {
2319 if(cltype
>= var_tstringnode2
->type
->table_size
) {
2322 var3
= var_tstringnode2
->type
->type_table
[cltype
] == idtype
;
2326 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2327 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27801);
2330 var_pannotationsnode3
= var_nodearraylist2
;
2331 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
2332 cltype5
= type_nullable_parser_nodes__AAnnotations
.color
;
2333 idtype6
= type_nullable_parser_nodes__AAnnotations
.id
;
2334 if(var_pannotationsnode3
== NULL
) {
2337 if(cltype5
>= var_pannotationsnode3
->type
->table_size
) {
2340 var4
= var_pannotationsnode3
->type
->type_table
[cltype5
] == idtype6
;
2344 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2345 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27803);
2348 var7
= NEW_parser_nodes__AStringExpr(&type_parser_nodes__AStringExpr
);
2349 ((void (*)(val
*, val
*, val
*))(var7
->class->vft
[COLOR_parser_prod__AStringExpr__init_astringexpr
]))(var7
, var_tstringnode2
, var_pannotationsnode3
) /* init_astringexpr on <var7:AStringExpr>*/;
2350 var_pexprnode1
= var7
;
2351 var_node_list
= var_pexprnode1
;
2352 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction801> */
2353 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
2354 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
2357 /* method parser#ReduceAction801#action for (self: Object, Parser) */
2358 void VIRTUAL_parser__ReduceAction801__action(val
* self
, val
* p0
) {
2359 parser__ReduceAction801__action(self
, p0
);
2362 /* method parser#ReduceAction803#action for (self: ReduceAction803, Parser) */
2363 void parser__ReduceAction803__action(val
* self
, val
* p0
) {
2364 val
* var_p
/* var p: Parser */;
2365 val
* var
/* : null */;
2366 val
* var_node_list
/* var node_list: nullable Object */;
2367 val
* var1
/* : nullable Object */;
2368 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2369 val
* var2
/* : nullable Object */;
2370 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2371 val
* var3
/* : nullable Object */;
2372 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2373 val
* var4
/* : nullable Object */;
2374 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2375 val
* var5
/* : nullable Object */;
2376 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2377 val
* var_toparnode2
/* var toparnode2: nullable Object */;
2378 short int var6
/* : Bool */;
2381 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
2382 short int var7
/* : Bool */;
2385 val
* var_tcparnode4
/* var tcparnode4: nullable Object */;
2386 short int var10
/* : Bool */;
2389 val
* var13
/* : AParExpr */;
2390 val
* var14
/* : null */;
2391 val
* var_pexprnode1
/* var pexprnode1: nullable AParExpr */;
2392 long var15
/* : Int */;
2393 long var16
/* : Int */;
2396 var_node_list
= var
;
2397 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2398 var_nodearraylist5
= var1
;
2399 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2400 var_nodearraylist4
= var2
;
2401 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2402 var_nodearraylist3
= var3
;
2403 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2404 var_nodearraylist2
= var4
;
2405 var5
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2406 var_nodearraylist1
= var5
;
2407 var_toparnode2
= var_nodearraylist1
;
2408 /* <var_toparnode2:nullable Object> isa nullable TOpar */
2409 cltype
= type_nullable_parser_nodes__TOpar
.color
;
2410 idtype
= type_nullable_parser_nodes__TOpar
.id
;
2411 if(var_toparnode2
== NULL
) {
2414 if(cltype
>= var_toparnode2
->type
->table_size
) {
2417 var6
= var_toparnode2
->type
->type_table
[cltype
] == idtype
;
2421 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2422 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27823);
2425 var_pexprnode3
= var_nodearraylist3
;
2426 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
2427 cltype8
= type_nullable_parser_nodes__AExpr
.color
;
2428 idtype9
= type_nullable_parser_nodes__AExpr
.id
;
2429 if(var_pexprnode3
== NULL
) {
2432 if(cltype8
>= var_pexprnode3
->type
->table_size
) {
2435 var7
= var_pexprnode3
->type
->type_table
[cltype8
] == idtype9
;
2439 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2440 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27825);
2443 var_tcparnode4
= var_nodearraylist5
;
2444 /* <var_tcparnode4:nullable Object> isa nullable TCpar */
2445 cltype11
= type_nullable_parser_nodes__TCpar
.color
;
2446 idtype12
= type_nullable_parser_nodes__TCpar
.id
;
2447 if(var_tcparnode4
== NULL
) {
2450 if(cltype11
>= var_tcparnode4
->type
->table_size
) {
2453 var10
= var_tcparnode4
->type
->type_table
[cltype11
] == idtype12
;
2457 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2458 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27827);
2461 var13
= NEW_parser_nodes__AParExpr(&type_parser_nodes__AParExpr
);
2463 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var13
->class->vft
[COLOR_parser_prod__AParExpr__init_aparexpr
]))(var13
, var_toparnode2
, var_pexprnode3
, var_tcparnode4
, var14
) /* init_aparexpr on <var13:AParExpr>*/;
2464 var_pexprnode1
= var13
;
2465 var_node_list
= var_pexprnode1
;
2466 var15
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction803> */
2467 var16
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var15
) /* go_to on <var_p:Parser>*/;
2468 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var16
, var_node_list
) /* push on <var_p:Parser>*/;
2471 /* method parser#ReduceAction803#action for (self: Object, Parser) */
2472 void VIRTUAL_parser__ReduceAction803__action(val
* self
, val
* p0
) {
2473 parser__ReduceAction803__action(self
, p0
);
2476 /* method parser#ReduceAction804#action for (self: ReduceAction804, Parser) */
2477 void parser__ReduceAction804__action(val
* self
, val
* p0
) {
2478 val
* var_p
/* var p: Parser */;
2479 val
* var
/* : null */;
2480 val
* var_node_list
/* var node_list: nullable Object */;
2481 val
* var1
/* : nullable Object */;
2482 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
2483 val
* var2
/* : nullable Object */;
2484 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2485 val
* var3
/* : nullable Object */;
2486 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2487 val
* var4
/* : nullable Object */;
2488 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2489 val
* var5
/* : nullable Object */;
2490 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2491 val
* var6
/* : nullable Object */;
2492 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2493 val
* var_toparnode2
/* var toparnode2: nullable Object */;
2494 short int var7
/* : Bool */;
2497 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
2498 short int var8
/* : Bool */;
2501 val
* var_tcparnode4
/* var tcparnode4: nullable Object */;
2502 short int var11
/* : Bool */;
2505 val
* var_pannotationsnode5
/* var pannotationsnode5: nullable Object */;
2506 short int var14
/* : Bool */;
2509 val
* var17
/* : AParExpr */;
2510 val
* var_pexprnode1
/* var pexprnode1: nullable AParExpr */;
2511 long var18
/* : Int */;
2512 long var19
/* : Int */;
2515 var_node_list
= var
;
2516 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2517 var_nodearraylist6
= var1
;
2518 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2519 var_nodearraylist5
= var2
;
2520 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2521 var_nodearraylist4
= var3
;
2522 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2523 var_nodearraylist3
= var4
;
2524 var5
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2525 var_nodearraylist2
= var5
;
2526 var6
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2527 var_nodearraylist1
= var6
;
2528 var_toparnode2
= var_nodearraylist1
;
2529 /* <var_toparnode2:nullable Object> isa nullable TOpar */
2530 cltype
= type_nullable_parser_nodes__TOpar
.color
;
2531 idtype
= type_nullable_parser_nodes__TOpar
.id
;
2532 if(var_toparnode2
== NULL
) {
2535 if(cltype
>= var_toparnode2
->type
->table_size
) {
2538 var7
= var_toparnode2
->type
->type_table
[cltype
] == idtype
;
2542 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2543 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27850);
2546 var_pexprnode3
= var_nodearraylist3
;
2547 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
2548 cltype9
= type_nullable_parser_nodes__AExpr
.color
;
2549 idtype10
= type_nullable_parser_nodes__AExpr
.id
;
2550 if(var_pexprnode3
== NULL
) {
2553 if(cltype9
>= var_pexprnode3
->type
->table_size
) {
2556 var8
= var_pexprnode3
->type
->type_table
[cltype9
] == idtype10
;
2560 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2561 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27852);
2564 var_tcparnode4
= var_nodearraylist5
;
2565 /* <var_tcparnode4:nullable Object> isa nullable TCpar */
2566 cltype12
= type_nullable_parser_nodes__TCpar
.color
;
2567 idtype13
= type_nullable_parser_nodes__TCpar
.id
;
2568 if(var_tcparnode4
== NULL
) {
2571 if(cltype12
>= var_tcparnode4
->type
->table_size
) {
2574 var11
= var_tcparnode4
->type
->type_table
[cltype12
] == idtype13
;
2578 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2579 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27854);
2582 var_pannotationsnode5
= var_nodearraylist6
;
2583 /* <var_pannotationsnode5:nullable Object> isa nullable AAnnotations */
2584 cltype15
= type_nullable_parser_nodes__AAnnotations
.color
;
2585 idtype16
= type_nullable_parser_nodes__AAnnotations
.id
;
2586 if(var_pannotationsnode5
== NULL
) {
2589 if(cltype15
>= var_pannotationsnode5
->type
->table_size
) {
2592 var14
= var_pannotationsnode5
->type
->type_table
[cltype15
] == idtype16
;
2596 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2597 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27856);
2600 var17
= NEW_parser_nodes__AParExpr(&type_parser_nodes__AParExpr
);
2601 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var17
->class->vft
[COLOR_parser_prod__AParExpr__init_aparexpr
]))(var17
, var_toparnode2
, var_pexprnode3
, var_tcparnode4
, var_pannotationsnode5
) /* init_aparexpr on <var17:AParExpr>*/;
2602 var_pexprnode1
= var17
;
2603 var_node_list
= var_pexprnode1
;
2604 var18
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction804> */
2605 var19
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var18
) /* go_to on <var_p:Parser>*/;
2606 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var19
, var_node_list
) /* push on <var_p:Parser>*/;
2609 /* method parser#ReduceAction804#action for (self: Object, Parser) */
2610 void VIRTUAL_parser__ReduceAction804__action(val
* self
, val
* p0
) {
2611 parser__ReduceAction804__action(self
, p0
);
2614 /* method parser#ReduceAction805#action for (self: ReduceAction805, Parser) */
2615 void parser__ReduceAction805__action(val
* self
, val
* p0
) {
2616 val
* var_p
/* var p: Parser */;
2617 val
* var
/* : null */;
2618 val
* var_node_list
/* var node_list: nullable Object */;
2619 val
* var1
/* : nullable Object */;
2620 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
2621 val
* var2
/* : nullable Object */;
2622 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
2623 val
* var3
/* : nullable Object */;
2624 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
2625 val
* var4
/* : nullable Object */;
2626 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
2627 val
* var5
/* : nullable Object */;
2628 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
2629 val
* var6
/* : nullable Object */;
2630 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2631 val
* var7
/* : nullable Object */;
2632 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2633 val
* var8
/* : nullable Object */;
2634 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2635 val
* var9
/* : nullable Object */;
2636 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2637 val
* var10
/* : nullable Object */;
2638 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2639 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
2640 short int var11
/* : Bool */;
2643 val
* var_tkwasnode3
/* var tkwasnode3: nullable Object */;
2644 short int var12
/* : Bool */;
2647 val
* var_toparnode4
/* var toparnode4: nullable Object */;
2648 short int var15
/* : Bool */;
2651 val
* var_ptypenode5
/* var ptypenode5: nullable Object */;
2652 short int var18
/* : Bool */;
2655 val
* var_tcparnode6
/* var tcparnode6: nullable Object */;
2656 short int var21
/* : Bool */;
2659 val
* var24
/* : AAsCastExpr */;
2660 val
* var_pexprnode1
/* var pexprnode1: nullable AAsCastExpr */;
2661 long var25
/* : Int */;
2662 long var26
/* : Int */;
2665 var_node_list
= var
;
2666 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2667 var_nodearraylist10
= var1
;
2668 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2669 var_nodearraylist9
= var2
;
2670 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2671 var_nodearraylist8
= var3
;
2672 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2673 var_nodearraylist7
= var4
;
2674 var5
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2675 var_nodearraylist6
= var5
;
2676 var6
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2677 var_nodearraylist5
= var6
;
2678 var7
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2679 var_nodearraylist4
= var7
;
2680 var8
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2681 var_nodearraylist3
= var8
;
2682 var9
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2683 var_nodearraylist2
= var9
;
2684 var10
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2685 var_nodearraylist1
= var10
;
2686 var_pexprnode2
= var_nodearraylist1
;
2687 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
2688 cltype
= type_nullable_parser_nodes__AExpr
.color
;
2689 idtype
= type_nullable_parser_nodes__AExpr
.id
;
2690 if(var_pexprnode2
== NULL
) {
2693 if(cltype
>= var_pexprnode2
->type
->table_size
) {
2696 var11
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
2700 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2701 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27883);
2704 var_tkwasnode3
= var_nodearraylist4
;
2705 /* <var_tkwasnode3:nullable Object> isa nullable TKwas */
2706 cltype13
= type_nullable_parser_nodes__TKwas
.color
;
2707 idtype14
= type_nullable_parser_nodes__TKwas
.id
;
2708 if(var_tkwasnode3
== NULL
) {
2711 if(cltype13
>= var_tkwasnode3
->type
->table_size
) {
2714 var12
= var_tkwasnode3
->type
->type_table
[cltype13
] == idtype14
;
2718 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2719 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27885);
2722 var_toparnode4
= var_nodearraylist6
;
2723 /* <var_toparnode4:nullable Object> isa nullable TOpar */
2724 cltype16
= type_nullable_parser_nodes__TOpar
.color
;
2725 idtype17
= type_nullable_parser_nodes__TOpar
.id
;
2726 if(var_toparnode4
== NULL
) {
2729 if(cltype16
>= var_toparnode4
->type
->table_size
) {
2732 var15
= var_toparnode4
->type
->type_table
[cltype16
] == idtype17
;
2736 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2737 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27887);
2740 var_ptypenode5
= var_nodearraylist8
;
2741 /* <var_ptypenode5:nullable Object> isa nullable AType */
2742 cltype19
= type_nullable_parser_nodes__AType
.color
;
2743 idtype20
= type_nullable_parser_nodes__AType
.id
;
2744 if(var_ptypenode5
== NULL
) {
2747 if(cltype19
>= var_ptypenode5
->type
->table_size
) {
2750 var18
= var_ptypenode5
->type
->type_table
[cltype19
] == idtype20
;
2754 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2755 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27889);
2758 var_tcparnode6
= var_nodearraylist10
;
2759 /* <var_tcparnode6:nullable Object> isa nullable TCpar */
2760 cltype22
= type_nullable_parser_nodes__TCpar
.color
;
2761 idtype23
= type_nullable_parser_nodes__TCpar
.id
;
2762 if(var_tcparnode6
== NULL
) {
2765 if(cltype22
>= var_tcparnode6
->type
->table_size
) {
2768 var21
= var_tcparnode6
->type
->type_table
[cltype22
] == idtype23
;
2772 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2773 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27891);
2776 var24
= NEW_parser_nodes__AAsCastExpr(&type_parser_nodes__AAsCastExpr
);
2777 ((void (*)(val
*, val
*, val
*, val
*, val
*, val
*))(var24
->class->vft
[COLOR_parser_prod__AAsCastExpr__init_aascastexpr
]))(var24
, var_pexprnode2
, var_tkwasnode3
, var_toparnode4
, var_ptypenode5
, var_tcparnode6
) /* init_aascastexpr on <var24:AAsCastExpr>*/;
2778 var_pexprnode1
= var24
;
2779 var_node_list
= var_pexprnode1
;
2780 var25
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction805> */
2781 var26
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var25
) /* go_to on <var_p:Parser>*/;
2782 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var26
, var_node_list
) /* push on <var_p:Parser>*/;
2785 /* method parser#ReduceAction805#action for (self: Object, Parser) */
2786 void VIRTUAL_parser__ReduceAction805__action(val
* self
, val
* p0
) {
2787 parser__ReduceAction805__action(self
, p0
);
2790 /* method parser#ReduceAction806#action for (self: ReduceAction806, Parser) */
2791 void parser__ReduceAction806__action(val
* self
, val
* p0
) {
2792 val
* var_p
/* var p: Parser */;
2793 val
* var
/* : null */;
2794 val
* var_node_list
/* var node_list: nullable Object */;
2795 val
* var1
/* : nullable Object */;
2796 val
* var_nodearraylist12
/* var nodearraylist12: nullable Object */;
2797 val
* var2
/* : nullable Object */;
2798 val
* var_nodearraylist11
/* var nodearraylist11: nullable Object */;
2799 val
* var3
/* : nullable Object */;
2800 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
2801 val
* var4
/* : nullable Object */;
2802 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
2803 val
* var5
/* : nullable Object */;
2804 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
2805 val
* var6
/* : nullable Object */;
2806 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
2807 val
* var7
/* : nullable Object */;
2808 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
2809 val
* var8
/* : nullable Object */;
2810 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2811 val
* var9
/* : nullable Object */;
2812 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2813 val
* var10
/* : nullable Object */;
2814 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2815 val
* var11
/* : nullable Object */;
2816 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2817 val
* var12
/* : nullable Object */;
2818 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2819 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
2820 short int var13
/* : Bool */;
2823 val
* var_tkwasnode3
/* var tkwasnode3: nullable Object */;
2824 short int var14
/* : Bool */;
2827 val
* var_toparnode4
/* var toparnode4: nullable Object */;
2828 short int var17
/* : Bool */;
2831 val
* var_tkwnotnode5
/* var tkwnotnode5: nullable Object */;
2832 short int var20
/* : Bool */;
2835 val
* var_tkwnullnode6
/* var tkwnullnode6: nullable Object */;
2836 short int var23
/* : Bool */;
2839 val
* var_tcparnode7
/* var tcparnode7: nullable Object */;
2840 short int var26
/* : Bool */;
2843 val
* var29
/* : AAsNotnullExpr */;
2844 val
* var_pexprnode1
/* var pexprnode1: nullable AAsNotnullExpr */;
2845 long var30
/* : Int */;
2846 long var31
/* : Int */;
2849 var_node_list
= var
;
2850 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2851 var_nodearraylist12
= var1
;
2852 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2853 var_nodearraylist11
= var2
;
2854 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2855 var_nodearraylist10
= var3
;
2856 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2857 var_nodearraylist9
= var4
;
2858 var5
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2859 var_nodearraylist8
= var5
;
2860 var6
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2861 var_nodearraylist7
= var6
;
2862 var7
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2863 var_nodearraylist6
= var7
;
2864 var8
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2865 var_nodearraylist5
= var8
;
2866 var9
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2867 var_nodearraylist4
= var9
;
2868 var10
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2869 var_nodearraylist3
= var10
;
2870 var11
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2871 var_nodearraylist2
= var11
;
2872 var12
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2873 var_nodearraylist1
= var12
;
2874 var_pexprnode2
= var_nodearraylist1
;
2875 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
2876 cltype
= type_nullable_parser_nodes__AExpr
.color
;
2877 idtype
= type_nullable_parser_nodes__AExpr
.id
;
2878 if(var_pexprnode2
== NULL
) {
2881 if(cltype
>= var_pexprnode2
->type
->table_size
) {
2884 var13
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
2888 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2889 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27921);
2892 var_tkwasnode3
= var_nodearraylist4
;
2893 /* <var_tkwasnode3:nullable Object> isa nullable TKwas */
2894 cltype15
= type_nullable_parser_nodes__TKwas
.color
;
2895 idtype16
= type_nullable_parser_nodes__TKwas
.id
;
2896 if(var_tkwasnode3
== NULL
) {
2899 if(cltype15
>= var_tkwasnode3
->type
->table_size
) {
2902 var14
= var_tkwasnode3
->type
->type_table
[cltype15
] == idtype16
;
2906 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2907 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27923);
2910 var_toparnode4
= var_nodearraylist6
;
2911 /* <var_toparnode4:nullable Object> isa nullable TOpar */
2912 cltype18
= type_nullable_parser_nodes__TOpar
.color
;
2913 idtype19
= type_nullable_parser_nodes__TOpar
.id
;
2914 if(var_toparnode4
== NULL
) {
2917 if(cltype18
>= var_toparnode4
->type
->table_size
) {
2920 var17
= var_toparnode4
->type
->type_table
[cltype18
] == idtype19
;
2924 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2925 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27925);
2928 var_tkwnotnode5
= var_nodearraylist8
;
2929 /* <var_tkwnotnode5:nullable Object> isa nullable TKwnot */
2930 cltype21
= type_nullable_parser_nodes__TKwnot
.color
;
2931 idtype22
= type_nullable_parser_nodes__TKwnot
.id
;
2932 if(var_tkwnotnode5
== NULL
) {
2935 if(cltype21
>= var_tkwnotnode5
->type
->table_size
) {
2938 var20
= var_tkwnotnode5
->type
->type_table
[cltype21
] == idtype22
;
2942 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2943 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27927);
2946 var_tkwnullnode6
= var_nodearraylist10
;
2947 /* <var_tkwnullnode6:nullable Object> isa nullable TKwnull */
2948 cltype24
= type_nullable_parser_nodes__TKwnull
.color
;
2949 idtype25
= type_nullable_parser_nodes__TKwnull
.id
;
2950 if(var_tkwnullnode6
== NULL
) {
2953 if(cltype24
>= var_tkwnullnode6
->type
->table_size
) {
2956 var23
= var_tkwnullnode6
->type
->type_table
[cltype24
] == idtype25
;
2960 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2961 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27929);
2964 var_tcparnode7
= var_nodearraylist12
;
2965 /* <var_tcparnode7:nullable Object> isa nullable TCpar */
2966 cltype27
= type_nullable_parser_nodes__TCpar
.color
;
2967 idtype28
= type_nullable_parser_nodes__TCpar
.id
;
2968 if(var_tcparnode7
== NULL
) {
2971 if(cltype27
>= var_tcparnode7
->type
->table_size
) {
2974 var26
= var_tcparnode7
->type
->type_table
[cltype27
] == idtype28
;
2978 fprintf(stderr
, "Runtime error: %s", "Assert failed");
2979 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27931);
2982 var29
= NEW_parser_nodes__AAsNotnullExpr(&type_parser_nodes__AAsNotnullExpr
);
2983 ((void (*)(val
*, val
*, val
*, val
*, val
*, val
*, val
*))(var29
->class->vft
[COLOR_parser_prod__AAsNotnullExpr__init_aasnotnullexpr
]))(var29
, var_pexprnode2
, var_tkwasnode3
, var_toparnode4
, var_tkwnotnode5
, var_tkwnullnode6
, var_tcparnode7
) /* init_aasnotnullexpr on <var29:AAsNotnullExpr>*/;
2984 var_pexprnode1
= var29
;
2985 var_node_list
= var_pexprnode1
;
2986 var30
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction806> */
2987 var31
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var30
) /* go_to on <var_p:Parser>*/;
2988 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var31
, var_node_list
) /* push on <var_p:Parser>*/;
2991 /* method parser#ReduceAction806#action for (self: Object, Parser) */
2992 void VIRTUAL_parser__ReduceAction806__action(val
* self
, val
* p0
) {
2993 parser__ReduceAction806__action(self
, p0
);
2996 /* method parser#ReduceAction807#action for (self: ReduceAction807, Parser) */
2997 void parser__ReduceAction807__action(val
* self
, val
* p0
) {
2998 val
* var_p
/* var p: Parser */;
2999 val
* var
/* : null */;
3000 val
* var_node_list
/* var node_list: nullable Object */;
3001 val
* var1
/* : nullable Object */;
3002 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3003 val
* var2
/* : nullable Object */;
3004 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3005 val
* var3
/* : Array[Object] */;
3006 val
* var_listnode4
/* var listnode4: Array[Object] */;
3007 val
* var_listnode2
/* var listnode2: nullable Object */;
3008 short int var4
/* : Bool */;
3011 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
3012 short int var5
/* : Bool */;
3015 val
* var8
/* : Array[Object] */;
3016 val
* var9
/* : null */;
3017 short int var10
/* : Bool */;
3018 val
* var11
/* : ASuperstringExpr */;
3019 val
* var12
/* : null */;
3020 val
* var_pexprnode1
/* var pexprnode1: nullable ASuperstringExpr */;
3021 long var13
/* : Int */;
3022 long var14
/* : Int */;
3025 var_node_list
= var
;
3026 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3027 var_nodearraylist2
= var1
;
3028 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3029 var_nodearraylist1
= var2
;
3030 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
3031 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
3032 var_listnode4
= var3
;
3033 var_listnode2
= var_nodearraylist1
;
3034 /* <var_listnode2:nullable Object> isa Array[Object] */
3035 cltype
= type_array__Arraykernel__Object
.color
;
3036 idtype
= type_array__Arraykernel__Object
.id
;
3037 if(var_listnode2
== NULL
) {
3040 if(cltype
>= var_listnode2
->type
->table_size
) {
3043 var4
= var_listnode2
->type
->type_table
[cltype
] == idtype
;
3047 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3048 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27953);
3051 var_pexprnode3
= var_nodearraylist2
;
3052 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
3053 cltype6
= type_nullable_parser_nodes__AExpr
.color
;
3054 idtype7
= type_nullable_parser_nodes__AExpr
.id
;
3055 if(var_pexprnode3
== NULL
) {
3058 if(cltype6
>= var_pexprnode3
->type
->table_size
) {
3061 var5
= var_pexprnode3
->type
->type_table
[cltype6
] == idtype7
;
3065 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3066 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27955);
3069 var8
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode2
) /* concat on <self:ReduceAction807>*/;
3070 var_listnode4
= var8
;
3072 if (var_pexprnode3
== NULL
) {
3073 var10
= 0; /* is null */
3075 var10
= 1; /* arg is null and recv is not */
3078 ((void (*)(val
*, val
*))(var_listnode4
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode4
, var_pexprnode3
) /* add on <var_listnode4:Array[Object]>*/;
3081 var11
= NEW_parser_nodes__ASuperstringExpr(&type_parser_nodes__ASuperstringExpr
);
3083 ((void (*)(val
*, val
*, val
*))(var11
->class->vft
[COLOR_parser_prod__ASuperstringExpr__init_asuperstringexpr
]))(var11
, var_listnode4
, var12
) /* init_asuperstringexpr on <var11:ASuperstringExpr>*/;
3084 var_pexprnode1
= var11
;
3085 var_node_list
= var_pexprnode1
;
3086 var13
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction807> */
3087 var14
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var13
) /* go_to on <var_p:Parser>*/;
3088 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var14
, var_node_list
) /* push on <var_p:Parser>*/;
3091 /* method parser#ReduceAction807#action for (self: Object, Parser) */
3092 void VIRTUAL_parser__ReduceAction807__action(val
* self
, val
* p0
) {
3093 parser__ReduceAction807__action(self
, p0
);
3096 /* method parser#ReduceAction808#action for (self: ReduceAction808, Parser) */
3097 void parser__ReduceAction808__action(val
* self
, val
* p0
) {
3098 val
* var_p
/* var p: Parser */;
3099 val
* var
/* : null */;
3100 val
* var_node_list
/* var node_list: nullable Object */;
3101 val
* var1
/* : nullable Object */;
3102 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3103 val
* var2
/* : nullable Object */;
3104 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3105 val
* var3
/* : nullable Object */;
3106 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3107 val
* var4
/* : Array[Object] */;
3108 val
* var_listnode5
/* var listnode5: Array[Object] */;
3109 val
* var_listnode2
/* var listnode2: nullable Object */;
3110 short int var5
/* : Bool */;
3113 val
* var_listnode3
/* var listnode3: nullable Object */;
3114 short int var6
/* : Bool */;
3117 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
3118 short int var9
/* : Bool */;
3121 val
* var12
/* : Array[Object] */;
3122 val
* var13
/* : Array[Object] */;
3123 val
* var14
/* : null */;
3124 short int var15
/* : Bool */;
3125 val
* var16
/* : ASuperstringExpr */;
3126 val
* var17
/* : null */;
3127 val
* var_pexprnode1
/* var pexprnode1: nullable ASuperstringExpr */;
3128 long var18
/* : Int */;
3129 long var19
/* : Int */;
3132 var_node_list
= var
;
3133 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3134 var_nodearraylist3
= var1
;
3135 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3136 var_nodearraylist2
= var2
;
3137 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3138 var_nodearraylist1
= var3
;
3139 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
3140 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
3141 var_listnode5
= var4
;
3142 var_listnode2
= var_nodearraylist1
;
3143 /* <var_listnode2:nullable Object> isa Array[Object] */
3144 cltype
= type_array__Arraykernel__Object
.color
;
3145 idtype
= type_array__Arraykernel__Object
.id
;
3146 if(var_listnode2
== NULL
) {
3149 if(cltype
>= var_listnode2
->type
->table_size
) {
3152 var5
= var_listnode2
->type
->type_table
[cltype
] == idtype
;
3156 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3157 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27978);
3160 var_listnode3
= var_nodearraylist2
;
3161 /* <var_listnode3:nullable Object> isa Array[Object] */
3162 cltype7
= type_array__Arraykernel__Object
.color
;
3163 idtype8
= type_array__Arraykernel__Object
.id
;
3164 if(var_listnode3
== NULL
) {
3167 if(cltype7
>= var_listnode3
->type
->table_size
) {
3170 var6
= var_listnode3
->type
->type_table
[cltype7
] == idtype8
;
3174 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3175 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27980);
3178 var_pexprnode4
= var_nodearraylist3
;
3179 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
3180 cltype10
= type_nullable_parser_nodes__AExpr
.color
;
3181 idtype11
= type_nullable_parser_nodes__AExpr
.id
;
3182 if(var_pexprnode4
== NULL
) {
3185 if(cltype10
>= var_pexprnode4
->type
->table_size
) {
3188 var9
= var_pexprnode4
->type
->type_table
[cltype10
] == idtype11
;
3192 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3193 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 27982);
3196 var12
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode2
) /* concat on <self:ReduceAction808>*/;
3197 var_listnode5
= var12
;
3198 var13
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode3
) /* concat on <self:ReduceAction808>*/;
3199 var_listnode5
= var13
;
3201 if (var_pexprnode4
== NULL
) {
3202 var15
= 0; /* is null */
3204 var15
= 1; /* arg is null and recv is not */
3207 ((void (*)(val
*, val
*))(var_listnode5
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode5
, var_pexprnode4
) /* add on <var_listnode5:Array[Object]>*/;
3210 var16
= NEW_parser_nodes__ASuperstringExpr(&type_parser_nodes__ASuperstringExpr
);
3212 ((void (*)(val
*, val
*, val
*))(var16
->class->vft
[COLOR_parser_prod__ASuperstringExpr__init_asuperstringexpr
]))(var16
, var_listnode5
, var17
) /* init_asuperstringexpr on <var16:ASuperstringExpr>*/;
3213 var_pexprnode1
= var16
;
3214 var_node_list
= var_pexprnode1
;
3215 var18
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction808> */
3216 var19
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var18
) /* go_to on <var_p:Parser>*/;
3217 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var19
, var_node_list
) /* push on <var_p:Parser>*/;
3220 /* method parser#ReduceAction808#action for (self: Object, Parser) */
3221 void VIRTUAL_parser__ReduceAction808__action(val
* self
, val
* p0
) {
3222 parser__ReduceAction808__action(self
, p0
);
3225 /* method parser#ReduceAction809#action for (self: ReduceAction809, Parser) */
3226 void parser__ReduceAction809__action(val
* self
, val
* p0
) {
3227 val
* var_p
/* var p: Parser */;
3228 val
* var
/* : null */;
3229 val
* var_node_list
/* var node_list: nullable Object */;
3230 val
* var1
/* : nullable Object */;
3231 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3232 val
* var2
/* : nullable Object */;
3233 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3234 val
* var3
/* : nullable Object */;
3235 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3236 val
* var4
/* : Array[Object] */;
3237 val
* var_listnode4
/* var listnode4: Array[Object] */;
3238 val
* var_listnode2
/* var listnode2: nullable Object */;
3239 short int var5
/* : Bool */;
3242 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
3243 short int var6
/* : Bool */;
3246 val
* var9
/* : Array[Object] */;
3247 val
* var10
/* : null */;
3248 short int var11
/* : Bool */;
3249 val
* var_pannotationsnode5
/* var pannotationsnode5: nullable Object */;
3250 short int var12
/* : Bool */;
3253 val
* var15
/* : ASuperstringExpr */;
3254 val
* var_pexprnode1
/* var pexprnode1: nullable ASuperstringExpr */;
3255 long var16
/* : Int */;
3256 long var17
/* : Int */;
3259 var_node_list
= var
;
3260 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3261 var_nodearraylist3
= var1
;
3262 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3263 var_nodearraylist2
= var2
;
3264 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3265 var_nodearraylist1
= var3
;
3266 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
3267 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
3268 var_listnode4
= var4
;
3269 var_listnode2
= var_nodearraylist1
;
3270 /* <var_listnode2:nullable Object> isa Array[Object] */
3271 cltype
= type_array__Arraykernel__Object
.color
;
3272 idtype
= type_array__Arraykernel__Object
.id
;
3273 if(var_listnode2
== NULL
) {
3276 if(cltype
>= var_listnode2
->type
->table_size
) {
3279 var5
= var_listnode2
->type
->type_table
[cltype
] == idtype
;
3283 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3284 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28006);
3287 var_pexprnode3
= var_nodearraylist2
;
3288 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
3289 cltype7
= type_nullable_parser_nodes__AExpr
.color
;
3290 idtype8
= type_nullable_parser_nodes__AExpr
.id
;
3291 if(var_pexprnode3
== NULL
) {
3294 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
3297 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
3301 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3302 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28008);
3305 var9
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode2
) /* concat on <self:ReduceAction809>*/;
3306 var_listnode4
= var9
;
3308 if (var_pexprnode3
== NULL
) {
3309 var11
= 0; /* is null */
3311 var11
= 1; /* arg is null and recv is not */
3314 ((void (*)(val
*, val
*))(var_listnode4
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode4
, var_pexprnode3
) /* add on <var_listnode4:Array[Object]>*/;
3317 var_pannotationsnode5
= var_nodearraylist3
;
3318 /* <var_pannotationsnode5:nullable Object> isa nullable AAnnotations */
3319 cltype13
= type_nullable_parser_nodes__AAnnotations
.color
;
3320 idtype14
= type_nullable_parser_nodes__AAnnotations
.id
;
3321 if(var_pannotationsnode5
== NULL
) {
3324 if(cltype13
>= var_pannotationsnode5
->type
->table_size
) {
3327 var12
= var_pannotationsnode5
->type
->type_table
[cltype13
] == idtype14
;
3331 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3332 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28014);
3335 var15
= NEW_parser_nodes__ASuperstringExpr(&type_parser_nodes__ASuperstringExpr
);
3336 ((void (*)(val
*, val
*, val
*))(var15
->class->vft
[COLOR_parser_prod__ASuperstringExpr__init_asuperstringexpr
]))(var15
, var_listnode4
, var_pannotationsnode5
) /* init_asuperstringexpr on <var15:ASuperstringExpr>*/;
3337 var_pexprnode1
= var15
;
3338 var_node_list
= var_pexprnode1
;
3339 var16
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction809> */
3340 var17
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var16
) /* go_to on <var_p:Parser>*/;
3341 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var17
, var_node_list
) /* push on <var_p:Parser>*/;
3344 /* method parser#ReduceAction809#action for (self: Object, Parser) */
3345 void VIRTUAL_parser__ReduceAction809__action(val
* self
, val
* p0
) {
3346 parser__ReduceAction809__action(self
, p0
);
3349 /* method parser#ReduceAction810#action for (self: ReduceAction810, Parser) */
3350 void parser__ReduceAction810__action(val
* self
, val
* p0
) {
3351 val
* var_p
/* var p: Parser */;
3352 val
* var
/* : null */;
3353 val
* var_node_list
/* var node_list: nullable Object */;
3354 val
* var1
/* : nullable Object */;
3355 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3356 val
* var2
/* : nullable Object */;
3357 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3358 val
* var3
/* : nullable Object */;
3359 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3360 val
* var4
/* : nullable Object */;
3361 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3362 val
* var5
/* : Array[Object] */;
3363 val
* var_listnode5
/* var listnode5: Array[Object] */;
3364 val
* var_listnode2
/* var listnode2: nullable Object */;
3365 short int var6
/* : Bool */;
3368 val
* var_listnode3
/* var listnode3: nullable Object */;
3369 short int var7
/* : Bool */;
3372 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
3373 short int var10
/* : Bool */;
3376 val
* var13
/* : Array[Object] */;
3377 val
* var14
/* : Array[Object] */;
3378 val
* var15
/* : null */;
3379 short int var16
/* : Bool */;
3380 val
* var_pannotationsnode6
/* var pannotationsnode6: nullable Object */;
3381 short int var17
/* : Bool */;
3384 val
* var20
/* : ASuperstringExpr */;
3385 val
* var_pexprnode1
/* var pexprnode1: nullable ASuperstringExpr */;
3386 long var21
/* : Int */;
3387 long var22
/* : Int */;
3390 var_node_list
= var
;
3391 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3392 var_nodearraylist4
= var1
;
3393 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3394 var_nodearraylist3
= var2
;
3395 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3396 var_nodearraylist2
= var3
;
3397 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3398 var_nodearraylist1
= var4
;
3399 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
3400 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
3401 var_listnode5
= var5
;
3402 var_listnode2
= var_nodearraylist1
;
3403 /* <var_listnode2:nullable Object> isa Array[Object] */
3404 cltype
= type_array__Arraykernel__Object
.color
;
3405 idtype
= type_array__Arraykernel__Object
.id
;
3406 if(var_listnode2
== NULL
) {
3409 if(cltype
>= var_listnode2
->type
->table_size
) {
3412 var6
= var_listnode2
->type
->type_table
[cltype
] == idtype
;
3416 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3417 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28034);
3420 var_listnode3
= var_nodearraylist2
;
3421 /* <var_listnode3:nullable Object> isa Array[Object] */
3422 cltype8
= type_array__Arraykernel__Object
.color
;
3423 idtype9
= type_array__Arraykernel__Object
.id
;
3424 if(var_listnode3
== NULL
) {
3427 if(cltype8
>= var_listnode3
->type
->table_size
) {
3430 var7
= var_listnode3
->type
->type_table
[cltype8
] == idtype9
;
3434 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3435 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28036);
3438 var_pexprnode4
= var_nodearraylist3
;
3439 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
3440 cltype11
= type_nullable_parser_nodes__AExpr
.color
;
3441 idtype12
= type_nullable_parser_nodes__AExpr
.id
;
3442 if(var_pexprnode4
== NULL
) {
3445 if(cltype11
>= var_pexprnode4
->type
->table_size
) {
3448 var10
= var_pexprnode4
->type
->type_table
[cltype11
] == idtype12
;
3452 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3453 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28038);
3456 var13
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode2
) /* concat on <self:ReduceAction810>*/;
3457 var_listnode5
= var13
;
3458 var14
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode3
) /* concat on <self:ReduceAction810>*/;
3459 var_listnode5
= var14
;
3461 if (var_pexprnode4
== NULL
) {
3462 var16
= 0; /* is null */
3464 var16
= 1; /* arg is null and recv is not */
3467 ((void (*)(val
*, val
*))(var_listnode5
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode5
, var_pexprnode4
) /* add on <var_listnode5:Array[Object]>*/;
3470 var_pannotationsnode6
= var_nodearraylist4
;
3471 /* <var_pannotationsnode6:nullable Object> isa nullable AAnnotations */
3472 cltype18
= type_nullable_parser_nodes__AAnnotations
.color
;
3473 idtype19
= type_nullable_parser_nodes__AAnnotations
.id
;
3474 if(var_pannotationsnode6
== NULL
) {
3477 if(cltype18
>= var_pannotationsnode6
->type
->table_size
) {
3480 var17
= var_pannotationsnode6
->type
->type_table
[cltype18
] == idtype19
;
3484 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3485 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28045);
3488 var20
= NEW_parser_nodes__ASuperstringExpr(&type_parser_nodes__ASuperstringExpr
);
3489 ((void (*)(val
*, val
*, val
*))(var20
->class->vft
[COLOR_parser_prod__ASuperstringExpr__init_asuperstringexpr
]))(var20
, var_listnode5
, var_pannotationsnode6
) /* init_asuperstringexpr on <var20:ASuperstringExpr>*/;
3490 var_pexprnode1
= var20
;
3491 var_node_list
= var_pexprnode1
;
3492 var21
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction810> */
3493 var22
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var21
) /* go_to on <var_p:Parser>*/;
3494 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var22
, var_node_list
) /* push on <var_p:Parser>*/;
3497 /* method parser#ReduceAction810#action for (self: Object, Parser) */
3498 void VIRTUAL_parser__ReduceAction810__action(val
* self
, val
* p0
) {
3499 parser__ReduceAction810__action(self
, p0
);
3502 /* method parser#ReduceAction811#action for (self: ReduceAction811, Parser) */
3503 void parser__ReduceAction811__action(val
* self
, val
* p0
) {
3504 val
* var_p
/* var p: Parser */;
3505 val
* var
/* : null */;
3506 val
* var_node_list
/* var node_list: nullable Object */;
3507 val
* var1
/* : nullable Object */;
3508 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3509 val
* var2
/* : nullable Object */;
3510 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3511 val
* var3
/* : nullable Object */;
3512 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3513 val
* var4
/* : nullable Object */;
3514 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3515 val
* var5
/* : Array[Object] */;
3516 val
* var_listnode3
/* var listnode3: Array[Object] */;
3517 val
* var_pexprnode1
/* var pexprnode1: nullable Object */;
3518 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
3519 val
* var6
/* : null */;
3520 short int var7
/* : Bool */;
3521 val
* var8
/* : null */;
3522 short int var9
/* : Bool */;
3523 long var10
/* : Int */;
3524 long var11
/* : Int */;
3527 var_node_list
= var
;
3528 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3529 var_nodearraylist4
= var1
;
3530 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3531 var_nodearraylist3
= var2
;
3532 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3533 var_nodearraylist2
= var3
;
3534 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3535 var_nodearraylist1
= var4
;
3536 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
3537 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
3538 var_listnode3
= var5
;
3539 var_pexprnode1
= var_nodearraylist1
;
3540 var_pexprnode2
= var_nodearraylist3
;
3542 if (var_pexprnode1
== NULL
) {
3543 var7
= 0; /* is null */
3545 var7
= 1; /* arg is null and recv is not */
3548 ((void (*)(val
*, val
*))(var_listnode3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode3
, var_pexprnode1
) /* add on <var_listnode3:Array[Object]>*/;
3552 if (var_pexprnode2
== NULL
) {
3553 var9
= 0; /* is null */
3555 var9
= 1; /* arg is null and recv is not */
3558 ((void (*)(val
*, val
*))(var_listnode3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode3
, var_pexprnode2
) /* add on <var_listnode3:Array[Object]>*/;
3561 var_node_list
= var_listnode3
;
3562 var10
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction811> */
3563 var11
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var10
) /* go_to on <var_p:Parser>*/;
3564 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var11
, var_node_list
) /* push on <var_p:Parser>*/;
3567 /* method parser#ReduceAction811#action for (self: Object, Parser) */
3568 void VIRTUAL_parser__ReduceAction811__action(val
* self
, val
* p0
) {
3569 parser__ReduceAction811__action(self
, p0
);
3572 /* method parser#ReduceAction812#action for (self: ReduceAction812, Parser) */
3573 void parser__ReduceAction812__action(val
* self
, val
* p0
) {
3574 val
* var_p
/* var p: Parser */;
3575 val
* var
/* : null */;
3576 val
* var_node_list
/* var node_list: nullable Object */;
3577 val
* var1
/* : nullable Object */;
3578 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3579 val
* var_tstartstringnode2
/* var tstartstringnode2: nullable Object */;
3580 short int var2
/* : Bool */;
3583 val
* var3
/* : AStartStringExpr */;
3584 val
* var_pexprnode1
/* var pexprnode1: nullable AStartStringExpr */;
3585 long var4
/* : Int */;
3586 long var5
/* : Int */;
3589 var_node_list
= var
;
3590 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3591 var_nodearraylist1
= var1
;
3592 var_tstartstringnode2
= var_nodearraylist1
;
3593 /* <var_tstartstringnode2:nullable Object> isa nullable TStartString */
3594 cltype
= type_nullable_parser_nodes__TStartString
.color
;
3595 idtype
= type_nullable_parser_nodes__TStartString
.id
;
3596 if(var_tstartstringnode2
== NULL
) {
3599 if(cltype
>= var_tstartstringnode2
->type
->table_size
) {
3602 var2
= var_tstartstringnode2
->type
->type_table
[cltype
] == idtype
;
3606 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3607 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28083);
3610 var3
= NEW_parser_nodes__AStartStringExpr(&type_parser_nodes__AStartStringExpr
);
3611 ((void (*)(val
*, val
*))(var3
->class->vft
[COLOR_parser_prod__AStartStringExpr__init_astartstringexpr
]))(var3
, var_tstartstringnode2
) /* init_astartstringexpr on <var3:AStartStringExpr>*/;
3612 var_pexprnode1
= var3
;
3613 var_node_list
= var_pexprnode1
;
3614 var4
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction812> */
3615 var5
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var4
) /* go_to on <var_p:Parser>*/;
3616 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var5
, var_node_list
) /* push on <var_p:Parser>*/;
3619 /* method parser#ReduceAction812#action for (self: Object, Parser) */
3620 void VIRTUAL_parser__ReduceAction812__action(val
* self
, val
* p0
) {
3621 parser__ReduceAction812__action(self
, p0
);
3624 /* method parser#ReduceAction814#action for (self: ReduceAction814, Parser) */
3625 void parser__ReduceAction814__action(val
* self
, val
* p0
) {
3626 val
* var_p
/* var p: Parser */;
3627 val
* var
/* : null */;
3628 val
* var_node_list
/* var node_list: nullable Object */;
3629 val
* var1
/* : nullable Object */;
3630 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3631 val
* var_tmidstringnode2
/* var tmidstringnode2: nullable Object */;
3632 short int var2
/* : Bool */;
3635 val
* var3
/* : AMidStringExpr */;
3636 val
* var_pexprnode1
/* var pexprnode1: nullable AMidStringExpr */;
3637 long var4
/* : Int */;
3638 long var5
/* : Int */;
3641 var_node_list
= var
;
3642 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3643 var_nodearraylist1
= var1
;
3644 var_tmidstringnode2
= var_nodearraylist1
;
3645 /* <var_tmidstringnode2:nullable Object> isa nullable TMidString */
3646 cltype
= type_nullable_parser_nodes__TMidString
.color
;
3647 idtype
= type_nullable_parser_nodes__TMidString
.id
;
3648 if(var_tmidstringnode2
== NULL
) {
3651 if(cltype
>= var_tmidstringnode2
->type
->table_size
) {
3654 var2
= var_tmidstringnode2
->type
->type_table
[cltype
] == idtype
;
3658 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3659 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28098);
3662 var3
= NEW_parser_nodes__AMidStringExpr(&type_parser_nodes__AMidStringExpr
);
3663 ((void (*)(val
*, val
*))(var3
->class->vft
[COLOR_parser_prod__AMidStringExpr__init_amidstringexpr
]))(var3
, var_tmidstringnode2
) /* init_amidstringexpr on <var3:AMidStringExpr>*/;
3664 var_pexprnode1
= var3
;
3665 var_node_list
= var_pexprnode1
;
3666 var4
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction814> */
3667 var5
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var4
) /* go_to on <var_p:Parser>*/;
3668 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var5
, var_node_list
) /* push on <var_p:Parser>*/;
3671 /* method parser#ReduceAction814#action for (self: Object, Parser) */
3672 void VIRTUAL_parser__ReduceAction814__action(val
* self
, val
* p0
) {
3673 parser__ReduceAction814__action(self
, p0
);
3676 /* method parser#ReduceAction815#action for (self: ReduceAction815, Parser) */
3677 void parser__ReduceAction815__action(val
* self
, val
* p0
) {
3678 val
* var_p
/* var p: Parser */;
3679 val
* var
/* : null */;
3680 val
* var_node_list
/* var node_list: nullable Object */;
3681 val
* var1
/* : nullable Object */;
3682 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3683 val
* var_tendstringnode2
/* var tendstringnode2: nullable Object */;
3684 short int var2
/* : Bool */;
3687 val
* var3
/* : AEndStringExpr */;
3688 val
* var_pexprnode1
/* var pexprnode1: nullable AEndStringExpr */;
3689 long var4
/* : Int */;
3690 long var5
/* : Int */;
3693 var_node_list
= var
;
3694 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3695 var_nodearraylist1
= var1
;
3696 var_tendstringnode2
= var_nodearraylist1
;
3697 /* <var_tendstringnode2:nullable Object> isa nullable TEndString */
3698 cltype
= type_nullable_parser_nodes__TEndString
.color
;
3699 idtype
= type_nullable_parser_nodes__TEndString
.id
;
3700 if(var_tendstringnode2
== NULL
) {
3703 if(cltype
>= var_tendstringnode2
->type
->table_size
) {
3706 var2
= var_tendstringnode2
->type
->type_table
[cltype
] == idtype
;
3710 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3711 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28113);
3714 var3
= NEW_parser_nodes__AEndStringExpr(&type_parser_nodes__AEndStringExpr
);
3715 ((void (*)(val
*, val
*))(var3
->class->vft
[COLOR_parser_prod__AEndStringExpr__init_aendstringexpr
]))(var3
, var_tendstringnode2
) /* init_aendstringexpr on <var3:AEndStringExpr>*/;
3716 var_pexprnode1
= var3
;
3717 var_node_list
= var_pexprnode1
;
3718 var4
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction815> */
3719 var5
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var4
) /* go_to on <var_p:Parser>*/;
3720 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var5
, var_node_list
) /* push on <var_p:Parser>*/;
3723 /* method parser#ReduceAction815#action for (self: Object, Parser) */
3724 void VIRTUAL_parser__ReduceAction815__action(val
* self
, val
* p0
) {
3725 parser__ReduceAction815__action(self
, p0
);
3728 /* method parser#ReduceAction816#action for (self: ReduceAction816, Parser) */
3729 void parser__ReduceAction816__action(val
* self
, val
* p0
) {
3730 val
* var_p
/* var p: Parser */;
3731 val
* var
/* : null */;
3732 val
* var_node_list
/* var node_list: nullable Object */;
3733 val
* var1
/* : nullable Object */;
3734 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3735 val
* var2
/* : nullable Object */;
3736 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3737 val
* var3
/* : Array[Object] */;
3738 val
* var_listnode5
/* var listnode5: Array[Object] */;
3739 val
* var_tatnode2
/* var tatnode2: nullable Object */;
3740 short int var4
/* : Bool */;
3743 val
* var_pannotationnode4
/* var pannotationnode4: nullable Object */;
3744 short int var5
/* : Bool */;
3747 val
* var8
/* : null */;
3748 short int var9
/* : Bool */;
3749 val
* var10
/* : AAnnotations */;
3750 val
* var11
/* : null */;
3751 val
* var12
/* : null */;
3752 val
* var_pannotationsnode1
/* var pannotationsnode1: nullable AAnnotations */;
3753 long var13
/* : Int */;
3754 long var14
/* : Int */;
3757 var_node_list
= var
;
3758 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3759 var_nodearraylist2
= var1
;
3760 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3761 var_nodearraylist1
= var2
;
3762 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
3763 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
3764 var_listnode5
= var3
;
3765 var_tatnode2
= var_nodearraylist1
;
3766 /* <var_tatnode2:nullable Object> isa nullable TAt */
3767 cltype
= type_nullable_parser_nodes__TAt
.color
;
3768 idtype
= type_nullable_parser_nodes__TAt
.id
;
3769 if(var_tatnode2
== NULL
) {
3772 if(cltype
>= var_tatnode2
->type
->table_size
) {
3775 var4
= var_tatnode2
->type
->type_table
[cltype
] == idtype
;
3779 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3780 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28130);
3783 var_pannotationnode4
= var_nodearraylist2
;
3784 /* <var_pannotationnode4:nullable Object> isa nullable AAnnotation */
3785 cltype6
= type_nullable_parser_nodes__AAnnotation
.color
;
3786 idtype7
= type_nullable_parser_nodes__AAnnotation
.id
;
3787 if(var_pannotationnode4
== NULL
) {
3790 if(cltype6
>= var_pannotationnode4
->type
->table_size
) {
3793 var5
= var_pannotationnode4
->type
->type_table
[cltype6
] == idtype7
;
3797 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3798 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28132);
3802 if (var_pannotationnode4
== NULL
) {
3803 var9
= 0; /* is null */
3805 var9
= 1; /* arg is null and recv is not */
3808 ((void (*)(val
*, val
*))(var_listnode5
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode5
, var_pannotationnode4
) /* add on <var_listnode5:Array[Object]>*/;
3811 var10
= NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations
);
3814 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var10
->class->vft
[COLOR_parser_prod__AAnnotations__init_aannotations
]))(var10
, var_tatnode2
, var11
, var_listnode5
, var12
) /* init_aannotations on <var10:AAnnotations>*/;
3815 var_pannotationsnode1
= var10
;
3816 var_node_list
= var_pannotationsnode1
;
3817 var13
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction816> */
3818 var14
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var13
) /* go_to on <var_p:Parser>*/;
3819 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var14
, var_node_list
) /* push on <var_p:Parser>*/;
3822 /* method parser#ReduceAction816#action for (self: Object, Parser) */
3823 void VIRTUAL_parser__ReduceAction816__action(val
* self
, val
* p0
) {
3824 parser__ReduceAction816__action(self
, p0
);
3827 /* method parser#ReduceAction817#action for (self: ReduceAction817, Parser) */
3828 void parser__ReduceAction817__action(val
* self
, val
* p0
) {
3829 val
* var_p
/* var p: Parser */;
3830 val
* var
/* : null */;
3831 val
* var_node_list
/* var node_list: nullable Object */;
3832 val
* var1
/* : nullable Object */;
3833 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
3834 val
* var2
/* : nullable Object */;
3835 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
3836 val
* var3
/* : nullable Object */;
3837 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3838 val
* var4
/* : nullable Object */;
3839 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3840 val
* var5
/* : nullable Object */;
3841 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3842 val
* var6
/* : nullable Object */;
3843 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3844 val
* var7
/* : Array[Object] */;
3845 val
* var_listnode5
/* var listnode5: Array[Object] */;
3846 val
* var_tatnode2
/* var tatnode2: nullable Object */;
3847 short int var8
/* : Bool */;
3850 val
* var_toparnode3
/* var toparnode3: nullable Object */;
3851 short int var9
/* : Bool */;
3854 val
* var_listnode4
/* var listnode4: nullable Object */;
3855 short int var12
/* : Bool */;
3858 val
* var15
/* : Array[Object] */;
3859 val
* var_tcparnode6
/* var tcparnode6: nullable Object */;
3860 short int var16
/* : Bool */;
3863 val
* var19
/* : AAnnotations */;
3864 val
* var_pannotationsnode1
/* var pannotationsnode1: nullable AAnnotations */;
3865 long var20
/* : Int */;
3866 long var21
/* : Int */;
3869 var_node_list
= var
;
3870 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3871 var_nodearraylist6
= var1
;
3872 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3873 var_nodearraylist5
= var2
;
3874 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3875 var_nodearraylist4
= var3
;
3876 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3877 var_nodearraylist3
= var4
;
3878 var5
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3879 var_nodearraylist2
= var5
;
3880 var6
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3881 var_nodearraylist1
= var6
;
3882 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
3883 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
3884 var_listnode5
= var7
;
3885 var_tatnode2
= var_nodearraylist1
;
3886 /* <var_tatnode2:nullable Object> isa nullable TAt */
3887 cltype
= type_nullable_parser_nodes__TAt
.color
;
3888 idtype
= type_nullable_parser_nodes__TAt
.id
;
3889 if(var_tatnode2
== NULL
) {
3892 if(cltype
>= var_tatnode2
->type
->table_size
) {
3895 var8
= var_tatnode2
->type
->type_table
[cltype
] == idtype
;
3899 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3900 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28159);
3903 var_toparnode3
= var_nodearraylist2
;
3904 /* <var_toparnode3:nullable Object> isa nullable TOpar */
3905 cltype10
= type_nullable_parser_nodes__TOpar
.color
;
3906 idtype11
= type_nullable_parser_nodes__TOpar
.id
;
3907 if(var_toparnode3
== NULL
) {
3910 if(cltype10
>= var_toparnode3
->type
->table_size
) {
3913 var9
= var_toparnode3
->type
->type_table
[cltype10
] == idtype11
;
3917 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3918 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28161);
3921 var_listnode4
= var_nodearraylist4
;
3922 /* <var_listnode4:nullable Object> isa Array[Object] */
3923 cltype13
= type_array__Arraykernel__Object
.color
;
3924 idtype14
= type_array__Arraykernel__Object
.id
;
3925 if(var_listnode4
== NULL
) {
3928 if(cltype13
>= var_listnode4
->type
->table_size
) {
3931 var12
= var_listnode4
->type
->type_table
[cltype13
] == idtype14
;
3935 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3936 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28163);
3939 var15
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction817>*/;
3940 var_listnode5
= var15
;
3941 var_tcparnode6
= var_nodearraylist6
;
3942 /* <var_tcparnode6:nullable Object> isa nullable TCpar */
3943 cltype17
= type_nullable_parser_nodes__TCpar
.color
;
3944 idtype18
= type_nullable_parser_nodes__TCpar
.id
;
3945 if(var_tcparnode6
== NULL
) {
3948 if(cltype17
>= var_tcparnode6
->type
->table_size
) {
3951 var16
= var_tcparnode6
->type
->type_table
[cltype17
] == idtype18
;
3955 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3956 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28166);
3959 var19
= NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations
);
3960 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var19
->class->vft
[COLOR_parser_prod__AAnnotations__init_aannotations
]))(var19
, var_tatnode2
, var_toparnode3
, var_listnode5
, var_tcparnode6
) /* init_aannotations on <var19:AAnnotations>*/;
3961 var_pannotationsnode1
= var19
;
3962 var_node_list
= var_pannotationsnode1
;
3963 var20
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction817> */
3964 var21
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var20
) /* go_to on <var_p:Parser>*/;
3965 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var21
, var_node_list
) /* push on <var_p:Parser>*/;
3968 /* method parser#ReduceAction817#action for (self: Object, Parser) */
3969 void VIRTUAL_parser__ReduceAction817__action(val
* self
, val
* p0
) {
3970 parser__ReduceAction817__action(self
, p0
);
3973 /* method parser#ReduceAction818#action for (self: ReduceAction818, Parser) */
3974 void parser__ReduceAction818__action(val
* self
, val
* p0
) {
3975 val
* var_p
/* var p: Parser */;
3976 val
* var
/* : null */;
3977 val
* var_node_list
/* var node_list: nullable Object */;
3978 val
* var1
/* : nullable Object */;
3979 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3980 val
* var2
/* : Array[Object] */;
3981 val
* var_listnode4
/* var listnode4: Array[Object] */;
3982 val
* var_patidnode2
/* var patidnode2: nullable Object */;
3983 short int var3
/* : Bool */;
3986 val
* var4
/* : AAnnotation */;
3987 val
* var5
/* : null */;
3988 val
* var6
/* : null */;
3989 val
* var7
/* : null */;
3990 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
3991 long var8
/* : Int */;
3992 long var9
/* : Int */;
3995 var_node_list
= var
;
3996 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3997 var_nodearraylist1
= var1
;
3998 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
3999 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
4000 var_listnode4
= var2
;
4001 var_patidnode2
= var_nodearraylist1
;
4002 /* <var_patidnode2:nullable Object> isa nullable AAtid */
4003 cltype
= type_nullable_parser_nodes__AAtid
.color
;
4004 idtype
= type_nullable_parser_nodes__AAtid
.id
;
4005 if(var_patidnode2
== NULL
) {
4008 if(cltype
>= var_patidnode2
->type
->table_size
) {
4011 var3
= var_patidnode2
->type
->type_table
[cltype
] == idtype
;
4015 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4016 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28185);
4019 var4
= NEW_parser_nodes__AAnnotation(&type_parser_nodes__AAnnotation
);
4023 ((void (*)(val
*, val
*, val
*, val
*, val
*, val
*))(var4
->class->vft
[COLOR_parser_prod__AAnnotation__init_aannotation
]))(var4
, var_patidnode2
, var5
, var_listnode4
, var6
, var7
) /* init_aannotation on <var4:AAnnotation>*/;
4024 var_pannotationnode1
= var4
;
4025 var_node_list
= var_pannotationnode1
;
4026 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction818> */
4027 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
4028 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
4031 /* method parser#ReduceAction818#action for (self: Object, Parser) */
4032 void VIRTUAL_parser__ReduceAction818__action(val
* self
, val
* p0
) {
4033 parser__ReduceAction818__action(self
, p0
);
4036 /* method parser#ReduceAction819#action for (self: ReduceAction819, Parser) */
4037 void parser__ReduceAction819__action(val
* self
, val
* p0
) {
4038 val
* var_p
/* var p: Parser */;
4039 val
* var
/* : null */;
4040 val
* var_node_list
/* var node_list: nullable Object */;
4041 val
* var1
/* : nullable Object */;
4042 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4043 val
* var2
/* : nullable Object */;
4044 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4045 val
* var3
/* : Array[Object] */;
4046 val
* var_listnode4
/* var listnode4: Array[Object] */;
4047 val
* var_patidnode2
/* var patidnode2: nullable Object */;
4048 short int var4
/* : Bool */;
4051 val
* var_pannotationsnode6
/* var pannotationsnode6: nullable Object */;
4052 short int var5
/* : Bool */;
4055 val
* var8
/* : AAnnotation */;
4056 val
* var9
/* : null */;
4057 val
* var10
/* : null */;
4058 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
4059 long var11
/* : Int */;
4060 long var12
/* : Int */;
4063 var_node_list
= var
;
4064 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4065 var_nodearraylist2
= var1
;
4066 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4067 var_nodearraylist1
= var2
;
4068 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
4069 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
4070 var_listnode4
= var3
;
4071 var_patidnode2
= var_nodearraylist1
;
4072 /* <var_patidnode2:nullable Object> isa nullable AAtid */
4073 cltype
= type_nullable_parser_nodes__AAtid
.color
;
4074 idtype
= type_nullable_parser_nodes__AAtid
.id
;
4075 if(var_patidnode2
== NULL
) {
4078 if(cltype
>= var_patidnode2
->type
->table_size
) {
4081 var4
= var_patidnode2
->type
->type_table
[cltype
] == idtype
;
4085 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4086 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28206);
4089 var_pannotationsnode6
= var_nodearraylist2
;
4090 /* <var_pannotationsnode6:nullable Object> isa nullable AAnnotations */
4091 cltype6
= type_nullable_parser_nodes__AAnnotations
.color
;
4092 idtype7
= type_nullable_parser_nodes__AAnnotations
.id
;
4093 if(var_pannotationsnode6
== NULL
) {
4096 if(cltype6
>= var_pannotationsnode6
->type
->table_size
) {
4099 var5
= var_pannotationsnode6
->type
->type_table
[cltype6
] == idtype7
;
4103 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4104 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28208);
4107 var8
= NEW_parser_nodes__AAnnotation(&type_parser_nodes__AAnnotation
);
4110 ((void (*)(val
*, val
*, val
*, val
*, val
*, val
*))(var8
->class->vft
[COLOR_parser_prod__AAnnotation__init_aannotation
]))(var8
, var_patidnode2
, var9
, var_listnode4
, var10
, var_pannotationsnode6
) /* init_aannotation on <var8:AAnnotation>*/;
4111 var_pannotationnode1
= var8
;
4112 var_node_list
= var_pannotationnode1
;
4113 var11
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction819> */
4114 var12
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var11
) /* go_to on <var_p:Parser>*/;
4115 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var12
, var_node_list
) /* push on <var_p:Parser>*/;
4118 /* method parser#ReduceAction819#action for (self: Object, Parser) */
4119 void VIRTUAL_parser__ReduceAction819__action(val
* self
, val
* p0
) {
4120 parser__ReduceAction819__action(self
, p0
);
4123 /* method parser#ReduceAction820#action for (self: ReduceAction820, Parser) */
4124 void parser__ReduceAction820__action(val
* self
, val
* p0
) {
4125 val
* var_p
/* var p: Parser */;
4126 val
* var
/* : null */;
4127 val
* var_node_list
/* var node_list: nullable Object */;
4128 val
* var1
/* : nullable Object */;
4129 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
4130 val
* var2
/* : nullable Object */;
4131 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
4132 val
* var3
/* : nullable Object */;
4133 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4134 val
* var4
/* : nullable Object */;
4135 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4136 val
* var5
/* : nullable Object */;
4137 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4138 val
* var6
/* : nullable Object */;
4139 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4140 val
* var7
/* : Array[Object] */;
4141 val
* var_listnode5
/* var listnode5: Array[Object] */;
4142 val
* var_patidnode2
/* var patidnode2: nullable Object */;
4143 short int var8
/* : Bool */;
4146 val
* var_toparnode3
/* var toparnode3: nullable Object */;
4147 short int var9
/* : Bool */;
4150 val
* var_listnode4
/* var listnode4: nullable Object */;
4151 short int var12
/* : Bool */;
4154 val
* var15
/* : Array[Object] */;
4155 val
* var_tcparnode6
/* var tcparnode6: nullable Object */;
4156 short int var16
/* : Bool */;
4159 val
* var19
/* : AAnnotation */;
4160 val
* var20
/* : null */;
4161 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
4162 long var21
/* : Int */;
4163 long var22
/* : Int */;
4166 var_node_list
= var
;
4167 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4168 var_nodearraylist6
= var1
;
4169 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4170 var_nodearraylist5
= var2
;
4171 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4172 var_nodearraylist4
= var3
;
4173 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4174 var_nodearraylist3
= var4
;
4175 var5
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4176 var_nodearraylist2
= var5
;
4177 var6
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4178 var_nodearraylist1
= var6
;
4179 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
4180 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
4181 var_listnode5
= var7
;
4182 var_patidnode2
= var_nodearraylist1
;
4183 /* <var_patidnode2:nullable Object> isa nullable AAtid */
4184 cltype
= type_nullable_parser_nodes__AAtid
.color
;
4185 idtype
= type_nullable_parser_nodes__AAtid
.id
;
4186 if(var_patidnode2
== NULL
) {
4189 if(cltype
>= var_patidnode2
->type
->table_size
) {
4192 var8
= var_patidnode2
->type
->type_table
[cltype
] == idtype
;
4196 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4197 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28233);
4200 var_toparnode3
= var_nodearraylist2
;
4201 /* <var_toparnode3:nullable Object> isa nullable TOpar */
4202 cltype10
= type_nullable_parser_nodes__TOpar
.color
;
4203 idtype11
= type_nullable_parser_nodes__TOpar
.id
;
4204 if(var_toparnode3
== NULL
) {
4207 if(cltype10
>= var_toparnode3
->type
->table_size
) {
4210 var9
= var_toparnode3
->type
->type_table
[cltype10
] == idtype11
;
4214 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4215 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28235);
4218 var_listnode4
= var_nodearraylist4
;
4219 /* <var_listnode4:nullable Object> isa Array[Object] */
4220 cltype13
= type_array__Arraykernel__Object
.color
;
4221 idtype14
= type_array__Arraykernel__Object
.id
;
4222 if(var_listnode4
== NULL
) {
4225 if(cltype13
>= var_listnode4
->type
->table_size
) {
4228 var12
= var_listnode4
->type
->type_table
[cltype13
] == idtype14
;
4232 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4233 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28237);
4236 var15
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction820>*/;
4237 var_listnode5
= var15
;
4238 var_tcparnode6
= var_nodearraylist6
;
4239 /* <var_tcparnode6:nullable Object> isa nullable TCpar */
4240 cltype17
= type_nullable_parser_nodes__TCpar
.color
;
4241 idtype18
= type_nullable_parser_nodes__TCpar
.id
;
4242 if(var_tcparnode6
== NULL
) {
4245 if(cltype17
>= var_tcparnode6
->type
->table_size
) {
4248 var16
= var_tcparnode6
->type
->type_table
[cltype17
] == idtype18
;
4252 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4253 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28240);
4256 var19
= NEW_parser_nodes__AAnnotation(&type_parser_nodes__AAnnotation
);
4258 ((void (*)(val
*, val
*, val
*, val
*, val
*, val
*))(var19
->class->vft
[COLOR_parser_prod__AAnnotation__init_aannotation
]))(var19
, var_patidnode2
, var_toparnode3
, var_listnode5
, var_tcparnode6
, var20
) /* init_aannotation on <var19:AAnnotation>*/;
4259 var_pannotationnode1
= var19
;
4260 var_node_list
= var_pannotationnode1
;
4261 var21
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction820> */
4262 var22
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var21
) /* go_to on <var_p:Parser>*/;
4263 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var22
, var_node_list
) /* push on <var_p:Parser>*/;
4266 /* method parser#ReduceAction820#action for (self: Object, Parser) */
4267 void VIRTUAL_parser__ReduceAction820__action(val
* self
, val
* p0
) {
4268 parser__ReduceAction820__action(self
, p0
);
4271 /* method parser#ReduceAction821#action for (self: ReduceAction821, Parser) */
4272 void parser__ReduceAction821__action(val
* self
, val
* p0
) {
4273 val
* var_p
/* var p: Parser */;
4274 val
* var
/* : null */;
4275 val
* var_node_list
/* var node_list: nullable Object */;
4276 val
* var1
/* : nullable Object */;
4277 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
4278 val
* var2
/* : nullable Object */;
4279 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
4280 val
* var3
/* : nullable Object */;
4281 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
4282 val
* var4
/* : nullable Object */;
4283 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4284 val
* var5
/* : nullable Object */;
4285 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4286 val
* var6
/* : nullable Object */;
4287 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4288 val
* var7
/* : nullable Object */;
4289 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4290 val
* var8
/* : Array[Object] */;
4291 val
* var_listnode5
/* var listnode5: Array[Object] */;
4292 val
* var_patidnode2
/* var patidnode2: nullable Object */;
4293 short int var9
/* : Bool */;
4296 val
* var_toparnode3
/* var toparnode3: nullable Object */;
4297 short int var10
/* : Bool */;
4300 val
* var_listnode4
/* var listnode4: nullable Object */;
4301 short int var13
/* : Bool */;
4304 val
* var16
/* : Array[Object] */;
4305 val
* var_tcparnode6
/* var tcparnode6: nullable Object */;
4306 short int var17
/* : Bool */;
4309 val
* var_pannotationsnode7
/* var pannotationsnode7: nullable Object */;
4310 short int var20
/* : Bool */;
4313 val
* var23
/* : AAnnotation */;
4314 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
4315 long var24
/* : Int */;
4316 long var25
/* : Int */;
4319 var_node_list
= var
;
4320 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4321 var_nodearraylist7
= var1
;
4322 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4323 var_nodearraylist6
= var2
;
4324 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4325 var_nodearraylist5
= var3
;
4326 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4327 var_nodearraylist4
= var4
;
4328 var5
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4329 var_nodearraylist3
= var5
;
4330 var6
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4331 var_nodearraylist2
= var6
;
4332 var7
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4333 var_nodearraylist1
= var7
;
4334 var8
= NEW_array__Array(&type_array__Arraykernel__Object
);
4335 ((void (*)(val
*))(var8
->class->vft
[COLOR_array__Array__init
]))(var8
) /* init on <var8:Array[Object]>*/;
4336 var_listnode5
= var8
;
4337 var_patidnode2
= var_nodearraylist1
;
4338 /* <var_patidnode2:nullable Object> isa nullable AAtid */
4339 cltype
= type_nullable_parser_nodes__AAtid
.color
;
4340 idtype
= type_nullable_parser_nodes__AAtid
.id
;
4341 if(var_patidnode2
== NULL
) {
4344 if(cltype
>= var_patidnode2
->type
->table_size
) {
4347 var9
= var_patidnode2
->type
->type_table
[cltype
] == idtype
;
4351 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4352 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28266);
4355 var_toparnode3
= var_nodearraylist2
;
4356 /* <var_toparnode3:nullable Object> isa nullable TOpar */
4357 cltype11
= type_nullable_parser_nodes__TOpar
.color
;
4358 idtype12
= type_nullable_parser_nodes__TOpar
.id
;
4359 if(var_toparnode3
== NULL
) {
4362 if(cltype11
>= var_toparnode3
->type
->table_size
) {
4365 var10
= var_toparnode3
->type
->type_table
[cltype11
] == idtype12
;
4369 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4370 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28268);
4373 var_listnode4
= var_nodearraylist4
;
4374 /* <var_listnode4:nullable Object> isa Array[Object] */
4375 cltype14
= type_array__Arraykernel__Object
.color
;
4376 idtype15
= type_array__Arraykernel__Object
.id
;
4377 if(var_listnode4
== NULL
) {
4380 if(cltype14
>= var_listnode4
->type
->table_size
) {
4383 var13
= var_listnode4
->type
->type_table
[cltype14
] == idtype15
;
4387 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4388 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28270);
4391 var16
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction821>*/;
4392 var_listnode5
= var16
;
4393 var_tcparnode6
= var_nodearraylist6
;
4394 /* <var_tcparnode6:nullable Object> isa nullable TCpar */
4395 cltype18
= type_nullable_parser_nodes__TCpar
.color
;
4396 idtype19
= type_nullable_parser_nodes__TCpar
.id
;
4397 if(var_tcparnode6
== NULL
) {
4400 if(cltype18
>= var_tcparnode6
->type
->table_size
) {
4403 var17
= var_tcparnode6
->type
->type_table
[cltype18
] == idtype19
;
4407 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4408 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28273);
4411 var_pannotationsnode7
= var_nodearraylist7
;
4412 /* <var_pannotationsnode7:nullable Object> isa nullable AAnnotations */
4413 cltype21
= type_nullable_parser_nodes__AAnnotations
.color
;
4414 idtype22
= type_nullable_parser_nodes__AAnnotations
.id
;
4415 if(var_pannotationsnode7
== NULL
) {
4418 if(cltype21
>= var_pannotationsnode7
->type
->table_size
) {
4421 var20
= var_pannotationsnode7
->type
->type_table
[cltype21
] == idtype22
;
4425 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4426 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28275);
4429 var23
= NEW_parser_nodes__AAnnotation(&type_parser_nodes__AAnnotation
);
4430 ((void (*)(val
*, val
*, val
*, val
*, val
*, val
*))(var23
->class->vft
[COLOR_parser_prod__AAnnotation__init_aannotation
]))(var23
, var_patidnode2
, var_toparnode3
, var_listnode5
, var_tcparnode6
, var_pannotationsnode7
) /* init_aannotation on <var23:AAnnotation>*/;
4431 var_pannotationnode1
= var23
;
4432 var_node_list
= var_pannotationnode1
;
4433 var24
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction821> */
4434 var25
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var24
) /* go_to on <var_p:Parser>*/;
4435 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var25
, var_node_list
) /* push on <var_p:Parser>*/;
4438 /* method parser#ReduceAction821#action for (self: Object, Parser) */
4439 void VIRTUAL_parser__ReduceAction821__action(val
* self
, val
* p0
) {
4440 parser__ReduceAction821__action(self
, p0
);
4443 /* method parser#ReduceAction822#action for (self: ReduceAction822, Parser) */
4444 void parser__ReduceAction822__action(val
* self
, val
* p0
) {
4445 val
* var_p
/* var p: Parser */;
4446 val
* var
/* : null */;
4447 val
* var_node_list
/* var node_list: nullable Object */;
4448 val
* var1
/* : nullable Object */;
4449 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4450 val
* var2
/* : Array[Object] */;
4451 val
* var_listnode5
/* var listnode5: Array[Object] */;
4452 val
* var_listnode4
/* var listnode4: nullable Object */;
4453 short int var3
/* : Bool */;
4456 val
* var4
/* : Array[Object] */;
4457 val
* var5
/* : AAnnotations */;
4458 val
* var6
/* : null */;
4459 val
* var7
/* : null */;
4460 val
* var8
/* : null */;
4461 val
* var_pannotationsnode1
/* var pannotationsnode1: nullable AAnnotations */;
4462 long var9
/* : Int */;
4463 long var10
/* : Int */;
4466 var_node_list
= var
;
4467 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4468 var_nodearraylist1
= var1
;
4469 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
4470 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
4471 var_listnode5
= var2
;
4472 var_listnode4
= var_nodearraylist1
;
4473 /* <var_listnode4:nullable Object> isa Array[Object] */
4474 cltype
= type_array__Arraykernel__Object
.color
;
4475 idtype
= type_array__Arraykernel__Object
.id
;
4476 if(var_listnode4
== NULL
) {
4479 if(cltype
>= var_listnode4
->type
->table_size
) {
4482 var3
= var_listnode4
->type
->type_table
[cltype
] == idtype
;
4486 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4487 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28295);
4490 var4
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction822>*/;
4491 var_listnode5
= var4
;
4492 var5
= NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations
);
4496 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var5
->class->vft
[COLOR_parser_prod__AAnnotations__init_aannotations
]))(var5
, var6
, var7
, var_listnode5
, var8
) /* init_aannotations on <var5:AAnnotations>*/;
4497 var_pannotationsnode1
= var5
;
4498 var_node_list
= var_pannotationsnode1
;
4499 var9
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction822> */
4500 var10
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var9
) /* go_to on <var_p:Parser>*/;
4501 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var10
, var_node_list
) /* push on <var_p:Parser>*/;
4504 /* method parser#ReduceAction822#action for (self: Object, Parser) */
4505 void VIRTUAL_parser__ReduceAction822__action(val
* self
, val
* p0
) {
4506 parser__ReduceAction822__action(self
, p0
);
4509 /* method parser#ReduceAction823#action for (self: ReduceAction823, Parser) */
4510 void parser__ReduceAction823__action(val
* self
, val
* p0
) {
4511 val
* var_p
/* var p: Parser */;
4512 val
* var
/* : null */;
4513 val
* var_node_list
/* var node_list: nullable Object */;
4514 val
* var1
/* : nullable Object */;
4515 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4516 val
* var2
/* : Array[Object] */;
4517 val
* var_listnode2
/* var listnode2: Array[Object] */;
4518 val
* var_pannotationnode1
/* var pannotationnode1: nullable Object */;
4519 val
* var3
/* : null */;
4520 short int var4
/* : Bool */;
4521 long var5
/* : Int */;
4522 long var6
/* : Int */;
4525 var_node_list
= var
;
4526 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4527 var_nodearraylist1
= var1
;
4528 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
4529 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
4530 var_listnode2
= var2
;
4531 var_pannotationnode1
= var_nodearraylist1
;
4533 if (var_pannotationnode1
== NULL
) {
4534 var4
= 0; /* is null */
4536 var4
= 1; /* arg is null and recv is not */
4539 ((void (*)(val
*, val
*))(var_listnode2
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode2
, var_pannotationnode1
) /* add on <var_listnode2:Array[Object]>*/;
4542 var_node_list
= var_listnode2
;
4543 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction823> */
4544 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
4545 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
4548 /* method parser#ReduceAction823#action for (self: Object, Parser) */
4549 void VIRTUAL_parser__ReduceAction823__action(val
* self
, val
* p0
) {
4550 parser__ReduceAction823__action(self
, p0
);
4553 /* method parser#ReduceAction824#action for (self: ReduceAction824, Parser) */
4554 void parser__ReduceAction824__action(val
* self
, val
* p0
) {
4555 val
* var_p
/* var p: Parser */;
4556 val
* var
/* : null */;
4557 val
* var_node_list
/* var node_list: nullable Object */;
4558 val
* var1
/* : nullable Object */;
4559 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4560 val
* var2
/* : nullable Object */;
4561 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4562 val
* var3
/* : Array[Object] */;
4563 val
* var_listnode3
/* var listnode3: Array[Object] */;
4564 val
* var_pannotationnode1
/* var pannotationnode1: nullable Object */;
4565 val
* var_listnode2
/* var listnode2: nullable Object */;
4566 short int var4
/* : Bool */;
4569 val
* var5
/* : null */;
4570 short int var6
/* : Bool */;
4571 val
* var7
/* : Array[Object] */;
4572 long var8
/* : Int */;
4573 long var9
/* : Int */;
4576 var_node_list
= var
;
4577 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4578 var_nodearraylist2
= var1
;
4579 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4580 var_nodearraylist1
= var2
;
4581 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
4582 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
4583 var_listnode3
= var3
;
4584 var_pannotationnode1
= var_nodearraylist1
;
4585 var_listnode2
= var_nodearraylist2
;
4586 /* <var_listnode2:nullable Object> isa Array[Object] */
4587 cltype
= type_array__Arraykernel__Object
.color
;
4588 idtype
= type_array__Arraykernel__Object
.id
;
4589 if(var_listnode2
== NULL
) {
4592 if(cltype
>= var_listnode2
->type
->table_size
) {
4595 var4
= var_listnode2
->type
->type_table
[cltype
] == idtype
;
4599 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4600 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28332);
4604 if (var_pannotationnode1
== NULL
) {
4605 var6
= 0; /* is null */
4607 var6
= 1; /* arg is null and recv is not */
4610 ((void (*)(val
*, val
*))(var_listnode3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode3
, var_pannotationnode1
) /* add on <var_listnode3:Array[Object]>*/;
4613 var7
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode2
) /* concat on <self:ReduceAction824>*/;
4614 var_listnode3
= var7
;
4615 var_node_list
= var_listnode3
;
4616 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction824> */
4617 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
4618 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
4621 /* method parser#ReduceAction824#action for (self: Object, Parser) */
4622 void VIRTUAL_parser__ReduceAction824__action(val
* self
, val
* p0
) {
4623 parser__ReduceAction824__action(self
, p0
);
4626 /* method parser#ReduceAction826#action for (self: ReduceAction826, Parser) */
4627 void parser__ReduceAction826__action(val
* self
, val
* p0
) {
4628 val
* var_p
/* var p: Parser */;
4629 val
* var
/* : null */;
4630 val
* var_node_list
/* var node_list: nullable Object */;
4631 val
* var1
/* : nullable Object */;
4632 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4633 val
* var2
/* : nullable Object */;
4634 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4635 val
* var3
/* : nullable Object */;
4636 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4637 val
* var4
/* : Array[Object] */;
4638 val
* var_listnode4
/* var listnode4: Array[Object] */;
4639 val
* var_patidnode2
/* var patidnode2: nullable Object */;
4640 short int var5
/* : Bool */;
4643 val
* var6
/* : AAnnotation */;
4644 val
* var7
/* : null */;
4645 val
* var8
/* : null */;
4646 val
* var9
/* : null */;
4647 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
4648 long var10
/* : Int */;
4649 long var11
/* : Int */;
4652 var_node_list
= var
;
4653 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4654 var_nodearraylist3
= var1
;
4655 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4656 var_nodearraylist2
= var2
;
4657 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4658 var_nodearraylist1
= var3
;
4659 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
4660 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
4661 var_listnode4
= var4
;
4662 var_patidnode2
= var_nodearraylist2
;
4663 /* <var_patidnode2:nullable Object> isa nullable AAtid */
4664 cltype
= type_nullable_parser_nodes__AAtid
.color
;
4665 idtype
= type_nullable_parser_nodes__AAtid
.id
;
4666 if(var_patidnode2
== NULL
) {
4669 if(cltype
>= var_patidnode2
->type
->table_size
) {
4672 var5
= var_patidnode2
->type
->type_table
[cltype
] == idtype
;
4676 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4677 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28351);
4680 var6
= NEW_parser_nodes__AAnnotation(&type_parser_nodes__AAnnotation
);
4684 ((void (*)(val
*, val
*, val
*, val
*, val
*, val
*))(var6
->class->vft
[COLOR_parser_prod__AAnnotation__init_aannotation
]))(var6
, var_patidnode2
, var7
, var_listnode4
, var8
, var9
) /* init_aannotation on <var6:AAnnotation>*/;
4685 var_pannotationnode1
= var6
;
4686 var_node_list
= var_pannotationnode1
;
4687 var10
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction826> */
4688 var11
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var10
) /* go_to on <var_p:Parser>*/;
4689 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var11
, var_node_list
) /* push on <var_p:Parser>*/;
4692 /* method parser#ReduceAction826#action for (self: Object, Parser) */
4693 void VIRTUAL_parser__ReduceAction826__action(val
* self
, val
* p0
) {
4694 parser__ReduceAction826__action(self
, p0
);
4697 /* method parser#ReduceAction827#action for (self: ReduceAction827, Parser) */
4698 void parser__ReduceAction827__action(val
* self
, val
* p0
) {
4699 val
* var_p
/* var p: Parser */;
4700 val
* var
/* : null */;
4701 val
* var_node_list
/* var node_list: nullable Object */;
4702 val
* var1
/* : nullable Object */;
4703 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4704 val
* var2
/* : nullable Object */;
4705 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4706 val
* var3
/* : nullable Object */;
4707 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4708 val
* var4
/* : nullable Object */;
4709 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4710 val
* var5
/* : Array[Object] */;
4711 val
* var_listnode4
/* var listnode4: Array[Object] */;
4712 val
* var_patidnode2
/* var patidnode2: nullable Object */;
4713 short int var6
/* : Bool */;
4716 val
* var_pannotationsnode6
/* var pannotationsnode6: nullable Object */;
4717 short int var7
/* : Bool */;
4720 val
* var10
/* : AAnnotation */;
4721 val
* var11
/* : null */;
4722 val
* var12
/* : null */;
4723 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
4724 long var13
/* : Int */;
4725 long var14
/* : Int */;
4728 var_node_list
= var
;
4729 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4730 var_nodearraylist4
= var1
;
4731 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4732 var_nodearraylist3
= var2
;
4733 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4734 var_nodearraylist2
= var3
;
4735 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4736 var_nodearraylist1
= var4
;
4737 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
4738 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
4739 var_listnode4
= var5
;
4740 var_patidnode2
= var_nodearraylist2
;
4741 /* <var_patidnode2:nullable Object> isa nullable AAtid */
4742 cltype
= type_nullable_parser_nodes__AAtid
.color
;
4743 idtype
= type_nullable_parser_nodes__AAtid
.id
;
4744 if(var_patidnode2
== NULL
) {
4747 if(cltype
>= var_patidnode2
->type
->table_size
) {
4750 var6
= var_patidnode2
->type
->type_table
[cltype
] == idtype
;
4754 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4755 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28374);
4758 var_pannotationsnode6
= var_nodearraylist3
;
4759 /* <var_pannotationsnode6:nullable Object> isa nullable AAnnotations */
4760 cltype8
= type_nullable_parser_nodes__AAnnotations
.color
;
4761 idtype9
= type_nullable_parser_nodes__AAnnotations
.id
;
4762 if(var_pannotationsnode6
== NULL
) {
4765 if(cltype8
>= var_pannotationsnode6
->type
->table_size
) {
4768 var7
= var_pannotationsnode6
->type
->type_table
[cltype8
] == idtype9
;
4772 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4773 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28376);
4776 var10
= NEW_parser_nodes__AAnnotation(&type_parser_nodes__AAnnotation
);
4779 ((void (*)(val
*, val
*, val
*, val
*, val
*, val
*))(var10
->class->vft
[COLOR_parser_prod__AAnnotation__init_aannotation
]))(var10
, var_patidnode2
, var11
, var_listnode4
, var12
, var_pannotationsnode6
) /* init_aannotation on <var10:AAnnotation>*/;
4780 var_pannotationnode1
= var10
;
4781 var_node_list
= var_pannotationnode1
;
4782 var13
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction827> */
4783 var14
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var13
) /* go_to on <var_p:Parser>*/;
4784 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var14
, var_node_list
) /* push on <var_p:Parser>*/;
4787 /* method parser#ReduceAction827#action for (self: Object, Parser) */
4788 void VIRTUAL_parser__ReduceAction827__action(val
* self
, val
* p0
) {
4789 parser__ReduceAction827__action(self
, p0
);
4792 /* method parser#ReduceAction828#action for (self: ReduceAction828, Parser) */
4793 void parser__ReduceAction828__action(val
* self
, val
* p0
) {
4794 val
* var_p
/* var p: Parser */;
4795 val
* var
/* : null */;
4796 val
* var_node_list
/* var node_list: nullable Object */;
4797 val
* var1
/* : nullable Object */;
4798 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
4799 val
* var2
/* : nullable Object */;
4800 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
4801 val
* var3
/* : nullable Object */;
4802 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
4803 val
* var4
/* : nullable Object */;
4804 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4805 val
* var5
/* : nullable Object */;
4806 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4807 val
* var6
/* : nullable Object */;
4808 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4809 val
* var7
/* : nullable Object */;
4810 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4811 val
* var8
/* : Array[Object] */;
4812 val
* var_listnode5
/* var listnode5: Array[Object] */;
4813 val
* var_patidnode2
/* var patidnode2: nullable Object */;
4814 short int var9
/* : Bool */;
4817 val
* var_toparnode3
/* var toparnode3: nullable Object */;
4818 short int var10
/* : Bool */;
4821 val
* var_listnode4
/* var listnode4: nullable Object */;
4822 short int var13
/* : Bool */;
4825 val
* var16
/* : Array[Object] */;
4826 val
* var_tcparnode6
/* var tcparnode6: nullable Object */;
4827 short int var17
/* : Bool */;
4830 val
* var20
/* : AAnnotation */;
4831 val
* var21
/* : null */;
4832 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
4833 long var22
/* : Int */;
4834 long var23
/* : Int */;
4837 var_node_list
= var
;
4838 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4839 var_nodearraylist7
= var1
;
4840 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4841 var_nodearraylist6
= var2
;
4842 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4843 var_nodearraylist5
= var3
;
4844 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4845 var_nodearraylist4
= var4
;
4846 var5
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4847 var_nodearraylist3
= var5
;
4848 var6
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4849 var_nodearraylist2
= var6
;
4850 var7
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4851 var_nodearraylist1
= var7
;
4852 var8
= NEW_array__Array(&type_array__Arraykernel__Object
);
4853 ((void (*)(val
*))(var8
->class->vft
[COLOR_array__Array__init
]))(var8
) /* init on <var8:Array[Object]>*/;
4854 var_listnode5
= var8
;
4855 var_patidnode2
= var_nodearraylist2
;
4856 /* <var_patidnode2:nullable Object> isa nullable AAtid */
4857 cltype
= type_nullable_parser_nodes__AAtid
.color
;
4858 idtype
= type_nullable_parser_nodes__AAtid
.id
;
4859 if(var_patidnode2
== NULL
) {
4862 if(cltype
>= var_patidnode2
->type
->table_size
) {
4865 var9
= var_patidnode2
->type
->type_table
[cltype
] == idtype
;
4869 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4870 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28402);
4873 var_toparnode3
= var_nodearraylist3
;
4874 /* <var_toparnode3:nullable Object> isa nullable TOpar */
4875 cltype11
= type_nullable_parser_nodes__TOpar
.color
;
4876 idtype12
= type_nullable_parser_nodes__TOpar
.id
;
4877 if(var_toparnode3
== NULL
) {
4880 if(cltype11
>= var_toparnode3
->type
->table_size
) {
4883 var10
= var_toparnode3
->type
->type_table
[cltype11
] == idtype12
;
4887 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4888 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28404);
4891 var_listnode4
= var_nodearraylist5
;
4892 /* <var_listnode4:nullable Object> isa Array[Object] */
4893 cltype14
= type_array__Arraykernel__Object
.color
;
4894 idtype15
= type_array__Arraykernel__Object
.id
;
4895 if(var_listnode4
== NULL
) {
4898 if(cltype14
>= var_listnode4
->type
->table_size
) {
4901 var13
= var_listnode4
->type
->type_table
[cltype14
] == idtype15
;
4905 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4906 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28406);
4909 var16
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction828>*/;
4910 var_listnode5
= var16
;
4911 var_tcparnode6
= var_nodearraylist6
;
4912 /* <var_tcparnode6:nullable Object> isa nullable TCpar */
4913 cltype18
= type_nullable_parser_nodes__TCpar
.color
;
4914 idtype19
= type_nullable_parser_nodes__TCpar
.id
;
4915 if(var_tcparnode6
== NULL
) {
4918 if(cltype18
>= var_tcparnode6
->type
->table_size
) {
4921 var17
= var_tcparnode6
->type
->type_table
[cltype18
] == idtype19
;
4925 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4926 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28409);
4929 var20
= NEW_parser_nodes__AAnnotation(&type_parser_nodes__AAnnotation
);
4931 ((void (*)(val
*, val
*, val
*, val
*, val
*, val
*))(var20
->class->vft
[COLOR_parser_prod__AAnnotation__init_aannotation
]))(var20
, var_patidnode2
, var_toparnode3
, var_listnode5
, var_tcparnode6
, var21
) /* init_aannotation on <var20:AAnnotation>*/;
4932 var_pannotationnode1
= var20
;
4933 var_node_list
= var_pannotationnode1
;
4934 var22
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction828> */
4935 var23
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var22
) /* go_to on <var_p:Parser>*/;
4936 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var23
, var_node_list
) /* push on <var_p:Parser>*/;
4939 /* method parser#ReduceAction828#action for (self: Object, Parser) */
4940 void VIRTUAL_parser__ReduceAction828__action(val
* self
, val
* p0
) {
4941 parser__ReduceAction828__action(self
, p0
);
4944 /* method parser#ReduceAction829#action for (self: ReduceAction829, Parser) */
4945 void parser__ReduceAction829__action(val
* self
, val
* p0
) {
4946 val
* var_p
/* var p: Parser */;
4947 val
* var
/* : null */;
4948 val
* var_node_list
/* var node_list: nullable Object */;
4949 val
* var1
/* : nullable Object */;
4950 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
4951 val
* var2
/* : nullable Object */;
4952 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
4953 val
* var3
/* : nullable Object */;
4954 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
4955 val
* var4
/* : nullable Object */;
4956 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
4957 val
* var5
/* : nullable Object */;
4958 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4959 val
* var6
/* : nullable Object */;
4960 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4961 val
* var7
/* : nullable Object */;
4962 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4963 val
* var8
/* : nullable Object */;
4964 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4965 val
* var9
/* : Array[Object] */;
4966 val
* var_listnode5
/* var listnode5: Array[Object] */;
4967 val
* var_patidnode2
/* var patidnode2: nullable Object */;
4968 short int var10
/* : Bool */;
4971 val
* var_toparnode3
/* var toparnode3: nullable Object */;
4972 short int var11
/* : Bool */;
4975 val
* var_listnode4
/* var listnode4: nullable Object */;
4976 short int var14
/* : Bool */;
4979 val
* var17
/* : Array[Object] */;
4980 val
* var_tcparnode6
/* var tcparnode6: nullable Object */;
4981 short int var18
/* : Bool */;
4984 val
* var_pannotationsnode7
/* var pannotationsnode7: nullable Object */;
4985 short int var21
/* : Bool */;
4988 val
* var24
/* : AAnnotation */;
4989 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
4990 long var25
/* : Int */;
4991 long var26
/* : Int */;
4994 var_node_list
= var
;
4995 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4996 var_nodearraylist8
= var1
;
4997 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4998 var_nodearraylist7
= var2
;
4999 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5000 var_nodearraylist6
= var3
;
5001 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5002 var_nodearraylist5
= var4
;
5003 var5
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5004 var_nodearraylist4
= var5
;
5005 var6
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5006 var_nodearraylist3
= var6
;
5007 var7
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5008 var_nodearraylist2
= var7
;
5009 var8
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5010 var_nodearraylist1
= var8
;
5011 var9
= NEW_array__Array(&type_array__Arraykernel__Object
);
5012 ((void (*)(val
*))(var9
->class->vft
[COLOR_array__Array__init
]))(var9
) /* init on <var9:Array[Object]>*/;
5013 var_listnode5
= var9
;
5014 var_patidnode2
= var_nodearraylist2
;
5015 /* <var_patidnode2:nullable Object> isa nullable AAtid */
5016 cltype
= type_nullable_parser_nodes__AAtid
.color
;
5017 idtype
= type_nullable_parser_nodes__AAtid
.id
;
5018 if(var_patidnode2
== NULL
) {
5021 if(cltype
>= var_patidnode2
->type
->table_size
) {
5024 var10
= var_patidnode2
->type
->type_table
[cltype
] == idtype
;
5028 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5029 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28436);
5032 var_toparnode3
= var_nodearraylist3
;
5033 /* <var_toparnode3:nullable Object> isa nullable TOpar */
5034 cltype12
= type_nullable_parser_nodes__TOpar
.color
;
5035 idtype13
= type_nullable_parser_nodes__TOpar
.id
;
5036 if(var_toparnode3
== NULL
) {
5039 if(cltype12
>= var_toparnode3
->type
->table_size
) {
5042 var11
= var_toparnode3
->type
->type_table
[cltype12
] == idtype13
;
5046 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5047 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28438);
5050 var_listnode4
= var_nodearraylist5
;
5051 /* <var_listnode4:nullable Object> isa Array[Object] */
5052 cltype15
= type_array__Arraykernel__Object
.color
;
5053 idtype16
= type_array__Arraykernel__Object
.id
;
5054 if(var_listnode4
== NULL
) {
5057 if(cltype15
>= var_listnode4
->type
->table_size
) {
5060 var14
= var_listnode4
->type
->type_table
[cltype15
] == idtype16
;
5064 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5065 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28440);
5068 var17
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction829>*/;
5069 var_listnode5
= var17
;
5070 var_tcparnode6
= var_nodearraylist6
;
5071 /* <var_tcparnode6:nullable Object> isa nullable TCpar */
5072 cltype19
= type_nullable_parser_nodes__TCpar
.color
;
5073 idtype20
= type_nullable_parser_nodes__TCpar
.id
;
5074 if(var_tcparnode6
== NULL
) {
5077 if(cltype19
>= var_tcparnode6
->type
->table_size
) {
5080 var18
= var_tcparnode6
->type
->type_table
[cltype19
] == idtype20
;
5084 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5085 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28443);
5088 var_pannotationsnode7
= var_nodearraylist7
;
5089 /* <var_pannotationsnode7:nullable Object> isa nullable AAnnotations */
5090 cltype22
= type_nullable_parser_nodes__AAnnotations
.color
;
5091 idtype23
= type_nullable_parser_nodes__AAnnotations
.id
;
5092 if(var_pannotationsnode7
== NULL
) {
5095 if(cltype22
>= var_pannotationsnode7
->type
->table_size
) {
5098 var21
= var_pannotationsnode7
->type
->type_table
[cltype22
] == idtype23
;
5102 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5103 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28445);
5106 var24
= NEW_parser_nodes__AAnnotation(&type_parser_nodes__AAnnotation
);
5107 ((void (*)(val
*, val
*, val
*, val
*, val
*, val
*))(var24
->class->vft
[COLOR_parser_prod__AAnnotation__init_aannotation
]))(var24
, var_patidnode2
, var_toparnode3
, var_listnode5
, var_tcparnode6
, var_pannotationsnode7
) /* init_aannotation on <var24:AAnnotation>*/;
5108 var_pannotationnode1
= var24
;
5109 var_node_list
= var_pannotationnode1
;
5110 var25
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction829> */
5111 var26
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var25
) /* go_to on <var_p:Parser>*/;
5112 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var26
, var_node_list
) /* push on <var_p:Parser>*/;
5115 /* method parser#ReduceAction829#action for (self: Object, Parser) */
5116 void VIRTUAL_parser__ReduceAction829__action(val
* self
, val
* p0
) {
5117 parser__ReduceAction829__action(self
, p0
);
5120 /* method parser#ReduceAction830#action for (self: ReduceAction830, Parser) */
5121 void parser__ReduceAction830__action(val
* self
, val
* p0
) {
5122 val
* var_p
/* var p: Parser */;
5123 val
* var
/* : null */;
5124 val
* var_node_list
/* var node_list: nullable Object */;
5125 val
* var1
/* : nullable Object */;
5126 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5127 val
* var2
/* : nullable Object */;
5128 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5129 val
* var3
/* : nullable Object */;
5130 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5131 val
* var4
/* : nullable Object */;
5132 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5133 val
* var5
/* : Array[Object] */;
5134 val
* var_listnode5
/* var listnode5: Array[Object] */;
5135 val
* var_patidnode2
/* var patidnode2: nullable Object */;
5136 short int var6
/* : Bool */;
5139 val
* var_listnode4
/* var listnode4: nullable Object */;
5140 short int var7
/* : Bool */;
5143 val
* var10
/* : Array[Object] */;
5144 val
* var11
/* : AAnnotation */;
5145 val
* var12
/* : null */;
5146 val
* var13
/* : null */;
5147 val
* var14
/* : null */;
5148 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
5149 long var15
/* : Int */;
5150 long var16
/* : Int */;
5153 var_node_list
= var
;
5154 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5155 var_nodearraylist4
= var1
;
5156 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5157 var_nodearraylist3
= var2
;
5158 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5159 var_nodearraylist2
= var3
;
5160 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5161 var_nodearraylist1
= var4
;
5162 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
5163 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
5164 var_listnode5
= var5
;
5165 var_patidnode2
= var_nodearraylist2
;
5166 /* <var_patidnode2:nullable Object> isa nullable AAtid */
5167 cltype
= type_nullable_parser_nodes__AAtid
.color
;
5168 idtype
= type_nullable_parser_nodes__AAtid
.id
;
5169 if(var_patidnode2
== NULL
) {
5172 if(cltype
>= var_patidnode2
->type
->table_size
) {
5175 var6
= var_patidnode2
->type
->type_table
[cltype
] == idtype
;
5179 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5180 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28468);
5183 var_listnode4
= var_nodearraylist3
;
5184 /* <var_listnode4:nullable Object> isa Array[Object] */
5185 cltype8
= type_array__Arraykernel__Object
.color
;
5186 idtype9
= type_array__Arraykernel__Object
.id
;
5187 if(var_listnode4
== NULL
) {
5190 if(cltype8
>= var_listnode4
->type
->table_size
) {
5193 var7
= var_listnode4
->type
->type_table
[cltype8
] == idtype9
;
5197 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5198 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28470);
5201 var10
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction830>*/;
5202 var_listnode5
= var10
;
5203 var11
= NEW_parser_nodes__AAnnotation(&type_parser_nodes__AAnnotation
);
5207 ((void (*)(val
*, val
*, val
*, val
*, val
*, val
*))(var11
->class->vft
[COLOR_parser_prod__AAnnotation__init_aannotation
]))(var11
, var_patidnode2
, var12
, var_listnode5
, var13
, var14
) /* init_aannotation on <var11:AAnnotation>*/;
5208 var_pannotationnode1
= var11
;
5209 var_node_list
= var_pannotationnode1
;
5210 var15
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction830> */
5211 var16
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var15
) /* go_to on <var_p:Parser>*/;
5212 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var16
, var_node_list
) /* push on <var_p:Parser>*/;
5215 /* method parser#ReduceAction830#action for (self: Object, Parser) */
5216 void VIRTUAL_parser__ReduceAction830__action(val
* self
, val
* p0
) {
5217 parser__ReduceAction830__action(self
, p0
);
5220 /* method parser#ReduceAction831#action for (self: ReduceAction831, Parser) */
5221 void parser__ReduceAction831__action(val
* self
, val
* p0
) {
5222 val
* var_p
/* var p: Parser */;
5223 val
* var
/* : null */;
5224 val
* var_node_list
/* var node_list: nullable Object */;
5225 val
* var1
/* : nullable Object */;
5226 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5227 val
* var2
/* : nullable Object */;
5228 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5229 val
* var3
/* : nullable Object */;
5230 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5231 val
* var_pannotationnode1
/* var pannotationnode1: nullable Object */;
5232 long var4
/* : Int */;
5233 long var5
/* : Int */;
5236 var_node_list
= var
;
5237 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5238 var_nodearraylist3
= var1
;
5239 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5240 var_nodearraylist2
= var2
;
5241 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5242 var_nodearraylist1
= var3
;
5243 var_pannotationnode1
= var_nodearraylist3
;
5244 var_node_list
= var_pannotationnode1
;
5245 var4
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction831> */
5246 var5
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var4
) /* go_to on <var_p:Parser>*/;
5247 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var5
, var_node_list
) /* push on <var_p:Parser>*/;
5250 /* method parser#ReduceAction831#action for (self: Object, Parser) */
5251 void VIRTUAL_parser__ReduceAction831__action(val
* self
, val
* p0
) {
5252 parser__ReduceAction831__action(self
, p0
);
5255 /* method parser#ReduceAction832#action for (self: ReduceAction832, Parser) */
5256 void parser__ReduceAction832__action(val
* self
, val
* p0
) {
5257 val
* var_p
/* var p: Parser */;
5258 val
* var
/* : null */;
5259 val
* var_node_list
/* var node_list: nullable Object */;
5260 val
* var1
/* : nullable Object */;
5261 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5262 val
* var2
/* : Array[Object] */;
5263 val
* var_listnode2
/* var listnode2: Array[Object] */;
5264 val
* var_patargnode1
/* var patargnode1: nullable Object */;
5265 val
* var3
/* : null */;
5266 short int var4
/* : Bool */;
5267 long var5
/* : Int */;
5268 long var6
/* : Int */;
5271 var_node_list
= var
;
5272 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5273 var_nodearraylist1
= var1
;
5274 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
5275 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
5276 var_listnode2
= var2
;
5277 var_patargnode1
= var_nodearraylist1
;
5279 if (var_patargnode1
== NULL
) {
5280 var4
= 0; /* is null */
5282 var4
= 1; /* arg is null and recv is not */
5285 ((void (*)(val
*, val
*))(var_listnode2
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode2
, var_patargnode1
) /* add on <var_listnode2:Array[Object]>*/;
5288 var_node_list
= var_listnode2
;
5289 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction832> */
5290 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
5291 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
5294 /* method parser#ReduceAction832#action for (self: Object, Parser) */
5295 void VIRTUAL_parser__ReduceAction832__action(val
* self
, val
* p0
) {
5296 parser__ReduceAction832__action(self
, p0
);
5299 /* method parser#ReduceAction833#action for (self: ReduceAction833, Parser) */
5300 void parser__ReduceAction833__action(val
* self
, val
* p0
) {
5301 val
* var_p
/* var p: Parser */;
5302 val
* var
/* : null */;
5303 val
* var_node_list
/* var node_list: nullable Object */;
5304 val
* var1
/* : nullable Object */;
5305 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5306 val
* var2
/* : nullable Object */;
5307 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5308 val
* var3
/* : Array[Object] */;
5309 val
* var_listnode3
/* var listnode3: Array[Object] */;
5310 val
* var_patargnode1
/* var patargnode1: nullable Object */;
5311 val
* var_listnode2
/* var listnode2: nullable Object */;
5312 short int var4
/* : Bool */;
5315 val
* var5
/* : null */;
5316 short int var6
/* : Bool */;
5317 val
* var7
/* : Array[Object] */;
5318 long var8
/* : Int */;
5319 long var9
/* : Int */;
5322 var_node_list
= var
;
5323 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5324 var_nodearraylist2
= var1
;
5325 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5326 var_nodearraylist1
= var2
;
5327 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
5328 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
5329 var_listnode3
= var3
;
5330 var_patargnode1
= var_nodearraylist1
;
5331 var_listnode2
= var_nodearraylist2
;
5332 /* <var_listnode2:nullable Object> isa Array[Object] */
5333 cltype
= type_array__Arraykernel__Object
.color
;
5334 idtype
= type_array__Arraykernel__Object
.id
;
5335 if(var_listnode2
== NULL
) {
5338 if(cltype
>= var_listnode2
->type
->table_size
) {
5341 var4
= var_listnode2
->type
->type_table
[cltype
] == idtype
;
5345 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5346 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28521);
5350 if (var_patargnode1
== NULL
) {
5351 var6
= 0; /* is null */
5353 var6
= 1; /* arg is null and recv is not */
5356 ((void (*)(val
*, val
*))(var_listnode3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode3
, var_patargnode1
) /* add on <var_listnode3:Array[Object]>*/;
5359 var7
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode2
) /* concat on <self:ReduceAction833>*/;
5360 var_listnode3
= var7
;
5361 var_node_list
= var_listnode3
;
5362 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction833> */
5363 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
5364 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
5367 /* method parser#ReduceAction833#action for (self: Object, Parser) */
5368 void VIRTUAL_parser__ReduceAction833__action(val
* self
, val
* p0
) {
5369 parser__ReduceAction833__action(self
, p0
);
5372 /* method parser#ReduceAction834#action for (self: ReduceAction834, Parser) */
5373 void parser__ReduceAction834__action(val
* self
, val
* p0
) {
5374 val
* var_p
/* var p: Parser */;
5375 val
* var
/* : null */;
5376 val
* var_node_list
/* var node_list: nullable Object */;
5377 val
* var1
/* : nullable Object */;
5378 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5379 val
* var2
/* : nullable Object */;
5380 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5381 val
* var3
/* : nullable Object */;
5382 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5383 val
* var_patargnode1
/* var patargnode1: nullable Object */;
5384 long var4
/* : Int */;
5385 long var5
/* : Int */;
5388 var_node_list
= var
;
5389 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5390 var_nodearraylist3
= var1
;
5391 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5392 var_nodearraylist2
= var2
;
5393 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5394 var_nodearraylist1
= var3
;
5395 var_patargnode1
= var_nodearraylist3
;
5396 var_node_list
= var_patargnode1
;
5397 var4
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction834> */
5398 var5
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var4
) /* go_to on <var_p:Parser>*/;
5399 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var5
, var_node_list
) /* push on <var_p:Parser>*/;
5402 /* method parser#ReduceAction834#action for (self: Object, Parser) */
5403 void VIRTUAL_parser__ReduceAction834__action(val
* self
, val
* p0
) {
5404 parser__ReduceAction834__action(self
, p0
);
5407 /* method parser#ReduceAction835#action for (self: ReduceAction835, Parser) */
5408 void parser__ReduceAction835__action(val
* self
, val
* p0
) {
5409 val
* var_p
/* var p: Parser */;
5410 val
* var
/* : null */;
5411 val
* var_node_list
/* var node_list: nullable Object */;
5412 val
* var1
/* : nullable Object */;
5413 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5414 val
* var_ptypenode2
/* var ptypenode2: nullable Object */;
5415 short int var2
/* : Bool */;
5418 val
* var3
/* : ATypeAtArg */;
5419 val
* var_patargnode1
/* var patargnode1: nullable ATypeAtArg */;
5420 long var4
/* : Int */;
5421 long var5
/* : Int */;
5424 var_node_list
= var
;
5425 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5426 var_nodearraylist1
= var1
;
5427 var_ptypenode2
= var_nodearraylist1
;
5428 /* <var_ptypenode2:nullable Object> isa nullable AType */
5429 cltype
= type_nullable_parser_nodes__AType
.color
;
5430 idtype
= type_nullable_parser_nodes__AType
.id
;
5431 if(var_ptypenode2
== NULL
) {
5434 if(cltype
>= var_ptypenode2
->type
->table_size
) {
5437 var2
= var_ptypenode2
->type
->type_table
[cltype
] == idtype
;
5441 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5442 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28550);
5445 var3
= NEW_parser_nodes__ATypeAtArg(&type_parser_nodes__ATypeAtArg
);
5446 ((void (*)(val
*, val
*))(var3
->class->vft
[COLOR_parser_prod__ATypeAtArg__init_atypeatarg
]))(var3
, var_ptypenode2
) /* init_atypeatarg on <var3:ATypeAtArg>*/;
5447 var_patargnode1
= var3
;
5448 var_node_list
= var_patargnode1
;
5449 var4
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction835> */
5450 var5
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var4
) /* go_to on <var_p:Parser>*/;
5451 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var5
, var_node_list
) /* push on <var_p:Parser>*/;
5454 /* method parser#ReduceAction835#action for (self: Object, Parser) */
5455 void VIRTUAL_parser__ReduceAction835__action(val
* self
, val
* p0
) {
5456 parser__ReduceAction835__action(self
, p0
);
5459 /* method parser#ReduceAction836#action for (self: ReduceAction836, Parser) */
5460 void parser__ReduceAction836__action(val
* self
, val
* p0
) {
5461 val
* var_p
/* var p: Parser */;
5462 val
* var
/* : null */;
5463 val
* var_node_list
/* var node_list: nullable Object */;
5464 val
* var1
/* : nullable Object */;
5465 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5466 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
5467 short int var2
/* : Bool */;
5470 val
* var3
/* : AExprAtArg */;
5471 val
* var_patargnode1
/* var patargnode1: nullable AExprAtArg */;
5472 long var4
/* : Int */;
5473 long var5
/* : Int */;
5476 var_node_list
= var
;
5477 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5478 var_nodearraylist1
= var1
;
5479 var_pexprnode2
= var_nodearraylist1
;
5480 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
5481 cltype
= type_nullable_parser_nodes__AExpr
.color
;
5482 idtype
= type_nullable_parser_nodes__AExpr
.id
;
5483 if(var_pexprnode2
== NULL
) {
5486 if(cltype
>= var_pexprnode2
->type
->table_size
) {
5489 var2
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
5493 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5494 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28565);
5497 var3
= NEW_parser_nodes__AExprAtArg(&type_parser_nodes__AExprAtArg
);
5498 ((void (*)(val
*, val
*))(var3
->class->vft
[COLOR_parser_prod__AExprAtArg__init_aexpratarg
]))(var3
, var_pexprnode2
) /* init_aexpratarg on <var3:AExprAtArg>*/;
5499 var_patargnode1
= var3
;
5500 var_node_list
= var_patargnode1
;
5501 var4
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction836> */
5502 var5
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var4
) /* go_to on <var_p:Parser>*/;
5503 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var5
, var_node_list
) /* push on <var_p:Parser>*/;
5506 /* method parser#ReduceAction836#action for (self: Object, Parser) */
5507 void VIRTUAL_parser__ReduceAction836__action(val
* self
, val
* p0
) {
5508 parser__ReduceAction836__action(self
, p0
);
5511 /* method parser#ReduceAction838#action for (self: ReduceAction838, Parser) */
5512 void parser__ReduceAction838__action(val
* self
, val
* p0
) {
5513 val
* var_p
/* var p: Parser */;
5514 val
* var
/* : null */;
5515 val
* var_node_list
/* var node_list: nullable Object */;
5516 val
* var1
/* : nullable Object */;
5517 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5518 val
* var_pannotationsnode2
/* var pannotationsnode2: nullable Object */;
5519 short int var2
/* : Bool */;
5522 val
* var3
/* : AAtAtArg */;
5523 val
* var_patargnode1
/* var patargnode1: nullable AAtAtArg */;
5524 long var4
/* : Int */;
5525 long var5
/* : Int */;
5528 var_node_list
= var
;
5529 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5530 var_nodearraylist1
= var1
;
5531 var_pannotationsnode2
= var_nodearraylist1
;
5532 /* <var_pannotationsnode2:nullable Object> isa nullable AAnnotations */
5533 cltype
= type_nullable_parser_nodes__AAnnotations
.color
;
5534 idtype
= type_nullable_parser_nodes__AAnnotations
.id
;
5535 if(var_pannotationsnode2
== NULL
) {
5538 if(cltype
>= var_pannotationsnode2
->type
->table_size
) {
5541 var2
= var_pannotationsnode2
->type
->type_table
[cltype
] == idtype
;
5545 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5546 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28580);
5549 var3
= NEW_parser_nodes__AAtAtArg(&type_parser_nodes__AAtAtArg
);
5550 ((void (*)(val
*, val
*))(var3
->class->vft
[COLOR_parser_prod__AAtAtArg__init_aatatarg
]))(var3
, var_pannotationsnode2
) /* init_aatatarg on <var3:AAtAtArg>*/;
5551 var_patargnode1
= var3
;
5552 var_node_list
= var_patargnode1
;
5553 var4
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction838> */
5554 var5
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var4
) /* go_to on <var_p:Parser>*/;
5555 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var5
, var_node_list
) /* push on <var_p:Parser>*/;
5558 /* method parser#ReduceAction838#action for (self: Object, Parser) */
5559 void VIRTUAL_parser__ReduceAction838__action(val
* self
, val
* p0
) {
5560 parser__ReduceAction838__action(self
, p0
);
5563 /* method parser#ReduceAction839#action for (self: ReduceAction839, Parser) */
5564 void parser__ReduceAction839__action(val
* self
, val
* p0
) {
5565 val
* var_p
/* var p: Parser */;
5566 val
* var
/* : null */;
5567 val
* var_node_list
/* var node_list: nullable Object */;
5568 val
* var1
/* : nullable Object */;
5569 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5570 val
* var_tidnode2
/* var tidnode2: nullable Object */;
5571 short int var2
/* : Bool */;
5574 val
* var3
/* : AIdAtid */;
5575 val
* var_patidnode1
/* var patidnode1: nullable AIdAtid */;
5576 long var4
/* : Int */;
5577 long var5
/* : Int */;
5580 var_node_list
= var
;
5581 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5582 var_nodearraylist1
= var1
;
5583 var_tidnode2
= var_nodearraylist1
;
5584 /* <var_tidnode2:nullable Object> isa nullable TId */
5585 cltype
= type_nullable_parser_nodes__TId
.color
;
5586 idtype
= type_nullable_parser_nodes__TId
.id
;
5587 if(var_tidnode2
== NULL
) {
5590 if(cltype
>= var_tidnode2
->type
->table_size
) {
5593 var2
= var_tidnode2
->type
->type_table
[cltype
] == idtype
;
5597 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5598 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28595);
5601 var3
= NEW_parser_nodes__AIdAtid(&type_parser_nodes__AIdAtid
);
5602 ((void (*)(val
*, val
*))(var3
->class->vft
[COLOR_parser_prod__AIdAtid__init_aidatid
]))(var3
, var_tidnode2
) /* init_aidatid on <var3:AIdAtid>*/;
5603 var_patidnode1
= var3
;
5604 var_node_list
= var_patidnode1
;
5605 var4
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction839> */
5606 var5
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var4
) /* go_to on <var_p:Parser>*/;
5607 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var5
, var_node_list
) /* push on <var_p:Parser>*/;
5610 /* method parser#ReduceAction839#action for (self: Object, Parser) */
5611 void VIRTUAL_parser__ReduceAction839__action(val
* self
, val
* p0
) {
5612 parser__ReduceAction839__action(self
, p0
);
5615 /* method parser#ReduceAction840#action for (self: ReduceAction840, Parser) */
5616 void parser__ReduceAction840__action(val
* self
, val
* p0
) {
5617 val
* var_p
/* var p: Parser */;
5618 val
* var
/* : null */;
5619 val
* var_node_list
/* var node_list: nullable Object */;
5620 val
* var1
/* : nullable Object */;
5621 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5622 val
* var_tkwreadablenode2
/* var tkwreadablenode2: nullable Object */;
5623 short int var2
/* : Bool */;
5626 val
* var3
/* : AKwreadableAtid */;
5627 val
* var_patidnode1
/* var patidnode1: nullable AKwreadableAtid */;
5628 long var4
/* : Int */;
5629 long var5
/* : Int */;
5632 var_node_list
= var
;
5633 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5634 var_nodearraylist1
= var1
;
5635 var_tkwreadablenode2
= var_nodearraylist1
;
5636 /* <var_tkwreadablenode2:nullable Object> isa nullable TKwreadable */
5637 cltype
= type_nullable_parser_nodes__TKwreadable
.color
;
5638 idtype
= type_nullable_parser_nodes__TKwreadable
.id
;
5639 if(var_tkwreadablenode2
== NULL
) {
5642 if(cltype
>= var_tkwreadablenode2
->type
->table_size
) {
5645 var2
= var_tkwreadablenode2
->type
->type_table
[cltype
] == idtype
;
5649 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5650 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28610);
5653 var3
= NEW_parser_nodes__AKwreadableAtid(&type_parser_nodes__AKwreadableAtid
);
5654 ((void (*)(val
*, val
*))(var3
->class->vft
[COLOR_parser_prod__AKwreadableAtid__init_akwreadableatid
]))(var3
, var_tkwreadablenode2
) /* init_akwreadableatid on <var3:AKwreadableAtid>*/;
5655 var_patidnode1
= var3
;
5656 var_node_list
= var_patidnode1
;
5657 var4
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction840> */
5658 var5
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var4
) /* go_to on <var_p:Parser>*/;
5659 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var5
, var_node_list
) /* push on <var_p:Parser>*/;
5662 /* method parser#ReduceAction840#action for (self: Object, Parser) */
5663 void VIRTUAL_parser__ReduceAction840__action(val
* self
, val
* p0
) {
5664 parser__ReduceAction840__action(self
, p0
);
5667 /* method parser#ReduceAction841#action for (self: ReduceAction841, Parser) */
5668 void parser__ReduceAction841__action(val
* self
, val
* p0
) {
5669 val
* var_p
/* var p: Parser */;
5670 val
* var
/* : null */;
5671 val
* var_node_list
/* var node_list: nullable Object */;
5672 val
* var1
/* : nullable Object */;
5673 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5674 val
* var_tkwwritablenode2
/* var tkwwritablenode2: nullable Object */;
5675 short int var2
/* : Bool */;
5678 val
* var3
/* : AKwwritableAtid */;
5679 val
* var_patidnode1
/* var patidnode1: nullable AKwwritableAtid */;
5680 long var4
/* : Int */;
5681 long var5
/* : Int */;
5684 var_node_list
= var
;
5685 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5686 var_nodearraylist1
= var1
;
5687 var_tkwwritablenode2
= var_nodearraylist1
;
5688 /* <var_tkwwritablenode2:nullable Object> isa nullable TKwwritable */
5689 cltype
= type_nullable_parser_nodes__TKwwritable
.color
;
5690 idtype
= type_nullable_parser_nodes__TKwwritable
.id
;
5691 if(var_tkwwritablenode2
== NULL
) {
5694 if(cltype
>= var_tkwwritablenode2
->type
->table_size
) {
5697 var2
= var_tkwwritablenode2
->type
->type_table
[cltype
] == idtype
;
5701 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5702 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28625);
5705 var3
= NEW_parser_nodes__AKwwritableAtid(&type_parser_nodes__AKwwritableAtid
);
5706 ((void (*)(val
*, val
*))(var3
->class->vft
[COLOR_parser_prod__AKwwritableAtid__init_akwwritableatid
]))(var3
, var_tkwwritablenode2
) /* init_akwwritableatid on <var3:AKwwritableAtid>*/;
5707 var_patidnode1
= var3
;
5708 var_node_list
= var_patidnode1
;
5709 var4
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction841> */
5710 var5
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var4
) /* go_to on <var_p:Parser>*/;
5711 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var5
, var_node_list
) /* push on <var_p:Parser>*/;
5714 /* method parser#ReduceAction841#action for (self: Object, Parser) */
5715 void VIRTUAL_parser__ReduceAction841__action(val
* self
, val
* p0
) {
5716 parser__ReduceAction841__action(self
, p0
);
5719 /* method parser#ReduceAction842#action for (self: ReduceAction842, Parser) */
5720 void parser__ReduceAction842__action(val
* self
, val
* p0
) {
5721 val
* var_p
/* var p: Parser */;
5722 val
* var
/* : null */;
5723 val
* var_node_list
/* var node_list: nullable Object */;
5724 val
* var1
/* : nullable Object */;
5725 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5726 val
* var_tkwimportnode2
/* var tkwimportnode2: nullable Object */;
5727 short int var2
/* : Bool */;
5730 val
* var3
/* : AKwimportAtid */;
5731 val
* var_patidnode1
/* var patidnode1: nullable AKwimportAtid */;
5732 long var4
/* : Int */;
5733 long var5
/* : Int */;
5736 var_node_list
= var
;
5737 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5738 var_nodearraylist1
= var1
;
5739 var_tkwimportnode2
= var_nodearraylist1
;
5740 /* <var_tkwimportnode2:nullable Object> isa nullable TKwimport */
5741 cltype
= type_nullable_parser_nodes__TKwimport
.color
;
5742 idtype
= type_nullable_parser_nodes__TKwimport
.id
;
5743 if(var_tkwimportnode2
== NULL
) {
5746 if(cltype
>= var_tkwimportnode2
->type
->table_size
) {
5749 var2
= var_tkwimportnode2
->type
->type_table
[cltype
] == idtype
;
5753 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5754 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28640);
5757 var3
= NEW_parser_nodes__AKwimportAtid(&type_parser_nodes__AKwimportAtid
);
5758 ((void (*)(val
*, val
*))(var3
->class->vft
[COLOR_parser_prod__AKwimportAtid__init_akwimportatid
]))(var3
, var_tkwimportnode2
) /* init_akwimportatid on <var3:AKwimportAtid>*/;
5759 var_patidnode1
= var3
;
5760 var_node_list
= var_patidnode1
;
5761 var4
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction842> */
5762 var5
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var4
) /* go_to on <var_p:Parser>*/;
5763 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var5
, var_node_list
) /* push on <var_p:Parser>*/;
5766 /* method parser#ReduceAction842#action for (self: Object, Parser) */
5767 void VIRTUAL_parser__ReduceAction842__action(val
* self
, val
* p0
) {
5768 parser__ReduceAction842__action(self
, p0
);
5771 /* method parser#ReduceAction843#action for (self: ReduceAction843, Parser) */
5772 void parser__ReduceAction843__action(val
* self
, val
* p0
) {
5773 val
* var_p
/* var p: Parser */;
5774 val
* var
/* : null */;
5775 val
* var_node_list
/* var node_list: nullable Object */;
5776 val
* var1
/* : nullable Object */;
5777 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5778 val
* var2
/* : nullable Object */;
5779 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5780 val
* var3
/* : nullable Object */;
5781 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5782 val
* var4
/* : nullable Object */;
5783 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5784 val
* var5
/* : Array[Object] */;
5785 val
* var_listnode4
/* var listnode4: Array[Object] */;
5786 val
* var_toparnode2
/* var toparnode2: nullable Object */;
5787 short int var6
/* : Bool */;
5790 val
* var_listnode3
/* var listnode3: nullable Object */;
5791 short int var7
/* : Bool */;
5794 val
* var10
/* : Array[Object] */;
5795 val
* var_tcparnode5
/* var tcparnode5: nullable Object */;
5796 short int var11
/* : Bool */;
5799 val
* var14
/* : AParExprs */;
5800 val
* var_pexprsnode1
/* var pexprsnode1: nullable AParExprs */;
5801 long var15
/* : Int */;
5802 long var16
/* : Int */;
5805 var_node_list
= var
;
5806 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5807 var_nodearraylist4
= var1
;
5808 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5809 var_nodearraylist3
= var2
;
5810 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5811 var_nodearraylist2
= var3
;
5812 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5813 var_nodearraylist1
= var4
;
5814 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
5815 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
5816 var_listnode4
= var5
;
5817 var_toparnode2
= var_nodearraylist1
;
5818 /* <var_toparnode2:nullable Object> isa nullable TOpar */
5819 cltype
= type_nullable_parser_nodes__TOpar
.color
;
5820 idtype
= type_nullable_parser_nodes__TOpar
.id
;
5821 if(var_toparnode2
== NULL
) {
5824 if(cltype
>= var_toparnode2
->type
->table_size
) {
5827 var6
= var_toparnode2
->type
->type_table
[cltype
] == idtype
;
5831 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5832 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28659);
5835 var_listnode3
= var_nodearraylist3
;
5836 /* <var_listnode3:nullable Object> isa Array[Object] */
5837 cltype8
= type_array__Arraykernel__Object
.color
;
5838 idtype9
= type_array__Arraykernel__Object
.id
;
5839 if(var_listnode3
== NULL
) {
5842 if(cltype8
>= var_listnode3
->type
->table_size
) {
5845 var7
= var_listnode3
->type
->type_table
[cltype8
] == idtype9
;
5849 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5850 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28661);
5853 var10
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction843>*/;
5854 var_listnode4
= var10
;
5855 var_tcparnode5
= var_nodearraylist4
;
5856 /* <var_tcparnode5:nullable Object> isa nullable TCpar */
5857 cltype12
= type_nullable_parser_nodes__TCpar
.color
;
5858 idtype13
= type_nullable_parser_nodes__TCpar
.id
;
5859 if(var_tcparnode5
== NULL
) {
5862 if(cltype12
>= var_tcparnode5
->type
->table_size
) {
5865 var11
= var_tcparnode5
->type
->type_table
[cltype12
] == idtype13
;
5869 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5870 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28664);
5873 var14
= NEW_parser_nodes__AParExprs(&type_parser_nodes__AParExprs
);
5874 ((void (*)(val
*, val
*, val
*, val
*))(var14
->class->vft
[COLOR_parser_prod__AParExprs__init_aparexprs
]))(var14
, var_toparnode2
, var_listnode4
, var_tcparnode5
) /* init_aparexprs on <var14:AParExprs>*/;
5875 var_pexprsnode1
= var14
;
5876 var_node_list
= var_pexprsnode1
;
5877 var15
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction843> */
5878 var16
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var15
) /* go_to on <var_p:Parser>*/;
5879 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var16
, var_node_list
) /* push on <var_p:Parser>*/;
5882 /* method parser#ReduceAction843#action for (self: Object, Parser) */
5883 void VIRTUAL_parser__ReduceAction843__action(val
* self
, val
* p0
) {
5884 parser__ReduceAction843__action(self
, p0
);
5887 /* method parser#ReduceAction844#action for (self: ReduceAction844, Parser) */
5888 void parser__ReduceAction844__action(val
* self
, val
* p0
) {
5889 val
* var_p
/* var p: Parser */;
5890 val
* var
/* : null */;
5891 val
* var_node_list
/* var node_list: nullable Object */;
5892 val
* var1
/* : nullable Object */;
5893 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5894 val
* var2
/* : nullable Object */;
5895 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5896 val
* var3
/* : nullable Object */;
5897 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5898 val
* var4
/* : Array[Object] */;
5899 val
* var_listnode3
/* var listnode3: Array[Object] */;
5900 val
* var_toparnode2
/* var toparnode2: nullable Object */;
5901 short int var5
/* : Bool */;
5904 val
* var_tcparnode4
/* var tcparnode4: nullable Object */;
5905 short int var6
/* : Bool */;
5908 val
* var9
/* : AParExprs */;
5909 val
* var_pexprsnode1
/* var pexprsnode1: nullable AParExprs */;
5910 long var10
/* : Int */;
5911 long var11
/* : Int */;
5914 var_node_list
= var
;
5915 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5916 var_nodearraylist3
= var1
;
5917 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5918 var_nodearraylist2
= var2
;
5919 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5920 var_nodearraylist1
= var3
;
5921 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
5922 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
5923 var_listnode3
= var4
;
5924 var_toparnode2
= var_nodearraylist1
;
5925 /* <var_toparnode2:nullable Object> isa nullable TOpar */
5926 cltype
= type_nullable_parser_nodes__TOpar
.color
;
5927 idtype
= type_nullable_parser_nodes__TOpar
.id
;
5928 if(var_toparnode2
== NULL
) {
5931 if(cltype
>= var_toparnode2
->type
->table_size
) {
5934 var5
= var_toparnode2
->type
->type_table
[cltype
] == idtype
;
5938 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5939 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28684);
5942 var_tcparnode4
= var_nodearraylist3
;
5943 /* <var_tcparnode4:nullable Object> isa nullable TCpar */
5944 cltype7
= type_nullable_parser_nodes__TCpar
.color
;
5945 idtype8
= type_nullable_parser_nodes__TCpar
.id
;
5946 if(var_tcparnode4
== NULL
) {
5949 if(cltype7
>= var_tcparnode4
->type
->table_size
) {
5952 var6
= var_tcparnode4
->type
->type_table
[cltype7
] == idtype8
;
5956 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5957 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28686);
5960 var9
= NEW_parser_nodes__AParExprs(&type_parser_nodes__AParExprs
);
5961 ((void (*)(val
*, val
*, val
*, val
*))(var9
->class->vft
[COLOR_parser_prod__AParExprs__init_aparexprs
]))(var9
, var_toparnode2
, var_listnode3
, var_tcparnode4
) /* init_aparexprs on <var9:AParExprs>*/;
5962 var_pexprsnode1
= var9
;
5963 var_node_list
= var_pexprsnode1
;
5964 var10
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction844> */
5965 var11
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var10
) /* go_to on <var_p:Parser>*/;
5966 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var11
, var_node_list
) /* push on <var_p:Parser>*/;
5969 /* method parser#ReduceAction844#action for (self: Object, Parser) */
5970 void VIRTUAL_parser__ReduceAction844__action(val
* self
, val
* p0
) {
5971 parser__ReduceAction844__action(self
, p0
);
5974 /* method parser#ReduceAction845#action for (self: ReduceAction845, Parser) */
5975 void parser__ReduceAction845__action(val
* self
, val
* p0
) {
5976 val
* var_p
/* var p: Parser */;
5977 val
* var
/* : null */;
5978 val
* var_node_list
/* var node_list: nullable Object */;
5979 val
* var1
/* : Array[Object] */;
5980 val
* var_listnode2
/* var listnode2: Array[Object] */;
5981 val
* var2
/* : AListExprs */;
5982 val
* var_pexprsnode1
/* var pexprsnode1: nullable AListExprs */;
5983 long var3
/* : Int */;
5984 long var4
/* : Int */;
5987 var_node_list
= var
;
5988 var1
= NEW_array__Array(&type_array__Arraykernel__Object
);
5989 ((void (*)(val
*))(var1
->class->vft
[COLOR_array__Array__init
]))(var1
) /* init on <var1:Array[Object]>*/;
5990 var_listnode2
= var1
;
5991 var2
= NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs
);
5992 ((void (*)(val
*, val
*))(var2
->class->vft
[COLOR_parser_prod__AListExprs__init_alistexprs
]))(var2
, var_listnode2
) /* init_alistexprs on <var2:AListExprs>*/;
5993 var_pexprsnode1
= var2
;
5994 var_node_list
= var_pexprsnode1
;
5995 var3
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction845> */
5996 var4
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var3
) /* go_to on <var_p:Parser>*/;
5997 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var4
, var_node_list
) /* push on <var_p:Parser>*/;
6000 /* method parser#ReduceAction845#action for (self: Object, Parser) */
6001 void VIRTUAL_parser__ReduceAction845__action(val
* self
, val
* p0
) {
6002 parser__ReduceAction845__action(self
, p0
);
6005 /* method parser#ReduceAction847#action for (self: ReduceAction847, Parser) */
6006 void parser__ReduceAction847__action(val
* self
, val
* p0
) {
6007 val
* var_p
/* var p: Parser */;
6008 val
* var
/* : null */;
6009 val
* var_node_list
/* var node_list: nullable Object */;
6010 val
* var1
/* : nullable Object */;
6011 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6012 val
* var2
/* : Array[Object] */;
6013 val
* var_listnode3
/* var listnode3: Array[Object] */;
6014 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
6015 short int var3
/* : Bool */;
6018 val
* var4
/* : null */;
6019 short int var5
/* : Bool */;
6020 val
* var6
/* : AListExprs */;
6021 val
* var_pexprsnode1
/* var pexprsnode1: nullable AListExprs */;
6022 long var7
/* : Int */;
6023 long var8
/* : Int */;
6026 var_node_list
= var
;
6027 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6028 var_nodearraylist1
= var1
;
6029 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
6030 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
6031 var_listnode3
= var2
;
6032 var_pexprnode2
= var_nodearraylist1
;
6033 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
6034 cltype
= type_nullable_parser_nodes__AExpr
.color
;
6035 idtype
= type_nullable_parser_nodes__AExpr
.id
;
6036 if(var_pexprnode2
== NULL
) {
6039 if(cltype
>= var_pexprnode2
->type
->table_size
) {
6042 var3
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
6046 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6047 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28717);
6051 if (var_pexprnode2
== NULL
) {
6052 var5
= 0; /* is null */
6054 var5
= 1; /* arg is null and recv is not */
6057 ((void (*)(val
*, val
*))(var_listnode3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode3
, var_pexprnode2
) /* add on <var_listnode3:Array[Object]>*/;
6060 var6
= NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs
);
6061 ((void (*)(val
*, val
*))(var6
->class->vft
[COLOR_parser_prod__AListExprs__init_alistexprs
]))(var6
, var_listnode3
) /* init_alistexprs on <var6:AListExprs>*/;
6062 var_pexprsnode1
= var6
;
6063 var_node_list
= var_pexprsnode1
;
6064 var7
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction847> */
6065 var8
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var7
) /* go_to on <var_p:Parser>*/;
6066 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var8
, var_node_list
) /* push on <var_p:Parser>*/;
6069 /* method parser#ReduceAction847#action for (self: Object, Parser) */
6070 void VIRTUAL_parser__ReduceAction847__action(val
* self
, val
* p0
) {
6071 parser__ReduceAction847__action(self
, p0
);
6074 /* method parser#ReduceAction850#action for (self: ReduceAction850, Parser) */
6075 void parser__ReduceAction850__action(val
* self
, val
* p0
) {
6076 val
* var_p
/* var p: Parser */;
6077 val
* var
/* : null */;
6078 val
* var_node_list
/* var node_list: nullable Object */;
6079 val
* var1
/* : nullable Object */;
6080 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6081 val
* var2
/* : nullable Object */;
6082 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6083 val
* var3
/* : nullable Object */;
6084 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6085 val
* var4
/* : nullable Object */;
6086 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6087 val
* var5
/* : Array[Object] */;
6088 val
* var_listnode4
/* var listnode4: Array[Object] */;
6089 val
* var_tobranode2
/* var tobranode2: nullable Object */;
6090 short int var6
/* : Bool */;
6093 val
* var_listnode3
/* var listnode3: nullable Object */;
6094 short int var7
/* : Bool */;
6097 val
* var10
/* : Array[Object] */;
6098 val
* var_tcbranode5
/* var tcbranode5: nullable Object */;
6099 short int var11
/* : Bool */;
6102 val
* var14
/* : ABraExprs */;
6103 val
* var_pexprsnode1
/* var pexprsnode1: nullable ABraExprs */;
6104 long var15
/* : Int */;
6105 long var16
/* : Int */;
6108 var_node_list
= var
;
6109 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6110 var_nodearraylist4
= var1
;
6111 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6112 var_nodearraylist3
= var2
;
6113 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6114 var_nodearraylist2
= var3
;
6115 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6116 var_nodearraylist1
= var4
;
6117 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
6118 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
6119 var_listnode4
= var5
;
6120 var_tobranode2
= var_nodearraylist1
;
6121 /* <var_tobranode2:nullable Object> isa nullable TObra */
6122 cltype
= type_nullable_parser_nodes__TObra
.color
;
6123 idtype
= type_nullable_parser_nodes__TObra
.id
;
6124 if(var_tobranode2
== NULL
) {
6127 if(cltype
>= var_tobranode2
->type
->table_size
) {
6130 var6
= var_tobranode2
->type
->type_table
[cltype
] == idtype
;
6134 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6135 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28739);
6138 var_listnode3
= var_nodearraylist3
;
6139 /* <var_listnode3:nullable Object> isa Array[Object] */
6140 cltype8
= type_array__Arraykernel__Object
.color
;
6141 idtype9
= type_array__Arraykernel__Object
.id
;
6142 if(var_listnode3
== NULL
) {
6145 if(cltype8
>= var_listnode3
->type
->table_size
) {
6148 var7
= var_listnode3
->type
->type_table
[cltype8
] == idtype9
;
6152 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6153 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28741);
6156 var10
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction850>*/;
6157 var_listnode4
= var10
;
6158 var_tcbranode5
= var_nodearraylist4
;
6159 /* <var_tcbranode5:nullable Object> isa nullable TCbra */
6160 cltype12
= type_nullable_parser_nodes__TCbra
.color
;
6161 idtype13
= type_nullable_parser_nodes__TCbra
.id
;
6162 if(var_tcbranode5
== NULL
) {
6165 if(cltype12
>= var_tcbranode5
->type
->table_size
) {
6168 var11
= var_tcbranode5
->type
->type_table
[cltype12
] == idtype13
;
6172 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6173 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28744);
6176 var14
= NEW_parser_nodes__ABraExprs(&type_parser_nodes__ABraExprs
);
6177 ((void (*)(val
*, val
*, val
*, val
*))(var14
->class->vft
[COLOR_parser_prod__ABraExprs__init_abraexprs
]))(var14
, var_tobranode2
, var_listnode4
, var_tcbranode5
) /* init_abraexprs on <var14:ABraExprs>*/;
6178 var_pexprsnode1
= var14
;
6179 var_node_list
= var_pexprsnode1
;
6180 var15
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction850> */
6181 var16
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var15
) /* go_to on <var_p:Parser>*/;
6182 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var16
, var_node_list
) /* push on <var_p:Parser>*/;
6185 /* method parser#ReduceAction850#action for (self: Object, Parser) */
6186 void VIRTUAL_parser__ReduceAction850__action(val
* self
, val
* p0
) {
6187 parser__ReduceAction850__action(self
, p0
);
6190 /* method parser#ReduceAction851#action for (self: ReduceAction851, Parser) */
6191 void parser__ReduceAction851__action(val
* self
, val
* p0
) {
6192 val
* var_p
/* var p: Parser */;
6193 val
* var
/* : null */;
6194 val
* var_node_list
/* var node_list: nullable Object */;
6195 val
* var1
/* : nullable Object */;
6196 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6197 val
* var2
/* : nullable Object */;
6198 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6199 val
* var3
/* : Array[Object] */;
6200 val
* var_listnode2
/* var listnode2: Array[Object] */;
6201 val
* var_pexprnode1
/* var pexprnode1: nullable Object */;
6202 val
* var4
/* : null */;
6203 short int var5
/* : Bool */;
6204 long var6
/* : Int */;
6205 long var7
/* : Int */;
6208 var_node_list
= var
;
6209 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6210 var_nodearraylist2
= var1
;
6211 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6212 var_nodearraylist1
= var2
;
6213 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
6214 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
6215 var_listnode2
= var3
;
6216 var_pexprnode1
= var_nodearraylist1
;
6218 if (var_pexprnode1
== NULL
) {
6219 var5
= 0; /* is null */
6221 var5
= 1; /* arg is null and recv is not */
6224 ((void (*)(val
*, val
*))(var_listnode2
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode2
, var_pexprnode1
) /* add on <var_listnode2:Array[Object]>*/;
6227 var_node_list
= var_listnode2
;
6228 var6
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction851> */
6229 var7
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var6
) /* go_to on <var_p:Parser>*/;
6230 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var7
, var_node_list
) /* push on <var_p:Parser>*/;
6233 /* method parser#ReduceAction851#action for (self: Object, Parser) */
6234 void VIRTUAL_parser__ReduceAction851__action(val
* self
, val
* p0
) {
6235 parser__ReduceAction851__action(self
, p0
);
6238 /* method parser#ReduceAction852#action for (self: ReduceAction852, Parser) */
6239 void parser__ReduceAction852__action(val
* self
, val
* p0
) {
6240 val
* var_p
/* var p: Parser */;
6241 val
* var
/* : null */;
6242 val
* var_node_list
/* var node_list: nullable Object */;
6243 val
* var1
/* : nullable Object */;
6244 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6245 val
* var2
/* : nullable Object */;
6246 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6247 val
* var3
/* : nullable Object */;
6248 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6249 val
* var4
/* : Array[Object] */;
6250 val
* var_listnode3
/* var listnode3: Array[Object] */;
6251 val
* var_pexprnode1
/* var pexprnode1: nullable Object */;
6252 val
* var_listnode2
/* var listnode2: nullable Object */;
6253 short int var5
/* : Bool */;
6256 val
* var6
/* : null */;
6257 short int var7
/* : Bool */;
6258 val
* var8
/* : Array[Object] */;
6259 long var9
/* : Int */;
6260 long var10
/* : Int */;
6263 var_node_list
= var
;
6264 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6265 var_nodearraylist3
= var1
;
6266 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6267 var_nodearraylist2
= var2
;
6268 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6269 var_nodearraylist1
= var3
;
6270 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
6271 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
6272 var_listnode3
= var4
;
6273 var_pexprnode1
= var_nodearraylist1
;
6274 var_listnode2
= var_nodearraylist3
;
6275 /* <var_listnode2:nullable Object> isa Array[Object] */
6276 cltype
= type_array__Arraykernel__Object
.color
;
6277 idtype
= type_array__Arraykernel__Object
.id
;
6278 if(var_listnode2
== NULL
) {
6281 if(cltype
>= var_listnode2
->type
->table_size
) {
6284 var5
= var_listnode2
->type
->type_table
[cltype
] == idtype
;
6288 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6289 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28781);
6293 if (var_pexprnode1
== NULL
) {
6294 var7
= 0; /* is null */
6296 var7
= 1; /* arg is null and recv is not */
6299 ((void (*)(val
*, val
*))(var_listnode3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode3
, var_pexprnode1
) /* add on <var_listnode3:Array[Object]>*/;
6302 var8
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode2
) /* concat on <self:ReduceAction852>*/;
6303 var_listnode3
= var8
;
6304 var_node_list
= var_listnode3
;
6305 var9
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction852> */
6306 var10
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var9
) /* go_to on <var_p:Parser>*/;
6307 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var10
, var_node_list
) /* push on <var_p:Parser>*/;
6310 /* method parser#ReduceAction852#action for (self: Object, Parser) */
6311 void VIRTUAL_parser__ReduceAction852__action(val
* self
, val
* p0
) {
6312 parser__ReduceAction852__action(self
, p0
);
6315 /* method parser#ReduceAction853#action for (self: ReduceAction853, Parser) */
6316 void parser__ReduceAction853__action(val
* self
, val
* p0
) {
6317 val
* var_p
/* var p: Parser */;
6318 val
* var
/* : null */;
6319 val
* var_node_list
/* var node_list: nullable Object */;
6320 val
* var1
/* : nullable Object */;
6321 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6322 val
* var2
/* : nullable Object */;
6323 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6324 val
* var3
/* : nullable Object */;
6325 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6326 val
* var4
/* : nullable Object */;
6327 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6328 val
* var_pexprnode1
/* var pexprnode1: nullable Object */;
6329 long var5
/* : Int */;
6330 long var6
/* : Int */;
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_nodearraylist4
= var1
;
6336 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6337 var_nodearraylist3
= var2
;
6338 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6339 var_nodearraylist2
= var3
;
6340 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6341 var_nodearraylist1
= var4
;
6342 var_pexprnode1
= var_nodearraylist3
;
6343 var_node_list
= var_pexprnode1
;
6344 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction853> */
6345 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
6346 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
6349 /* method parser#ReduceAction853#action for (self: Object, Parser) */
6350 void VIRTUAL_parser__ReduceAction853__action(val
* self
, val
* p0
) {
6351 parser__ReduceAction853__action(self
, p0
);
6354 /* method parser#ReduceAction854#action for (self: ReduceAction854, Parser) */
6355 void parser__ReduceAction854__action(val
* self
, val
* p0
) {
6356 val
* var_p
/* var p: Parser */;
6357 val
* var
/* : null */;
6358 val
* var_node_list
/* var node_list: nullable Object */;
6359 val
* var1
/* : nullable Object */;
6360 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6361 val
* var2
/* : Array[Object] */;
6362 val
* var_listnode2
/* var listnode2: Array[Object] */;
6363 val
* var_tidnode1
/* var tidnode1: nullable Object */;
6364 val
* var3
/* : null */;
6365 short int var4
/* : Bool */;
6366 long var5
/* : Int */;
6367 long var6
/* : Int */;
6370 var_node_list
= var
;
6371 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6372 var_nodearraylist1
= var1
;
6373 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
6374 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
6375 var_listnode2
= var2
;
6376 var_tidnode1
= var_nodearraylist1
;
6378 if (var_tidnode1
== NULL
) {
6379 var4
= 0; /* is null */
6381 var4
= 1; /* arg is null and recv is not */
6384 ((void (*)(val
*, val
*))(var_listnode2
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode2
, var_tidnode1
) /* add on <var_listnode2:Array[Object]>*/;
6387 var_node_list
= var_listnode2
;
6388 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction854> */
6389 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
6390 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
6393 /* method parser#ReduceAction854#action for (self: Object, Parser) */
6394 void VIRTUAL_parser__ReduceAction854__action(val
* self
, val
* p0
) {
6395 parser__ReduceAction854__action(self
, p0
);
6398 /* method parser#ReduceAction855#action for (self: ReduceAction855, Parser) */
6399 void parser__ReduceAction855__action(val
* self
, val
* p0
) {
6400 val
* var_p
/* var p: Parser */;
6401 val
* var
/* : null */;
6402 val
* var_node_list
/* var node_list: nullable Object */;
6403 val
* var1
/* : nullable Object */;
6404 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
6405 val
* var2
/* : nullable Object */;
6406 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6407 val
* var3
/* : nullable Object */;
6408 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6409 val
* var4
/* : nullable Object */;
6410 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6411 val
* var5
/* : nullable Object */;
6412 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6413 val
* var6
/* : Array[Object] */;
6414 val
* var_listnode3
/* var listnode3: Array[Object] */;
6415 val
* var_listnode1
/* var listnode1: nullable Object */;
6416 short int var7
/* : Bool */;
6419 val
* var_tidnode2
/* var tidnode2: nullable Object */;
6420 val
* var8
/* : Array[Object] */;
6421 val
* var9
/* : null */;
6422 short int var10
/* : Bool */;
6423 long var11
/* : Int */;
6424 long var12
/* : Int */;
6427 var_node_list
= var
;
6428 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6429 var_nodearraylist5
= var1
;
6430 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6431 var_nodearraylist4
= var2
;
6432 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6433 var_nodearraylist3
= var3
;
6434 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6435 var_nodearraylist2
= var4
;
6436 var5
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6437 var_nodearraylist1
= var5
;
6438 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
6439 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
6440 var_listnode3
= var6
;
6441 var_listnode1
= var_nodearraylist1
;
6442 /* <var_listnode1:nullable Object> isa Array[Object] */
6443 cltype
= type_array__Arraykernel__Object
.color
;
6444 idtype
= type_array__Arraykernel__Object
.id
;
6445 if(var_listnode1
== NULL
) {
6448 if(cltype
>= var_listnode1
->type
->table_size
) {
6451 var7
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
6455 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6456 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28831);
6459 var_tidnode2
= var_nodearraylist5
;
6460 var8
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode1
) /* concat on <self:ReduceAction855>*/;
6461 var_listnode3
= var8
;
6463 if (var_tidnode2
== NULL
) {
6464 var10
= 0; /* is null */
6466 var10
= 1; /* arg is null and recv is not */
6469 ((void (*)(val
*, val
*))(var_listnode3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode3
, var_tidnode2
) /* add on <var_listnode3:Array[Object]>*/;
6472 var_node_list
= var_listnode3
;
6473 var11
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction855> */
6474 var12
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var11
) /* go_to on <var_p:Parser>*/;
6475 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var12
, var_node_list
) /* push on <var_p:Parser>*/;
6478 /* method parser#ReduceAction855#action for (self: Object, Parser) */
6479 void VIRTUAL_parser__ReduceAction855__action(val
* self
, val
* p0
) {
6480 parser__ReduceAction855__action(self
, p0
);
6483 /* method parser#ReduceAction856#action for (self: ReduceAction856, Parser) */
6484 void parser__ReduceAction856__action(val
* self
, val
* p0
) {
6485 val
* var_p
/* var p: Parser */;
6486 val
* var
/* : null */;
6487 val
* var_node_list
/* var node_list: nullable Object */;
6488 val
* var1
/* : nullable Object */;
6489 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6490 val
* var2
/* : Array[Object] */;
6491 val
* var_listnode3
/* var listnode3: Array[Object] */;
6492 val
* var_tidnode4
/* var tidnode4: nullable Object */;
6493 short int var3
/* : Bool */;
6496 val
* var4
/* : AModuleName */;
6497 val
* var5
/* : null */;
6498 val
* var_pmodulenamenode1
/* var pmodulenamenode1: nullable AModuleName */;
6499 long var6
/* : Int */;
6500 long var7
/* : Int */;
6503 var_node_list
= var
;
6504 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6505 var_nodearraylist1
= var1
;
6506 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
6507 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
6508 var_listnode3
= var2
;
6509 var_tidnode4
= var_nodearraylist1
;
6510 /* <var_tidnode4:nullable Object> isa nullable TId */
6511 cltype
= type_nullable_parser_nodes__TId
.color
;
6512 idtype
= type_nullable_parser_nodes__TId
.id
;
6513 if(var_tidnode4
== NULL
) {
6516 if(cltype
>= var_tidnode4
->type
->table_size
) {
6519 var3
= var_tidnode4
->type
->type_table
[cltype
] == idtype
;
6523 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6524 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28849);
6527 var4
= NEW_parser_nodes__AModuleName(&type_parser_nodes__AModuleName
);
6529 ((void (*)(val
*, val
*, val
*, val
*))(var4
->class->vft
[COLOR_parser_prod__AModuleName__init_amodulename
]))(var4
, var5
, var_listnode3
, var_tidnode4
) /* init_amodulename on <var4:AModuleName>*/;
6530 var_pmodulenamenode1
= var4
;
6531 var_node_list
= var_pmodulenamenode1
;
6532 var6
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction856> */
6533 var7
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var6
) /* go_to on <var_p:Parser>*/;
6534 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var7
, var_node_list
) /* push on <var_p:Parser>*/;
6537 /* method parser#ReduceAction856#action for (self: Object, Parser) */
6538 void VIRTUAL_parser__ReduceAction856__action(val
* self
, val
* p0
) {
6539 parser__ReduceAction856__action(self
, p0
);
6542 /* method parser#ReduceAction857#action for (self: ReduceAction857, Parser) */
6543 void parser__ReduceAction857__action(val
* self
, val
* p0
) {
6544 val
* var_p
/* var p: Parser */;
6545 val
* var
/* : null */;
6546 val
* var_node_list
/* var node_list: nullable Object */;
6547 val
* var1
/* : nullable Object */;
6548 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6549 val
* var2
/* : nullable Object */;
6550 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6551 val
* var3
/* : Array[Object] */;
6552 val
* var_listnode4
/* var listnode4: Array[Object] */;
6553 val
* var_listnode3
/* var listnode3: nullable Object */;
6554 short int var4
/* : Bool */;
6557 val
* var5
/* : Array[Object] */;
6558 val
* var_tidnode5
/* var tidnode5: nullable Object */;
6559 short int var6
/* : Bool */;
6562 val
* var9
/* : AModuleName */;
6563 val
* var10
/* : null */;
6564 val
* var_pmodulenamenode1
/* var pmodulenamenode1: nullable AModuleName */;
6565 long var11
/* : Int */;
6566 long var12
/* : Int */;
6569 var_node_list
= var
;
6570 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6571 var_nodearraylist2
= var1
;
6572 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6573 var_nodearraylist1
= var2
;
6574 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
6575 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
6576 var_listnode4
= var3
;
6577 var_listnode3
= var_nodearraylist1
;
6578 /* <var_listnode3:nullable Object> isa Array[Object] */
6579 cltype
= type_array__Arraykernel__Object
.color
;
6580 idtype
= type_array__Arraykernel__Object
.id
;
6581 if(var_listnode3
== NULL
) {
6584 if(cltype
>= var_listnode3
->type
->table_size
) {
6587 var4
= var_listnode3
->type
->type_table
[cltype
] == idtype
;
6591 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6592 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28868);
6595 var5
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction857>*/;
6596 var_listnode4
= var5
;
6597 var_tidnode5
= var_nodearraylist2
;
6598 /* <var_tidnode5:nullable Object> isa nullable TId */
6599 cltype7
= type_nullable_parser_nodes__TId
.color
;
6600 idtype8
= type_nullable_parser_nodes__TId
.id
;
6601 if(var_tidnode5
== NULL
) {
6604 if(cltype7
>= var_tidnode5
->type
->table_size
) {
6607 var6
= var_tidnode5
->type
->type_table
[cltype7
] == idtype8
;
6611 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6612 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28871);
6615 var9
= NEW_parser_nodes__AModuleName(&type_parser_nodes__AModuleName
);
6617 ((void (*)(val
*, val
*, val
*, val
*))(var9
->class->vft
[COLOR_parser_prod__AModuleName__init_amodulename
]))(var9
, var10
, var_listnode4
, var_tidnode5
) /* init_amodulename on <var9:AModuleName>*/;
6618 var_pmodulenamenode1
= var9
;
6619 var_node_list
= var_pmodulenamenode1
;
6620 var11
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction857> */
6621 var12
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var11
) /* go_to on <var_p:Parser>*/;
6622 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var12
, var_node_list
) /* push on <var_p:Parser>*/;
6625 /* method parser#ReduceAction857#action for (self: Object, Parser) */
6626 void VIRTUAL_parser__ReduceAction857__action(val
* self
, val
* p0
) {
6627 parser__ReduceAction857__action(self
, p0
);
6630 /* method parser#ReduceAction858#action for (self: ReduceAction858, Parser) */
6631 void parser__ReduceAction858__action(val
* self
, val
* p0
) {
6632 val
* var_p
/* var p: Parser */;
6633 val
* var
/* : null */;
6634 val
* var_node_list
/* var node_list: nullable Object */;
6635 val
* var1
/* : nullable Object */;
6636 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6637 val
* var2
/* : nullable Object */;
6638 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6639 val
* var3
/* : nullable Object */;
6640 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6641 val
* var4
/* : Array[Object] */;
6642 val
* var_listnode3
/* var listnode3: Array[Object] */;
6643 val
* var_tquadnode2
/* var tquadnode2: nullable Object */;
6644 short int var5
/* : Bool */;
6647 val
* var_tidnode4
/* var tidnode4: nullable Object */;
6648 short int var6
/* : Bool */;
6651 val
* var9
/* : AModuleName */;
6652 val
* var_pmodulenamenode1
/* var pmodulenamenode1: nullable AModuleName */;
6653 long var10
/* : Int */;
6654 long var11
/* : Int */;
6657 var_node_list
= var
;
6658 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6659 var_nodearraylist3
= var1
;
6660 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6661 var_nodearraylist2
= var2
;
6662 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6663 var_nodearraylist1
= var3
;
6664 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
6665 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
6666 var_listnode3
= var4
;
6667 var_tquadnode2
= var_nodearraylist1
;
6668 /* <var_tquadnode2:nullable Object> isa nullable TQuad */
6669 cltype
= type_nullable_parser_nodes__TQuad
.color
;
6670 idtype
= type_nullable_parser_nodes__TQuad
.id
;
6671 if(var_tquadnode2
== NULL
) {
6674 if(cltype
>= var_tquadnode2
->type
->table_size
) {
6677 var5
= var_tquadnode2
->type
->type_table
[cltype
] == idtype
;
6681 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6682 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28891);
6685 var_tidnode4
= var_nodearraylist3
;
6686 /* <var_tidnode4:nullable Object> isa nullable TId */
6687 cltype7
= type_nullable_parser_nodes__TId
.color
;
6688 idtype8
= type_nullable_parser_nodes__TId
.id
;
6689 if(var_tidnode4
== NULL
) {
6692 if(cltype7
>= var_tidnode4
->type
->table_size
) {
6695 var6
= var_tidnode4
->type
->type_table
[cltype7
] == idtype8
;
6699 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6700 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28893);
6703 var9
= NEW_parser_nodes__AModuleName(&type_parser_nodes__AModuleName
);
6704 ((void (*)(val
*, val
*, val
*, val
*))(var9
->class->vft
[COLOR_parser_prod__AModuleName__init_amodulename
]))(var9
, var_tquadnode2
, var_listnode3
, var_tidnode4
) /* init_amodulename on <var9:AModuleName>*/;
6705 var_pmodulenamenode1
= var9
;
6706 var_node_list
= var_pmodulenamenode1
;
6707 var10
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction858> */
6708 var11
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var10
) /* go_to on <var_p:Parser>*/;
6709 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var11
, var_node_list
) /* push on <var_p:Parser>*/;
6712 /* method parser#ReduceAction858#action for (self: Object, Parser) */
6713 void VIRTUAL_parser__ReduceAction858__action(val
* self
, val
* p0
) {
6714 parser__ReduceAction858__action(self
, p0
);
6717 /* method parser#ReduceAction859#action for (self: ReduceAction859, Parser) */
6718 void parser__ReduceAction859__action(val
* self
, val
* p0
) {
6719 val
* var_p
/* var p: Parser */;
6720 val
* var
/* : null */;
6721 val
* var_node_list
/* var node_list: nullable Object */;
6722 val
* var1
/* : nullable Object */;
6723 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6724 val
* var2
/* : nullable Object */;
6725 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6726 val
* var3
/* : nullable Object */;
6727 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6728 val
* var4
/* : nullable Object */;
6729 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6730 val
* var5
/* : Array[Object] */;
6731 val
* var_listnode4
/* var listnode4: Array[Object] */;
6732 val
* var_tquadnode2
/* var tquadnode2: nullable Object */;
6733 short int var6
/* : Bool */;
6736 val
* var_listnode3
/* var listnode3: nullable Object */;
6737 short int var7
/* : Bool */;
6740 val
* var10
/* : Array[Object] */;
6741 val
* var_tidnode5
/* var tidnode5: nullable Object */;
6742 short int var11
/* : Bool */;
6745 val
* var14
/* : AModuleName */;
6746 val
* var_pmodulenamenode1
/* var pmodulenamenode1: nullable AModuleName */;
6747 long var15
/* : Int */;
6748 long var16
/* : Int */;
6751 var_node_list
= var
;
6752 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6753 var_nodearraylist4
= var1
;
6754 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6755 var_nodearraylist3
= var2
;
6756 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6757 var_nodearraylist2
= var3
;
6758 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6759 var_nodearraylist1
= var4
;
6760 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
6761 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
6762 var_listnode4
= var5
;
6763 var_tquadnode2
= var_nodearraylist1
;
6764 /* <var_tquadnode2:nullable Object> isa nullable TQuad */
6765 cltype
= type_nullable_parser_nodes__TQuad
.color
;
6766 idtype
= type_nullable_parser_nodes__TQuad
.id
;
6767 if(var_tquadnode2
== NULL
) {
6770 if(cltype
>= var_tquadnode2
->type
->table_size
) {
6773 var6
= var_tquadnode2
->type
->type_table
[cltype
] == idtype
;
6777 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6778 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28914);
6781 var_listnode3
= var_nodearraylist3
;
6782 /* <var_listnode3:nullable Object> isa Array[Object] */
6783 cltype8
= type_array__Arraykernel__Object
.color
;
6784 idtype9
= type_array__Arraykernel__Object
.id
;
6785 if(var_listnode3
== NULL
) {
6788 if(cltype8
>= var_listnode3
->type
->table_size
) {
6791 var7
= var_listnode3
->type
->type_table
[cltype8
] == idtype9
;
6795 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6796 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28916);
6799 var10
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction859>*/;
6800 var_listnode4
= var10
;
6801 var_tidnode5
= var_nodearraylist4
;
6802 /* <var_tidnode5:nullable Object> isa nullable TId */
6803 cltype12
= type_nullable_parser_nodes__TId
.color
;
6804 idtype13
= type_nullable_parser_nodes__TId
.id
;
6805 if(var_tidnode5
== NULL
) {
6808 if(cltype12
>= var_tidnode5
->type
->table_size
) {
6811 var11
= var_tidnode5
->type
->type_table
[cltype12
] == idtype13
;
6815 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6816 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28919);
6819 var14
= NEW_parser_nodes__AModuleName(&type_parser_nodes__AModuleName
);
6820 ((void (*)(val
*, val
*, val
*, val
*))(var14
->class->vft
[COLOR_parser_prod__AModuleName__init_amodulename
]))(var14
, var_tquadnode2
, var_listnode4
, var_tidnode5
) /* init_amodulename on <var14:AModuleName>*/;
6821 var_pmodulenamenode1
= var14
;
6822 var_node_list
= var_pmodulenamenode1
;
6823 var15
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction859> */
6824 var16
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var15
) /* go_to on <var_p:Parser>*/;
6825 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var16
, var_node_list
) /* push on <var_p:Parser>*/;
6828 /* method parser#ReduceAction859#action for (self: Object, Parser) */
6829 void VIRTUAL_parser__ReduceAction859__action(val
* self
, val
* p0
) {
6830 parser__ReduceAction859__action(self
, p0
);
6833 /* method parser#ReduceAction860#action for (self: ReduceAction860, Parser) */
6834 void parser__ReduceAction860__action(val
* self
, val
* p0
) {
6835 val
* var_p
/* var p: Parser */;
6836 val
* var
/* : null */;
6837 val
* var_node_list
/* var node_list: nullable Object */;
6838 val
* var1
/* : nullable Object */;
6839 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6840 val
* var2
/* : nullable Object */;
6841 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6842 val
* var3
/* : nullable Object */;
6843 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6844 val
* var_tidnode1
/* var tidnode1: nullable Object */;
6845 long var4
/* : Int */;
6846 long var5
/* : Int */;
6849 var_node_list
= var
;
6850 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6851 var_nodearraylist3
= var1
;
6852 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6853 var_nodearraylist2
= var2
;
6854 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6855 var_nodearraylist1
= var3
;
6856 var_tidnode1
= var_nodearraylist1
;
6857 var_node_list
= var_tidnode1
;
6858 var4
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction860> */
6859 var5
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var4
) /* go_to on <var_p:Parser>*/;
6860 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var5
, var_node_list
) /* push on <var_p:Parser>*/;
6863 /* method parser#ReduceAction860#action for (self: Object, Parser) */
6864 void VIRTUAL_parser__ReduceAction860__action(val
* self
, val
* p0
) {
6865 parser__ReduceAction860__action(self
, p0
);
6868 /* method parser#ReduceAction861#action for (self: ReduceAction861, Parser) */
6869 void parser__ReduceAction861__action(val
* self
, val
* p0
) {
6870 val
* var_p
/* var p: Parser */;
6871 val
* var
/* : null */;
6872 val
* var_node_list
/* var node_list: nullable Object */;
6873 val
* var1
/* : nullable Object */;
6874 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6875 val
* var2
/* : nullable Object */;
6876 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6877 val
* var3
/* : nullable Object */;
6878 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6879 val
* var_tclassidnode1
/* var tclassidnode1: nullable Object */;
6880 long var4
/* : Int */;
6881 long var5
/* : Int */;
6884 var_node_list
= var
;
6885 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6886 var_nodearraylist3
= var1
;
6887 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6888 var_nodearraylist2
= var2
;
6889 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6890 var_nodearraylist1
= var3
;
6891 var_tclassidnode1
= var_nodearraylist1
;
6892 var_node_list
= var_tclassidnode1
;
6893 var4
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction861> */
6894 var5
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var4
) /* go_to on <var_p:Parser>*/;
6895 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var5
, var_node_list
) /* push on <var_p:Parser>*/;
6898 /* method parser#ReduceAction861#action for (self: Object, Parser) */
6899 void VIRTUAL_parser__ReduceAction861__action(val
* self
, val
* p0
) {
6900 parser__ReduceAction861__action(self
, p0
);
6903 /* method parser#ReduceAction862#action for (self: ReduceAction862, Parser) */
6904 void parser__ReduceAction862__action(val
* self
, val
* p0
) {
6905 val
* var_p
/* var p: Parser */;
6906 val
* var
/* : null */;
6907 val
* var_node_list
/* var node_list: nullable Object */;
6908 val
* var1
/* : nullable Object */;
6909 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6910 long var2
/* : Int */;
6911 long var3
/* : Int */;
6914 var_node_list
= var
;
6915 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6916 var_nodearraylist1
= var1
;
6917 var2
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction862> */
6918 var3
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var2
) /* go_to on <var_p:Parser>*/;
6919 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var3
, var_node_list
) /* push on <var_p:Parser>*/;
6922 /* method parser#ReduceAction862#action for (self: Object, Parser) */
6923 void VIRTUAL_parser__ReduceAction862__action(val
* self
, val
* p0
) {
6924 parser__ReduceAction862__action(self
, p0
);
6927 /* method parser#ReduceAction864#action for (self: ReduceAction864, Parser) */
6928 void parser__ReduceAction864__action(val
* self
, val
* p0
) {
6929 val
* var_p
/* var p: Parser */;
6930 val
* var
/* : null */;
6931 val
* var_node_list
/* var node_list: nullable Object */;
6932 val
* var1
/* : nullable Object */;
6933 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6934 val
* var2
/* : Array[Object] */;
6935 val
* var_listnode3
/* var listnode3: Array[Object] */;
6936 val
* var_listnode2
/* var listnode2: nullable Object */;
6937 short int var3
/* : Bool */;
6940 val
* var4
/* : Array[Object] */;
6941 val
* var5
/* : ADoc */;
6942 val
* var_pdocnode1
/* var pdocnode1: nullable ADoc */;
6943 long var6
/* : Int */;
6944 long var7
/* : Int */;
6947 var_node_list
= var
;
6948 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6949 var_nodearraylist1
= var1
;
6950 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
6951 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
6952 var_listnode3
= var2
;
6953 var_listnode2
= var_nodearraylist1
;
6954 /* <var_listnode2:nullable Object> isa Array[Object] */
6955 cltype
= type_array__Arraykernel__Object
.color
;
6956 idtype
= type_array__Arraykernel__Object
.id
;
6957 if(var_listnode2
== NULL
) {
6960 if(cltype
>= var_listnode2
->type
->table_size
) {
6963 var3
= var_listnode2
->type
->type_table
[cltype
] == idtype
;
6967 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6968 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28972);
6971 var4
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode2
) /* concat on <self:ReduceAction864>*/;
6972 var_listnode3
= var4
;
6973 var5
= NEW_parser_nodes__ADoc(&type_parser_nodes__ADoc
);
6974 ((void (*)(val
*, val
*))(var5
->class->vft
[COLOR_parser_prod__ADoc__init_adoc
]))(var5
, var_listnode3
) /* init_adoc on <var5:ADoc>*/;
6975 var_pdocnode1
= var5
;
6976 var_node_list
= var_pdocnode1
;
6977 var6
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction864> */
6978 var7
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var6
) /* go_to on <var_p:Parser>*/;
6979 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var7
, var_node_list
) /* push on <var_p:Parser>*/;
6982 /* method parser#ReduceAction864#action for (self: Object, Parser) */
6983 void VIRTUAL_parser__ReduceAction864__action(val
* self
, val
* p0
) {
6984 parser__ReduceAction864__action(self
, p0
);
6987 /* method parser#ReduceAction865#action for (self: ReduceAction865, Parser) */
6988 void parser__ReduceAction865__action(val
* self
, val
* p0
) {
6989 val
* var_p
/* var p: Parser */;
6990 val
* var
/* : null */;
6991 val
* var_node_list
/* var node_list: nullable Object */;
6992 val
* var1
/* : nullable Object */;
6993 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6994 val
* var2
/* : nullable Object */;
6995 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6996 val
* var3
/* : Array[Object] */;
6997 val
* var_listnode3
/* var listnode3: Array[Object] */;
6998 val
* var_listnode2
/* var listnode2: nullable Object */;
6999 short int var4
/* : Bool */;
7002 val
* var5
/* : Array[Object] */;
7003 val
* var6
/* : ADoc */;
7004 val
* var_pdocnode1
/* var pdocnode1: nullable ADoc */;
7005 long var7
/* : Int */;
7006 long var8
/* : Int */;
7009 var_node_list
= var
;
7010 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7011 var_nodearraylist2
= var1
;
7012 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7013 var_nodearraylist1
= var2
;
7014 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
7015 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
7016 var_listnode3
= var3
;
7017 var_listnode2
= var_nodearraylist2
;
7018 /* <var_listnode2:nullable Object> isa Array[Object] */
7019 cltype
= type_array__Arraykernel__Object
.color
;
7020 idtype
= type_array__Arraykernel__Object
.id
;
7021 if(var_listnode2
== NULL
) {
7024 if(cltype
>= var_listnode2
->type
->table_size
) {
7027 var4
= var_listnode2
->type
->type_table
[cltype
] == idtype
;
7031 fprintf(stderr
, "Runtime error: %s", "Assert failed");
7032 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28990);
7035 var5
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode2
) /* concat on <self:ReduceAction865>*/;
7036 var_listnode3
= var5
;
7037 var6
= NEW_parser_nodes__ADoc(&type_parser_nodes__ADoc
);
7038 ((void (*)(val
*, val
*))(var6
->class->vft
[COLOR_parser_prod__ADoc__init_adoc
]))(var6
, var_listnode3
) /* init_adoc on <var6:ADoc>*/;
7039 var_pdocnode1
= var6
;
7040 var_node_list
= var_pdocnode1
;
7041 var7
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction865> */
7042 var8
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var7
) /* go_to on <var_p:Parser>*/;
7043 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var8
, var_node_list
) /* push on <var_p:Parser>*/;
7046 /* method parser#ReduceAction865#action for (self: Object, Parser) */
7047 void VIRTUAL_parser__ReduceAction865__action(val
* self
, val
* p0
) {
7048 parser__ReduceAction865__action(self
, p0
);
7051 /* method parser#ReduceAction867#action for (self: ReduceAction867, Parser) */
7052 void parser__ReduceAction867__action(val
* self
, val
* p0
) {
7053 val
* var_p
/* var p: Parser */;
7054 val
* var
/* : null */;
7055 val
* var_node_list
/* var node_list: nullable Object */;
7056 val
* var1
/* : null */;
7057 long var2
/* : Int */;
7058 long var3
/* : Int */;
7061 var_node_list
= var
;
7063 var_node_list
= var1
;
7064 var2
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction867> */
7065 var3
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var2
) /* go_to on <var_p:Parser>*/;
7066 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var3
, var_node_list
) /* push on <var_p:Parser>*/;
7069 /* method parser#ReduceAction867#action for (self: Object, Parser) */
7070 void VIRTUAL_parser__ReduceAction867__action(val
* self
, val
* p0
) {
7071 parser__ReduceAction867__action(self
, p0
);
7074 /* method parser#ReduceAction868#action for (self: ReduceAction868, Parser) */
7075 void parser__ReduceAction868__action(val
* self
, val
* p0
) {
7076 val
* var_p
/* var p: Parser */;
7077 val
* var
/* : null */;
7078 val
* var_node_list
/* var node_list: nullable Object */;
7079 val
* var1
/* : nullable Object */;
7080 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7081 val
* var_pdocnode1
/* var pdocnode1: nullable Object */;
7082 long var2
/* : Int */;
7083 long var3
/* : Int */;
7086 var_node_list
= var
;
7087 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7088 var_nodearraylist1
= var1
;
7089 var_pdocnode1
= var_nodearraylist1
;
7090 var_node_list
= var_pdocnode1
;
7091 var2
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction868> */
7092 var3
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var2
) /* go_to on <var_p:Parser>*/;
7093 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var3
, var_node_list
) /* push on <var_p:Parser>*/;
7096 /* method parser#ReduceAction868#action for (self: Object, Parser) */
7097 void VIRTUAL_parser__ReduceAction868__action(val
* self
, val
* p0
) {
7098 parser__ReduceAction868__action(self
, p0
);
7101 /* method parser#ReduceAction869#action for (self: ReduceAction869, Parser) */
7102 void parser__ReduceAction869__action(val
* self
, val
* p0
) {
7103 val
* var_p
/* var p: Parser */;
7104 val
* var
/* : null */;
7105 val
* var_node_list
/* var node_list: nullable Object */;
7106 val
* var1
/* : nullable Object */;
7107 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7108 val
* var2
/* : nullable Object */;
7109 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7110 long var3
/* : Int */;
7111 long var4
/* : Int */;
7114 var_node_list
= var
;
7115 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7116 var_nodearraylist2
= var1
;
7117 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7118 var_nodearraylist1
= var2
;
7119 var3
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction869> */
7120 var4
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var3
) /* go_to on <var_p:Parser>*/;
7121 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var4
, var_node_list
) /* push on <var_p:Parser>*/;
7124 /* method parser#ReduceAction869#action for (self: Object, Parser) */
7125 void VIRTUAL_parser__ReduceAction869__action(val
* self
, val
* p0
) {
7126 parser__ReduceAction869__action(self
, p0
);
7129 /* method parser#ReduceAction870#action for (self: ReduceAction870, Parser) */
7130 void parser__ReduceAction870__action(val
* self
, val
* p0
) {
7131 val
* var_p
/* var p: Parser */;
7132 val
* var
/* : null */;
7133 val
* var_node_list
/* var node_list: nullable Object */;
7134 val
* var1
/* : nullable Object */;
7135 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7136 val
* var2
/* : nullable Object */;
7137 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7138 val
* var3
/* : nullable Object */;
7139 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7140 long var4
/* : Int */;
7141 long var5
/* : Int */;
7144 var_node_list
= var
;
7145 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7146 var_nodearraylist3
= var1
;
7147 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7148 var_nodearraylist2
= var2
;
7149 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7150 var_nodearraylist1
= var3
;
7151 var4
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction870> */
7152 var5
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var4
) /* go_to on <var_p:Parser>*/;
7153 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var5
, var_node_list
) /* push on <var_p:Parser>*/;
7156 /* method parser#ReduceAction870#action for (self: Object, Parser) */
7157 void VIRTUAL_parser__ReduceAction870__action(val
* self
, val
* p0
) {
7158 parser__ReduceAction870__action(self
, p0
);
7161 /* method parser#ReduceAction1215#action for (self: ReduceAction1215, Parser) */
7162 void parser__ReduceAction1215__action(val
* self
, val
* p0
) {
7163 val
* var_p
/* var p: Parser */;
7164 val
* var
/* : null */;
7165 val
* var_node_list
/* var node_list: nullable Object */;
7166 val
* var1
/* : nullable Object */;
7167 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7168 val
* var2
/* : nullable Object */;
7169 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7170 val
* var3
/* : nullable Object */;
7171 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7172 val
* var_tkwissetnode2
/* var tkwissetnode2: nullable Object */;
7173 short int var4
/* : Bool */;
7176 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
7177 short int var5
/* : Bool */;
7180 val
* var_tattridnode4
/* var tattridnode4: nullable Object */;
7181 short int var8
/* : Bool */;
7184 val
* var11
/* : AIssetAttrExpr */;
7185 val
* var_pexprnode1
/* var pexprnode1: nullable AIssetAttrExpr */;
7186 long var12
/* : Int */;
7187 long var13
/* : Int */;
7190 var_node_list
= var
;
7191 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7192 var_nodearraylist3
= var1
;
7193 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7194 var_nodearraylist2
= var2
;
7195 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7196 var_nodearraylist1
= var3
;
7197 var_tkwissetnode2
= var_nodearraylist1
;
7198 /* <var_tkwissetnode2:nullable Object> isa nullable TKwisset */
7199 cltype
= type_nullable_parser_nodes__TKwisset
.color
;
7200 idtype
= type_nullable_parser_nodes__TKwisset
.id
;
7201 if(var_tkwissetnode2
== NULL
) {
7204 if(cltype
>= var_tkwissetnode2
->type
->table_size
) {
7207 var4
= var_tkwissetnode2
->type
->type_table
[cltype
] == idtype
;
7211 fprintf(stderr
, "Runtime error: %s", "Assert failed");
7212 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 29049);
7215 var_pexprnode3
= var_nodearraylist2
;
7216 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
7217 cltype6
= type_nullable_parser_nodes__AExpr
.color
;
7218 idtype7
= type_nullable_parser_nodes__AExpr
.id
;
7219 if(var_pexprnode3
== NULL
) {
7222 if(cltype6
>= var_pexprnode3
->type
->table_size
) {
7225 var5
= var_pexprnode3
->type
->type_table
[cltype6
] == idtype7
;
7229 fprintf(stderr
, "Runtime error: %s", "Assert failed");
7230 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 29051);
7233 var_tattridnode4
= var_nodearraylist3
;
7234 /* <var_tattridnode4:nullable Object> isa nullable TAttrid */
7235 cltype9
= type_nullable_parser_nodes__TAttrid
.color
;
7236 idtype10
= type_nullable_parser_nodes__TAttrid
.id
;
7237 if(var_tattridnode4
== NULL
) {
7240 if(cltype9
>= var_tattridnode4
->type
->table_size
) {
7243 var8
= var_tattridnode4
->type
->type_table
[cltype9
] == idtype10
;
7247 fprintf(stderr
, "Runtime error: %s", "Assert failed");
7248 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 29053);
7251 var11
= NEW_parser_nodes__AIssetAttrExpr(&type_parser_nodes__AIssetAttrExpr
);
7252 ((void (*)(val
*, val
*, val
*, val
*))(var11
->class->vft
[COLOR_parser_prod__AIssetAttrExpr__init_aissetattrexpr
]))(var11
, var_tkwissetnode2
, var_pexprnode3
, var_tattridnode4
) /* init_aissetattrexpr on <var11:AIssetAttrExpr>*/;
7253 var_pexprnode1
= var11
;
7254 var_node_list
= var_pexprnode1
;
7255 var12
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1215> */
7256 var13
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var12
) /* go_to on <var_p:Parser>*/;
7257 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var13
, var_node_list
) /* push on <var_p:Parser>*/;
7260 /* method parser#ReduceAction1215#action for (self: Object, Parser) */
7261 void VIRTUAL_parser__ReduceAction1215__action(val
* self
, val
* p0
) {
7262 parser__ReduceAction1215__action(self
, p0
);
7265 /* method parser#ReduceAction1216#action for (self: ReduceAction1216, Parser) */
7266 void parser__ReduceAction1216__action(val
* self
, val
* p0
) {
7267 val
* var_p
/* var p: Parser */;
7268 val
* var
/* : null */;
7269 val
* var_node_list
/* var node_list: nullable Object */;
7270 val
* var1
/* : nullable Object */;
7271 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7272 val
* var2
/* : nullable Object */;
7273 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7274 val
* var3
/* : nullable Object */;
7275 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7276 val
* var4
/* : nullable Object */;
7277 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7278 val
* var_tkwissetnode2
/* var tkwissetnode2: nullable Object */;
7279 short int var5
/* : Bool */;
7282 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
7283 short int var6
/* : Bool */;
7286 val
* var_tattridnode4
/* var tattridnode4: nullable Object */;
7287 short int var9
/* : Bool */;
7290 val
* var12
/* : AIssetAttrExpr */;
7291 val
* var_pexprnode1
/* var pexprnode1: nullable AIssetAttrExpr */;
7292 long var13
/* : Int */;
7293 long var14
/* : Int */;
7296 var_node_list
= var
;
7297 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7298 var_nodearraylist4
= var1
;
7299 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7300 var_nodearraylist3
= var2
;
7301 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7302 var_nodearraylist2
= var3
;
7303 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7304 var_nodearraylist1
= var4
;
7305 var_tkwissetnode2
= var_nodearraylist1
;
7306 /* <var_tkwissetnode2:nullable Object> isa nullable TKwisset */
7307 cltype
= type_nullable_parser_nodes__TKwisset
.color
;
7308 idtype
= type_nullable_parser_nodes__TKwisset
.id
;
7309 if(var_tkwissetnode2
== NULL
) {
7312 if(cltype
>= var_tkwissetnode2
->type
->table_size
) {
7315 var5
= var_tkwissetnode2
->type
->type_table
[cltype
] == idtype
;
7319 fprintf(stderr
, "Runtime error: %s", "Assert failed");
7320 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 29073);
7323 var_pexprnode3
= var_nodearraylist2
;
7324 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
7325 cltype7
= type_nullable_parser_nodes__AExpr
.color
;
7326 idtype8
= type_nullable_parser_nodes__AExpr
.id
;
7327 if(var_pexprnode3
== NULL
) {
7330 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
7333 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
7337 fprintf(stderr
, "Runtime error: %s", "Assert failed");
7338 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 29075);
7341 var_tattridnode4
= var_nodearraylist4
;
7342 /* <var_tattridnode4:nullable Object> isa nullable TAttrid */
7343 cltype10
= type_nullable_parser_nodes__TAttrid
.color
;
7344 idtype11
= type_nullable_parser_nodes__TAttrid
.id
;
7345 if(var_tattridnode4
== NULL
) {
7348 if(cltype10
>= var_tattridnode4
->type
->table_size
) {
7351 var9
= var_tattridnode4
->type
->type_table
[cltype10
] == idtype11
;
7355 fprintf(stderr
, "Runtime error: %s", "Assert failed");
7356 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 29077);
7359 var12
= NEW_parser_nodes__AIssetAttrExpr(&type_parser_nodes__AIssetAttrExpr
);
7360 ((void (*)(val
*, val
*, val
*, val
*))(var12
->class->vft
[COLOR_parser_prod__AIssetAttrExpr__init_aissetattrexpr
]))(var12
, var_tkwissetnode2
, var_pexprnode3
, var_tattridnode4
) /* init_aissetattrexpr on <var12:AIssetAttrExpr>*/;
7361 var_pexprnode1
= var12
;
7362 var_node_list
= var_pexprnode1
;
7363 var13
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1216> */
7364 var14
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var13
) /* go_to on <var_p:Parser>*/;
7365 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var14
, var_node_list
) /* push on <var_p:Parser>*/;
7368 /* method parser#ReduceAction1216#action for (self: Object, Parser) */
7369 void VIRTUAL_parser__ReduceAction1216__action(val
* self
, val
* p0
) {
7370 parser__ReduceAction1216__action(self
, p0
);
7373 /* method parser#ReduceAction1219#action for (self: ReduceAction1219, Parser) */
7374 void parser__ReduceAction1219__action(val
* self
, val
* p0
) {
7375 val
* var_p
/* var p: Parser */;
7376 val
* var
/* : null */;
7377 val
* var_node_list
/* var node_list: nullable Object */;
7378 val
* var1
/* : nullable Object */;
7379 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7380 val
* var2
/* : nullable Object */;
7381 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7382 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
7383 short int var3
/* : Bool */;
7386 val
* var_tattridnode3
/* var tattridnode3: nullable Object */;
7387 short int var4
/* : Bool */;
7390 val
* var7
/* : AAttrExpr */;
7391 val
* var_pexprnode1
/* var pexprnode1: nullable AAttrExpr */;
7392 long var8
/* : Int */;
7393 long var9
/* : Int */;
7396 var_node_list
= var
;
7397 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7398 var_nodearraylist2
= var1
;
7399 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7400 var_nodearraylist1
= var2
;
7401 var_pexprnode2
= var_nodearraylist1
;
7402 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
7403 cltype
= type_nullable_parser_nodes__AExpr
.color
;
7404 idtype
= type_nullable_parser_nodes__AExpr
.id
;
7405 if(var_pexprnode2
== NULL
) {
7408 if(cltype
>= var_pexprnode2
->type
->table_size
) {
7411 var3
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
7415 fprintf(stderr
, "Runtime error: %s", "Assert failed");
7416 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 29095);
7419 var_tattridnode3
= var_nodearraylist2
;
7420 /* <var_tattridnode3:nullable Object> isa nullable TAttrid */
7421 cltype5
= type_nullable_parser_nodes__TAttrid
.color
;
7422 idtype6
= type_nullable_parser_nodes__TAttrid
.id
;
7423 if(var_tattridnode3
== NULL
) {
7426 if(cltype5
>= var_tattridnode3
->type
->table_size
) {
7429 var4
= var_tattridnode3
->type
->type_table
[cltype5
] == idtype6
;
7433 fprintf(stderr
, "Runtime error: %s", "Assert failed");
7434 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 29097);
7437 var7
= NEW_parser_nodes__AAttrExpr(&type_parser_nodes__AAttrExpr
);
7438 ((void (*)(val
*, val
*, val
*))(var7
->class->vft
[COLOR_parser_prod__AAttrExpr__init_aattrexpr
]))(var7
, var_pexprnode2
, var_tattridnode3
) /* init_aattrexpr on <var7:AAttrExpr>*/;
7439 var_pexprnode1
= var7
;
7440 var_node_list
= var_pexprnode1
;
7441 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1219> */
7442 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
7443 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
7446 /* method parser#ReduceAction1219#action for (self: Object, Parser) */
7447 void VIRTUAL_parser__ReduceAction1219__action(val
* self
, val
* p0
) {
7448 parser__ReduceAction1219__action(self
, p0
);
7451 /* method parser#ReduceAction1220#action for (self: ReduceAction1220, Parser) */
7452 void parser__ReduceAction1220__action(val
* self
, val
* p0
) {
7453 val
* var_p
/* var p: Parser */;
7454 val
* var
/* : null */;
7455 val
* var_node_list
/* var node_list: nullable Object */;
7456 val
* var1
/* : nullable Object */;
7457 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7458 val
* var2
/* : nullable Object */;
7459 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7460 val
* var3
/* : nullable Object */;
7461 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7462 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
7463 short int var4
/* : Bool */;
7466 val
* var_tattridnode3
/* var tattridnode3: nullable Object */;
7467 short int var5
/* : Bool */;
7470 val
* var8
/* : AAttrExpr */;
7471 val
* var_pexprnode1
/* var pexprnode1: nullable AAttrExpr */;
7472 long var9
/* : Int */;
7473 long var10
/* : Int */;
7476 var_node_list
= var
;
7477 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7478 var_nodearraylist3
= var1
;
7479 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7480 var_nodearraylist2
= var2
;
7481 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7482 var_nodearraylist1
= var3
;
7483 var_pexprnode2
= var_nodearraylist1
;
7484 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
7485 cltype
= type_nullable_parser_nodes__AExpr
.color
;
7486 idtype
= type_nullable_parser_nodes__AExpr
.id
;
7487 if(var_pexprnode2
== NULL
) {
7490 if(cltype
>= var_pexprnode2
->type
->table_size
) {
7493 var4
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
7497 fprintf(stderr
, "Runtime error: %s", "Assert failed");
7498 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 29115);
7501 var_tattridnode3
= var_nodearraylist3
;
7502 /* <var_tattridnode3:nullable Object> isa nullable TAttrid */
7503 cltype6
= type_nullable_parser_nodes__TAttrid
.color
;
7504 idtype7
= type_nullable_parser_nodes__TAttrid
.id
;
7505 if(var_tattridnode3
== NULL
) {
7508 if(cltype6
>= var_tattridnode3
->type
->table_size
) {
7511 var5
= var_tattridnode3
->type
->type_table
[cltype6
] == idtype7
;
7515 fprintf(stderr
, "Runtime error: %s", "Assert failed");
7516 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 29117);
7519 var8
= NEW_parser_nodes__AAttrExpr(&type_parser_nodes__AAttrExpr
);
7520 ((void (*)(val
*, val
*, val
*))(var8
->class->vft
[COLOR_parser_prod__AAttrExpr__init_aattrexpr
]))(var8
, var_pexprnode2
, var_tattridnode3
) /* init_aattrexpr on <var8:AAttrExpr>*/;
7521 var_pexprnode1
= var8
;
7522 var_node_list
= var_pexprnode1
;
7523 var9
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1220> */
7524 var10
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var9
) /* go_to on <var_p:Parser>*/;
7525 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var10
, var_node_list
) /* push on <var_p:Parser>*/;
7528 /* method parser#ReduceAction1220#action for (self: Object, Parser) */
7529 void VIRTUAL_parser__ReduceAction1220__action(val
* self
, val
* p0
) {
7530 parser__ReduceAction1220__action(self
, p0
);
7533 /* method parser#ReduceAction1223#action for (self: ReduceAction1223, Parser) */
7534 void parser__ReduceAction1223__action(val
* self
, val
* p0
) {
7535 val
* var_p
/* var p: Parser */;
7536 val
* var
/* : null */;
7537 val
* var_node_list
/* var node_list: nullable Object */;
7538 val
* var1
/* : nullable Object */;
7539 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7540 val
* var2
/* : nullable Object */;
7541 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7542 val
* var3
/* : nullable Object */;
7543 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7544 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
7545 short int var4
/* : Bool */;
7548 val
* var_tidnode3
/* var tidnode3: nullable Object */;
7549 short int var5
/* : Bool */;
7552 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
7553 short int var8
/* : Bool */;
7556 val
* var11
/* : ACallExpr */;
7557 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
7558 long var12
/* : Int */;
7559 long var13
/* : Int */;
7562 var_node_list
= var
;
7563 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7564 var_nodearraylist3
= var1
;
7565 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7566 var_nodearraylist2
= var2
;
7567 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7568 var_nodearraylist1
= var3
;
7569 var_pexprnode2
= var_nodearraylist1
;
7570 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
7571 cltype
= type_nullable_parser_nodes__AExpr
.color
;
7572 idtype
= type_nullable_parser_nodes__AExpr
.id
;
7573 if(var_pexprnode2
== NULL
) {
7576 if(cltype
>= var_pexprnode2
->type
->table_size
) {
7579 var4
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
7583 fprintf(stderr
, "Runtime error: %s", "Assert failed");
7584 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 29135);
7587 var_tidnode3
= var_nodearraylist2
;
7588 /* <var_tidnode3:nullable Object> isa nullable TId */
7589 cltype6
= type_nullable_parser_nodes__TId
.color
;
7590 idtype7
= type_nullable_parser_nodes__TId
.id
;
7591 if(var_tidnode3
== NULL
) {
7594 if(cltype6
>= var_tidnode3
->type
->table_size
) {
7597 var5
= var_tidnode3
->type
->type_table
[cltype6
] == idtype7
;
7601 fprintf(stderr
, "Runtime error: %s", "Assert failed");
7602 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 29137);
7605 var_pexprsnode4
= var_nodearraylist3
;
7606 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
7607 cltype9
= type_nullable_parser_nodes__AExprs
.color
;
7608 idtype10
= type_nullable_parser_nodes__AExprs
.id
;
7609 if(var_pexprsnode4
== NULL
) {
7612 if(cltype9
>= var_pexprsnode4
->type
->table_size
) {
7615 var8
= var_pexprsnode4
->type
->type_table
[cltype9
] == idtype10
;
7619 fprintf(stderr
, "Runtime error: %s", "Assert failed");
7620 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 29139);
7623 var11
= NEW_parser_nodes__ACallExpr(&type_parser_nodes__ACallExpr
);
7624 ((void (*)(val
*, val
*, val
*, val
*))(var11
->class->vft
[COLOR_parser_prod__ACallExpr__init_acallexpr
]))(var11
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
) /* init_acallexpr on <var11:ACallExpr>*/;
7625 var_pexprnode1
= var11
;
7626 var_node_list
= var_pexprnode1
;
7627 var12
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1223> */
7628 var13
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var12
) /* go_to on <var_p:Parser>*/;
7629 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var13
, var_node_list
) /* push on <var_p:Parser>*/;
7632 /* method parser#ReduceAction1223#action for (self: Object, Parser) */
7633 void VIRTUAL_parser__ReduceAction1223__action(val
* self
, val
* p0
) {
7634 parser__ReduceAction1223__action(self
, p0
);
7637 /* method parser#ReduceAction1224#action for (self: ReduceAction1224, Parser) */
7638 void parser__ReduceAction1224__action(val
* self
, val
* p0
) {
7639 val
* var_p
/* var p: Parser */;
7640 val
* var
/* : null */;
7641 val
* var_node_list
/* var node_list: nullable Object */;
7642 val
* var1
/* : nullable Object */;
7643 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7644 val
* var2
/* : nullable Object */;
7645 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7646 val
* var3
/* : nullable Object */;
7647 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7648 val
* var4
/* : nullable Object */;
7649 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7650 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
7651 short int var5
/* : Bool */;
7654 val
* var_tidnode3
/* var tidnode3: nullable Object */;
7655 short int var6
/* : Bool */;
7658 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
7659 short int var9
/* : Bool */;
7662 val
* var12
/* : ACallExpr */;
7663 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
7664 long var13
/* : Int */;
7665 long var14
/* : Int */;
7668 var_node_list
= var
;
7669 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7670 var_nodearraylist4
= var1
;
7671 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7672 var_nodearraylist3
= var2
;
7673 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7674 var_nodearraylist2
= var3
;
7675 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7676 var_nodearraylist1
= var4
;
7677 var_pexprnode2
= var_nodearraylist1
;
7678 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
7679 cltype
= type_nullable_parser_nodes__AExpr
.color
;
7680 idtype
= type_nullable_parser_nodes__AExpr
.id
;
7681 if(var_pexprnode2
== NULL
) {
7684 if(cltype
>= var_pexprnode2
->type
->table_size
) {
7687 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
7691 fprintf(stderr
, "Runtime error: %s", "Assert failed");
7692 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 29159);
7695 var_tidnode3
= var_nodearraylist3
;
7696 /* <var_tidnode3:nullable Object> isa nullable TId */
7697 cltype7
= type_nullable_parser_nodes__TId
.color
;
7698 idtype8
= type_nullable_parser_nodes__TId
.id
;
7699 if(var_tidnode3
== NULL
) {
7702 if(cltype7
>= var_tidnode3
->type
->table_size
) {
7705 var6
= var_tidnode3
->type
->type_table
[cltype7
] == idtype8
;
7709 fprintf(stderr
, "Runtime error: %s", "Assert failed");
7710 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 29161);
7713 var_pexprsnode4
= var_nodearraylist4
;
7714 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
7715 cltype10
= type_nullable_parser_nodes__AExprs
.color
;
7716 idtype11
= type_nullable_parser_nodes__AExprs
.id
;
7717 if(var_pexprsnode4
== NULL
) {
7720 if(cltype10
>= var_pexprsnode4
->type
->table_size
) {
7723 var9
= var_pexprsnode4
->type
->type_table
[cltype10
] == idtype11
;
7727 fprintf(stderr
, "Runtime error: %s", "Assert failed");
7728 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 29163);
7731 var12
= NEW_parser_nodes__ACallExpr(&type_parser_nodes__ACallExpr
);
7732 ((void (*)(val
*, val
*, val
*, val
*))(var12
->class->vft
[COLOR_parser_prod__ACallExpr__init_acallexpr
]))(var12
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
) /* init_acallexpr on <var12:ACallExpr>*/;
7733 var_pexprnode1
= var12
;
7734 var_node_list
= var_pexprnode1
;
7735 var13
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1224> */
7736 var14
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var13
) /* go_to on <var_p:Parser>*/;
7737 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var14
, var_node_list
) /* push on <var_p:Parser>*/;
7740 /* method parser#ReduceAction1224#action for (self: Object, Parser) */
7741 void VIRTUAL_parser__ReduceAction1224__action(val
* self
, val
* p0
) {
7742 parser__ReduceAction1224__action(self
, p0
);
7745 /* method parser#ReduceAction1231#action for (self: ReduceAction1231, Parser) */
7746 void parser__ReduceAction1231__action(val
* self
, val
* p0
) {
7747 val
* var_p
/* var p: Parser */;
7748 val
* var
/* : null */;
7749 val
* var_node_list
/* var node_list: nullable Object */;
7750 val
* var1
/* : nullable Object */;
7751 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7752 val
* var2
/* : nullable Object */;
7753 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7754 val
* var3
/* : nullable Object */;
7755 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7756 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
7757 short int var4
/* : Bool */;
7760 val
* var_tkwinitnode3
/* var tkwinitnode3: nullable Object */;
7761 short int var5
/* : Bool */;
7764 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
7765 short int var8
/* : Bool */;
7768 val
* var11
/* : AInitExpr */;
7769 val
* var_pexprnode1
/* var pexprnode1: nullable AInitExpr */;
7770 long var12
/* : Int */;
7771 long var13
/* : Int */;
7774 var_node_list
= var
;
7775 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7776 var_nodearraylist3
= var1
;
7777 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7778 var_nodearraylist2
= var2
;
7779 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7780 var_nodearraylist1
= var3
;
7781 var_pexprnode2
= var_nodearraylist1
;
7782 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
7783 cltype
= type_nullable_parser_nodes__AExpr
.color
;
7784 idtype
= type_nullable_parser_nodes__AExpr
.id
;
7785 if(var_pexprnode2
== NULL
) {
7788 if(cltype
>= var_pexprnode2
->type
->table_size
) {
7791 var4
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
7795 fprintf(stderr
, "Runtime error: %s", "Assert failed");
7796 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 29182);
7799 var_tkwinitnode3
= var_nodearraylist2
;
7800 /* <var_tkwinitnode3:nullable Object> isa nullable TKwinit */
7801 cltype6
= type_nullable_parser_nodes__TKwinit
.color
;
7802 idtype7
= type_nullable_parser_nodes__TKwinit
.id
;
7803 if(var_tkwinitnode3
== NULL
) {
7806 if(cltype6
>= var_tkwinitnode3
->type
->table_size
) {
7809 var5
= var_tkwinitnode3
->type
->type_table
[cltype6
] == idtype7
;
7813 fprintf(stderr
, "Runtime error: %s", "Assert failed");
7814 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 29184);
7817 var_pexprsnode4
= var_nodearraylist3
;
7818 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
7819 cltype9
= type_nullable_parser_nodes__AExprs
.color
;
7820 idtype10
= type_nullable_parser_nodes__AExprs
.id
;
7821 if(var_pexprsnode4
== NULL
) {
7824 if(cltype9
>= var_pexprsnode4
->type
->table_size
) {
7827 var8
= var_pexprsnode4
->type
->type_table
[cltype9
] == idtype10
;
7831 fprintf(stderr
, "Runtime error: %s", "Assert failed");
7832 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 29186);
7835 var11
= NEW_parser_nodes__AInitExpr(&type_parser_nodes__AInitExpr
);
7836 ((void (*)(val
*, val
*, val
*, val
*))(var11
->class->vft
[COLOR_parser_prod__AInitExpr__init_ainitexpr
]))(var11
, var_pexprnode2
, var_tkwinitnode3
, var_pexprsnode4
) /* init_ainitexpr on <var11:AInitExpr>*/;
7837 var_pexprnode1
= var11
;
7838 var_node_list
= var_pexprnode1
;
7839 var12
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1231> */
7840 var13
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var12
) /* go_to on <var_p:Parser>*/;
7841 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var13
, var_node_list
) /* push on <var_p:Parser>*/;
7844 /* method parser#ReduceAction1231#action for (self: Object, Parser) */
7845 void VIRTUAL_parser__ReduceAction1231__action(val
* self
, val
* p0
) {
7846 parser__ReduceAction1231__action(self
, p0
);
7849 /* method parser#ReduceAction1255#action for (self: ReduceAction1255, Parser) */
7850 void parser__ReduceAction1255__action(val
* self
, val
* p0
) {
7851 val
* var_p
/* var p: Parser */;
7852 val
* var
/* : null */;
7853 val
* var_node_list
/* var node_list: nullable Object */;
7854 val
* var1
/* : nullable Object */;
7855 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7856 val
* var2
/* : nullable Object */;
7857 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7858 val
* var3
/* : nullable Object */;
7859 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7860 val
* var_pexprnode1
/* var pexprnode1: nullable Object */;
7861 long var4
/* : Int */;
7862 long var5
/* : Int */;
7865 var_node_list
= var
;
7866 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7867 var_nodearraylist3
= var1
;
7868 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7869 var_nodearraylist2
= var2
;
7870 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7871 var_nodearraylist1
= var3
;
7872 var_pexprnode1
= var_nodearraylist1
;
7873 var_node_list
= var_pexprnode1
;
7874 var4
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1255> */
7875 var5
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var4
) /* go_to on <var_p:Parser>*/;
7876 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var5
, var_node_list
) /* push on <var_p:Parser>*/;
7879 /* method parser#ReduceAction1255#action for (self: Object, Parser) */
7880 void VIRTUAL_parser__ReduceAction1255__action(val
* self
, val
* p0
) {
7881 parser__ReduceAction1255__action(self
, p0
);
7884 /* method parser#ReduceAction1256#action for (self: ReduceAction1256, Parser) */
7885 void parser__ReduceAction1256__action(val
* self
, val
* p0
) {
7886 val
* var_p
/* var p: Parser */;
7887 val
* var
/* : null */;
7888 val
* var_node_list
/* var node_list: nullable Object */;
7889 val
* var1
/* : AImplicitSelfExpr */;
7890 val
* var_pexprnode1
/* var pexprnode1: nullable AImplicitSelfExpr */;
7891 long var2
/* : Int */;
7892 long var3
/* : Int */;
7895 var_node_list
= var
;
7896 var1
= NEW_parser_nodes__AImplicitSelfExpr(&type_parser_nodes__AImplicitSelfExpr
);
7897 ((void (*)(val
*))(var1
->class->vft
[COLOR_parser_prod__AImplicitSelfExpr__init_aimplicitselfexpr
]))(var1
) /* init_aimplicitselfexpr on <var1:AImplicitSelfExpr>*/;
7898 var_pexprnode1
= var1
;
7899 var_node_list
= var_pexprnode1
;
7900 var2
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1256> */
7901 var3
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var2
) /* go_to on <var_p:Parser>*/;
7902 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var3
, var_node_list
) /* push on <var_p:Parser>*/;
7905 /* method parser#ReduceAction1256#action for (self: Object, Parser) */
7906 void VIRTUAL_parser__ReduceAction1256__action(val
* self
, val
* p0
) {
7907 parser__ReduceAction1256__action(self
, p0
);
7910 /* method parser#ReduceAction1524#action for (self: ReduceAction1524, Parser) */
7911 void parser__ReduceAction1524__action(val
* self
, val
* p0
) {
7912 val
* var_p
/* var p: Parser */;
7913 val
* var
/* : null */;
7914 val
* var_node_list
/* var node_list: nullable Object */;
7915 val
* var1
/* : nullable Object */;
7916 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7917 val
* var2
/* : Array[Object] */;
7918 val
* var_listnode2
/* var listnode2: Array[Object] */;
7919 val
* var_pimportnode1
/* var pimportnode1: nullable Object */;
7920 val
* var3
/* : null */;
7921 short int var4
/* : Bool */;
7922 long var5
/* : Int */;
7923 long var6
/* : Int */;
7926 var_node_list
= var
;
7927 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7928 var_nodearraylist1
= var1
;
7929 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
7930 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
7931 var_listnode2
= var2
;
7932 var_pimportnode1
= var_nodearraylist1
;
7934 if (var_pimportnode1
== NULL
) {
7935 var4
= 0; /* is null */
7937 var4
= 1; /* arg is null and recv is not */
7940 ((void (*)(val
*, val
*))(var_listnode2
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode2
, var_pimportnode1
) /* add on <var_listnode2:Array[Object]>*/;
7943 var_node_list
= var_listnode2
;
7944 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1524> */
7945 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
7946 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
7949 /* method parser#ReduceAction1524#action for (self: Object, Parser) */
7950 void VIRTUAL_parser__ReduceAction1524__action(val
* self
, val
* p0
) {
7951 parser__ReduceAction1524__action(self
, p0
);
7954 /* method parser#ReduceAction1525#action for (self: ReduceAction1525, Parser) */
7955 void parser__ReduceAction1525__action(val
* self
, val
* p0
) {
7956 val
* var_p
/* var p: Parser */;
7957 val
* var
/* : null */;
7958 val
* var_node_list
/* var node_list: nullable Object */;
7959 val
* var1
/* : nullable Object */;
7960 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7961 val
* var2
/* : nullable Object */;
7962 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7963 val
* var3
/* : Array[Object] */;
7964 val
* var_listnode3
/* var listnode3: Array[Object] */;
7965 val
* var_listnode1
/* var listnode1: nullable Object */;
7966 short int var4
/* : Bool */;
7969 val
* var_pimportnode2
/* var pimportnode2: nullable Object */;
7970 val
* var5
/* : Array[Object] */;
7971 val
* var6
/* : null */;
7972 short int var7
/* : Bool */;
7973 long var8
/* : Int */;
7974 long var9
/* : Int */;
7977 var_node_list
= var
;
7978 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7979 var_nodearraylist2
= var1
;
7980 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
7981 var_nodearraylist1
= var2
;
7982 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
7983 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
7984 var_listnode3
= var3
;
7985 var_listnode1
= var_nodearraylist1
;
7986 /* <var_listnode1:nullable Object> isa Array[Object] */
7987 cltype
= type_array__Arraykernel__Object
.color
;
7988 idtype
= type_array__Arraykernel__Object
.id
;
7989 if(var_listnode1
== NULL
) {
7992 if(cltype
>= var_listnode1
->type
->table_size
) {
7995 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
7999 fprintf(stderr
, "Runtime error: %s", "Assert failed");
8000 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 29243);
8003 var_pimportnode2
= var_nodearraylist2
;
8004 var5
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode1
) /* concat on <self:ReduceAction1525>*/;
8005 var_listnode3
= var5
;
8007 if (var_pimportnode2
== NULL
) {
8008 var7
= 0; /* is null */
8010 var7
= 1; /* arg is null and recv is not */
8013 ((void (*)(val
*, val
*))(var_listnode3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode3
, var_pimportnode2
) /* add on <var_listnode3:Array[Object]>*/;
8016 var_node_list
= var_listnode3
;
8017 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1525> */
8018 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
8019 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
8022 /* method parser#ReduceAction1525#action for (self: Object, Parser) */
8023 void VIRTUAL_parser__ReduceAction1525__action(val
* self
, val
* p0
) {
8024 parser__ReduceAction1525__action(self
, p0
);
8027 /* method parser#ReduceAction1526#action for (self: ReduceAction1526, Parser) */
8028 void parser__ReduceAction1526__action(val
* self
, val
* p0
) {
8029 val
* var_p
/* var p: Parser */;
8030 val
* var
/* : null */;
8031 val
* var_node_list
/* var node_list: nullable Object */;
8032 val
* var1
/* : nullable Object */;
8033 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8034 val
* var2
/* : Array[Object] */;
8035 val
* var_listnode2
/* var listnode2: Array[Object] */;
8036 val
* var_pexterncodeblocknode1
/* var pexterncodeblocknode1: nullable Object */;
8037 val
* var3
/* : null */;
8038 short int var4
/* : Bool */;
8039 long var5
/* : Int */;
8040 long var6
/* : Int */;
8043 var_node_list
= var
;
8044 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8045 var_nodearraylist1
= var1
;
8046 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
8047 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
8048 var_listnode2
= var2
;
8049 var_pexterncodeblocknode1
= var_nodearraylist1
;
8051 if (var_pexterncodeblocknode1
== NULL
) {
8052 var4
= 0; /* is null */
8054 var4
= 1; /* arg is null and recv is not */
8057 ((void (*)(val
*, val
*))(var_listnode2
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode2
, var_pexterncodeblocknode1
) /* add on <var_listnode2:Array[Object]>*/;
8060 var_node_list
= var_listnode2
;
8061 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1526> */
8062 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
8063 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
8066 /* method parser#ReduceAction1526#action for (self: Object, Parser) */
8067 void VIRTUAL_parser__ReduceAction1526__action(val
* self
, val
* p0
) {
8068 parser__ReduceAction1526__action(self
, p0
);
8071 /* method parser#ReduceAction1527#action for (self: ReduceAction1527, Parser) */
8072 void parser__ReduceAction1527__action(val
* self
, val
* p0
) {
8073 val
* var_p
/* var p: Parser */;
8074 val
* var
/* : null */;
8075 val
* var_node_list
/* var node_list: nullable Object */;
8076 val
* var1
/* : nullable Object */;
8077 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8078 val
* var2
/* : nullable Object */;
8079 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8080 val
* var3
/* : Array[Object] */;
8081 val
* var_listnode3
/* var listnode3: Array[Object] */;
8082 val
* var_listnode1
/* var listnode1: nullable Object */;
8083 short int var4
/* : Bool */;
8086 val
* var_pexterncodeblocknode2
/* var pexterncodeblocknode2: nullable Object */;
8087 val
* var5
/* : Array[Object] */;
8088 val
* var6
/* : null */;
8089 short int var7
/* : Bool */;
8090 long var8
/* : Int */;
8091 long var9
/* : Int */;
8094 var_node_list
= var
;
8095 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8096 var_nodearraylist2
= var1
;
8097 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8098 var_nodearraylist1
= var2
;
8099 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
8100 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
8101 var_listnode3
= var3
;
8102 var_listnode1
= var_nodearraylist1
;
8103 /* <var_listnode1:nullable Object> isa Array[Object] */
8104 cltype
= type_array__Arraykernel__Object
.color
;
8105 idtype
= type_array__Arraykernel__Object
.id
;
8106 if(var_listnode1
== NULL
) {
8109 if(cltype
>= var_listnode1
->type
->table_size
) {
8112 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
8116 fprintf(stderr
, "Runtime error: %s", "Assert failed");
8117 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 29277);
8120 var_pexterncodeblocknode2
= var_nodearraylist2
;
8121 var5
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode1
) /* concat on <self:ReduceAction1527>*/;
8122 var_listnode3
= var5
;
8124 if (var_pexterncodeblocknode2
== NULL
) {
8125 var7
= 0; /* is null */
8127 var7
= 1; /* arg is null and recv is not */
8130 ((void (*)(val
*, val
*))(var_listnode3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode3
, var_pexterncodeblocknode2
) /* add on <var_listnode3:Array[Object]>*/;
8133 var_node_list
= var_listnode3
;
8134 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1527> */
8135 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
8136 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
8139 /* method parser#ReduceAction1527#action for (self: Object, Parser) */
8140 void VIRTUAL_parser__ReduceAction1527__action(val
* self
, val
* p0
) {
8141 parser__ReduceAction1527__action(self
, p0
);
8144 /* method parser#ReduceAction1528#action for (self: ReduceAction1528, Parser) */
8145 void parser__ReduceAction1528__action(val
* self
, val
* p0
) {
8146 val
* var_p
/* var p: Parser */;
8147 val
* var
/* : null */;
8148 val
* var_node_list
/* var node_list: nullable Object */;
8149 val
* var1
/* : nullable Object */;
8150 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8151 val
* var2
/* : Array[Object] */;
8152 val
* var_listnode2
/* var listnode2: Array[Object] */;
8153 val
* var_pclassdefnode1
/* var pclassdefnode1: nullable Object */;
8154 val
* var3
/* : null */;
8155 short int var4
/* : Bool */;
8156 long var5
/* : Int */;
8157 long var6
/* : Int */;
8160 var_node_list
= var
;
8161 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8162 var_nodearraylist1
= var1
;
8163 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
8164 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
8165 var_listnode2
= var2
;
8166 var_pclassdefnode1
= var_nodearraylist1
;
8168 if (var_pclassdefnode1
== NULL
) {
8169 var4
= 0; /* is null */
8171 var4
= 1; /* arg is null and recv is not */
8174 ((void (*)(val
*, val
*))(var_listnode2
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode2
, var_pclassdefnode1
) /* add on <var_listnode2:Array[Object]>*/;
8177 var_node_list
= var_listnode2
;
8178 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1528> */
8179 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
8180 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
8183 /* method parser#ReduceAction1528#action for (self: Object, Parser) */
8184 void VIRTUAL_parser__ReduceAction1528__action(val
* self
, val
* p0
) {
8185 parser__ReduceAction1528__action(self
, p0
);
8188 /* method parser#ReduceAction1529#action for (self: ReduceAction1529, Parser) */
8189 void parser__ReduceAction1529__action(val
* self
, val
* p0
) {
8190 val
* var_p
/* var p: Parser */;
8191 val
* var
/* : null */;
8192 val
* var_node_list
/* var node_list: nullable Object */;
8193 val
* var1
/* : nullable Object */;
8194 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8195 val
* var2
/* : nullable Object */;
8196 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8197 val
* var3
/* : Array[Object] */;
8198 val
* var_listnode3
/* var listnode3: Array[Object] */;
8199 val
* var_listnode1
/* var listnode1: nullable Object */;
8200 short int var4
/* : Bool */;
8203 val
* var_pclassdefnode2
/* var pclassdefnode2: nullable Object */;
8204 val
* var5
/* : Array[Object] */;
8205 val
* var6
/* : null */;
8206 short int var7
/* : Bool */;
8207 long var8
/* : Int */;
8208 long var9
/* : Int */;
8211 var_node_list
= var
;
8212 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8213 var_nodearraylist2
= var1
;
8214 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8215 var_nodearraylist1
= var2
;
8216 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
8217 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
8218 var_listnode3
= var3
;
8219 var_listnode1
= var_nodearraylist1
;
8220 /* <var_listnode1:nullable Object> isa Array[Object] */
8221 cltype
= type_array__Arraykernel__Object
.color
;
8222 idtype
= type_array__Arraykernel__Object
.id
;
8223 if(var_listnode1
== NULL
) {
8226 if(cltype
>= var_listnode1
->type
->table_size
) {
8229 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
8233 fprintf(stderr
, "Runtime error: %s", "Assert failed");
8234 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 29311);
8237 var_pclassdefnode2
= var_nodearraylist2
;
8238 var5
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode1
) /* concat on <self:ReduceAction1529>*/;
8239 var_listnode3
= var5
;
8241 if (var_pclassdefnode2
== NULL
) {
8242 var7
= 0; /* is null */
8244 var7
= 1; /* arg is null and recv is not */
8247 ((void (*)(val
*, val
*))(var_listnode3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode3
, var_pclassdefnode2
) /* add on <var_listnode3:Array[Object]>*/;
8250 var_node_list
= var_listnode3
;
8251 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1529> */
8252 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
8253 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
8256 /* method parser#ReduceAction1529#action for (self: Object, Parser) */
8257 void VIRTUAL_parser__ReduceAction1529__action(val
* self
, val
* p0
) {
8258 parser__ReduceAction1529__action(self
, p0
);
8261 /* method parser#ReduceAction1530#action for (self: ReduceAction1530, Parser) */
8262 void parser__ReduceAction1530__action(val
* self
, val
* p0
) {
8263 val
* var_p
/* var p: Parser */;
8264 val
* var
/* : null */;
8265 val
* var_node_list
/* var node_list: nullable Object */;
8266 val
* var1
/* : nullable Object */;
8267 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8268 val
* var2
/* : Array[Object] */;
8269 val
* var_listnode2
/* var listnode2: Array[Object] */;
8270 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable Object */;
8271 val
* var3
/* : null */;
8272 short int var4
/* : Bool */;
8273 long var5
/* : Int */;
8274 long var6
/* : Int */;
8277 var_node_list
= var
;
8278 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8279 var_nodearraylist1
= var1
;
8280 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
8281 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
8282 var_listnode2
= var2
;
8283 var_ppropdefnode1
= var_nodearraylist1
;
8285 if (var_ppropdefnode1
== NULL
) {
8286 var4
= 0; /* is null */
8288 var4
= 1; /* arg is null and recv is not */
8291 ((void (*)(val
*, val
*))(var_listnode2
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode2
, var_ppropdefnode1
) /* add on <var_listnode2:Array[Object]>*/;
8294 var_node_list
= var_listnode2
;
8295 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1530> */
8296 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
8297 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
8300 /* method parser#ReduceAction1530#action for (self: Object, Parser) */
8301 void VIRTUAL_parser__ReduceAction1530__action(val
* self
, val
* p0
) {
8302 parser__ReduceAction1530__action(self
, p0
);
8305 /* method parser#ReduceAction1531#action for (self: ReduceAction1531, Parser) */
8306 void parser__ReduceAction1531__action(val
* self
, val
* p0
) {
8307 val
* var_p
/* var p: Parser */;
8308 val
* var
/* : null */;
8309 val
* var_node_list
/* var node_list: nullable Object */;
8310 val
* var1
/* : nullable Object */;
8311 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8312 val
* var2
/* : nullable Object */;
8313 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8314 val
* var3
/* : Array[Object] */;
8315 val
* var_listnode3
/* var listnode3: Array[Object] */;
8316 val
* var_listnode1
/* var listnode1: nullable Object */;
8317 short int var4
/* : Bool */;
8320 val
* var_ppropdefnode2
/* var ppropdefnode2: nullable Object */;
8321 val
* var5
/* : Array[Object] */;
8322 val
* var6
/* : null */;
8323 short int var7
/* : Bool */;
8324 long var8
/* : Int */;
8325 long var9
/* : Int */;
8328 var_node_list
= var
;
8329 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8330 var_nodearraylist2
= var1
;
8331 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8332 var_nodearraylist1
= var2
;
8333 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
8334 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
8335 var_listnode3
= var3
;
8336 var_listnode1
= var_nodearraylist1
;
8337 /* <var_listnode1:nullable Object> isa Array[Object] */
8338 cltype
= type_array__Arraykernel__Object
.color
;
8339 idtype
= type_array__Arraykernel__Object
.id
;
8340 if(var_listnode1
== NULL
) {
8343 if(cltype
>= var_listnode1
->type
->table_size
) {
8346 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
8350 fprintf(stderr
, "Runtime error: %s", "Assert failed");
8351 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 29345);
8354 var_ppropdefnode2
= var_nodearraylist2
;
8355 var5
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode1
) /* concat on <self:ReduceAction1531>*/;
8356 var_listnode3
= var5
;
8358 if (var_ppropdefnode2
== NULL
) {
8359 var7
= 0; /* is null */
8361 var7
= 1; /* arg is null and recv is not */
8364 ((void (*)(val
*, val
*))(var_listnode3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode3
, var_ppropdefnode2
) /* add on <var_listnode3:Array[Object]>*/;
8367 var_node_list
= var_listnode3
;
8368 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1531> */
8369 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
8370 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
8373 /* method parser#ReduceAction1531#action for (self: Object, Parser) */
8374 void VIRTUAL_parser__ReduceAction1531__action(val
* self
, val
* p0
) {
8375 parser__ReduceAction1531__action(self
, p0
);
8378 /* method parser#ReduceAction1532#action for (self: ReduceAction1532, Parser) */
8379 void parser__ReduceAction1532__action(val
* self
, val
* p0
) {
8380 val
* var_p
/* var p: Parser */;
8381 val
* var
/* : null */;
8382 val
* var_node_list
/* var node_list: nullable Object */;
8383 val
* var1
/* : nullable Object */;
8384 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8385 val
* var2
/* : Array[Object] */;
8386 val
* var_listnode2
/* var listnode2: Array[Object] */;
8387 val
* var_psuperclassnode1
/* var psuperclassnode1: nullable Object */;
8388 val
* var3
/* : null */;
8389 short int var4
/* : Bool */;
8390 long var5
/* : Int */;
8391 long var6
/* : Int */;
8394 var_node_list
= var
;
8395 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8396 var_nodearraylist1
= var1
;
8397 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
8398 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
8399 var_listnode2
= var2
;
8400 var_psuperclassnode1
= var_nodearraylist1
;
8402 if (var_psuperclassnode1
== NULL
) {
8403 var4
= 0; /* is null */
8405 var4
= 1; /* arg is null and recv is not */
8408 ((void (*)(val
*, val
*))(var_listnode2
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode2
, var_psuperclassnode1
) /* add on <var_listnode2:Array[Object]>*/;
8411 var_node_list
= var_listnode2
;
8412 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1532> */
8413 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
8414 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
8417 /* method parser#ReduceAction1532#action for (self: Object, Parser) */
8418 void VIRTUAL_parser__ReduceAction1532__action(val
* self
, val
* p0
) {
8419 parser__ReduceAction1532__action(self
, p0
);
8422 /* method parser#ReduceAction1533#action for (self: ReduceAction1533, Parser) */
8423 void parser__ReduceAction1533__action(val
* self
, val
* p0
) {
8424 val
* var_p
/* var p: Parser */;
8425 val
* var
/* : null */;
8426 val
* var_node_list
/* var node_list: nullable Object */;
8427 val
* var1
/* : nullable Object */;
8428 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8429 val
* var2
/* : nullable Object */;
8430 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8431 val
* var3
/* : Array[Object] */;
8432 val
* var_listnode3
/* var listnode3: Array[Object] */;
8433 val
* var_listnode1
/* var listnode1: nullable Object */;
8434 short int var4
/* : Bool */;
8437 val
* var_psuperclassnode2
/* var psuperclassnode2: nullable Object */;
8438 val
* var5
/* : Array[Object] */;
8439 val
* var6
/* : null */;
8440 short int var7
/* : Bool */;
8441 long var8
/* : Int */;
8442 long var9
/* : Int */;
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_nodearraylist2
= var1
;
8448 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8449 var_nodearraylist1
= var2
;
8450 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
8451 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
8452 var_listnode3
= var3
;
8453 var_listnode1
= var_nodearraylist1
;
8454 /* <var_listnode1:nullable Object> isa Array[Object] */
8455 cltype
= type_array__Arraykernel__Object
.color
;
8456 idtype
= type_array__Arraykernel__Object
.id
;
8457 if(var_listnode1
== NULL
) {
8460 if(cltype
>= var_listnode1
->type
->table_size
) {
8463 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
8467 fprintf(stderr
, "Runtime error: %s", "Assert failed");
8468 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 29379);
8471 var_psuperclassnode2
= var_nodearraylist2
;
8472 var5
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode1
) /* concat on <self:ReduceAction1533>*/;
8473 var_listnode3
= var5
;
8475 if (var_psuperclassnode2
== NULL
) {
8476 var7
= 0; /* is null */
8478 var7
= 1; /* arg is null and recv is not */
8481 ((void (*)(val
*, val
*))(var_listnode3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode3
, var_psuperclassnode2
) /* add on <var_listnode3:Array[Object]>*/;
8484 var_node_list
= var_listnode3
;
8485 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1533> */
8486 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
8487 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
8490 /* method parser#ReduceAction1533#action for (self: Object, Parser) */
8491 void VIRTUAL_parser__ReduceAction1533__action(val
* self
, val
* p0
) {
8492 parser__ReduceAction1533__action(self
, p0
);
8495 /* method parser#ReduceAction1536#action for (self: ReduceAction1536, Parser) */
8496 void parser__ReduceAction1536__action(val
* self
, val
* p0
) {
8497 val
* var_p
/* var p: Parser */;
8498 val
* var
/* : null */;
8499 val
* var_node_list
/* var node_list: nullable Object */;
8500 val
* var1
/* : nullable Object */;
8501 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8502 val
* var2
/* : Array[Object] */;
8503 val
* var_listnode2
/* var listnode2: Array[Object] */;
8504 val
* var_pformaldefnode1
/* var pformaldefnode1: nullable Object */;
8505 val
* var3
/* : null */;
8506 short int var4
/* : Bool */;
8507 long var5
/* : Int */;
8508 long var6
/* : Int */;
8511 var_node_list
= var
;
8512 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8513 var_nodearraylist1
= var1
;
8514 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
8515 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
8516 var_listnode2
= var2
;
8517 var_pformaldefnode1
= var_nodearraylist1
;
8519 if (var_pformaldefnode1
== NULL
) {
8520 var4
= 0; /* is null */
8522 var4
= 1; /* arg is null and recv is not */
8525 ((void (*)(val
*, val
*))(var_listnode2
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode2
, var_pformaldefnode1
) /* add on <var_listnode2:Array[Object]>*/;
8528 var_node_list
= var_listnode2
;
8529 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1536> */
8530 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
8531 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
8534 /* method parser#ReduceAction1536#action for (self: Object, Parser) */
8535 void VIRTUAL_parser__ReduceAction1536__action(val
* self
, val
* p0
) {
8536 parser__ReduceAction1536__action(self
, p0
);
8539 /* method parser#ReduceAction1537#action for (self: ReduceAction1537, Parser) */
8540 void parser__ReduceAction1537__action(val
* self
, val
* p0
) {
8541 val
* var_p
/* var p: Parser */;
8542 val
* var
/* : null */;
8543 val
* var_node_list
/* var node_list: nullable Object */;
8544 val
* var1
/* : nullable Object */;
8545 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8546 val
* var2
/* : nullable Object */;
8547 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8548 val
* var3
/* : Array[Object] */;
8549 val
* var_listnode3
/* var listnode3: Array[Object] */;
8550 val
* var_listnode1
/* var listnode1: nullable Object */;
8551 short int var4
/* : Bool */;
8554 val
* var_pformaldefnode2
/* var pformaldefnode2: nullable Object */;
8555 val
* var5
/* : Array[Object] */;
8556 val
* var6
/* : null */;
8557 short int var7
/* : Bool */;
8558 long var8
/* : Int */;
8559 long var9
/* : Int */;
8562 var_node_list
= var
;
8563 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8564 var_nodearraylist2
= var1
;
8565 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8566 var_nodearraylist1
= var2
;
8567 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
8568 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
8569 var_listnode3
= var3
;
8570 var_listnode1
= var_nodearraylist1
;
8571 /* <var_listnode1:nullable Object> isa Array[Object] */
8572 cltype
= type_array__Arraykernel__Object
.color
;
8573 idtype
= type_array__Arraykernel__Object
.id
;
8574 if(var_listnode1
== NULL
) {
8577 if(cltype
>= var_listnode1
->type
->table_size
) {
8580 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
8584 fprintf(stderr
, "Runtime error: %s", "Assert failed");
8585 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 29413);
8588 var_pformaldefnode2
= var_nodearraylist2
;
8589 var5
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode1
) /* concat on <self:ReduceAction1537>*/;
8590 var_listnode3
= var5
;
8592 if (var_pformaldefnode2
== NULL
) {
8593 var7
= 0; /* is null */
8595 var7
= 1; /* arg is null and recv is not */
8598 ((void (*)(val
*, val
*))(var_listnode3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode3
, var_pformaldefnode2
) /* add on <var_listnode3:Array[Object]>*/;
8601 var_node_list
= var_listnode3
;
8602 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1537> */
8603 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
8604 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
8607 /* method parser#ReduceAction1537#action for (self: Object, Parser) */
8608 void VIRTUAL_parser__ReduceAction1537__action(val
* self
, val
* p0
) {
8609 parser__ReduceAction1537__action(self
, p0
);
8612 /* method parser#ReduceAction1538#action for (self: ReduceAction1538, Parser) */
8613 void parser__ReduceAction1538__action(val
* self
, val
* p0
) {
8614 val
* var_p
/* var p: Parser */;
8615 val
* var
/* : null */;
8616 val
* var_node_list
/* var node_list: nullable Object */;
8617 val
* var1
/* : nullable Object */;
8618 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8619 val
* var2
/* : Array[Object] */;
8620 val
* var_listnode2
/* var listnode2: Array[Object] */;
8621 val
* var_pparamnode1
/* var pparamnode1: nullable Object */;
8622 val
* var3
/* : null */;
8623 short int var4
/* : Bool */;
8624 long var5
/* : Int */;
8625 long var6
/* : Int */;
8628 var_node_list
= var
;
8629 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8630 var_nodearraylist1
= var1
;
8631 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
8632 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
8633 var_listnode2
= var2
;
8634 var_pparamnode1
= var_nodearraylist1
;
8636 if (var_pparamnode1
== NULL
) {
8637 var4
= 0; /* is null */
8639 var4
= 1; /* arg is null and recv is not */
8642 ((void (*)(val
*, val
*))(var_listnode2
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode2
, var_pparamnode1
) /* add on <var_listnode2:Array[Object]>*/;
8645 var_node_list
= var_listnode2
;
8646 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1538> */
8647 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
8648 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
8651 /* method parser#ReduceAction1538#action for (self: Object, Parser) */
8652 void VIRTUAL_parser__ReduceAction1538__action(val
* self
, val
* p0
) {
8653 parser__ReduceAction1538__action(self
, p0
);
8656 /* method parser#ReduceAction1539#action for (self: ReduceAction1539, Parser) */
8657 void parser__ReduceAction1539__action(val
* self
, val
* p0
) {
8658 val
* var_p
/* var p: Parser */;
8659 val
* var
/* : null */;
8660 val
* var_node_list
/* var node_list: nullable Object */;
8661 val
* var1
/* : nullable Object */;
8662 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8663 val
* var2
/* : nullable Object */;
8664 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8665 val
* var3
/* : Array[Object] */;
8666 val
* var_listnode3
/* var listnode3: Array[Object] */;
8667 val
* var_listnode1
/* var listnode1: nullable Object */;
8668 short int var4
/* : Bool */;
8671 val
* var_pparamnode2
/* var pparamnode2: nullable Object */;
8672 val
* var5
/* : Array[Object] */;
8673 val
* var6
/* : null */;
8674 short int var7
/* : Bool */;
8675 long var8
/* : Int */;
8676 long var9
/* : Int */;
8679 var_node_list
= var
;
8680 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8681 var_nodearraylist2
= var1
;
8682 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8683 var_nodearraylist1
= var2
;
8684 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
8685 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
8686 var_listnode3
= var3
;
8687 var_listnode1
= var_nodearraylist1
;
8688 /* <var_listnode1:nullable Object> isa Array[Object] */
8689 cltype
= type_array__Arraykernel__Object
.color
;
8690 idtype
= type_array__Arraykernel__Object
.id
;
8691 if(var_listnode1
== NULL
) {
8694 if(cltype
>= var_listnode1
->type
->table_size
) {
8697 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
8701 fprintf(stderr
, "Runtime error: %s", "Assert failed");
8702 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 29447);
8705 var_pparamnode2
= var_nodearraylist2
;
8706 var5
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode1
) /* concat on <self:ReduceAction1539>*/;
8707 var_listnode3
= var5
;
8709 if (var_pparamnode2
== NULL
) {
8710 var7
= 0; /* is null */
8712 var7
= 1; /* arg is null and recv is not */
8715 ((void (*)(val
*, val
*))(var_listnode3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode3
, var_pparamnode2
) /* add on <var_listnode3:Array[Object]>*/;
8718 var_node_list
= var_listnode3
;
8719 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1539> */
8720 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
8721 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
8724 /* method parser#ReduceAction1539#action for (self: Object, Parser) */
8725 void VIRTUAL_parser__ReduceAction1539__action(val
* self
, val
* p0
) {
8726 parser__ReduceAction1539__action(self
, p0
);
8729 /* method parser#ReduceAction1540#action for (self: ReduceAction1540, Parser) */
8730 void parser__ReduceAction1540__action(val
* self
, val
* p0
) {
8731 val
* var_p
/* var p: Parser */;
8732 val
* var
/* : null */;
8733 val
* var_node_list
/* var node_list: nullable Object */;
8734 val
* var1
/* : nullable Object */;
8735 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8736 val
* var2
/* : Array[Object] */;
8737 val
* var_listnode2
/* var listnode2: Array[Object] */;
8738 val
* var_pexterncallnode1
/* var pexterncallnode1: nullable Object */;
8739 val
* var3
/* : null */;
8740 short int var4
/* : Bool */;
8741 long var5
/* : Int */;
8742 long var6
/* : Int */;
8745 var_node_list
= var
;
8746 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8747 var_nodearraylist1
= var1
;
8748 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
8749 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
8750 var_listnode2
= var2
;
8751 var_pexterncallnode1
= var_nodearraylist1
;
8753 if (var_pexterncallnode1
== NULL
) {
8754 var4
= 0; /* is null */
8756 var4
= 1; /* arg is null and recv is not */
8759 ((void (*)(val
*, val
*))(var_listnode2
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode2
, var_pexterncallnode1
) /* add on <var_listnode2:Array[Object]>*/;
8762 var_node_list
= var_listnode2
;
8763 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1540> */
8764 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
8765 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
8768 /* method parser#ReduceAction1540#action for (self: Object, Parser) */
8769 void VIRTUAL_parser__ReduceAction1540__action(val
* self
, val
* p0
) {
8770 parser__ReduceAction1540__action(self
, p0
);
8773 /* method parser#ReduceAction1541#action for (self: ReduceAction1541, Parser) */
8774 void parser__ReduceAction1541__action(val
* self
, val
* p0
) {
8775 val
* var_p
/* var p: Parser */;
8776 val
* var
/* : null */;
8777 val
* var_node_list
/* var node_list: nullable Object */;
8778 val
* var1
/* : nullable Object */;
8779 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8780 val
* var2
/* : nullable Object */;
8781 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8782 val
* var3
/* : Array[Object] */;
8783 val
* var_listnode3
/* var listnode3: Array[Object] */;
8784 val
* var_listnode1
/* var listnode1: nullable Object */;
8785 short int var4
/* : Bool */;
8788 val
* var_pexterncallnode2
/* var pexterncallnode2: nullable Object */;
8789 val
* var5
/* : Array[Object] */;
8790 val
* var6
/* : null */;
8791 short int var7
/* : Bool */;
8792 long var8
/* : Int */;
8793 long var9
/* : Int */;
8796 var_node_list
= var
;
8797 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8798 var_nodearraylist2
= var1
;
8799 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8800 var_nodearraylist1
= var2
;
8801 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
8802 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
8803 var_listnode3
= var3
;
8804 var_listnode1
= var_nodearraylist1
;
8805 /* <var_listnode1:nullable Object> isa Array[Object] */
8806 cltype
= type_array__Arraykernel__Object
.color
;
8807 idtype
= type_array__Arraykernel__Object
.id
;
8808 if(var_listnode1
== NULL
) {
8811 if(cltype
>= var_listnode1
->type
->table_size
) {
8814 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
8818 fprintf(stderr
, "Runtime error: %s", "Assert failed");
8819 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 29481);
8822 var_pexterncallnode2
= var_nodearraylist2
;
8823 var5
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode1
) /* concat on <self:ReduceAction1541>*/;
8824 var_listnode3
= var5
;
8826 if (var_pexterncallnode2
== NULL
) {
8827 var7
= 0; /* is null */
8829 var7
= 1; /* arg is null and recv is not */
8832 ((void (*)(val
*, val
*))(var_listnode3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode3
, var_pexterncallnode2
) /* add on <var_listnode3:Array[Object]>*/;
8835 var_node_list
= var_listnode3
;
8836 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1541> */
8837 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
8838 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
8841 /* method parser#ReduceAction1541#action for (self: Object, Parser) */
8842 void VIRTUAL_parser__ReduceAction1541__action(val
* self
, val
* p0
) {
8843 parser__ReduceAction1541__action(self
, p0
);
8846 /* method parser#ReduceAction1543#action for (self: ReduceAction1543, Parser) */
8847 void parser__ReduceAction1543__action(val
* self
, val
* p0
) {
8848 val
* var_p
/* var p: Parser */;
8849 val
* var
/* : null */;
8850 val
* var_node_list
/* var node_list: nullable Object */;
8851 val
* var1
/* : nullable Object */;
8852 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8853 val
* var2
/* : nullable Object */;
8854 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8855 val
* var3
/* : Array[Object] */;
8856 val
* var_listnode3
/* var listnode3: Array[Object] */;
8857 val
* var_listnode1
/* var listnode1: nullable Object */;
8858 short int var4
/* : Bool */;
8861 val
* var_ptypenode2
/* var ptypenode2: nullable Object */;
8862 val
* var5
/* : Array[Object] */;
8863 val
* var6
/* : null */;
8864 short int var7
/* : Bool */;
8865 long var8
/* : Int */;
8866 long var9
/* : Int */;
8869 var_node_list
= var
;
8870 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8871 var_nodearraylist2
= var1
;
8872 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8873 var_nodearraylist1
= var2
;
8874 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
8875 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
8876 var_listnode3
= var3
;
8877 var_listnode1
= var_nodearraylist1
;
8878 /* <var_listnode1:nullable Object> isa Array[Object] */
8879 cltype
= type_array__Arraykernel__Object
.color
;
8880 idtype
= type_array__Arraykernel__Object
.id
;
8881 if(var_listnode1
== NULL
) {
8884 if(cltype
>= var_listnode1
->type
->table_size
) {
8887 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
8891 fprintf(stderr
, "Runtime error: %s", "Assert failed");
8892 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 29500);
8895 var_ptypenode2
= var_nodearraylist2
;
8896 var5
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode1
) /* concat on <self:ReduceAction1543>*/;
8897 var_listnode3
= var5
;
8899 if (var_ptypenode2
== NULL
) {
8900 var7
= 0; /* is null */
8902 var7
= 1; /* arg is null and recv is not */
8905 ((void (*)(val
*, val
*))(var_listnode3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode3
, var_ptypenode2
) /* add on <var_listnode3:Array[Object]>*/;
8908 var_node_list
= var_listnode3
;
8909 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1543> */
8910 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
8911 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
8914 /* method parser#ReduceAction1543#action for (self: Object, Parser) */
8915 void VIRTUAL_parser__ReduceAction1543__action(val
* self
, val
* p0
) {
8916 parser__ReduceAction1543__action(self
, p0
);
8919 /* method parser#ReduceAction1544#action for (self: ReduceAction1544, Parser) */
8920 void parser__ReduceAction1544__action(val
* self
, val
* p0
) {
8921 val
* var_p
/* var p: Parser */;
8922 val
* var
/* : null */;
8923 val
* var_node_list
/* var node_list: nullable Object */;
8924 val
* var1
/* : nullable Object */;
8925 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8926 val
* var2
/* : Array[Object] */;
8927 val
* var_listnode2
/* var listnode2: Array[Object] */;
8928 val
* var_pexprnode1
/* var pexprnode1: nullable Object */;
8929 val
* var3
/* : null */;
8930 short int var4
/* : Bool */;
8931 long var5
/* : Int */;
8932 long var6
/* : Int */;
8935 var_node_list
= var
;
8936 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8937 var_nodearraylist1
= var1
;
8938 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
8939 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
8940 var_listnode2
= var2
;
8941 var_pexprnode1
= var_nodearraylist1
;
8943 if (var_pexprnode1
== NULL
) {
8944 var4
= 0; /* is null */
8946 var4
= 1; /* arg is null and recv is not */
8949 ((void (*)(val
*, val
*))(var_listnode2
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode2
, var_pexprnode1
) /* add on <var_listnode2:Array[Object]>*/;
8952 var_node_list
= var_listnode2
;
8953 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1544> */
8954 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
8955 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
8958 /* method parser#ReduceAction1544#action for (self: Object, Parser) */
8959 void VIRTUAL_parser__ReduceAction1544__action(val
* self
, val
* p0
) {
8960 parser__ReduceAction1544__action(self
, p0
);
8963 /* method parser#ReduceAction1545#action for (self: ReduceAction1545, Parser) */
8964 void parser__ReduceAction1545__action(val
* self
, val
* p0
) {
8965 val
* var_p
/* var p: Parser */;
8966 val
* var
/* : null */;
8967 val
* var_node_list
/* var node_list: nullable Object */;
8968 val
* var1
/* : nullable Object */;
8969 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8970 val
* var2
/* : nullable Object */;
8971 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8972 val
* var3
/* : Array[Object] */;
8973 val
* var_listnode3
/* var listnode3: Array[Object] */;
8974 val
* var_listnode1
/* var listnode1: nullable Object */;
8975 short int var4
/* : Bool */;
8978 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
8979 val
* var5
/* : Array[Object] */;
8980 val
* var6
/* : null */;
8981 short int var7
/* : Bool */;
8982 long var8
/* : Int */;
8983 long var9
/* : Int */;
8986 var_node_list
= var
;
8987 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8988 var_nodearraylist2
= var1
;
8989 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
8990 var_nodearraylist1
= var2
;
8991 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
8992 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
8993 var_listnode3
= var3
;
8994 var_listnode1
= var_nodearraylist1
;
8995 /* <var_listnode1:nullable Object> isa Array[Object] */
8996 cltype
= type_array__Arraykernel__Object
.color
;
8997 idtype
= type_array__Arraykernel__Object
.id
;
8998 if(var_listnode1
== NULL
) {
9001 if(cltype
>= var_listnode1
->type
->table_size
) {
9004 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
9008 fprintf(stderr
, "Runtime error: %s", "Assert failed");
9009 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 29534);
9012 var_pexprnode2
= var_nodearraylist2
;
9013 var5
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode1
) /* concat on <self:ReduceAction1545>*/;
9014 var_listnode3
= var5
;
9016 if (var_pexprnode2
== NULL
) {
9017 var7
= 0; /* is null */
9019 var7
= 1; /* arg is null and recv is not */
9022 ((void (*)(val
*, val
*))(var_listnode3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode3
, var_pexprnode2
) /* add on <var_listnode3:Array[Object]>*/;
9025 var_node_list
= var_listnode3
;
9026 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1545> */
9027 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
9028 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
9031 /* method parser#ReduceAction1545#action for (self: Object, Parser) */
9032 void VIRTUAL_parser__ReduceAction1545__action(val
* self
, val
* p0
) {
9033 parser__ReduceAction1545__action(self
, p0
);
9036 /* method parser#ReduceAction1546#action for (self: ReduceAction1546, Parser) */
9037 void parser__ReduceAction1546__action(val
* self
, val
* p0
) {
9038 val
* var_p
/* var p: Parser */;
9039 val
* var
/* : null */;
9040 val
* var_node_list
/* var node_list: nullable Object */;
9041 val
* var1
/* : nullable Object */;
9042 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9043 val
* var2
/* : Array[Object] */;
9044 val
* var_listnode2
/* var listnode2: Array[Object] */;
9045 val
* var_listnode1
/* var listnode1: nullable Object */;
9046 short int var3
/* : Bool */;
9049 val
* var4
/* : Array[Object] */;
9050 long var5
/* : Int */;
9051 long var6
/* : Int */;
9054 var_node_list
= var
;
9055 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9056 var_nodearraylist1
= var1
;
9057 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
9058 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
9059 var_listnode2
= var2
;
9060 var_listnode1
= var_nodearraylist1
;
9061 /* <var_listnode1:nullable Object> isa Array[Object] */
9062 cltype
= type_array__Arraykernel__Object
.color
;
9063 idtype
= type_array__Arraykernel__Object
.id
;
9064 if(var_listnode1
== NULL
) {
9067 if(cltype
>= var_listnode1
->type
->table_size
) {
9070 var3
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
9074 fprintf(stderr
, "Runtime error: %s", "Assert failed");
9075 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 29552);
9078 var4
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode2
, var_listnode1
) /* concat on <self:ReduceAction1546>*/;
9079 var_listnode2
= var4
;
9080 var_node_list
= var_listnode2
;
9081 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1546> */
9082 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
9083 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
9086 /* method parser#ReduceAction1546#action for (self: Object, Parser) */
9087 void VIRTUAL_parser__ReduceAction1546__action(val
* self
, val
* p0
) {
9088 parser__ReduceAction1546__action(self
, p0
);
9091 /* method parser#ReduceAction1547#action for (self: ReduceAction1547, Parser) */
9092 void parser__ReduceAction1547__action(val
* self
, val
* p0
) {
9093 val
* var_p
/* var p: Parser */;
9094 val
* var
/* : null */;
9095 val
* var_node_list
/* var node_list: nullable Object */;
9096 val
* var1
/* : nullable Object */;
9097 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9098 val
* var2
/* : nullable Object */;
9099 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9100 val
* var3
/* : Array[Object] */;
9101 val
* var_listnode3
/* var listnode3: Array[Object] */;
9102 val
* var_listnode1
/* var listnode1: nullable Object */;
9103 short int var4
/* : Bool */;
9106 val
* var_listnode2
/* var listnode2: nullable Object */;
9107 short int var5
/* : Bool */;
9110 val
* var8
/* : Array[Object] */;
9111 val
* var9
/* : Array[Object] */;
9112 long var10
/* : Int */;
9113 long var11
/* : Int */;
9116 var_node_list
= var
;
9117 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9118 var_nodearraylist2
= var1
;
9119 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9120 var_nodearraylist1
= var2
;
9121 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
9122 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
9123 var_listnode3
= var3
;
9124 var_listnode1
= var_nodearraylist1
;
9125 /* <var_listnode1:nullable Object> isa Array[Object] */
9126 cltype
= type_array__Arraykernel__Object
.color
;
9127 idtype
= type_array__Arraykernel__Object
.id
;
9128 if(var_listnode1
== NULL
) {
9131 if(cltype
>= var_listnode1
->type
->table_size
) {
9134 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
9138 fprintf(stderr
, "Runtime error: %s", "Assert failed");
9139 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 29567);
9142 var_listnode2
= var_nodearraylist2
;
9143 /* <var_listnode2:nullable Object> isa Array[Object] */
9144 cltype6
= type_array__Arraykernel__Object
.color
;
9145 idtype7
= type_array__Arraykernel__Object
.id
;
9146 if(var_listnode2
== NULL
) {
9149 if(cltype6
>= var_listnode2
->type
->table_size
) {
9152 var5
= var_listnode2
->type
->type_table
[cltype6
] == idtype7
;
9156 fprintf(stderr
, "Runtime error: %s", "Assert failed");
9157 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 29569);
9160 var8
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode1
) /* concat on <self:ReduceAction1547>*/;
9161 var_listnode3
= var8
;
9162 var9
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode2
) /* concat on <self:ReduceAction1547>*/;
9163 var_listnode3
= var9
;
9164 var_node_list
= var_listnode3
;
9165 var10
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1547> */
9166 var11
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var10
) /* go_to on <var_p:Parser>*/;
9167 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var11
, var_node_list
) /* push on <var_p:Parser>*/;
9170 /* method parser#ReduceAction1547#action for (self: Object, Parser) */
9171 void VIRTUAL_parser__ReduceAction1547__action(val
* self
, val
* p0
) {
9172 parser__ReduceAction1547__action(self
, p0
);
9175 /* method parser#ReduceAction1549#action for (self: ReduceAction1549, Parser) */
9176 void parser__ReduceAction1549__action(val
* self
, val
* p0
) {
9177 val
* var_p
/* var p: Parser */;
9178 val
* var
/* : null */;
9179 val
* var_node_list
/* var node_list: nullable Object */;
9180 val
* var1
/* : nullable Object */;
9181 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9182 val
* var2
/* : nullable Object */;
9183 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9184 val
* var3
/* : Array[Object] */;
9185 val
* var_listnode3
/* var listnode3: Array[Object] */;
9186 val
* var_listnode1
/* var listnode1: nullable Object */;
9187 short int var4
/* : Bool */;
9190 val
* var_pannotationnode2
/* var pannotationnode2: nullable Object */;
9191 val
* var5
/* : Array[Object] */;
9192 val
* var6
/* : null */;
9193 short int var7
/* : Bool */;
9194 long var8
/* : Int */;
9195 long var9
/* : Int */;
9198 var_node_list
= var
;
9199 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9200 var_nodearraylist2
= var1
;
9201 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9202 var_nodearraylist1
= var2
;
9203 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
9204 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
9205 var_listnode3
= var3
;
9206 var_listnode1
= var_nodearraylist1
;
9207 /* <var_listnode1:nullable Object> isa Array[Object] */
9208 cltype
= type_array__Arraykernel__Object
.color
;
9209 idtype
= type_array__Arraykernel__Object
.id
;
9210 if(var_listnode1
== NULL
) {
9213 if(cltype
>= var_listnode1
->type
->table_size
) {
9216 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
9220 fprintf(stderr
, "Runtime error: %s", "Assert failed");
9221 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 29585);
9224 var_pannotationnode2
= var_nodearraylist2
;
9225 var5
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode1
) /* concat on <self:ReduceAction1549>*/;
9226 var_listnode3
= var5
;
9228 if (var_pannotationnode2
== NULL
) {
9229 var7
= 0; /* is null */
9231 var7
= 1; /* arg is null and recv is not */
9234 ((void (*)(val
*, val
*))(var_listnode3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode3
, var_pannotationnode2
) /* add on <var_listnode3:Array[Object]>*/;
9237 var_node_list
= var_listnode3
;
9238 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1549> */
9239 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
9240 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
9243 /* method parser#ReduceAction1549#action for (self: Object, Parser) */
9244 void VIRTUAL_parser__ReduceAction1549__action(val
* self
, val
* p0
) {
9245 parser__ReduceAction1549__action(self
, p0
);
9248 /* method parser#ReduceAction1553#action for (self: ReduceAction1553, Parser) */
9249 void parser__ReduceAction1553__action(val
* self
, val
* p0
) {
9250 val
* var_p
/* var p: Parser */;
9251 val
* var
/* : null */;
9252 val
* var_node_list
/* var node_list: nullable Object */;
9253 val
* var1
/* : nullable Object */;
9254 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9255 val
* var2
/* : nullable Object */;
9256 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9257 val
* var3
/* : Array[Object] */;
9258 val
* var_listnode3
/* var listnode3: Array[Object] */;
9259 val
* var_listnode1
/* var listnode1: nullable Object */;
9260 short int var4
/* : Bool */;
9263 val
* var_patargnode2
/* var patargnode2: nullable Object */;
9264 val
* var5
/* : Array[Object] */;
9265 val
* var6
/* : null */;
9266 short int var7
/* : Bool */;
9267 long var8
/* : Int */;
9268 long var9
/* : Int */;
9271 var_node_list
= var
;
9272 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9273 var_nodearraylist2
= var1
;
9274 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9275 var_nodearraylist1
= var2
;
9276 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
9277 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
9278 var_listnode3
= var3
;
9279 var_listnode1
= var_nodearraylist1
;
9280 /* <var_listnode1:nullable Object> isa Array[Object] */
9281 cltype
= type_array__Arraykernel__Object
.color
;
9282 idtype
= type_array__Arraykernel__Object
.id
;
9283 if(var_listnode1
== NULL
) {
9286 if(cltype
>= var_listnode1
->type
->table_size
) {
9289 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
9293 fprintf(stderr
, "Runtime error: %s", "Assert failed");
9294 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 29604);
9297 var_patargnode2
= var_nodearraylist2
;
9298 var5
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode1
) /* concat on <self:ReduceAction1553>*/;
9299 var_listnode3
= var5
;
9301 if (var_patargnode2
== NULL
) {
9302 var7
= 0; /* is null */
9304 var7
= 1; /* arg is null and recv is not */
9307 ((void (*)(val
*, val
*))(var_listnode3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode3
, var_patargnode2
) /* add on <var_listnode3:Array[Object]>*/;
9310 var_node_list
= var_listnode3
;
9311 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1553> */
9312 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
9313 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
9316 /* method parser#ReduceAction1553#action for (self: Object, Parser) */
9317 void VIRTUAL_parser__ReduceAction1553__action(val
* self
, val
* p0
) {
9318 parser__ReduceAction1553__action(self
, p0
);
9321 /* method parser#ReduceAction1557#action for (self: ReduceAction1557, Parser) */
9322 void parser__ReduceAction1557__action(val
* self
, val
* p0
) {
9323 val
* var_p
/* var p: Parser */;
9324 val
* var
/* : null */;
9325 val
* var_node_list
/* var node_list: nullable Object */;
9326 val
* var1
/* : nullable Object */;
9327 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9328 val
* var2
/* : nullable Object */;
9329 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9330 val
* var3
/* : Array[Object] */;
9331 val
* var_listnode3
/* var listnode3: Array[Object] */;
9332 val
* var_listnode1
/* var listnode1: nullable Object */;
9333 short int var4
/* : Bool */;
9336 val
* var_tidnode2
/* var tidnode2: nullable Object */;
9337 val
* var5
/* : Array[Object] */;
9338 val
* var6
/* : null */;
9339 short int var7
/* : Bool */;
9340 long var8
/* : Int */;
9341 long var9
/* : Int */;
9344 var_node_list
= var
;
9345 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9346 var_nodearraylist2
= var1
;
9347 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9348 var_nodearraylist1
= var2
;
9349 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
9350 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
9351 var_listnode3
= var3
;
9352 var_listnode1
= var_nodearraylist1
;
9353 /* <var_listnode1:nullable Object> isa Array[Object] */
9354 cltype
= type_array__Arraykernel__Object
.color
;
9355 idtype
= type_array__Arraykernel__Object
.id
;
9356 if(var_listnode1
== NULL
) {
9359 if(cltype
>= var_listnode1
->type
->table_size
) {
9362 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
9366 fprintf(stderr
, "Runtime error: %s", "Assert failed");
9367 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 29623);
9370 var_tidnode2
= var_nodearraylist2
;
9371 var5
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode1
) /* concat on <self:ReduceAction1557>*/;
9372 var_listnode3
= var5
;
9374 if (var_tidnode2
== NULL
) {
9375 var7
= 0; /* is null */
9377 var7
= 1; /* arg is null and recv is not */
9380 ((void (*)(val
*, val
*))(var_listnode3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode3
, var_tidnode2
) /* add on <var_listnode3:Array[Object]>*/;
9383 var_node_list
= var_listnode3
;
9384 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1557> */
9385 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
9386 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
9389 /* method parser#ReduceAction1557#action for (self: Object, Parser) */
9390 void VIRTUAL_parser__ReduceAction1557__action(val
* self
, val
* p0
) {
9391 parser__ReduceAction1557__action(self
, p0
);
9394 /* method parser#ReduceAction1558#action for (self: ReduceAction1558, Parser) */
9395 void parser__ReduceAction1558__action(val
* self
, val
* p0
) {
9396 val
* var_p
/* var p: Parser */;
9397 val
* var
/* : null */;
9398 val
* var_node_list
/* var node_list: nullable Object */;
9399 val
* var1
/* : nullable Object */;
9400 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9401 val
* var2
/* : Array[Object] */;
9402 val
* var_listnode2
/* var listnode2: Array[Object] */;
9403 val
* var_tcommentnode1
/* var tcommentnode1: nullable Object */;
9404 val
* var3
/* : null */;
9405 short int var4
/* : Bool */;
9406 long var5
/* : Int */;
9407 long var6
/* : Int */;
9410 var_node_list
= var
;
9411 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9412 var_nodearraylist1
= var1
;
9413 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
9414 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
9415 var_listnode2
= var2
;
9416 var_tcommentnode1
= var_nodearraylist1
;
9418 if (var_tcommentnode1
== NULL
) {
9419 var4
= 0; /* is null */
9421 var4
= 1; /* arg is null and recv is not */
9424 ((void (*)(val
*, val
*))(var_listnode2
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode2
, var_tcommentnode1
) /* add on <var_listnode2:Array[Object]>*/;
9427 var_node_list
= var_listnode2
;
9428 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1558> */
9429 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
9430 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
9433 /* method parser#ReduceAction1558#action for (self: Object, Parser) */
9434 void VIRTUAL_parser__ReduceAction1558__action(val
* self
, val
* p0
) {
9435 parser__ReduceAction1558__action(self
, p0
);
9438 /* method parser#ReduceAction1559#action for (self: ReduceAction1559, Parser) */
9439 void parser__ReduceAction1559__action(val
* self
, val
* p0
) {
9440 val
* var_p
/* var p: Parser */;
9441 val
* var
/* : null */;
9442 val
* var_node_list
/* var node_list: nullable Object */;
9443 val
* var1
/* : nullable Object */;
9444 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9445 val
* var2
/* : nullable Object */;
9446 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9447 val
* var3
/* : Array[Object] */;
9448 val
* var_listnode3
/* var listnode3: Array[Object] */;
9449 val
* var_listnode1
/* var listnode1: nullable Object */;
9450 short int var4
/* : Bool */;
9453 val
* var_tcommentnode2
/* var tcommentnode2: nullable Object */;
9454 val
* var5
/* : Array[Object] */;
9455 val
* var6
/* : null */;
9456 short int var7
/* : Bool */;
9457 long var8
/* : Int */;
9458 long var9
/* : Int */;
9461 var_node_list
= var
;
9462 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9463 var_nodearraylist2
= var1
;
9464 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9465 var_nodearraylist1
= var2
;
9466 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
9467 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
9468 var_listnode3
= var3
;
9469 var_listnode1
= var_nodearraylist1
;
9470 /* <var_listnode1:nullable Object> isa Array[Object] */
9471 cltype
= type_array__Arraykernel__Object
.color
;
9472 idtype
= type_array__Arraykernel__Object
.id
;
9473 if(var_listnode1
== NULL
) {
9476 if(cltype
>= var_listnode1
->type
->table_size
) {
9479 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
9483 fprintf(stderr
, "Runtime error: %s", "Assert failed");
9484 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 29657);
9487 var_tcommentnode2
= var_nodearraylist2
;
9488 var5
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode1
) /* concat on <self:ReduceAction1559>*/;
9489 var_listnode3
= var5
;
9491 if (var_tcommentnode2
== NULL
) {
9492 var7
= 0; /* is null */
9494 var7
= 1; /* arg is null and recv is not */
9497 ((void (*)(val
*, val
*))(var_listnode3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode3
, var_tcommentnode2
) /* add on <var_listnode3:Array[Object]>*/;
9500 var_node_list
= var_listnode3
;
9501 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1559> */
9502 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
9503 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
9506 /* method parser#ReduceAction1559#action for (self: Object, Parser) */
9507 void VIRTUAL_parser__ReduceAction1559__action(val
* self
, val
* p0
) {
9508 parser__ReduceAction1559__action(self
, p0
);
9511 /* method parser#ReduceAction1560#action for (self: ReduceAction1560, Parser) */
9512 void parser__ReduceAction1560__action(val
* self
, val
* p0
) {
9513 val
* var_p
/* var p: Parser */;
9514 val
* var
/* : null */;
9515 val
* var_node_list
/* var node_list: nullable Object */;
9516 val
* var1
/* : nullable Object */;
9517 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9518 val
* var2
/* : Array[Object] */;
9519 val
* var_listnode2
/* var listnode2: Array[Object] */;
9520 val
* var_teolnode1
/* var teolnode1: nullable Object */;
9521 val
* var3
/* : null */;
9522 short int var4
/* : Bool */;
9523 long var5
/* : Int */;
9524 long var6
/* : Int */;
9527 var_node_list
= var
;
9528 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9529 var_nodearraylist1
= var1
;
9530 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
9531 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
9532 var_listnode2
= var2
;
9533 var_teolnode1
= var_nodearraylist1
;
9535 if (var_teolnode1
== NULL
) {
9536 var4
= 0; /* is null */
9538 var4
= 1; /* arg is null and recv is not */
9541 ((void (*)(val
*, val
*))(var_listnode2
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode2
, var_teolnode1
) /* add on <var_listnode2:Array[Object]>*/;
9544 var_node_list
= var_listnode2
;
9545 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1560> */
9546 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
9547 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
9550 /* method parser#ReduceAction1560#action for (self: Object, Parser) */
9551 void VIRTUAL_parser__ReduceAction1560__action(val
* self
, val
* p0
) {
9552 parser__ReduceAction1560__action(self
, p0
);
9555 /* method parser#ReduceAction1561#action for (self: ReduceAction1561, Parser) */
9556 void parser__ReduceAction1561__action(val
* self
, val
* p0
) {
9557 val
* var_p
/* var p: Parser */;
9558 val
* var
/* : null */;
9559 val
* var_node_list
/* var node_list: nullable Object */;
9560 val
* var1
/* : nullable Object */;
9561 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9562 val
* var2
/* : nullable Object */;
9563 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9564 val
* var3
/* : Array[Object] */;
9565 val
* var_listnode3
/* var listnode3: Array[Object] */;
9566 val
* var_listnode1
/* var listnode1: nullable Object */;
9567 short int var4
/* : Bool */;
9570 val
* var_teolnode2
/* var teolnode2: nullable Object */;
9571 val
* var5
/* : Array[Object] */;
9572 val
* var6
/* : null */;
9573 short int var7
/* : Bool */;
9574 long var8
/* : Int */;
9575 long var9
/* : Int */;
9578 var_node_list
= var
;
9579 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9580 var_nodearraylist2
= var1
;
9581 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
9582 var_nodearraylist1
= var2
;
9583 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
9584 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
9585 var_listnode3
= var3
;
9586 var_listnode1
= var_nodearraylist1
;
9587 /* <var_listnode1:nullable Object> isa Array[Object] */
9588 cltype
= type_array__Arraykernel__Object
.color
;
9589 idtype
= type_array__Arraykernel__Object
.id
;
9590 if(var_listnode1
== NULL
) {
9593 if(cltype
>= var_listnode1
->type
->table_size
) {
9596 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
9600 fprintf(stderr
, "Runtime error: %s", "Assert failed");
9601 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 29691);
9604 var_teolnode2
= var_nodearraylist2
;
9605 var5
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode1
) /* concat on <self:ReduceAction1561>*/;
9606 var_listnode3
= var5
;
9608 if (var_teolnode2
== NULL
) {
9609 var7
= 0; /* is null */
9611 var7
= 1; /* arg is null and recv is not */
9614 ((void (*)(val
*, val
*))(var_listnode3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode3
, var_teolnode2
) /* add on <var_listnode3:Array[Object]>*/;
9617 var_node_list
= var_listnode3
;
9618 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1561> */
9619 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
9620 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
9623 /* method parser#ReduceAction1561#action for (self: Object, Parser) */
9624 void VIRTUAL_parser__ReduceAction1561__action(val
* self
, val
* p0
) {
9625 parser__ReduceAction1561__action(self
, p0
);