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", 27257);
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", 27259);
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", 27281);
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", 27283);
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", 27285);
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", 27287);
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", 27312);
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", 27314);
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", 27316);
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", 27318);
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", 27344);
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", 27346);
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", 27348);
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", 27350);
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", 27376);
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", 27378);
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", 27380);
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", 27382);
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", 27410);
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", 27412);
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", 27414);
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", 27416);
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", 27418);
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", 27445);
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", 27447);
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", 27449);
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", 27451);
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", 27479);
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", 27481);
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", 27483);
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", 27485);
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", 27487);
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", 27506);
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", 27523);
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", 27525);
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", 27541);
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", 27558);
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", 27560);
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", 27576);
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", 27593);
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", 27595);
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", 27611);
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", 27628);
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", 27630);
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", 27646);
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", 27663);
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", 27665);
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", 27681);
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", 27698);
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", 27700);
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", 27716);
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", 27733);
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", 27735);
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", 27751);
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", 27768);
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", 27770);
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", 27786);
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", 27803);
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", 27805);
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", 27825);
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", 27827);
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", 27829);
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", 27852);
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", 27854);
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", 27856);
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", 27858);
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", 27885);
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", 27887);
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", 27889);
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", 27891);
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", 27893);
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", 27923);
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", 27925);
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", 27927);
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", 27929);
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", 27931);
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", 27933);
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", 27955);
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", 27957);
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", 27980);
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", 27982);
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", 27984);
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", 28008);
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", 28010);
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", 28016);
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", 28036);
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", 28038);
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", 28040);
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", 28047);
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_nodearraylist2
/* var nodearraylist2: nullable Object */;
3579 val
* var2
/* : nullable Object */;
3580 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3581 val
* var3
/* : Array[Object] */;
3582 val
* var_listnode2
/* var listnode2: Array[Object] */;
3583 val
* var_pexprnode1
/* var pexprnode1: nullable Object */;
3584 val
* var4
/* : null */;
3585 short int var5
/* : Bool */;
3586 long var6
/* : Int */;
3587 long var7
/* : Int */;
3590 var_node_list
= var
;
3591 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3592 var_nodearraylist2
= var1
;
3593 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3594 var_nodearraylist1
= var2
;
3595 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
3596 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
3597 var_listnode2
= var3
;
3598 var_pexprnode1
= var_nodearraylist1
;
3600 if (var_pexprnode1
== NULL
) {
3601 var5
= 0; /* is null */
3603 var5
= 1; /* arg is null and recv is not */
3606 ((void (*)(val
*, val
*))(var_listnode2
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode2
, var_pexprnode1
) /* add on <var_listnode2:Array[Object]>*/;
3609 var_node_list
= var_listnode2
;
3610 var6
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction812> */
3611 var7
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var6
) /* go_to on <var_p:Parser>*/;
3612 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var7
, var_node_list
) /* push on <var_p:Parser>*/;
3615 /* method parser#ReduceAction812#action for (self: Object, Parser) */
3616 void VIRTUAL_parser__ReduceAction812__action(val
* self
, val
* p0
) {
3617 parser__ReduceAction812__action(self
, p0
);
3620 /* method parser#ReduceAction813#action for (self: ReduceAction813, Parser) */
3621 void parser__ReduceAction813__action(val
* self
, val
* p0
) {
3622 val
* var_p
/* var p: Parser */;
3623 val
* var
/* : null */;
3624 val
* var_node_list
/* var node_list: nullable Object */;
3625 val
* var1
/* : nullable Object */;
3626 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3627 val
* var_tstartstringnode2
/* var tstartstringnode2: nullable Object */;
3628 short int var2
/* : Bool */;
3631 val
* var3
/* : AStartStringExpr */;
3632 val
* var_pexprnode1
/* var pexprnode1: nullable AStartStringExpr */;
3633 long var4
/* : Int */;
3634 long var5
/* : Int */;
3637 var_node_list
= var
;
3638 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3639 var_nodearraylist1
= var1
;
3640 var_tstartstringnode2
= var_nodearraylist1
;
3641 /* <var_tstartstringnode2:nullable Object> isa nullable TStartString */
3642 cltype
= type_nullable_parser_nodes__TStartString
.color
;
3643 idtype
= type_nullable_parser_nodes__TStartString
.id
;
3644 if(var_tstartstringnode2
== NULL
) {
3647 if(cltype
>= var_tstartstringnode2
->type
->table_size
) {
3650 var2
= var_tstartstringnode2
->type
->type_table
[cltype
] == idtype
;
3654 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3655 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28101);
3658 var3
= NEW_parser_nodes__AStartStringExpr(&type_parser_nodes__AStartStringExpr
);
3659 ((void (*)(val
*, val
*))(var3
->class->vft
[COLOR_parser_prod__AStartStringExpr__init_astartstringexpr
]))(var3
, var_tstartstringnode2
) /* init_astartstringexpr on <var3:AStartStringExpr>*/;
3660 var_pexprnode1
= var3
;
3661 var_node_list
= var_pexprnode1
;
3662 var4
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction813> */
3663 var5
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var4
) /* go_to on <var_p:Parser>*/;
3664 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var5
, var_node_list
) /* push on <var_p:Parser>*/;
3667 /* method parser#ReduceAction813#action for (self: Object, Parser) */
3668 void VIRTUAL_parser__ReduceAction813__action(val
* self
, val
* p0
) {
3669 parser__ReduceAction813__action(self
, p0
);
3672 /* method parser#ReduceAction816#action for (self: ReduceAction816, Parser) */
3673 void parser__ReduceAction816__action(val
* self
, val
* p0
) {
3674 val
* var_p
/* var p: Parser */;
3675 val
* var
/* : null */;
3676 val
* var_node_list
/* var node_list: nullable Object */;
3677 val
* var1
/* : nullable Object */;
3678 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3679 val
* var_tmidstringnode2
/* var tmidstringnode2: nullable Object */;
3680 short int var2
/* : Bool */;
3683 val
* var3
/* : AMidStringExpr */;
3684 val
* var_pexprnode1
/* var pexprnode1: nullable AMidStringExpr */;
3685 long var4
/* : Int */;
3686 long var5
/* : Int */;
3689 var_node_list
= var
;
3690 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3691 var_nodearraylist1
= var1
;
3692 var_tmidstringnode2
= var_nodearraylist1
;
3693 /* <var_tmidstringnode2:nullable Object> isa nullable TMidString */
3694 cltype
= type_nullable_parser_nodes__TMidString
.color
;
3695 idtype
= type_nullable_parser_nodes__TMidString
.id
;
3696 if(var_tmidstringnode2
== NULL
) {
3699 if(cltype
>= var_tmidstringnode2
->type
->table_size
) {
3702 var2
= var_tmidstringnode2
->type
->type_table
[cltype
] == idtype
;
3706 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3707 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28116);
3710 var3
= NEW_parser_nodes__AMidStringExpr(&type_parser_nodes__AMidStringExpr
);
3711 ((void (*)(val
*, val
*))(var3
->class->vft
[COLOR_parser_prod__AMidStringExpr__init_amidstringexpr
]))(var3
, var_tmidstringnode2
) /* init_amidstringexpr on <var3:AMidStringExpr>*/;
3712 var_pexprnode1
= var3
;
3713 var_node_list
= var_pexprnode1
;
3714 var4
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction816> */
3715 var5
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var4
) /* go_to on <var_p:Parser>*/;
3716 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var5
, var_node_list
) /* push on <var_p:Parser>*/;
3719 /* method parser#ReduceAction816#action for (self: Object, Parser) */
3720 void VIRTUAL_parser__ReduceAction816__action(val
* self
, val
* p0
) {
3721 parser__ReduceAction816__action(self
, p0
);
3724 /* method parser#ReduceAction817#action for (self: ReduceAction817, Parser) */
3725 void parser__ReduceAction817__action(val
* self
, val
* p0
) {
3726 val
* var_p
/* var p: Parser */;
3727 val
* var
/* : null */;
3728 val
* var_node_list
/* var node_list: nullable Object */;
3729 val
* var1
/* : nullable Object */;
3730 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3731 val
* var_tendstringnode2
/* var tendstringnode2: nullable Object */;
3732 short int var2
/* : Bool */;
3735 val
* var3
/* : AEndStringExpr */;
3736 val
* var_pexprnode1
/* var pexprnode1: nullable AEndStringExpr */;
3737 long var4
/* : Int */;
3738 long var5
/* : Int */;
3741 var_node_list
= var
;
3742 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3743 var_nodearraylist1
= var1
;
3744 var_tendstringnode2
= var_nodearraylist1
;
3745 /* <var_tendstringnode2:nullable Object> isa nullable TEndString */
3746 cltype
= type_nullable_parser_nodes__TEndString
.color
;
3747 idtype
= type_nullable_parser_nodes__TEndString
.id
;
3748 if(var_tendstringnode2
== NULL
) {
3751 if(cltype
>= var_tendstringnode2
->type
->table_size
) {
3754 var2
= var_tendstringnode2
->type
->type_table
[cltype
] == idtype
;
3758 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3759 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28131);
3762 var3
= NEW_parser_nodes__AEndStringExpr(&type_parser_nodes__AEndStringExpr
);
3763 ((void (*)(val
*, val
*))(var3
->class->vft
[COLOR_parser_prod__AEndStringExpr__init_aendstringexpr
]))(var3
, var_tendstringnode2
) /* init_aendstringexpr on <var3:AEndStringExpr>*/;
3764 var_pexprnode1
= var3
;
3765 var_node_list
= var_pexprnode1
;
3766 var4
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction817> */
3767 var5
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var4
) /* go_to on <var_p:Parser>*/;
3768 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var5
, var_node_list
) /* push on <var_p:Parser>*/;
3771 /* method parser#ReduceAction817#action for (self: Object, Parser) */
3772 void VIRTUAL_parser__ReduceAction817__action(val
* self
, val
* p0
) {
3773 parser__ReduceAction817__action(self
, p0
);
3776 /* method parser#ReduceAction818#action for (self: ReduceAction818, Parser) */
3777 void parser__ReduceAction818__action(val
* self
, val
* p0
) {
3778 val
* var_p
/* var p: Parser */;
3779 val
* var
/* : null */;
3780 val
* var_node_list
/* var node_list: nullable Object */;
3781 val
* var1
/* : nullable Object */;
3782 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3783 val
* var2
/* : nullable Object */;
3784 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3785 val
* var3
/* : Array[Object] */;
3786 val
* var_listnode5
/* var listnode5: Array[Object] */;
3787 val
* var_tatnode2
/* var tatnode2: nullable Object */;
3788 short int var4
/* : Bool */;
3791 val
* var_pannotationnode4
/* var pannotationnode4: nullable Object */;
3792 short int var5
/* : Bool */;
3795 val
* var8
/* : null */;
3796 short int var9
/* : Bool */;
3797 val
* var10
/* : AAnnotations */;
3798 val
* var11
/* : null */;
3799 val
* var12
/* : null */;
3800 val
* var_pannotationsnode1
/* var pannotationsnode1: nullable AAnnotations */;
3801 long var13
/* : Int */;
3802 long var14
/* : Int */;
3805 var_node_list
= var
;
3806 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3807 var_nodearraylist2
= var1
;
3808 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3809 var_nodearraylist1
= var2
;
3810 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
3811 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
3812 var_listnode5
= var3
;
3813 var_tatnode2
= var_nodearraylist1
;
3814 /* <var_tatnode2:nullable Object> isa nullable TAt */
3815 cltype
= type_nullable_parser_nodes__TAt
.color
;
3816 idtype
= type_nullable_parser_nodes__TAt
.id
;
3817 if(var_tatnode2
== NULL
) {
3820 if(cltype
>= var_tatnode2
->type
->table_size
) {
3823 var4
= var_tatnode2
->type
->type_table
[cltype
] == idtype
;
3827 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3828 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28148);
3831 var_pannotationnode4
= var_nodearraylist2
;
3832 /* <var_pannotationnode4:nullable Object> isa nullable AAnnotation */
3833 cltype6
= type_nullable_parser_nodes__AAnnotation
.color
;
3834 idtype7
= type_nullable_parser_nodes__AAnnotation
.id
;
3835 if(var_pannotationnode4
== NULL
) {
3838 if(cltype6
>= var_pannotationnode4
->type
->table_size
) {
3841 var5
= var_pannotationnode4
->type
->type_table
[cltype6
] == idtype7
;
3845 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3846 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28150);
3850 if (var_pannotationnode4
== NULL
) {
3851 var9
= 0; /* is null */
3853 var9
= 1; /* arg is null and recv is not */
3856 ((void (*)(val
*, val
*))(var_listnode5
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode5
, var_pannotationnode4
) /* add on <var_listnode5:Array[Object]>*/;
3859 var10
= NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations
);
3862 ((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>*/;
3863 var_pannotationsnode1
= var10
;
3864 var_node_list
= var_pannotationsnode1
;
3865 var13
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction818> */
3866 var14
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var13
) /* go_to on <var_p:Parser>*/;
3867 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var14
, var_node_list
) /* push on <var_p:Parser>*/;
3870 /* method parser#ReduceAction818#action for (self: Object, Parser) */
3871 void VIRTUAL_parser__ReduceAction818__action(val
* self
, val
* p0
) {
3872 parser__ReduceAction818__action(self
, p0
);
3875 /* method parser#ReduceAction819#action for (self: ReduceAction819, Parser) */
3876 void parser__ReduceAction819__action(val
* self
, val
* p0
) {
3877 val
* var_p
/* var p: Parser */;
3878 val
* var
/* : null */;
3879 val
* var_node_list
/* var node_list: nullable Object */;
3880 val
* var1
/* : nullable Object */;
3881 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
3882 val
* var2
/* : nullable Object */;
3883 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
3884 val
* var3
/* : nullable Object */;
3885 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3886 val
* var4
/* : nullable Object */;
3887 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3888 val
* var5
/* : nullable Object */;
3889 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3890 val
* var6
/* : nullable Object */;
3891 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3892 val
* var7
/* : Array[Object] */;
3893 val
* var_listnode5
/* var listnode5: Array[Object] */;
3894 val
* var_tatnode2
/* var tatnode2: nullable Object */;
3895 short int var8
/* : Bool */;
3898 val
* var_toparnode3
/* var toparnode3: nullable Object */;
3899 short int var9
/* : Bool */;
3902 val
* var_listnode4
/* var listnode4: nullable Object */;
3903 short int var12
/* : Bool */;
3906 val
* var15
/* : Array[Object] */;
3907 val
* var_tcparnode6
/* var tcparnode6: nullable Object */;
3908 short int var16
/* : Bool */;
3911 val
* var19
/* : AAnnotations */;
3912 val
* var_pannotationsnode1
/* var pannotationsnode1: nullable AAnnotations */;
3913 long var20
/* : Int */;
3914 long var21
/* : Int */;
3917 var_node_list
= var
;
3918 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3919 var_nodearraylist6
= var1
;
3920 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3921 var_nodearraylist5
= var2
;
3922 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3923 var_nodearraylist4
= var3
;
3924 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3925 var_nodearraylist3
= var4
;
3926 var5
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3927 var_nodearraylist2
= var5
;
3928 var6
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3929 var_nodearraylist1
= var6
;
3930 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
3931 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
3932 var_listnode5
= var7
;
3933 var_tatnode2
= var_nodearraylist1
;
3934 /* <var_tatnode2:nullable Object> isa nullable TAt */
3935 cltype
= type_nullable_parser_nodes__TAt
.color
;
3936 idtype
= type_nullable_parser_nodes__TAt
.id
;
3937 if(var_tatnode2
== NULL
) {
3940 if(cltype
>= var_tatnode2
->type
->table_size
) {
3943 var8
= var_tatnode2
->type
->type_table
[cltype
] == idtype
;
3947 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3948 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28177);
3951 var_toparnode3
= var_nodearraylist2
;
3952 /* <var_toparnode3:nullable Object> isa nullable TOpar */
3953 cltype10
= type_nullable_parser_nodes__TOpar
.color
;
3954 idtype11
= type_nullable_parser_nodes__TOpar
.id
;
3955 if(var_toparnode3
== NULL
) {
3958 if(cltype10
>= var_toparnode3
->type
->table_size
) {
3961 var9
= var_toparnode3
->type
->type_table
[cltype10
] == idtype11
;
3965 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3966 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28179);
3969 var_listnode4
= var_nodearraylist4
;
3970 /* <var_listnode4:nullable Object> isa Array[Object] */
3971 cltype13
= type_array__Arraykernel__Object
.color
;
3972 idtype14
= type_array__Arraykernel__Object
.id
;
3973 if(var_listnode4
== NULL
) {
3976 if(cltype13
>= var_listnode4
->type
->table_size
) {
3979 var12
= var_listnode4
->type
->type_table
[cltype13
] == idtype14
;
3983 fprintf(stderr
, "Runtime error: %s", "Assert failed");
3984 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28181);
3987 var15
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction819>*/;
3988 var_listnode5
= var15
;
3989 var_tcparnode6
= var_nodearraylist6
;
3990 /* <var_tcparnode6:nullable Object> isa nullable TCpar */
3991 cltype17
= type_nullable_parser_nodes__TCpar
.color
;
3992 idtype18
= type_nullable_parser_nodes__TCpar
.id
;
3993 if(var_tcparnode6
== NULL
) {
3996 if(cltype17
>= var_tcparnode6
->type
->table_size
) {
3999 var16
= var_tcparnode6
->type
->type_table
[cltype17
] == idtype18
;
4003 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4004 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28184);
4007 var19
= NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations
);
4008 ((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>*/;
4009 var_pannotationsnode1
= var19
;
4010 var_node_list
= var_pannotationsnode1
;
4011 var20
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction819> */
4012 var21
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var20
) /* go_to on <var_p:Parser>*/;
4013 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var21
, var_node_list
) /* push on <var_p:Parser>*/;
4016 /* method parser#ReduceAction819#action for (self: Object, Parser) */
4017 void VIRTUAL_parser__ReduceAction819__action(val
* self
, val
* p0
) {
4018 parser__ReduceAction819__action(self
, p0
);
4021 /* method parser#ReduceAction820#action for (self: ReduceAction820, Parser) */
4022 void parser__ReduceAction820__action(val
* self
, val
* p0
) {
4023 val
* var_p
/* var p: Parser */;
4024 val
* var
/* : null */;
4025 val
* var_node_list
/* var node_list: nullable Object */;
4026 val
* var1
/* : nullable Object */;
4027 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4028 val
* var2
/* : Array[Object] */;
4029 val
* var_listnode4
/* var listnode4: Array[Object] */;
4030 val
* var_patidnode2
/* var patidnode2: nullable Object */;
4031 short int var3
/* : Bool */;
4034 val
* var4
/* : AAnnotation */;
4035 val
* var5
/* : null */;
4036 val
* var6
/* : null */;
4037 val
* var7
/* : null */;
4038 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
4039 long var8
/* : Int */;
4040 long var9
/* : Int */;
4043 var_node_list
= var
;
4044 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4045 var_nodearraylist1
= var1
;
4046 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
4047 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
4048 var_listnode4
= var2
;
4049 var_patidnode2
= var_nodearraylist1
;
4050 /* <var_patidnode2:nullable Object> isa nullable AAtid */
4051 cltype
= type_nullable_parser_nodes__AAtid
.color
;
4052 idtype
= type_nullable_parser_nodes__AAtid
.id
;
4053 if(var_patidnode2
== NULL
) {
4056 if(cltype
>= var_patidnode2
->type
->table_size
) {
4059 var3
= var_patidnode2
->type
->type_table
[cltype
] == idtype
;
4063 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4064 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28203);
4067 var4
= NEW_parser_nodes__AAnnotation(&type_parser_nodes__AAnnotation
);
4071 ((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>*/;
4072 var_pannotationnode1
= var4
;
4073 var_node_list
= var_pannotationnode1
;
4074 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction820> */
4075 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
4076 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
4079 /* method parser#ReduceAction820#action for (self: Object, Parser) */
4080 void VIRTUAL_parser__ReduceAction820__action(val
* self
, val
* p0
) {
4081 parser__ReduceAction820__action(self
, p0
);
4084 /* method parser#ReduceAction821#action for (self: ReduceAction821, Parser) */
4085 void parser__ReduceAction821__action(val
* self
, val
* p0
) {
4086 val
* var_p
/* var p: Parser */;
4087 val
* var
/* : null */;
4088 val
* var_node_list
/* var node_list: nullable Object */;
4089 val
* var1
/* : nullable Object */;
4090 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4091 val
* var2
/* : nullable Object */;
4092 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4093 val
* var3
/* : Array[Object] */;
4094 val
* var_listnode4
/* var listnode4: Array[Object] */;
4095 val
* var_patidnode2
/* var patidnode2: nullable Object */;
4096 short int var4
/* : Bool */;
4099 val
* var_pannotationsnode6
/* var pannotationsnode6: nullable Object */;
4100 short int var5
/* : Bool */;
4103 val
* var8
/* : AAnnotation */;
4104 val
* var9
/* : null */;
4105 val
* var10
/* : null */;
4106 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
4107 long var11
/* : Int */;
4108 long var12
/* : Int */;
4111 var_node_list
= var
;
4112 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4113 var_nodearraylist2
= var1
;
4114 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4115 var_nodearraylist1
= var2
;
4116 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
4117 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
4118 var_listnode4
= var3
;
4119 var_patidnode2
= var_nodearraylist1
;
4120 /* <var_patidnode2:nullable Object> isa nullable AAtid */
4121 cltype
= type_nullable_parser_nodes__AAtid
.color
;
4122 idtype
= type_nullable_parser_nodes__AAtid
.id
;
4123 if(var_patidnode2
== NULL
) {
4126 if(cltype
>= var_patidnode2
->type
->table_size
) {
4129 var4
= var_patidnode2
->type
->type_table
[cltype
] == idtype
;
4133 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4134 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28224);
4137 var_pannotationsnode6
= var_nodearraylist2
;
4138 /* <var_pannotationsnode6:nullable Object> isa nullable AAnnotations */
4139 cltype6
= type_nullable_parser_nodes__AAnnotations
.color
;
4140 idtype7
= type_nullable_parser_nodes__AAnnotations
.id
;
4141 if(var_pannotationsnode6
== NULL
) {
4144 if(cltype6
>= var_pannotationsnode6
->type
->table_size
) {
4147 var5
= var_pannotationsnode6
->type
->type_table
[cltype6
] == idtype7
;
4151 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4152 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28226);
4155 var8
= NEW_parser_nodes__AAnnotation(&type_parser_nodes__AAnnotation
);
4158 ((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>*/;
4159 var_pannotationnode1
= var8
;
4160 var_node_list
= var_pannotationnode1
;
4161 var11
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction821> */
4162 var12
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var11
) /* go_to on <var_p:Parser>*/;
4163 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var12
, var_node_list
) /* push on <var_p:Parser>*/;
4166 /* method parser#ReduceAction821#action for (self: Object, Parser) */
4167 void VIRTUAL_parser__ReduceAction821__action(val
* self
, val
* p0
) {
4168 parser__ReduceAction821__action(self
, p0
);
4171 /* method parser#ReduceAction822#action for (self: ReduceAction822, Parser) */
4172 void parser__ReduceAction822__action(val
* self
, val
* p0
) {
4173 val
* var_p
/* var p: Parser */;
4174 val
* var
/* : null */;
4175 val
* var_node_list
/* var node_list: nullable Object */;
4176 val
* var1
/* : nullable Object */;
4177 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
4178 val
* var2
/* : nullable Object */;
4179 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
4180 val
* var3
/* : nullable Object */;
4181 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4182 val
* var4
/* : nullable Object */;
4183 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4184 val
* var5
/* : nullable Object */;
4185 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4186 val
* var6
/* : nullable Object */;
4187 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4188 val
* var7
/* : Array[Object] */;
4189 val
* var_listnode5
/* var listnode5: Array[Object] */;
4190 val
* var_patidnode2
/* var patidnode2: nullable Object */;
4191 short int var8
/* : Bool */;
4194 val
* var_toparnode3
/* var toparnode3: nullable Object */;
4195 short int var9
/* : Bool */;
4198 val
* var_listnode4
/* var listnode4: nullable Object */;
4199 short int var12
/* : Bool */;
4202 val
* var15
/* : Array[Object] */;
4203 val
* var_tcparnode6
/* var tcparnode6: nullable Object */;
4204 short int var16
/* : Bool */;
4207 val
* var19
/* : AAnnotation */;
4208 val
* var20
/* : null */;
4209 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
4210 long var21
/* : Int */;
4211 long var22
/* : Int */;
4214 var_node_list
= var
;
4215 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4216 var_nodearraylist6
= var1
;
4217 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4218 var_nodearraylist5
= var2
;
4219 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4220 var_nodearraylist4
= var3
;
4221 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4222 var_nodearraylist3
= var4
;
4223 var5
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4224 var_nodearraylist2
= var5
;
4225 var6
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4226 var_nodearraylist1
= var6
;
4227 var7
= NEW_array__Array(&type_array__Arraykernel__Object
);
4228 ((void (*)(val
*))(var7
->class->vft
[COLOR_array__Array__init
]))(var7
) /* init on <var7:Array[Object]>*/;
4229 var_listnode5
= var7
;
4230 var_patidnode2
= var_nodearraylist1
;
4231 /* <var_patidnode2:nullable Object> isa nullable AAtid */
4232 cltype
= type_nullable_parser_nodes__AAtid
.color
;
4233 idtype
= type_nullable_parser_nodes__AAtid
.id
;
4234 if(var_patidnode2
== NULL
) {
4237 if(cltype
>= var_patidnode2
->type
->table_size
) {
4240 var8
= var_patidnode2
->type
->type_table
[cltype
] == idtype
;
4244 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4245 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28251);
4248 var_toparnode3
= var_nodearraylist2
;
4249 /* <var_toparnode3:nullable Object> isa nullable TOpar */
4250 cltype10
= type_nullable_parser_nodes__TOpar
.color
;
4251 idtype11
= type_nullable_parser_nodes__TOpar
.id
;
4252 if(var_toparnode3
== NULL
) {
4255 if(cltype10
>= var_toparnode3
->type
->table_size
) {
4258 var9
= var_toparnode3
->type
->type_table
[cltype10
] == idtype11
;
4262 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4263 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28253);
4266 var_listnode4
= var_nodearraylist4
;
4267 /* <var_listnode4:nullable Object> isa Array[Object] */
4268 cltype13
= type_array__Arraykernel__Object
.color
;
4269 idtype14
= type_array__Arraykernel__Object
.id
;
4270 if(var_listnode4
== NULL
) {
4273 if(cltype13
>= var_listnode4
->type
->table_size
) {
4276 var12
= var_listnode4
->type
->type_table
[cltype13
] == idtype14
;
4280 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4281 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28255);
4284 var15
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction822>*/;
4285 var_listnode5
= var15
;
4286 var_tcparnode6
= var_nodearraylist6
;
4287 /* <var_tcparnode6:nullable Object> isa nullable TCpar */
4288 cltype17
= type_nullable_parser_nodes__TCpar
.color
;
4289 idtype18
= type_nullable_parser_nodes__TCpar
.id
;
4290 if(var_tcparnode6
== NULL
) {
4293 if(cltype17
>= var_tcparnode6
->type
->table_size
) {
4296 var16
= var_tcparnode6
->type
->type_table
[cltype17
] == idtype18
;
4300 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4301 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28258);
4304 var19
= NEW_parser_nodes__AAnnotation(&type_parser_nodes__AAnnotation
);
4306 ((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>*/;
4307 var_pannotationnode1
= var19
;
4308 var_node_list
= var_pannotationnode1
;
4309 var21
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction822> */
4310 var22
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var21
) /* go_to on <var_p:Parser>*/;
4311 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var22
, var_node_list
) /* push on <var_p:Parser>*/;
4314 /* method parser#ReduceAction822#action for (self: Object, Parser) */
4315 void VIRTUAL_parser__ReduceAction822__action(val
* self
, val
* p0
) {
4316 parser__ReduceAction822__action(self
, p0
);
4319 /* method parser#ReduceAction823#action for (self: ReduceAction823, Parser) */
4320 void parser__ReduceAction823__action(val
* self
, val
* p0
) {
4321 val
* var_p
/* var p: Parser */;
4322 val
* var
/* : null */;
4323 val
* var_node_list
/* var node_list: nullable Object */;
4324 val
* var1
/* : nullable Object */;
4325 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
4326 val
* var2
/* : nullable Object */;
4327 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
4328 val
* var3
/* : nullable Object */;
4329 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
4330 val
* var4
/* : nullable Object */;
4331 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4332 val
* var5
/* : nullable Object */;
4333 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4334 val
* var6
/* : nullable Object */;
4335 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4336 val
* var7
/* : nullable Object */;
4337 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4338 val
* var8
/* : Array[Object] */;
4339 val
* var_listnode5
/* var listnode5: Array[Object] */;
4340 val
* var_patidnode2
/* var patidnode2: nullable Object */;
4341 short int var9
/* : Bool */;
4344 val
* var_toparnode3
/* var toparnode3: nullable Object */;
4345 short int var10
/* : Bool */;
4348 val
* var_listnode4
/* var listnode4: nullable Object */;
4349 short int var13
/* : Bool */;
4352 val
* var16
/* : Array[Object] */;
4353 val
* var_tcparnode6
/* var tcparnode6: nullable Object */;
4354 short int var17
/* : Bool */;
4357 val
* var_pannotationsnode7
/* var pannotationsnode7: nullable Object */;
4358 short int var20
/* : Bool */;
4361 val
* var23
/* : AAnnotation */;
4362 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
4363 long var24
/* : Int */;
4364 long var25
/* : Int */;
4367 var_node_list
= var
;
4368 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4369 var_nodearraylist7
= var1
;
4370 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4371 var_nodearraylist6
= var2
;
4372 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4373 var_nodearraylist5
= var3
;
4374 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4375 var_nodearraylist4
= var4
;
4376 var5
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4377 var_nodearraylist3
= var5
;
4378 var6
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4379 var_nodearraylist2
= var6
;
4380 var7
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4381 var_nodearraylist1
= var7
;
4382 var8
= NEW_array__Array(&type_array__Arraykernel__Object
);
4383 ((void (*)(val
*))(var8
->class->vft
[COLOR_array__Array__init
]))(var8
) /* init on <var8:Array[Object]>*/;
4384 var_listnode5
= var8
;
4385 var_patidnode2
= var_nodearraylist1
;
4386 /* <var_patidnode2:nullable Object> isa nullable AAtid */
4387 cltype
= type_nullable_parser_nodes__AAtid
.color
;
4388 idtype
= type_nullable_parser_nodes__AAtid
.id
;
4389 if(var_patidnode2
== NULL
) {
4392 if(cltype
>= var_patidnode2
->type
->table_size
) {
4395 var9
= var_patidnode2
->type
->type_table
[cltype
] == idtype
;
4399 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4400 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28284);
4403 var_toparnode3
= var_nodearraylist2
;
4404 /* <var_toparnode3:nullable Object> isa nullable TOpar */
4405 cltype11
= type_nullable_parser_nodes__TOpar
.color
;
4406 idtype12
= type_nullable_parser_nodes__TOpar
.id
;
4407 if(var_toparnode3
== NULL
) {
4410 if(cltype11
>= var_toparnode3
->type
->table_size
) {
4413 var10
= var_toparnode3
->type
->type_table
[cltype11
] == idtype12
;
4417 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4418 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28286);
4421 var_listnode4
= var_nodearraylist4
;
4422 /* <var_listnode4:nullable Object> isa Array[Object] */
4423 cltype14
= type_array__Arraykernel__Object
.color
;
4424 idtype15
= type_array__Arraykernel__Object
.id
;
4425 if(var_listnode4
== NULL
) {
4428 if(cltype14
>= var_listnode4
->type
->table_size
) {
4431 var13
= var_listnode4
->type
->type_table
[cltype14
] == idtype15
;
4435 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4436 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28288);
4439 var16
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction823>*/;
4440 var_listnode5
= var16
;
4441 var_tcparnode6
= var_nodearraylist6
;
4442 /* <var_tcparnode6:nullable Object> isa nullable TCpar */
4443 cltype18
= type_nullable_parser_nodes__TCpar
.color
;
4444 idtype19
= type_nullable_parser_nodes__TCpar
.id
;
4445 if(var_tcparnode6
== NULL
) {
4448 if(cltype18
>= var_tcparnode6
->type
->table_size
) {
4451 var17
= var_tcparnode6
->type
->type_table
[cltype18
] == idtype19
;
4455 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4456 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28291);
4459 var_pannotationsnode7
= var_nodearraylist7
;
4460 /* <var_pannotationsnode7:nullable Object> isa nullable AAnnotations */
4461 cltype21
= type_nullable_parser_nodes__AAnnotations
.color
;
4462 idtype22
= type_nullable_parser_nodes__AAnnotations
.id
;
4463 if(var_pannotationsnode7
== NULL
) {
4466 if(cltype21
>= var_pannotationsnode7
->type
->table_size
) {
4469 var20
= var_pannotationsnode7
->type
->type_table
[cltype21
] == idtype22
;
4473 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4474 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28293);
4477 var23
= NEW_parser_nodes__AAnnotation(&type_parser_nodes__AAnnotation
);
4478 ((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>*/;
4479 var_pannotationnode1
= var23
;
4480 var_node_list
= var_pannotationnode1
;
4481 var24
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction823> */
4482 var25
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var24
) /* go_to on <var_p:Parser>*/;
4483 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var25
, var_node_list
) /* push on <var_p:Parser>*/;
4486 /* method parser#ReduceAction823#action for (self: Object, Parser) */
4487 void VIRTUAL_parser__ReduceAction823__action(val
* self
, val
* p0
) {
4488 parser__ReduceAction823__action(self
, p0
);
4491 /* method parser#ReduceAction824#action for (self: ReduceAction824, Parser) */
4492 void parser__ReduceAction824__action(val
* self
, val
* p0
) {
4493 val
* var_p
/* var p: Parser */;
4494 val
* var
/* : null */;
4495 val
* var_node_list
/* var node_list: nullable Object */;
4496 val
* var1
/* : nullable Object */;
4497 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4498 val
* var2
/* : Array[Object] */;
4499 val
* var_listnode5
/* var listnode5: Array[Object] */;
4500 val
* var_listnode4
/* var listnode4: nullable Object */;
4501 short int var3
/* : Bool */;
4504 val
* var4
/* : Array[Object] */;
4505 val
* var5
/* : AAnnotations */;
4506 val
* var6
/* : null */;
4507 val
* var7
/* : null */;
4508 val
* var8
/* : null */;
4509 val
* var_pannotationsnode1
/* var pannotationsnode1: nullable AAnnotations */;
4510 long var9
/* : Int */;
4511 long var10
/* : Int */;
4514 var_node_list
= var
;
4515 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4516 var_nodearraylist1
= var1
;
4517 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
4518 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
4519 var_listnode5
= var2
;
4520 var_listnode4
= var_nodearraylist1
;
4521 /* <var_listnode4:nullable Object> isa Array[Object] */
4522 cltype
= type_array__Arraykernel__Object
.color
;
4523 idtype
= type_array__Arraykernel__Object
.id
;
4524 if(var_listnode4
== NULL
) {
4527 if(cltype
>= var_listnode4
->type
->table_size
) {
4530 var3
= var_listnode4
->type
->type_table
[cltype
] == idtype
;
4534 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4535 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28313);
4538 var4
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction824>*/;
4539 var_listnode5
= var4
;
4540 var5
= NEW_parser_nodes__AAnnotations(&type_parser_nodes__AAnnotations
);
4544 ((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>*/;
4545 var_pannotationsnode1
= var5
;
4546 var_node_list
= var_pannotationsnode1
;
4547 var9
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction824> */
4548 var10
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var9
) /* go_to on <var_p:Parser>*/;
4549 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var10
, var_node_list
) /* push on <var_p:Parser>*/;
4552 /* method parser#ReduceAction824#action for (self: Object, Parser) */
4553 void VIRTUAL_parser__ReduceAction824__action(val
* self
, val
* p0
) {
4554 parser__ReduceAction824__action(self
, p0
);
4557 /* method parser#ReduceAction825#action for (self: ReduceAction825, Parser) */
4558 void parser__ReduceAction825__action(val
* self
, val
* p0
) {
4559 val
* var_p
/* var p: Parser */;
4560 val
* var
/* : null */;
4561 val
* var_node_list
/* var node_list: nullable Object */;
4562 val
* var1
/* : nullable Object */;
4563 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4564 val
* var2
/* : Array[Object] */;
4565 val
* var_listnode2
/* var listnode2: Array[Object] */;
4566 val
* var_pannotationnode1
/* var pannotationnode1: nullable Object */;
4567 val
* var3
/* : null */;
4568 short int var4
/* : Bool */;
4569 long var5
/* : Int */;
4570 long var6
/* : Int */;
4573 var_node_list
= var
;
4574 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4575 var_nodearraylist1
= var1
;
4576 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
4577 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
4578 var_listnode2
= var2
;
4579 var_pannotationnode1
= var_nodearraylist1
;
4581 if (var_pannotationnode1
== NULL
) {
4582 var4
= 0; /* is null */
4584 var4
= 1; /* arg is null and recv is not */
4587 ((void (*)(val
*, val
*))(var_listnode2
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode2
, var_pannotationnode1
) /* add on <var_listnode2:Array[Object]>*/;
4590 var_node_list
= var_listnode2
;
4591 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction825> */
4592 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
4593 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
4596 /* method parser#ReduceAction825#action for (self: Object, Parser) */
4597 void VIRTUAL_parser__ReduceAction825__action(val
* self
, val
* p0
) {
4598 parser__ReduceAction825__action(self
, p0
);
4601 /* method parser#ReduceAction826#action for (self: ReduceAction826, Parser) */
4602 void parser__ReduceAction826__action(val
* self
, val
* p0
) {
4603 val
* var_p
/* var p: Parser */;
4604 val
* var
/* : null */;
4605 val
* var_node_list
/* var node_list: nullable Object */;
4606 val
* var1
/* : nullable Object */;
4607 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4608 val
* var2
/* : nullable Object */;
4609 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4610 val
* var3
/* : Array[Object] */;
4611 val
* var_listnode3
/* var listnode3: Array[Object] */;
4612 val
* var_pannotationnode1
/* var pannotationnode1: nullable Object */;
4613 val
* var_listnode2
/* var listnode2: nullable Object */;
4614 short int var4
/* : Bool */;
4617 val
* var5
/* : null */;
4618 short int var6
/* : Bool */;
4619 val
* var7
/* : Array[Object] */;
4620 long var8
/* : Int */;
4621 long var9
/* : Int */;
4624 var_node_list
= var
;
4625 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4626 var_nodearraylist2
= var1
;
4627 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4628 var_nodearraylist1
= var2
;
4629 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
4630 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
4631 var_listnode3
= var3
;
4632 var_pannotationnode1
= var_nodearraylist1
;
4633 var_listnode2
= var_nodearraylist2
;
4634 /* <var_listnode2:nullable Object> isa Array[Object] */
4635 cltype
= type_array__Arraykernel__Object
.color
;
4636 idtype
= type_array__Arraykernel__Object
.id
;
4637 if(var_listnode2
== NULL
) {
4640 if(cltype
>= var_listnode2
->type
->table_size
) {
4643 var4
= var_listnode2
->type
->type_table
[cltype
] == idtype
;
4647 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4648 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28350);
4652 if (var_pannotationnode1
== NULL
) {
4653 var6
= 0; /* is null */
4655 var6
= 1; /* arg is null and recv is not */
4658 ((void (*)(val
*, val
*))(var_listnode3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode3
, var_pannotationnode1
) /* add on <var_listnode3:Array[Object]>*/;
4661 var7
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode2
) /* concat on <self:ReduceAction826>*/;
4662 var_listnode3
= var7
;
4663 var_node_list
= var_listnode3
;
4664 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction826> */
4665 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
4666 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
4669 /* method parser#ReduceAction826#action for (self: Object, Parser) */
4670 void VIRTUAL_parser__ReduceAction826__action(val
* self
, val
* p0
) {
4671 parser__ReduceAction826__action(self
, p0
);
4674 /* method parser#ReduceAction828#action for (self: ReduceAction828, Parser) */
4675 void parser__ReduceAction828__action(val
* self
, val
* p0
) {
4676 val
* var_p
/* var p: Parser */;
4677 val
* var
/* : null */;
4678 val
* var_node_list
/* var node_list: nullable Object */;
4679 val
* var1
/* : nullable Object */;
4680 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4681 val
* var2
/* : nullable Object */;
4682 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4683 val
* var3
/* : nullable Object */;
4684 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4685 val
* var4
/* : Array[Object] */;
4686 val
* var_listnode4
/* var listnode4: Array[Object] */;
4687 val
* var_patidnode2
/* var patidnode2: nullable Object */;
4688 short int var5
/* : Bool */;
4691 val
* var6
/* : AAnnotation */;
4692 val
* var7
/* : null */;
4693 val
* var8
/* : null */;
4694 val
* var9
/* : null */;
4695 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
4696 long var10
/* : Int */;
4697 long var11
/* : Int */;
4700 var_node_list
= var
;
4701 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4702 var_nodearraylist3
= var1
;
4703 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4704 var_nodearraylist2
= var2
;
4705 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4706 var_nodearraylist1
= var3
;
4707 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
4708 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
4709 var_listnode4
= var4
;
4710 var_patidnode2
= var_nodearraylist2
;
4711 /* <var_patidnode2:nullable Object> isa nullable AAtid */
4712 cltype
= type_nullable_parser_nodes__AAtid
.color
;
4713 idtype
= type_nullable_parser_nodes__AAtid
.id
;
4714 if(var_patidnode2
== NULL
) {
4717 if(cltype
>= var_patidnode2
->type
->table_size
) {
4720 var5
= var_patidnode2
->type
->type_table
[cltype
] == idtype
;
4724 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4725 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28369);
4728 var6
= NEW_parser_nodes__AAnnotation(&type_parser_nodes__AAnnotation
);
4732 ((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>*/;
4733 var_pannotationnode1
= var6
;
4734 var_node_list
= var_pannotationnode1
;
4735 var10
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction828> */
4736 var11
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var10
) /* go_to on <var_p:Parser>*/;
4737 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var11
, var_node_list
) /* push on <var_p:Parser>*/;
4740 /* method parser#ReduceAction828#action for (self: Object, Parser) */
4741 void VIRTUAL_parser__ReduceAction828__action(val
* self
, val
* p0
) {
4742 parser__ReduceAction828__action(self
, p0
);
4745 /* method parser#ReduceAction829#action for (self: ReduceAction829, Parser) */
4746 void parser__ReduceAction829__action(val
* self
, val
* p0
) {
4747 val
* var_p
/* var p: Parser */;
4748 val
* var
/* : null */;
4749 val
* var_node_list
/* var node_list: nullable Object */;
4750 val
* var1
/* : nullable Object */;
4751 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4752 val
* var2
/* : nullable Object */;
4753 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4754 val
* var3
/* : nullable Object */;
4755 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4756 val
* var4
/* : nullable Object */;
4757 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4758 val
* var5
/* : Array[Object] */;
4759 val
* var_listnode4
/* var listnode4: Array[Object] */;
4760 val
* var_patidnode2
/* var patidnode2: nullable Object */;
4761 short int var6
/* : Bool */;
4764 val
* var_pannotationsnode6
/* var pannotationsnode6: nullable Object */;
4765 short int var7
/* : Bool */;
4768 val
* var10
/* : AAnnotation */;
4769 val
* var11
/* : null */;
4770 val
* var12
/* : null */;
4771 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
4772 long var13
/* : Int */;
4773 long var14
/* : Int */;
4776 var_node_list
= var
;
4777 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4778 var_nodearraylist4
= var1
;
4779 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4780 var_nodearraylist3
= var2
;
4781 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4782 var_nodearraylist2
= var3
;
4783 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4784 var_nodearraylist1
= var4
;
4785 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
4786 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
4787 var_listnode4
= var5
;
4788 var_patidnode2
= var_nodearraylist2
;
4789 /* <var_patidnode2:nullable Object> isa nullable AAtid */
4790 cltype
= type_nullable_parser_nodes__AAtid
.color
;
4791 idtype
= type_nullable_parser_nodes__AAtid
.id
;
4792 if(var_patidnode2
== NULL
) {
4795 if(cltype
>= var_patidnode2
->type
->table_size
) {
4798 var6
= var_patidnode2
->type
->type_table
[cltype
] == idtype
;
4802 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4803 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28392);
4806 var_pannotationsnode6
= var_nodearraylist3
;
4807 /* <var_pannotationsnode6:nullable Object> isa nullable AAnnotations */
4808 cltype8
= type_nullable_parser_nodes__AAnnotations
.color
;
4809 idtype9
= type_nullable_parser_nodes__AAnnotations
.id
;
4810 if(var_pannotationsnode6
== NULL
) {
4813 if(cltype8
>= var_pannotationsnode6
->type
->table_size
) {
4816 var7
= var_pannotationsnode6
->type
->type_table
[cltype8
] == idtype9
;
4820 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4821 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28394);
4824 var10
= NEW_parser_nodes__AAnnotation(&type_parser_nodes__AAnnotation
);
4827 ((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>*/;
4828 var_pannotationnode1
= var10
;
4829 var_node_list
= var_pannotationnode1
;
4830 var13
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction829> */
4831 var14
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var13
) /* go_to on <var_p:Parser>*/;
4832 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var14
, var_node_list
) /* push on <var_p:Parser>*/;
4835 /* method parser#ReduceAction829#action for (self: Object, Parser) */
4836 void VIRTUAL_parser__ReduceAction829__action(val
* self
, val
* p0
) {
4837 parser__ReduceAction829__action(self
, p0
);
4840 /* method parser#ReduceAction830#action for (self: ReduceAction830, Parser) */
4841 void parser__ReduceAction830__action(val
* self
, val
* p0
) {
4842 val
* var_p
/* var p: Parser */;
4843 val
* var
/* : null */;
4844 val
* var_node_list
/* var node_list: nullable Object */;
4845 val
* var1
/* : nullable Object */;
4846 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
4847 val
* var2
/* : nullable Object */;
4848 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
4849 val
* var3
/* : nullable Object */;
4850 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
4851 val
* var4
/* : nullable Object */;
4852 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4853 val
* var5
/* : nullable Object */;
4854 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4855 val
* var6
/* : nullable Object */;
4856 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4857 val
* var7
/* : nullable Object */;
4858 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4859 val
* var8
/* : Array[Object] */;
4860 val
* var_listnode5
/* var listnode5: Array[Object] */;
4861 val
* var_patidnode2
/* var patidnode2: nullable Object */;
4862 short int var9
/* : Bool */;
4865 val
* var_toparnode3
/* var toparnode3: nullable Object */;
4866 short int var10
/* : Bool */;
4869 val
* var_listnode4
/* var listnode4: nullable Object */;
4870 short int var13
/* : Bool */;
4873 val
* var16
/* : Array[Object] */;
4874 val
* var_tcparnode6
/* var tcparnode6: nullable Object */;
4875 short int var17
/* : Bool */;
4878 val
* var20
/* : AAnnotation */;
4879 val
* var21
/* : null */;
4880 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
4881 long var22
/* : Int */;
4882 long var23
/* : Int */;
4885 var_node_list
= var
;
4886 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4887 var_nodearraylist7
= var1
;
4888 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4889 var_nodearraylist6
= var2
;
4890 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4891 var_nodearraylist5
= var3
;
4892 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4893 var_nodearraylist4
= var4
;
4894 var5
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4895 var_nodearraylist3
= var5
;
4896 var6
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4897 var_nodearraylist2
= var6
;
4898 var7
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4899 var_nodearraylist1
= var7
;
4900 var8
= NEW_array__Array(&type_array__Arraykernel__Object
);
4901 ((void (*)(val
*))(var8
->class->vft
[COLOR_array__Array__init
]))(var8
) /* init on <var8:Array[Object]>*/;
4902 var_listnode5
= var8
;
4903 var_patidnode2
= var_nodearraylist2
;
4904 /* <var_patidnode2:nullable Object> isa nullable AAtid */
4905 cltype
= type_nullable_parser_nodes__AAtid
.color
;
4906 idtype
= type_nullable_parser_nodes__AAtid
.id
;
4907 if(var_patidnode2
== NULL
) {
4910 if(cltype
>= var_patidnode2
->type
->table_size
) {
4913 var9
= var_patidnode2
->type
->type_table
[cltype
] == idtype
;
4917 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4918 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28420);
4921 var_toparnode3
= var_nodearraylist3
;
4922 /* <var_toparnode3:nullable Object> isa nullable TOpar */
4923 cltype11
= type_nullable_parser_nodes__TOpar
.color
;
4924 idtype12
= type_nullable_parser_nodes__TOpar
.id
;
4925 if(var_toparnode3
== NULL
) {
4928 if(cltype11
>= var_toparnode3
->type
->table_size
) {
4931 var10
= var_toparnode3
->type
->type_table
[cltype11
] == idtype12
;
4935 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4936 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28422);
4939 var_listnode4
= var_nodearraylist5
;
4940 /* <var_listnode4:nullable Object> isa Array[Object] */
4941 cltype14
= type_array__Arraykernel__Object
.color
;
4942 idtype15
= type_array__Arraykernel__Object
.id
;
4943 if(var_listnode4
== NULL
) {
4946 if(cltype14
>= var_listnode4
->type
->table_size
) {
4949 var13
= var_listnode4
->type
->type_table
[cltype14
] == idtype15
;
4953 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4954 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28424);
4957 var16
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction830>*/;
4958 var_listnode5
= var16
;
4959 var_tcparnode6
= var_nodearraylist6
;
4960 /* <var_tcparnode6:nullable Object> isa nullable TCpar */
4961 cltype18
= type_nullable_parser_nodes__TCpar
.color
;
4962 idtype19
= type_nullable_parser_nodes__TCpar
.id
;
4963 if(var_tcparnode6
== NULL
) {
4966 if(cltype18
>= var_tcparnode6
->type
->table_size
) {
4969 var17
= var_tcparnode6
->type
->type_table
[cltype18
] == idtype19
;
4973 fprintf(stderr
, "Runtime error: %s", "Assert failed");
4974 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28427);
4977 var20
= NEW_parser_nodes__AAnnotation(&type_parser_nodes__AAnnotation
);
4979 ((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>*/;
4980 var_pannotationnode1
= var20
;
4981 var_node_list
= var_pannotationnode1
;
4982 var22
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction830> */
4983 var23
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var22
) /* go_to on <var_p:Parser>*/;
4984 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var23
, var_node_list
) /* push on <var_p:Parser>*/;
4987 /* method parser#ReduceAction830#action for (self: Object, Parser) */
4988 void VIRTUAL_parser__ReduceAction830__action(val
* self
, val
* p0
) {
4989 parser__ReduceAction830__action(self
, p0
);
4992 /* method parser#ReduceAction831#action for (self: ReduceAction831, Parser) */
4993 void parser__ReduceAction831__action(val
* self
, val
* p0
) {
4994 val
* var_p
/* var p: Parser */;
4995 val
* var
/* : null */;
4996 val
* var_node_list
/* var node_list: nullable Object */;
4997 val
* var1
/* : nullable Object */;
4998 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
4999 val
* var2
/* : nullable Object */;
5000 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
5001 val
* var3
/* : nullable Object */;
5002 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
5003 val
* var4
/* : nullable Object */;
5004 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
5005 val
* var5
/* : nullable Object */;
5006 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5007 val
* var6
/* : nullable Object */;
5008 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5009 val
* var7
/* : nullable Object */;
5010 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5011 val
* var8
/* : nullable Object */;
5012 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5013 val
* var9
/* : Array[Object] */;
5014 val
* var_listnode5
/* var listnode5: Array[Object] */;
5015 val
* var_patidnode2
/* var patidnode2: nullable Object */;
5016 short int var10
/* : Bool */;
5019 val
* var_toparnode3
/* var toparnode3: nullable Object */;
5020 short int var11
/* : Bool */;
5023 val
* var_listnode4
/* var listnode4: nullable Object */;
5024 short int var14
/* : Bool */;
5027 val
* var17
/* : Array[Object] */;
5028 val
* var_tcparnode6
/* var tcparnode6: nullable Object */;
5029 short int var18
/* : Bool */;
5032 val
* var_pannotationsnode7
/* var pannotationsnode7: nullable Object */;
5033 short int var21
/* : Bool */;
5036 val
* var24
/* : AAnnotation */;
5037 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
5038 long var25
/* : Int */;
5039 long var26
/* : Int */;
5042 var_node_list
= var
;
5043 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5044 var_nodearraylist8
= var1
;
5045 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5046 var_nodearraylist7
= var2
;
5047 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5048 var_nodearraylist6
= var3
;
5049 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5050 var_nodearraylist5
= var4
;
5051 var5
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5052 var_nodearraylist4
= var5
;
5053 var6
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5054 var_nodearraylist3
= var6
;
5055 var7
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5056 var_nodearraylist2
= var7
;
5057 var8
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5058 var_nodearraylist1
= var8
;
5059 var9
= NEW_array__Array(&type_array__Arraykernel__Object
);
5060 ((void (*)(val
*))(var9
->class->vft
[COLOR_array__Array__init
]))(var9
) /* init on <var9:Array[Object]>*/;
5061 var_listnode5
= var9
;
5062 var_patidnode2
= var_nodearraylist2
;
5063 /* <var_patidnode2:nullable Object> isa nullable AAtid */
5064 cltype
= type_nullable_parser_nodes__AAtid
.color
;
5065 idtype
= type_nullable_parser_nodes__AAtid
.id
;
5066 if(var_patidnode2
== NULL
) {
5069 if(cltype
>= var_patidnode2
->type
->table_size
) {
5072 var10
= var_patidnode2
->type
->type_table
[cltype
] == idtype
;
5076 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5077 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28454);
5080 var_toparnode3
= var_nodearraylist3
;
5081 /* <var_toparnode3:nullable Object> isa nullable TOpar */
5082 cltype12
= type_nullable_parser_nodes__TOpar
.color
;
5083 idtype13
= type_nullable_parser_nodes__TOpar
.id
;
5084 if(var_toparnode3
== NULL
) {
5087 if(cltype12
>= var_toparnode3
->type
->table_size
) {
5090 var11
= var_toparnode3
->type
->type_table
[cltype12
] == idtype13
;
5094 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5095 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28456);
5098 var_listnode4
= var_nodearraylist5
;
5099 /* <var_listnode4:nullable Object> isa Array[Object] */
5100 cltype15
= type_array__Arraykernel__Object
.color
;
5101 idtype16
= type_array__Arraykernel__Object
.id
;
5102 if(var_listnode4
== NULL
) {
5105 if(cltype15
>= var_listnode4
->type
->table_size
) {
5108 var14
= var_listnode4
->type
->type_table
[cltype15
] == idtype16
;
5112 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5113 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28458);
5116 var17
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction831>*/;
5117 var_listnode5
= var17
;
5118 var_tcparnode6
= var_nodearraylist6
;
5119 /* <var_tcparnode6:nullable Object> isa nullable TCpar */
5120 cltype19
= type_nullable_parser_nodes__TCpar
.color
;
5121 idtype20
= type_nullable_parser_nodes__TCpar
.id
;
5122 if(var_tcparnode6
== NULL
) {
5125 if(cltype19
>= var_tcparnode6
->type
->table_size
) {
5128 var18
= var_tcparnode6
->type
->type_table
[cltype19
] == idtype20
;
5132 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5133 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28461);
5136 var_pannotationsnode7
= var_nodearraylist7
;
5137 /* <var_pannotationsnode7:nullable Object> isa nullable AAnnotations */
5138 cltype22
= type_nullable_parser_nodes__AAnnotations
.color
;
5139 idtype23
= type_nullable_parser_nodes__AAnnotations
.id
;
5140 if(var_pannotationsnode7
== NULL
) {
5143 if(cltype22
>= var_pannotationsnode7
->type
->table_size
) {
5146 var21
= var_pannotationsnode7
->type
->type_table
[cltype22
] == idtype23
;
5150 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5151 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28463);
5154 var24
= NEW_parser_nodes__AAnnotation(&type_parser_nodes__AAnnotation
);
5155 ((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>*/;
5156 var_pannotationnode1
= var24
;
5157 var_node_list
= var_pannotationnode1
;
5158 var25
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction831> */
5159 var26
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var25
) /* go_to on <var_p:Parser>*/;
5160 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var26
, var_node_list
) /* push on <var_p:Parser>*/;
5163 /* method parser#ReduceAction831#action for (self: Object, Parser) */
5164 void VIRTUAL_parser__ReduceAction831__action(val
* self
, val
* p0
) {
5165 parser__ReduceAction831__action(self
, p0
);
5168 /* method parser#ReduceAction832#action for (self: ReduceAction832, Parser) */
5169 void parser__ReduceAction832__action(val
* self
, val
* p0
) {
5170 val
* var_p
/* var p: Parser */;
5171 val
* var
/* : null */;
5172 val
* var_node_list
/* var node_list: nullable Object */;
5173 val
* var1
/* : nullable Object */;
5174 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5175 val
* var2
/* : nullable Object */;
5176 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5177 val
* var3
/* : nullable Object */;
5178 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5179 val
* var4
/* : nullable Object */;
5180 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5181 val
* var5
/* : Array[Object] */;
5182 val
* var_listnode5
/* var listnode5: Array[Object] */;
5183 val
* var_patidnode2
/* var patidnode2: nullable Object */;
5184 short int var6
/* : Bool */;
5187 val
* var_listnode4
/* var listnode4: nullable Object */;
5188 short int var7
/* : Bool */;
5191 val
* var10
/* : Array[Object] */;
5192 val
* var11
/* : AAnnotation */;
5193 val
* var12
/* : null */;
5194 val
* var13
/* : null */;
5195 val
* var14
/* : null */;
5196 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
5197 long var15
/* : Int */;
5198 long var16
/* : Int */;
5201 var_node_list
= var
;
5202 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5203 var_nodearraylist4
= var1
;
5204 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5205 var_nodearraylist3
= var2
;
5206 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5207 var_nodearraylist2
= var3
;
5208 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5209 var_nodearraylist1
= var4
;
5210 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
5211 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
5212 var_listnode5
= var5
;
5213 var_patidnode2
= var_nodearraylist2
;
5214 /* <var_patidnode2:nullable Object> isa nullable AAtid */
5215 cltype
= type_nullable_parser_nodes__AAtid
.color
;
5216 idtype
= type_nullable_parser_nodes__AAtid
.id
;
5217 if(var_patidnode2
== NULL
) {
5220 if(cltype
>= var_patidnode2
->type
->table_size
) {
5223 var6
= var_patidnode2
->type
->type_table
[cltype
] == idtype
;
5227 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5228 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28486);
5231 var_listnode4
= var_nodearraylist3
;
5232 /* <var_listnode4:nullable Object> isa Array[Object] */
5233 cltype8
= type_array__Arraykernel__Object
.color
;
5234 idtype9
= type_array__Arraykernel__Object
.id
;
5235 if(var_listnode4
== NULL
) {
5238 if(cltype8
>= var_listnode4
->type
->table_size
) {
5241 var7
= var_listnode4
->type
->type_table
[cltype8
] == idtype9
;
5245 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5246 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28488);
5249 var10
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode5
, var_listnode4
) /* concat on <self:ReduceAction832>*/;
5250 var_listnode5
= var10
;
5251 var11
= NEW_parser_nodes__AAnnotation(&type_parser_nodes__AAnnotation
);
5255 ((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>*/;
5256 var_pannotationnode1
= var11
;
5257 var_node_list
= var_pannotationnode1
;
5258 var15
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction832> */
5259 var16
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var15
) /* go_to on <var_p:Parser>*/;
5260 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var16
, var_node_list
) /* push on <var_p:Parser>*/;
5263 /* method parser#ReduceAction832#action for (self: Object, Parser) */
5264 void VIRTUAL_parser__ReduceAction832__action(val
* self
, val
* p0
) {
5265 parser__ReduceAction832__action(self
, p0
);
5268 /* method parser#ReduceAction833#action for (self: ReduceAction833, Parser) */
5269 void parser__ReduceAction833__action(val
* self
, val
* p0
) {
5270 val
* var_p
/* var p: Parser */;
5271 val
* var
/* : null */;
5272 val
* var_node_list
/* var node_list: nullable Object */;
5273 val
* var1
/* : nullable Object */;
5274 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5275 val
* var2
/* : nullable Object */;
5276 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5277 val
* var3
/* : nullable Object */;
5278 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5279 val
* var_pannotationnode1
/* var pannotationnode1: nullable Object */;
5280 long var4
/* : Int */;
5281 long var5
/* : Int */;
5284 var_node_list
= var
;
5285 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5286 var_nodearraylist3
= var1
;
5287 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5288 var_nodearraylist2
= var2
;
5289 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5290 var_nodearraylist1
= var3
;
5291 var_pannotationnode1
= var_nodearraylist3
;
5292 var_node_list
= var_pannotationnode1
;
5293 var4
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction833> */
5294 var5
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var4
) /* go_to on <var_p:Parser>*/;
5295 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var5
, var_node_list
) /* push on <var_p:Parser>*/;
5298 /* method parser#ReduceAction833#action for (self: Object, Parser) */
5299 void VIRTUAL_parser__ReduceAction833__action(val
* self
, val
* p0
) {
5300 parser__ReduceAction833__action(self
, p0
);
5303 /* method parser#ReduceAction834#action for (self: ReduceAction834, Parser) */
5304 void parser__ReduceAction834__action(val
* self
, val
* p0
) {
5305 val
* var_p
/* var p: Parser */;
5306 val
* var
/* : null */;
5307 val
* var_node_list
/* var node_list: nullable Object */;
5308 val
* var1
/* : nullable Object */;
5309 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5310 val
* var2
/* : Array[Object] */;
5311 val
* var_listnode2
/* var listnode2: Array[Object] */;
5312 val
* var_patargnode1
/* var patargnode1: nullable Object */;
5313 val
* var3
/* : null */;
5314 short int var4
/* : Bool */;
5315 long var5
/* : Int */;
5316 long var6
/* : Int */;
5319 var_node_list
= var
;
5320 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5321 var_nodearraylist1
= var1
;
5322 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
5323 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
5324 var_listnode2
= var2
;
5325 var_patargnode1
= var_nodearraylist1
;
5327 if (var_patargnode1
== NULL
) {
5328 var4
= 0; /* is null */
5330 var4
= 1; /* arg is null and recv is not */
5333 ((void (*)(val
*, val
*))(var_listnode2
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode2
, var_patargnode1
) /* add on <var_listnode2:Array[Object]>*/;
5336 var_node_list
= var_listnode2
;
5337 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction834> */
5338 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
5339 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
5342 /* method parser#ReduceAction834#action for (self: Object, Parser) */
5343 void VIRTUAL_parser__ReduceAction834__action(val
* self
, val
* p0
) {
5344 parser__ReduceAction834__action(self
, p0
);
5347 /* method parser#ReduceAction835#action for (self: ReduceAction835, Parser) */
5348 void parser__ReduceAction835__action(val
* self
, val
* p0
) {
5349 val
* var_p
/* var p: Parser */;
5350 val
* var
/* : null */;
5351 val
* var_node_list
/* var node_list: nullable Object */;
5352 val
* var1
/* : nullable Object */;
5353 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5354 val
* var2
/* : nullable Object */;
5355 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5356 val
* var3
/* : Array[Object] */;
5357 val
* var_listnode3
/* var listnode3: Array[Object] */;
5358 val
* var_patargnode1
/* var patargnode1: nullable Object */;
5359 val
* var_listnode2
/* var listnode2: nullable Object */;
5360 short int var4
/* : Bool */;
5363 val
* var5
/* : null */;
5364 short int var6
/* : Bool */;
5365 val
* var7
/* : Array[Object] */;
5366 long var8
/* : Int */;
5367 long var9
/* : Int */;
5370 var_node_list
= var
;
5371 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5372 var_nodearraylist2
= var1
;
5373 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5374 var_nodearraylist1
= var2
;
5375 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
5376 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
5377 var_listnode3
= var3
;
5378 var_patargnode1
= var_nodearraylist1
;
5379 var_listnode2
= var_nodearraylist2
;
5380 /* <var_listnode2:nullable Object> isa Array[Object] */
5381 cltype
= type_array__Arraykernel__Object
.color
;
5382 idtype
= type_array__Arraykernel__Object
.id
;
5383 if(var_listnode2
== NULL
) {
5386 if(cltype
>= var_listnode2
->type
->table_size
) {
5389 var4
= var_listnode2
->type
->type_table
[cltype
] == idtype
;
5393 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5394 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28539);
5398 if (var_patargnode1
== NULL
) {
5399 var6
= 0; /* is null */
5401 var6
= 1; /* arg is null and recv is not */
5404 ((void (*)(val
*, val
*))(var_listnode3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode3
, var_patargnode1
) /* add on <var_listnode3:Array[Object]>*/;
5407 var7
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode2
) /* concat on <self:ReduceAction835>*/;
5408 var_listnode3
= var7
;
5409 var_node_list
= var_listnode3
;
5410 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction835> */
5411 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
5412 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
5415 /* method parser#ReduceAction835#action for (self: Object, Parser) */
5416 void VIRTUAL_parser__ReduceAction835__action(val
* self
, val
* p0
) {
5417 parser__ReduceAction835__action(self
, p0
);
5420 /* method parser#ReduceAction836#action for (self: ReduceAction836, Parser) */
5421 void parser__ReduceAction836__action(val
* self
, val
* p0
) {
5422 val
* var_p
/* var p: Parser */;
5423 val
* var
/* : null */;
5424 val
* var_node_list
/* var node_list: nullable Object */;
5425 val
* var1
/* : nullable Object */;
5426 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5427 val
* var2
/* : nullable Object */;
5428 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5429 val
* var3
/* : nullable Object */;
5430 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5431 val
* var_patargnode1
/* var patargnode1: nullable Object */;
5432 long var4
/* : Int */;
5433 long var5
/* : Int */;
5436 var_node_list
= var
;
5437 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5438 var_nodearraylist3
= var1
;
5439 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5440 var_nodearraylist2
= var2
;
5441 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5442 var_nodearraylist1
= var3
;
5443 var_patargnode1
= var_nodearraylist3
;
5444 var_node_list
= var_patargnode1
;
5445 var4
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction836> */
5446 var5
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var4
) /* go_to on <var_p:Parser>*/;
5447 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var5
, var_node_list
) /* push on <var_p:Parser>*/;
5450 /* method parser#ReduceAction836#action for (self: Object, Parser) */
5451 void VIRTUAL_parser__ReduceAction836__action(val
* self
, val
* p0
) {
5452 parser__ReduceAction836__action(self
, p0
);
5455 /* method parser#ReduceAction837#action for (self: ReduceAction837, Parser) */
5456 void parser__ReduceAction837__action(val
* self
, val
* p0
) {
5457 val
* var_p
/* var p: Parser */;
5458 val
* var
/* : null */;
5459 val
* var_node_list
/* var node_list: nullable Object */;
5460 val
* var1
/* : nullable Object */;
5461 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5462 val
* var_ptypenode2
/* var ptypenode2: nullable Object */;
5463 short int var2
/* : Bool */;
5466 val
* var3
/* : ATypeAtArg */;
5467 val
* var_patargnode1
/* var patargnode1: nullable ATypeAtArg */;
5468 long var4
/* : Int */;
5469 long var5
/* : Int */;
5472 var_node_list
= var
;
5473 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5474 var_nodearraylist1
= var1
;
5475 var_ptypenode2
= var_nodearraylist1
;
5476 /* <var_ptypenode2:nullable Object> isa nullable AType */
5477 cltype
= type_nullable_parser_nodes__AType
.color
;
5478 idtype
= type_nullable_parser_nodes__AType
.id
;
5479 if(var_ptypenode2
== NULL
) {
5482 if(cltype
>= var_ptypenode2
->type
->table_size
) {
5485 var2
= var_ptypenode2
->type
->type_table
[cltype
] == idtype
;
5489 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5490 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28568);
5493 var3
= NEW_parser_nodes__ATypeAtArg(&type_parser_nodes__ATypeAtArg
);
5494 ((void (*)(val
*, val
*))(var3
->class->vft
[COLOR_parser_prod__ATypeAtArg__init_atypeatarg
]))(var3
, var_ptypenode2
) /* init_atypeatarg on <var3:ATypeAtArg>*/;
5495 var_patargnode1
= var3
;
5496 var_node_list
= var_patargnode1
;
5497 var4
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction837> */
5498 var5
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var4
) /* go_to on <var_p:Parser>*/;
5499 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var5
, var_node_list
) /* push on <var_p:Parser>*/;
5502 /* method parser#ReduceAction837#action for (self: Object, Parser) */
5503 void VIRTUAL_parser__ReduceAction837__action(val
* self
, val
* p0
) {
5504 parser__ReduceAction837__action(self
, p0
);
5507 /* method parser#ReduceAction838#action for (self: ReduceAction838, Parser) */
5508 void parser__ReduceAction838__action(val
* self
, val
* p0
) {
5509 val
* var_p
/* var p: Parser */;
5510 val
* var
/* : null */;
5511 val
* var_node_list
/* var node_list: nullable Object */;
5512 val
* var1
/* : nullable Object */;
5513 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5514 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
5515 short int var2
/* : Bool */;
5518 val
* var3
/* : AExprAtArg */;
5519 val
* var_patargnode1
/* var patargnode1: nullable AExprAtArg */;
5520 long var4
/* : Int */;
5521 long var5
/* : Int */;
5524 var_node_list
= var
;
5525 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5526 var_nodearraylist1
= var1
;
5527 var_pexprnode2
= var_nodearraylist1
;
5528 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
5529 cltype
= type_nullable_parser_nodes__AExpr
.color
;
5530 idtype
= type_nullable_parser_nodes__AExpr
.id
;
5531 if(var_pexprnode2
== NULL
) {
5534 if(cltype
>= var_pexprnode2
->type
->table_size
) {
5537 var2
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
5541 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5542 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28583);
5545 var3
= NEW_parser_nodes__AExprAtArg(&type_parser_nodes__AExprAtArg
);
5546 ((void (*)(val
*, val
*))(var3
->class->vft
[COLOR_parser_prod__AExprAtArg__init_aexpratarg
]))(var3
, var_pexprnode2
) /* init_aexpratarg on <var3:AExprAtArg>*/;
5547 var_patargnode1
= var3
;
5548 var_node_list
= var_patargnode1
;
5549 var4
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction838> */
5550 var5
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var4
) /* go_to on <var_p:Parser>*/;
5551 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var5
, var_node_list
) /* push on <var_p:Parser>*/;
5554 /* method parser#ReduceAction838#action for (self: Object, Parser) */
5555 void VIRTUAL_parser__ReduceAction838__action(val
* self
, val
* p0
) {
5556 parser__ReduceAction838__action(self
, p0
);
5559 /* method parser#ReduceAction840#action for (self: ReduceAction840, Parser) */
5560 void parser__ReduceAction840__action(val
* self
, val
* p0
) {
5561 val
* var_p
/* var p: Parser */;
5562 val
* var
/* : null */;
5563 val
* var_node_list
/* var node_list: nullable Object */;
5564 val
* var1
/* : nullable Object */;
5565 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5566 val
* var_pannotationsnode2
/* var pannotationsnode2: nullable Object */;
5567 short int var2
/* : Bool */;
5570 val
* var3
/* : AAtAtArg */;
5571 val
* var_patargnode1
/* var patargnode1: nullable AAtAtArg */;
5572 long var4
/* : Int */;
5573 long var5
/* : Int */;
5576 var_node_list
= var
;
5577 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5578 var_nodearraylist1
= var1
;
5579 var_pannotationsnode2
= var_nodearraylist1
;
5580 /* <var_pannotationsnode2:nullable Object> isa nullable AAnnotations */
5581 cltype
= type_nullable_parser_nodes__AAnnotations
.color
;
5582 idtype
= type_nullable_parser_nodes__AAnnotations
.id
;
5583 if(var_pannotationsnode2
== NULL
) {
5586 if(cltype
>= var_pannotationsnode2
->type
->table_size
) {
5589 var2
= var_pannotationsnode2
->type
->type_table
[cltype
] == idtype
;
5593 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5594 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28598);
5597 var3
= NEW_parser_nodes__AAtAtArg(&type_parser_nodes__AAtAtArg
);
5598 ((void (*)(val
*, val
*))(var3
->class->vft
[COLOR_parser_prod__AAtAtArg__init_aatatarg
]))(var3
, var_pannotationsnode2
) /* init_aatatarg on <var3:AAtAtArg>*/;
5599 var_patargnode1
= var3
;
5600 var_node_list
= var_patargnode1
;
5601 var4
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction840> */
5602 var5
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var4
) /* go_to on <var_p:Parser>*/;
5603 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var5
, var_node_list
) /* push on <var_p:Parser>*/;
5606 /* method parser#ReduceAction840#action for (self: Object, Parser) */
5607 void VIRTUAL_parser__ReduceAction840__action(val
* self
, val
* p0
) {
5608 parser__ReduceAction840__action(self
, p0
);
5611 /* method parser#ReduceAction841#action for (self: ReduceAction841, Parser) */
5612 void parser__ReduceAction841__action(val
* self
, val
* p0
) {
5613 val
* var_p
/* var p: Parser */;
5614 val
* var
/* : null */;
5615 val
* var_node_list
/* var node_list: nullable Object */;
5616 val
* var1
/* : nullable Object */;
5617 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5618 val
* var_tidnode2
/* var tidnode2: nullable Object */;
5619 short int var2
/* : Bool */;
5622 val
* var3
/* : AIdAtid */;
5623 val
* var_patidnode1
/* var patidnode1: nullable AIdAtid */;
5624 long var4
/* : Int */;
5625 long var5
/* : Int */;
5628 var_node_list
= var
;
5629 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5630 var_nodearraylist1
= var1
;
5631 var_tidnode2
= var_nodearraylist1
;
5632 /* <var_tidnode2:nullable Object> isa nullable TId */
5633 cltype
= type_nullable_parser_nodes__TId
.color
;
5634 idtype
= type_nullable_parser_nodes__TId
.id
;
5635 if(var_tidnode2
== NULL
) {
5638 if(cltype
>= var_tidnode2
->type
->table_size
) {
5641 var2
= var_tidnode2
->type
->type_table
[cltype
] == idtype
;
5645 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5646 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28613);
5649 var3
= NEW_parser_nodes__AIdAtid(&type_parser_nodes__AIdAtid
);
5650 ((void (*)(val
*, val
*))(var3
->class->vft
[COLOR_parser_prod__AIdAtid__init_aidatid
]))(var3
, var_tidnode2
) /* init_aidatid on <var3:AIdAtid>*/;
5651 var_patidnode1
= var3
;
5652 var_node_list
= var_patidnode1
;
5653 var4
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction841> */
5654 var5
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var4
) /* go_to on <var_p:Parser>*/;
5655 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var5
, var_node_list
) /* push on <var_p:Parser>*/;
5658 /* method parser#ReduceAction841#action for (self: Object, Parser) */
5659 void VIRTUAL_parser__ReduceAction841__action(val
* self
, val
* p0
) {
5660 parser__ReduceAction841__action(self
, p0
);
5663 /* method parser#ReduceAction842#action for (self: ReduceAction842, Parser) */
5664 void parser__ReduceAction842__action(val
* self
, val
* p0
) {
5665 val
* var_p
/* var p: Parser */;
5666 val
* var
/* : null */;
5667 val
* var_node_list
/* var node_list: nullable Object */;
5668 val
* var1
/* : nullable Object */;
5669 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5670 val
* var_tkwreadablenode2
/* var tkwreadablenode2: nullable Object */;
5671 short int var2
/* : Bool */;
5674 val
* var3
/* : AKwreadableAtid */;
5675 val
* var_patidnode1
/* var patidnode1: nullable AKwreadableAtid */;
5676 long var4
/* : Int */;
5677 long var5
/* : Int */;
5680 var_node_list
= var
;
5681 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5682 var_nodearraylist1
= var1
;
5683 var_tkwreadablenode2
= var_nodearraylist1
;
5684 /* <var_tkwreadablenode2:nullable Object> isa nullable TKwreadable */
5685 cltype
= type_nullable_parser_nodes__TKwreadable
.color
;
5686 idtype
= type_nullable_parser_nodes__TKwreadable
.id
;
5687 if(var_tkwreadablenode2
== NULL
) {
5690 if(cltype
>= var_tkwreadablenode2
->type
->table_size
) {
5693 var2
= var_tkwreadablenode2
->type
->type_table
[cltype
] == idtype
;
5697 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5698 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28628);
5701 var3
= NEW_parser_nodes__AKwreadableAtid(&type_parser_nodes__AKwreadableAtid
);
5702 ((void (*)(val
*, val
*))(var3
->class->vft
[COLOR_parser_prod__AKwreadableAtid__init_akwreadableatid
]))(var3
, var_tkwreadablenode2
) /* init_akwreadableatid on <var3:AKwreadableAtid>*/;
5703 var_patidnode1
= var3
;
5704 var_node_list
= var_patidnode1
;
5705 var4
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction842> */
5706 var5
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var4
) /* go_to on <var_p:Parser>*/;
5707 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var5
, var_node_list
) /* push on <var_p:Parser>*/;
5710 /* method parser#ReduceAction842#action for (self: Object, Parser) */
5711 void VIRTUAL_parser__ReduceAction842__action(val
* self
, val
* p0
) {
5712 parser__ReduceAction842__action(self
, p0
);
5715 /* method parser#ReduceAction843#action for (self: ReduceAction843, Parser) */
5716 void parser__ReduceAction843__action(val
* self
, val
* p0
) {
5717 val
* var_p
/* var p: Parser */;
5718 val
* var
/* : null */;
5719 val
* var_node_list
/* var node_list: nullable Object */;
5720 val
* var1
/* : nullable Object */;
5721 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5722 val
* var_tkwwritablenode2
/* var tkwwritablenode2: nullable Object */;
5723 short int var2
/* : Bool */;
5726 val
* var3
/* : AKwwritableAtid */;
5727 val
* var_patidnode1
/* var patidnode1: nullable AKwwritableAtid */;
5728 long var4
/* : Int */;
5729 long var5
/* : Int */;
5732 var_node_list
= var
;
5733 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5734 var_nodearraylist1
= var1
;
5735 var_tkwwritablenode2
= var_nodearraylist1
;
5736 /* <var_tkwwritablenode2:nullable Object> isa nullable TKwwritable */
5737 cltype
= type_nullable_parser_nodes__TKwwritable
.color
;
5738 idtype
= type_nullable_parser_nodes__TKwwritable
.id
;
5739 if(var_tkwwritablenode2
== NULL
) {
5742 if(cltype
>= var_tkwwritablenode2
->type
->table_size
) {
5745 var2
= var_tkwwritablenode2
->type
->type_table
[cltype
] == idtype
;
5749 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5750 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28643);
5753 var3
= NEW_parser_nodes__AKwwritableAtid(&type_parser_nodes__AKwwritableAtid
);
5754 ((void (*)(val
*, val
*))(var3
->class->vft
[COLOR_parser_prod__AKwwritableAtid__init_akwwritableatid
]))(var3
, var_tkwwritablenode2
) /* init_akwwritableatid on <var3:AKwwritableAtid>*/;
5755 var_patidnode1
= var3
;
5756 var_node_list
= var_patidnode1
;
5757 var4
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction843> */
5758 var5
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var4
) /* go_to on <var_p:Parser>*/;
5759 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var5
, var_node_list
) /* push on <var_p:Parser>*/;
5762 /* method parser#ReduceAction843#action for (self: Object, Parser) */
5763 void VIRTUAL_parser__ReduceAction843__action(val
* self
, val
* p0
) {
5764 parser__ReduceAction843__action(self
, p0
);
5767 /* method parser#ReduceAction844#action for (self: ReduceAction844, Parser) */
5768 void parser__ReduceAction844__action(val
* self
, val
* p0
) {
5769 val
* var_p
/* var p: Parser */;
5770 val
* var
/* : null */;
5771 val
* var_node_list
/* var node_list: nullable Object */;
5772 val
* var1
/* : nullable Object */;
5773 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5774 val
* var_tkwimportnode2
/* var tkwimportnode2: nullable Object */;
5775 short int var2
/* : Bool */;
5778 val
* var3
/* : AKwimportAtid */;
5779 val
* var_patidnode1
/* var patidnode1: nullable AKwimportAtid */;
5780 long var4
/* : Int */;
5781 long var5
/* : Int */;
5784 var_node_list
= var
;
5785 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5786 var_nodearraylist1
= var1
;
5787 var_tkwimportnode2
= var_nodearraylist1
;
5788 /* <var_tkwimportnode2:nullable Object> isa nullable TKwimport */
5789 cltype
= type_nullable_parser_nodes__TKwimport
.color
;
5790 idtype
= type_nullable_parser_nodes__TKwimport
.id
;
5791 if(var_tkwimportnode2
== NULL
) {
5794 if(cltype
>= var_tkwimportnode2
->type
->table_size
) {
5797 var2
= var_tkwimportnode2
->type
->type_table
[cltype
] == idtype
;
5801 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5802 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28658);
5805 var3
= NEW_parser_nodes__AKwimportAtid(&type_parser_nodes__AKwimportAtid
);
5806 ((void (*)(val
*, val
*))(var3
->class->vft
[COLOR_parser_prod__AKwimportAtid__init_akwimportatid
]))(var3
, var_tkwimportnode2
) /* init_akwimportatid on <var3:AKwimportAtid>*/;
5807 var_patidnode1
= var3
;
5808 var_node_list
= var_patidnode1
;
5809 var4
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction844> */
5810 var5
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var4
) /* go_to on <var_p:Parser>*/;
5811 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var5
, var_node_list
) /* push on <var_p:Parser>*/;
5814 /* method parser#ReduceAction844#action for (self: Object, Parser) */
5815 void VIRTUAL_parser__ReduceAction844__action(val
* self
, val
* p0
) {
5816 parser__ReduceAction844__action(self
, p0
);
5819 /* method parser#ReduceAction845#action for (self: ReduceAction845, Parser) */
5820 void parser__ReduceAction845__action(val
* self
, val
* p0
) {
5821 val
* var_p
/* var p: Parser */;
5822 val
* var
/* : null */;
5823 val
* var_node_list
/* var node_list: nullable Object */;
5824 val
* var1
/* : nullable Object */;
5825 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5826 val
* var2
/* : nullable Object */;
5827 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5828 val
* var3
/* : nullable Object */;
5829 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5830 val
* var4
/* : nullable Object */;
5831 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5832 val
* var5
/* : Array[Object] */;
5833 val
* var_listnode4
/* var listnode4: Array[Object] */;
5834 val
* var_toparnode2
/* var toparnode2: nullable Object */;
5835 short int var6
/* : Bool */;
5838 val
* var_listnode3
/* var listnode3: nullable Object */;
5839 short int var7
/* : Bool */;
5842 val
* var10
/* : Array[Object] */;
5843 val
* var_tcparnode5
/* var tcparnode5: nullable Object */;
5844 short int var11
/* : Bool */;
5847 val
* var14
/* : AParExprs */;
5848 val
* var_pexprsnode1
/* var pexprsnode1: nullable AParExprs */;
5849 long var15
/* : Int */;
5850 long var16
/* : Int */;
5853 var_node_list
= var
;
5854 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5855 var_nodearraylist4
= var1
;
5856 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5857 var_nodearraylist3
= var2
;
5858 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5859 var_nodearraylist2
= var3
;
5860 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5861 var_nodearraylist1
= var4
;
5862 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
5863 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
5864 var_listnode4
= var5
;
5865 var_toparnode2
= var_nodearraylist1
;
5866 /* <var_toparnode2:nullable Object> isa nullable TOpar */
5867 cltype
= type_nullable_parser_nodes__TOpar
.color
;
5868 idtype
= type_nullable_parser_nodes__TOpar
.id
;
5869 if(var_toparnode2
== NULL
) {
5872 if(cltype
>= var_toparnode2
->type
->table_size
) {
5875 var6
= var_toparnode2
->type
->type_table
[cltype
] == idtype
;
5879 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5880 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28677);
5883 var_listnode3
= var_nodearraylist3
;
5884 /* <var_listnode3:nullable Object> isa Array[Object] */
5885 cltype8
= type_array__Arraykernel__Object
.color
;
5886 idtype9
= type_array__Arraykernel__Object
.id
;
5887 if(var_listnode3
== NULL
) {
5890 if(cltype8
>= var_listnode3
->type
->table_size
) {
5893 var7
= var_listnode3
->type
->type_table
[cltype8
] == idtype9
;
5897 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5898 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28679);
5901 var10
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction845>*/;
5902 var_listnode4
= var10
;
5903 var_tcparnode5
= var_nodearraylist4
;
5904 /* <var_tcparnode5:nullable Object> isa nullable TCpar */
5905 cltype12
= type_nullable_parser_nodes__TCpar
.color
;
5906 idtype13
= type_nullable_parser_nodes__TCpar
.id
;
5907 if(var_tcparnode5
== NULL
) {
5910 if(cltype12
>= var_tcparnode5
->type
->table_size
) {
5913 var11
= var_tcparnode5
->type
->type_table
[cltype12
] == idtype13
;
5917 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5918 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28682);
5921 var14
= NEW_parser_nodes__AParExprs(&type_parser_nodes__AParExprs
);
5922 ((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>*/;
5923 var_pexprsnode1
= var14
;
5924 var_node_list
= var_pexprsnode1
;
5925 var15
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction845> */
5926 var16
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var15
) /* go_to on <var_p:Parser>*/;
5927 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var16
, var_node_list
) /* push on <var_p:Parser>*/;
5930 /* method parser#ReduceAction845#action for (self: Object, Parser) */
5931 void VIRTUAL_parser__ReduceAction845__action(val
* self
, val
* p0
) {
5932 parser__ReduceAction845__action(self
, p0
);
5935 /* method parser#ReduceAction846#action for (self: ReduceAction846, Parser) */
5936 void parser__ReduceAction846__action(val
* self
, val
* p0
) {
5937 val
* var_p
/* var p: Parser */;
5938 val
* var
/* : null */;
5939 val
* var_node_list
/* var node_list: nullable Object */;
5940 val
* var1
/* : nullable Object */;
5941 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5942 val
* var2
/* : nullable Object */;
5943 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5944 val
* var3
/* : nullable Object */;
5945 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5946 val
* var4
/* : Array[Object] */;
5947 val
* var_listnode3
/* var listnode3: Array[Object] */;
5948 val
* var_toparnode2
/* var toparnode2: nullable Object */;
5949 short int var5
/* : Bool */;
5952 val
* var_tcparnode4
/* var tcparnode4: nullable Object */;
5953 short int var6
/* : Bool */;
5956 val
* var9
/* : AParExprs */;
5957 val
* var_pexprsnode1
/* var pexprsnode1: nullable AParExprs */;
5958 long var10
/* : Int */;
5959 long var11
/* : Int */;
5962 var_node_list
= var
;
5963 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5964 var_nodearraylist3
= var1
;
5965 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5966 var_nodearraylist2
= var2
;
5967 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
5968 var_nodearraylist1
= var3
;
5969 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
5970 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
5971 var_listnode3
= var4
;
5972 var_toparnode2
= var_nodearraylist1
;
5973 /* <var_toparnode2:nullable Object> isa nullable TOpar */
5974 cltype
= type_nullable_parser_nodes__TOpar
.color
;
5975 idtype
= type_nullable_parser_nodes__TOpar
.id
;
5976 if(var_toparnode2
== NULL
) {
5979 if(cltype
>= var_toparnode2
->type
->table_size
) {
5982 var5
= var_toparnode2
->type
->type_table
[cltype
] == idtype
;
5986 fprintf(stderr
, "Runtime error: %s", "Assert failed");
5987 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28702);
5990 var_tcparnode4
= var_nodearraylist3
;
5991 /* <var_tcparnode4:nullable Object> isa nullable TCpar */
5992 cltype7
= type_nullable_parser_nodes__TCpar
.color
;
5993 idtype8
= type_nullable_parser_nodes__TCpar
.id
;
5994 if(var_tcparnode4
== NULL
) {
5997 if(cltype7
>= var_tcparnode4
->type
->table_size
) {
6000 var6
= var_tcparnode4
->type
->type_table
[cltype7
] == idtype8
;
6004 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6005 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28704);
6008 var9
= NEW_parser_nodes__AParExprs(&type_parser_nodes__AParExprs
);
6009 ((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>*/;
6010 var_pexprsnode1
= var9
;
6011 var_node_list
= var_pexprsnode1
;
6012 var10
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction846> */
6013 var11
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var10
) /* go_to on <var_p:Parser>*/;
6014 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var11
, var_node_list
) /* push on <var_p:Parser>*/;
6017 /* method parser#ReduceAction846#action for (self: Object, Parser) */
6018 void VIRTUAL_parser__ReduceAction846__action(val
* self
, val
* p0
) {
6019 parser__ReduceAction846__action(self
, p0
);
6022 /* method parser#ReduceAction847#action for (self: ReduceAction847, Parser) */
6023 void parser__ReduceAction847__action(val
* self
, val
* p0
) {
6024 val
* var_p
/* var p: Parser */;
6025 val
* var
/* : null */;
6026 val
* var_node_list
/* var node_list: nullable Object */;
6027 val
* var1
/* : Array[Object] */;
6028 val
* var_listnode2
/* var listnode2: Array[Object] */;
6029 val
* var2
/* : AListExprs */;
6030 val
* var_pexprsnode1
/* var pexprsnode1: nullable AListExprs */;
6031 long var3
/* : Int */;
6032 long var4
/* : Int */;
6035 var_node_list
= var
;
6036 var1
= NEW_array__Array(&type_array__Arraykernel__Object
);
6037 ((void (*)(val
*))(var1
->class->vft
[COLOR_array__Array__init
]))(var1
) /* init on <var1:Array[Object]>*/;
6038 var_listnode2
= var1
;
6039 var2
= NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs
);
6040 ((void (*)(val
*, val
*))(var2
->class->vft
[COLOR_parser_prod__AListExprs__init_alistexprs
]))(var2
, var_listnode2
) /* init_alistexprs on <var2:AListExprs>*/;
6041 var_pexprsnode1
= var2
;
6042 var_node_list
= var_pexprsnode1
;
6043 var3
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction847> */
6044 var4
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var3
) /* go_to on <var_p:Parser>*/;
6045 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var4
, var_node_list
) /* push on <var_p:Parser>*/;
6048 /* method parser#ReduceAction847#action for (self: Object, Parser) */
6049 void VIRTUAL_parser__ReduceAction847__action(val
* self
, val
* p0
) {
6050 parser__ReduceAction847__action(self
, p0
);
6053 /* method parser#ReduceAction849#action for (self: ReduceAction849, Parser) */
6054 void parser__ReduceAction849__action(val
* self
, val
* p0
) {
6055 val
* var_p
/* var p: Parser */;
6056 val
* var
/* : null */;
6057 val
* var_node_list
/* var node_list: nullable Object */;
6058 val
* var1
/* : nullable Object */;
6059 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6060 val
* var2
/* : Array[Object] */;
6061 val
* var_listnode3
/* var listnode3: Array[Object] */;
6062 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
6063 short int var3
/* : Bool */;
6066 val
* var4
/* : null */;
6067 short int var5
/* : Bool */;
6068 val
* var6
/* : AListExprs */;
6069 val
* var_pexprsnode1
/* var pexprsnode1: nullable AListExprs */;
6070 long var7
/* : Int */;
6071 long var8
/* : Int */;
6074 var_node_list
= var
;
6075 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6076 var_nodearraylist1
= var1
;
6077 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
6078 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
6079 var_listnode3
= var2
;
6080 var_pexprnode2
= var_nodearraylist1
;
6081 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
6082 cltype
= type_nullable_parser_nodes__AExpr
.color
;
6083 idtype
= type_nullable_parser_nodes__AExpr
.id
;
6084 if(var_pexprnode2
== NULL
) {
6087 if(cltype
>= var_pexprnode2
->type
->table_size
) {
6090 var3
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
6094 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6095 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28735);
6099 if (var_pexprnode2
== NULL
) {
6100 var5
= 0; /* is null */
6102 var5
= 1; /* arg is null and recv is not */
6105 ((void (*)(val
*, val
*))(var_listnode3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode3
, var_pexprnode2
) /* add on <var_listnode3:Array[Object]>*/;
6108 var6
= NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs
);
6109 ((void (*)(val
*, val
*))(var6
->class->vft
[COLOR_parser_prod__AListExprs__init_alistexprs
]))(var6
, var_listnode3
) /* init_alistexprs on <var6:AListExprs>*/;
6110 var_pexprsnode1
= var6
;
6111 var_node_list
= var_pexprsnode1
;
6112 var7
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction849> */
6113 var8
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var7
) /* go_to on <var_p:Parser>*/;
6114 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var8
, var_node_list
) /* push on <var_p:Parser>*/;
6117 /* method parser#ReduceAction849#action for (self: Object, Parser) */
6118 void VIRTUAL_parser__ReduceAction849__action(val
* self
, val
* p0
) {
6119 parser__ReduceAction849__action(self
, p0
);
6122 /* method parser#ReduceAction852#action for (self: ReduceAction852, Parser) */
6123 void parser__ReduceAction852__action(val
* self
, val
* p0
) {
6124 val
* var_p
/* var p: Parser */;
6125 val
* var
/* : null */;
6126 val
* var_node_list
/* var node_list: nullable Object */;
6127 val
* var1
/* : nullable Object */;
6128 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6129 val
* var2
/* : nullable Object */;
6130 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6131 val
* var3
/* : nullable Object */;
6132 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6133 val
* var4
/* : nullable Object */;
6134 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6135 val
* var5
/* : Array[Object] */;
6136 val
* var_listnode4
/* var listnode4: Array[Object] */;
6137 val
* var_tobranode2
/* var tobranode2: nullable Object */;
6138 short int var6
/* : Bool */;
6141 val
* var_listnode3
/* var listnode3: nullable Object */;
6142 short int var7
/* : Bool */;
6145 val
* var10
/* : Array[Object] */;
6146 val
* var_tcbranode5
/* var tcbranode5: nullable Object */;
6147 short int var11
/* : Bool */;
6150 val
* var14
/* : ABraExprs */;
6151 val
* var_pexprsnode1
/* var pexprsnode1: nullable ABraExprs */;
6152 long var15
/* : Int */;
6153 long var16
/* : Int */;
6156 var_node_list
= var
;
6157 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6158 var_nodearraylist4
= var1
;
6159 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6160 var_nodearraylist3
= var2
;
6161 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6162 var_nodearraylist2
= var3
;
6163 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
6164 var_nodearraylist1
= var4
;
6165 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
6166 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
6167 var_listnode4
= var5
;
6168 var_tobranode2
= var_nodearraylist1
;
6169 /* <var_tobranode2:nullable Object> isa nullable TObra */
6170 cltype
= type_nullable_parser_nodes__TObra
.color
;
6171 idtype
= type_nullable_parser_nodes__TObra
.id
;
6172 if(var_tobranode2
== NULL
) {
6175 if(cltype
>= var_tobranode2
->type
->table_size
) {
6178 var6
= var_tobranode2
->type
->type_table
[cltype
] == idtype
;
6182 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6183 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28757);
6186 var_listnode3
= var_nodearraylist3
;
6187 /* <var_listnode3:nullable Object> isa Array[Object] */
6188 cltype8
= type_array__Arraykernel__Object
.color
;
6189 idtype9
= type_array__Arraykernel__Object
.id
;
6190 if(var_listnode3
== NULL
) {
6193 if(cltype8
>= var_listnode3
->type
->table_size
) {
6196 var7
= var_listnode3
->type
->type_table
[cltype8
] == idtype9
;
6200 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6201 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28759);
6204 var10
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction852>*/;
6205 var_listnode4
= var10
;
6206 var_tcbranode5
= var_nodearraylist4
;
6207 /* <var_tcbranode5:nullable Object> isa nullable TCbra */
6208 cltype12
= type_nullable_parser_nodes__TCbra
.color
;
6209 idtype13
= type_nullable_parser_nodes__TCbra
.id
;
6210 if(var_tcbranode5
== NULL
) {
6213 if(cltype12
>= var_tcbranode5
->type
->table_size
) {
6216 var11
= var_tcbranode5
->type
->type_table
[cltype12
] == idtype13
;
6220 fprintf(stderr
, "Runtime error: %s", "Assert failed");
6221 fprintf(stderr
, " (%s:%d)\n", "src/parser/parser.nit", 28762);
6224 var14
= NEW_parser_nodes__ABraExprs(&type_parser_nodes__ABraExprs
);
6225 ((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>*/;
6226 var_pexprsnode1
= var14
;
6227 var_node_list
= var_pexprsnode1
;
6228 var15
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction852> */
6229 var16
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var15
) /* go_to on <var_p:Parser>*/;
6230 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var16
, var_node_list
) /* push on <var_p:Parser>*/;
6233 /* method parser#ReduceAction852#action for (self: Object, Parser) */
6234 void VIRTUAL_parser__ReduceAction852__action(val
* self
, val
* p0
) {
6235 parser__ReduceAction852__action(self
, p0
);
6238 /* method parser#ReduceAction854#action for (self: ReduceAction854, Parser) */
6239 void parser__ReduceAction854__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", 28783);
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:ReduceAction854>*/;
6303 var_listnode3
= var8
;
6304 var_node_list
= var_listnode3
;
6305 var9
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction854> */
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#ReduceAction854#action for (self: Object, Parser) */
6311 void VIRTUAL_parser__ReduceAction854__action(val
* self
, val
* p0
) {
6312 parser__ReduceAction854__action(self
, p0
);
6315 /* method parser#ReduceAction855#action for (self: ReduceAction855, Parser) */
6316 void parser__ReduceAction855__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:ReduceAction855> */
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#ReduceAction855#action for (self: Object, Parser) */
6350 void VIRTUAL_parser__ReduceAction855__action(val
* self
, val
* p0
) {
6351 parser__ReduceAction855__action(self
, p0
);
6354 /* method parser#ReduceAction856#action for (self: ReduceAction856, Parser) */
6355 void parser__ReduceAction856__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:ReduceAction856> */
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#ReduceAction856#action for (self: Object, Parser) */
6394 void VIRTUAL_parser__ReduceAction856__action(val
* self
, val
* p0
) {
6395 parser__ReduceAction856__action(self
, p0
);
6398 /* method parser#ReduceAction857#action for (self: ReduceAction857, Parser) */
6399 void parser__ReduceAction857__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", 28833);
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:ReduceAction857>*/;
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:ReduceAction857> */
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#ReduceAction857#action for (self: Object, Parser) */
6479 void VIRTUAL_parser__ReduceAction857__action(val
* self
, val
* p0
) {
6480 parser__ReduceAction857__action(self
, p0
);
6483 /* method parser#ReduceAction858#action for (self: ReduceAction858, Parser) */
6484 void parser__ReduceAction858__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", 28851);
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:ReduceAction858> */
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#ReduceAction858#action for (self: Object, Parser) */
6538 void VIRTUAL_parser__ReduceAction858__action(val
* self
, val
* p0
) {
6539 parser__ReduceAction858__action(self
, p0
);
6542 /* method parser#ReduceAction859#action for (self: ReduceAction859, Parser) */
6543 void parser__ReduceAction859__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", 28870);
6595 var5
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction859>*/;
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", 28873);
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:ReduceAction859> */
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#ReduceAction859#action for (self: Object, Parser) */
6626 void VIRTUAL_parser__ReduceAction859__action(val
* self
, val
* p0
) {
6627 parser__ReduceAction859__action(self
, p0
);
6630 /* method parser#ReduceAction860#action for (self: ReduceAction860, Parser) */
6631 void parser__ReduceAction860__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", 28893);
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", 28895);
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:ReduceAction860> */
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#ReduceAction860#action for (self: Object, Parser) */
6713 void VIRTUAL_parser__ReduceAction860__action(val
* self
, val
* p0
) {
6714 parser__ReduceAction860__action(self
, p0
);
6717 /* method parser#ReduceAction861#action for (self: ReduceAction861, Parser) */
6718 void parser__ReduceAction861__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", 28916);
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", 28918);
6799 var10
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction861>*/;
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", 28921);
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:ReduceAction861> */
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#ReduceAction861#action for (self: Object, Parser) */
6829 void VIRTUAL_parser__ReduceAction861__action(val
* self
, val
* p0
) {
6830 parser__ReduceAction861__action(self
, p0
);
6833 /* method parser#ReduceAction862#action for (self: ReduceAction862, Parser) */
6834 void parser__ReduceAction862__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:ReduceAction862> */
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#ReduceAction862#action for (self: Object, Parser) */
6864 void VIRTUAL_parser__ReduceAction862__action(val
* self
, val
* p0
) {
6865 parser__ReduceAction862__action(self
, p0
);
6868 /* method parser#ReduceAction863#action for (self: ReduceAction863, Parser) */
6869 void parser__ReduceAction863__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:ReduceAction863> */
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#ReduceAction863#action for (self: Object, Parser) */
6899 void VIRTUAL_parser__ReduceAction863__action(val
* self
, val
* p0
) {
6900 parser__ReduceAction863__action(self
, p0
);
6903 /* method parser#ReduceAction864#action for (self: ReduceAction864, Parser) */
6904 void parser__ReduceAction864__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:ReduceAction864> */
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#ReduceAction864#action for (self: Object, Parser) */
6923 void VIRTUAL_parser__ReduceAction864__action(val
* self
, val
* p0
) {
6924 parser__ReduceAction864__action(self
, p0
);
6927 /* method parser#ReduceAction866#action for (self: ReduceAction866, Parser) */
6928 void parser__ReduceAction866__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", 28974);
6971 var4
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode2
) /* concat on <self:ReduceAction866>*/;
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:ReduceAction866> */
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#ReduceAction866#action for (self: Object, Parser) */
6983 void VIRTUAL_parser__ReduceAction866__action(val
* self
, val
* p0
) {
6984 parser__ReduceAction866__action(self
, p0
);
6987 /* method parser#ReduceAction867#action for (self: ReduceAction867, Parser) */
6988 void parser__ReduceAction867__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", 28992);
7035 var5
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode2
) /* concat on <self:ReduceAction867>*/;
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:ReduceAction867> */
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#ReduceAction867#action for (self: Object, Parser) */
7047 void VIRTUAL_parser__ReduceAction867__action(val
* self
, val
* p0
) {
7048 parser__ReduceAction867__action(self
, p0
);
7051 /* method parser#ReduceAction869#action for (self: ReduceAction869, Parser) */
7052 void parser__ReduceAction869__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:ReduceAction869> */
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#ReduceAction869#action for (self: Object, Parser) */
7070 void VIRTUAL_parser__ReduceAction869__action(val
* self
, val
* p0
) {
7071 parser__ReduceAction869__action(self
, p0
);
7074 /* method parser#ReduceAction870#action for (self: ReduceAction870, Parser) */
7075 void parser__ReduceAction870__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:ReduceAction870> */
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#ReduceAction870#action for (self: Object, Parser) */
7097 void VIRTUAL_parser__ReduceAction870__action(val
* self
, val
* p0
) {
7098 parser__ReduceAction870__action(self
, p0
);
7101 /* method parser#ReduceAction871#action for (self: ReduceAction871, Parser) */
7102 void parser__ReduceAction871__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:ReduceAction871> */
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#ReduceAction871#action for (self: Object, Parser) */
7125 void VIRTUAL_parser__ReduceAction871__action(val
* self
, val
* p0
) {
7126 parser__ReduceAction871__action(self
, p0
);
7129 /* method parser#ReduceAction872#action for (self: ReduceAction872, Parser) */
7130 void parser__ReduceAction872__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:ReduceAction872> */
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#ReduceAction872#action for (self: Object, Parser) */
7157 void VIRTUAL_parser__ReduceAction872__action(val
* self
, val
* p0
) {
7158 parser__ReduceAction872__action(self
, p0
);
7161 /* method parser#ReduceAction1217#action for (self: ReduceAction1217, Parser) */
7162 void parser__ReduceAction1217__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", 29051);
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", 29053);
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", 29055);
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:ReduceAction1217> */
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#ReduceAction1217#action for (self: Object, Parser) */
7261 void VIRTUAL_parser__ReduceAction1217__action(val
* self
, val
* p0
) {
7262 parser__ReduceAction1217__action(self
, p0
);
7265 /* method parser#ReduceAction1218#action for (self: ReduceAction1218, Parser) */
7266 void parser__ReduceAction1218__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", 29075);
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", 29077);
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", 29079);
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:ReduceAction1218> */
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#ReduceAction1218#action for (self: Object, Parser) */
7369 void VIRTUAL_parser__ReduceAction1218__action(val
* self
, val
* p0
) {
7370 parser__ReduceAction1218__action(self
, p0
);
7373 /* method parser#ReduceAction1221#action for (self: ReduceAction1221, Parser) */
7374 void parser__ReduceAction1221__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", 29097);
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", 29099);
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:ReduceAction1221> */
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#ReduceAction1221#action for (self: Object, Parser) */
7447 void VIRTUAL_parser__ReduceAction1221__action(val
* self
, val
* p0
) {
7448 parser__ReduceAction1221__action(self
, p0
);
7451 /* method parser#ReduceAction1222#action for (self: ReduceAction1222, Parser) */
7452 void parser__ReduceAction1222__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", 29117);
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", 29119);
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:ReduceAction1222> */
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#ReduceAction1222#action for (self: Object, Parser) */
7529 void VIRTUAL_parser__ReduceAction1222__action(val
* self
, val
* p0
) {
7530 parser__ReduceAction1222__action(self
, p0
);
7533 /* method parser#ReduceAction1225#action for (self: ReduceAction1225, Parser) */
7534 void parser__ReduceAction1225__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", 29137);
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", 29139);
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", 29141);
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:ReduceAction1225> */
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#ReduceAction1225#action for (self: Object, Parser) */
7633 void VIRTUAL_parser__ReduceAction1225__action(val
* self
, val
* p0
) {
7634 parser__ReduceAction1225__action(self
, p0
);
7637 /* method parser#ReduceAction1226#action for (self: ReduceAction1226, Parser) */
7638 void parser__ReduceAction1226__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", 29161);
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", 29163);
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", 29165);
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:ReduceAction1226> */
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#ReduceAction1226#action for (self: Object, Parser) */
7741 void VIRTUAL_parser__ReduceAction1226__action(val
* self
, val
* p0
) {
7742 parser__ReduceAction1226__action(self
, p0
);
7745 /* method parser#ReduceAction1233#action for (self: ReduceAction1233, Parser) */
7746 void parser__ReduceAction1233__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", 29184);
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", 29186);
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", 29188);
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:ReduceAction1233> */
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#ReduceAction1233#action for (self: Object, Parser) */
7845 void VIRTUAL_parser__ReduceAction1233__action(val
* self
, val
* p0
) {
7846 parser__ReduceAction1233__action(self
, p0
);
7849 /* method parser#ReduceAction1257#action for (self: ReduceAction1257, Parser) */
7850 void parser__ReduceAction1257__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:ReduceAction1257> */
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#ReduceAction1257#action for (self: Object, Parser) */
7880 void VIRTUAL_parser__ReduceAction1257__action(val
* self
, val
* p0
) {
7881 parser__ReduceAction1257__action(self
, p0
);
7884 /* method parser#ReduceAction1258#action for (self: ReduceAction1258, Parser) */
7885 void parser__ReduceAction1258__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:ReduceAction1258> */
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#ReduceAction1258#action for (self: Object, Parser) */
7906 void VIRTUAL_parser__ReduceAction1258__action(val
* self
, val
* p0
) {
7907 parser__ReduceAction1258__action(self
, p0
);
7910 /* method parser#ReduceAction1526#action for (self: ReduceAction1526, Parser) */
7911 void parser__ReduceAction1526__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:ReduceAction1526> */
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#ReduceAction1526#action for (self: Object, Parser) */
7950 void VIRTUAL_parser__ReduceAction1526__action(val
* self
, val
* p0
) {
7951 parser__ReduceAction1526__action(self
, p0
);
7954 /* method parser#ReduceAction1527#action for (self: ReduceAction1527, Parser) */
7955 void parser__ReduceAction1527__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", 29245);
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:ReduceAction1527>*/;
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:ReduceAction1527> */
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#ReduceAction1527#action for (self: Object, Parser) */
8023 void VIRTUAL_parser__ReduceAction1527__action(val
* self
, val
* p0
) {
8024 parser__ReduceAction1527__action(self
, p0
);
8027 /* method parser#ReduceAction1528#action for (self: ReduceAction1528, Parser) */
8028 void parser__ReduceAction1528__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:ReduceAction1528> */
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#ReduceAction1528#action for (self: Object, Parser) */
8067 void VIRTUAL_parser__ReduceAction1528__action(val
* self
, val
* p0
) {
8068 parser__ReduceAction1528__action(self
, p0
);
8071 /* method parser#ReduceAction1529#action for (self: ReduceAction1529, Parser) */
8072 void parser__ReduceAction1529__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", 29279);
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:ReduceAction1529>*/;
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:ReduceAction1529> */
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#ReduceAction1529#action for (self: Object, Parser) */
8140 void VIRTUAL_parser__ReduceAction1529__action(val
* self
, val
* p0
) {
8141 parser__ReduceAction1529__action(self
, p0
);
8144 /* method parser#ReduceAction1530#action for (self: ReduceAction1530, Parser) */
8145 void parser__ReduceAction1530__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:ReduceAction1530> */
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#ReduceAction1530#action for (self: Object, Parser) */
8184 void VIRTUAL_parser__ReduceAction1530__action(val
* self
, val
* p0
) {
8185 parser__ReduceAction1530__action(self
, p0
);
8188 /* method parser#ReduceAction1531#action for (self: ReduceAction1531, Parser) */
8189 void parser__ReduceAction1531__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", 29313);
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:ReduceAction1531>*/;
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:ReduceAction1531> */
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#ReduceAction1531#action for (self: Object, Parser) */
8257 void VIRTUAL_parser__ReduceAction1531__action(val
* self
, val
* p0
) {
8258 parser__ReduceAction1531__action(self
, p0
);
8261 /* method parser#ReduceAction1532#action for (self: ReduceAction1532, Parser) */
8262 void parser__ReduceAction1532__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:ReduceAction1532> */
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#ReduceAction1532#action for (self: Object, Parser) */
8301 void VIRTUAL_parser__ReduceAction1532__action(val
* self
, val
* p0
) {
8302 parser__ReduceAction1532__action(self
, p0
);
8305 /* method parser#ReduceAction1533#action for (self: ReduceAction1533, Parser) */
8306 void parser__ReduceAction1533__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", 29347);
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:ReduceAction1533>*/;
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:ReduceAction1533> */
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#ReduceAction1533#action for (self: Object, Parser) */
8374 void VIRTUAL_parser__ReduceAction1533__action(val
* self
, val
* p0
) {
8375 parser__ReduceAction1533__action(self
, p0
);
8378 /* method parser#ReduceAction1534#action for (self: ReduceAction1534, Parser) */
8379 void parser__ReduceAction1534__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:ReduceAction1534> */
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#ReduceAction1534#action for (self: Object, Parser) */
8418 void VIRTUAL_parser__ReduceAction1534__action(val
* self
, val
* p0
) {
8419 parser__ReduceAction1534__action(self
, p0
);
8422 /* method parser#ReduceAction1535#action for (self: ReduceAction1535, Parser) */
8423 void parser__ReduceAction1535__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", 29381);
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:ReduceAction1535>*/;
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:ReduceAction1535> */
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#ReduceAction1535#action for (self: Object, Parser) */
8491 void VIRTUAL_parser__ReduceAction1535__action(val
* self
, val
* p0
) {
8492 parser__ReduceAction1535__action(self
, p0
);
8495 /* method parser#ReduceAction1538#action for (self: ReduceAction1538, Parser) */
8496 void parser__ReduceAction1538__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:ReduceAction1538> */
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#ReduceAction1538#action for (self: Object, Parser) */
8535 void VIRTUAL_parser__ReduceAction1538__action(val
* self
, val
* p0
) {
8536 parser__ReduceAction1538__action(self
, p0
);
8539 /* method parser#ReduceAction1539#action for (self: ReduceAction1539, Parser) */
8540 void parser__ReduceAction1539__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", 29415);
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:ReduceAction1539>*/;
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:ReduceAction1539> */
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#ReduceAction1539#action for (self: Object, Parser) */
8608 void VIRTUAL_parser__ReduceAction1539__action(val
* self
, val
* p0
) {
8609 parser__ReduceAction1539__action(self
, p0
);
8612 /* method parser#ReduceAction1540#action for (self: ReduceAction1540, Parser) */
8613 void parser__ReduceAction1540__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:ReduceAction1540> */
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#ReduceAction1540#action for (self: Object, Parser) */
8652 void VIRTUAL_parser__ReduceAction1540__action(val
* self
, val
* p0
) {
8653 parser__ReduceAction1540__action(self
, p0
);
8656 /* method parser#ReduceAction1541#action for (self: ReduceAction1541, Parser) */
8657 void parser__ReduceAction1541__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", 29449);
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:ReduceAction1541>*/;
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:ReduceAction1541> */
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#ReduceAction1541#action for (self: Object, Parser) */
8725 void VIRTUAL_parser__ReduceAction1541__action(val
* self
, val
* p0
) {
8726 parser__ReduceAction1541__action(self
, p0
);
8729 /* method parser#ReduceAction1542#action for (self: ReduceAction1542, Parser) */
8730 void parser__ReduceAction1542__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:ReduceAction1542> */
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#ReduceAction1542#action for (self: Object, Parser) */
8769 void VIRTUAL_parser__ReduceAction1542__action(val
* self
, val
* p0
) {
8770 parser__ReduceAction1542__action(self
, p0
);
8773 /* method parser#ReduceAction1543#action for (self: ReduceAction1543, Parser) */
8774 void parser__ReduceAction1543__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", 29483);
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:ReduceAction1543>*/;
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:ReduceAction1543> */
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#ReduceAction1543#action for (self: Object, Parser) */
8842 void VIRTUAL_parser__ReduceAction1543__action(val
* self
, val
* p0
) {
8843 parser__ReduceAction1543__action(self
, p0
);
8846 /* method parser#ReduceAction1545#action for (self: ReduceAction1545, Parser) */
8847 void parser__ReduceAction1545__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", 29502);
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:ReduceAction1545>*/;
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:ReduceAction1545> */
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#ReduceAction1545#action for (self: Object, Parser) */
8915 void VIRTUAL_parser__ReduceAction1545__action(val
* self
, val
* p0
) {
8916 parser__ReduceAction1545__action(self
, p0
);
8919 /* method parser#ReduceAction1546#action for (self: ReduceAction1546, Parser) */
8920 void parser__ReduceAction1546__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:ReduceAction1546> */
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#ReduceAction1546#action for (self: Object, Parser) */
8959 void VIRTUAL_parser__ReduceAction1546__action(val
* self
, val
* p0
) {
8960 parser__ReduceAction1546__action(self
, p0
);
8963 /* method parser#ReduceAction1547#action for (self: ReduceAction1547, Parser) */
8964 void parser__ReduceAction1547__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", 29536);
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:ReduceAction1547>*/;
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:ReduceAction1547> */
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#ReduceAction1547#action for (self: Object, Parser) */
9032 void VIRTUAL_parser__ReduceAction1547__action(val
* self
, val
* p0
) {
9033 parser__ReduceAction1547__action(self
, p0
);
9036 /* method parser#ReduceAction1548#action for (self: ReduceAction1548, Parser) */
9037 void parser__ReduceAction1548__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", 29554);
9078 var4
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode2
, var_listnode1
) /* concat on <self:ReduceAction1548>*/;
9079 var_listnode2
= var4
;
9080 var_node_list
= var_listnode2
;
9081 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1548> */
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#ReduceAction1548#action for (self: Object, Parser) */
9087 void VIRTUAL_parser__ReduceAction1548__action(val
* self
, val
* p0
) {
9088 parser__ReduceAction1548__action(self
, p0
);
9091 /* method parser#ReduceAction1549#action for (self: ReduceAction1549, Parser) */
9092 void parser__ReduceAction1549__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", 29569);
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", 29571);
9160 var8
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode1
) /* concat on <self:ReduceAction1549>*/;
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:ReduceAction1549>*/;
9163 var_listnode3
= var9
;
9164 var_node_list
= var_listnode3
;
9165 var10
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1549> */
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#ReduceAction1549#action for (self: Object, Parser) */
9171 void VIRTUAL_parser__ReduceAction1549__action(val
* self
, val
* p0
) {
9172 parser__ReduceAction1549__action(self
, p0
);
9175 /* method parser#ReduceAction1551#action for (self: ReduceAction1551, Parser) */
9176 void parser__ReduceAction1551__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", 29587);
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:ReduceAction1551>*/;
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:ReduceAction1551> */
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#ReduceAction1551#action for (self: Object, Parser) */
9244 void VIRTUAL_parser__ReduceAction1551__action(val
* self
, val
* p0
) {
9245 parser__ReduceAction1551__action(self
, p0
);
9248 /* method parser#ReduceAction1555#action for (self: ReduceAction1555, Parser) */
9249 void parser__ReduceAction1555__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", 29606);
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:ReduceAction1555>*/;
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:ReduceAction1555> */
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#ReduceAction1555#action for (self: Object, Parser) */
9317 void VIRTUAL_parser__ReduceAction1555__action(val
* self
, val
* p0
) {
9318 parser__ReduceAction1555__action(self
, p0
);
9321 /* method parser#ReduceAction1559#action for (self: ReduceAction1559, Parser) */
9322 void parser__ReduceAction1559__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", 29625);
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:ReduceAction1559>*/;
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:ReduceAction1559> */
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#ReduceAction1559#action for (self: Object, Parser) */
9390 void VIRTUAL_parser__ReduceAction1559__action(val
* self
, val
* p0
) {
9391 parser__ReduceAction1559__action(self
, p0
);
9394 /* method parser#ReduceAction1560#action for (self: ReduceAction1560, Parser) */
9395 void parser__ReduceAction1560__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:ReduceAction1560> */
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#ReduceAction1560#action for (self: Object, Parser) */
9434 void VIRTUAL_parser__ReduceAction1560__action(val
* self
, val
* p0
) {
9435 parser__ReduceAction1560__action(self
, p0
);
9438 /* method parser#ReduceAction1561#action for (self: ReduceAction1561, Parser) */
9439 void parser__ReduceAction1561__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", 29659);
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:ReduceAction1561>*/;
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:ReduceAction1561> */
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#ReduceAction1561#action for (self: Object, Parser) */
9507 void VIRTUAL_parser__ReduceAction1561__action(val
* self
, val
* p0
) {
9508 parser__ReduceAction1561__action(self
, p0
);
9511 /* method parser#ReduceAction1562#action for (self: ReduceAction1562, Parser) */
9512 void parser__ReduceAction1562__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:ReduceAction1562> */
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#ReduceAction1562#action for (self: Object, Parser) */
9551 void VIRTUAL_parser__ReduceAction1562__action(val
* self
, val
* p0
) {
9552 parser__ReduceAction1562__action(self
, p0
);
9555 /* method parser#ReduceAction1563#action for (self: ReduceAction1563, Parser) */
9556 void parser__ReduceAction1563__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", 29693);
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:ReduceAction1563>*/;
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:ReduceAction1563> */
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#ReduceAction1563#action for (self: Object, Parser) */
9624 void VIRTUAL_parser__ReduceAction1563__action(val
* self
, val
* p0
) {
9625 parser__ReduceAction1563__action(self
, p0
);