1 #include "parser.sep.0.h"
2 /* method parser#ReduceAction885#action for (self: Object, Parser) */
3 void VIRTUAL_parser__ReduceAction885__action(val
* self
, val
* p0
) {
4 parser__ReduceAction885__action(self
, p0
);
7 /* method parser#ReduceAction886#action for (self: ReduceAction886, Parser) */
8 void parser__ReduceAction886__action(val
* self
, val
* p0
) {
9 val
* var_p
/* var p: Parser */;
10 val
* var
/* : null */;
11 val
* var_node_list
/* var node_list: nullable Object */;
12 val
* var1
/* : nullable Object */;
13 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
14 val
* var2
/* : nullable Object */;
15 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
16 val
* var3
/* : nullable Object */;
17 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
18 val
* var_patargnode1
/* var patargnode1: nullable Object */;
19 long var4
/* : Int */;
20 long var5
/* : Int */;
24 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
25 var_nodearraylist3
= var1
;
26 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
27 var_nodearraylist2
= var2
;
28 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
29 var_nodearraylist1
= var3
;
30 var_patargnode1
= var_nodearraylist3
;
31 var_node_list
= var_patargnode1
;
32 var4
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction886> */
33 var5
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var4
) /* go_to on <var_p:Parser>*/;
34 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var5
, var_node_list
) /* push on <var_p:Parser>*/;
37 /* method parser#ReduceAction886#action for (self: Object, Parser) */
38 void VIRTUAL_parser__ReduceAction886__action(val
* self
, val
* p0
) {
39 parser__ReduceAction886__action(self
, p0
);
42 /* method parser#ReduceAction887#action for (self: ReduceAction887, Parser) */
43 void parser__ReduceAction887__action(val
* self
, val
* p0
) {
44 val
* var_p
/* var p: Parser */;
45 val
* var
/* : null */;
46 val
* var_node_list
/* var node_list: nullable Object */;
47 val
* var1
/* : nullable Object */;
48 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
49 val
* var_ptypenode2
/* var ptypenode2: nullable Object */;
50 short int var2
/* : Bool */;
53 val
* var3
/* : ATypeAtArg */;
54 val
* var_patargnode1
/* var patargnode1: nullable ATypeAtArg */;
55 long var4
/* : Int */;
56 long var5
/* : Int */;
60 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
61 var_nodearraylist1
= var1
;
62 var_ptypenode2
= var_nodearraylist1
;
63 /* <var_ptypenode2:nullable Object> isa nullable AType */
64 cltype
= type_nullable_parser_nodes__AType
.color
;
65 idtype
= type_nullable_parser_nodes__AType
.id
;
66 if(var_ptypenode2
== NULL
) {
69 if(cltype
>= var_ptypenode2
->type
->table_size
) {
72 var2
= var_ptypenode2
->type
->type_table
[cltype
] == idtype
;
76 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30053);
79 var3
= NEW_parser_nodes__ATypeAtArg(&type_parser_nodes__ATypeAtArg
);
80 ((void (*)(val
*, val
*))(var3
->class->vft
[COLOR_parser_prod__ATypeAtArg__init_atypeatarg
]))(var3
, var_ptypenode2
) /* init_atypeatarg on <var3:ATypeAtArg>*/;
81 CHECK_NEW_parser_nodes__ATypeAtArg(var3
);
82 var_patargnode1
= var3
;
83 var_node_list
= var_patargnode1
;
84 var4
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction887> */
85 var5
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var4
) /* go_to on <var_p:Parser>*/;
86 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var5
, var_node_list
) /* push on <var_p:Parser>*/;
89 /* method parser#ReduceAction887#action for (self: Object, Parser) */
90 void VIRTUAL_parser__ReduceAction887__action(val
* self
, val
* p0
) {
91 parser__ReduceAction887__action(self
, p0
);
94 /* method parser#ReduceAction888#action for (self: ReduceAction888, Parser) */
95 void parser__ReduceAction888__action(val
* self
, val
* p0
) {
96 val
* var_p
/* var p: Parser */;
97 val
* var
/* : null */;
98 val
* var_node_list
/* var node_list: nullable Object */;
99 val
* var1
/* : nullable Object */;
100 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
101 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
102 short int var2
/* : Bool */;
105 val
* var3
/* : AExprAtArg */;
106 val
* var_patargnode1
/* var patargnode1: nullable AExprAtArg */;
107 long var4
/* : Int */;
108 long var5
/* : Int */;
112 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
113 var_nodearraylist1
= var1
;
114 var_pexprnode2
= var_nodearraylist1
;
115 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
116 cltype
= type_nullable_parser_nodes__AExpr
.color
;
117 idtype
= type_nullable_parser_nodes__AExpr
.id
;
118 if(var_pexprnode2
== NULL
) {
121 if(cltype
>= var_pexprnode2
->type
->table_size
) {
124 var2
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
128 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30068);
131 var3
= NEW_parser_nodes__AExprAtArg(&type_parser_nodes__AExprAtArg
);
132 ((void (*)(val
*, val
*))(var3
->class->vft
[COLOR_parser_prod__AExprAtArg__init_aexpratarg
]))(var3
, var_pexprnode2
) /* init_aexpratarg on <var3:AExprAtArg>*/;
133 CHECK_NEW_parser_nodes__AExprAtArg(var3
);
134 var_patargnode1
= var3
;
135 var_node_list
= var_patargnode1
;
136 var4
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction888> */
137 var5
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var4
) /* go_to on <var_p:Parser>*/;
138 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var5
, var_node_list
) /* push on <var_p:Parser>*/;
141 /* method parser#ReduceAction888#action for (self: Object, Parser) */
142 void VIRTUAL_parser__ReduceAction888__action(val
* self
, val
* p0
) {
143 parser__ReduceAction888__action(self
, p0
);
146 /* method parser#ReduceAction890#action for (self: ReduceAction890, Parser) */
147 void parser__ReduceAction890__action(val
* self
, val
* p0
) {
148 val
* var_p
/* var p: Parser */;
149 val
* var
/* : null */;
150 val
* var_node_list
/* var node_list: nullable Object */;
151 val
* var1
/* : nullable Object */;
152 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
153 val
* var_pannotationsnode2
/* var pannotationsnode2: nullable Object */;
154 short int var2
/* : Bool */;
157 val
* var3
/* : AAtAtArg */;
158 val
* var_patargnode1
/* var patargnode1: nullable AAtAtArg */;
159 long var4
/* : Int */;
160 long var5
/* : Int */;
164 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
165 var_nodearraylist1
= var1
;
166 var_pannotationsnode2
= var_nodearraylist1
;
167 /* <var_pannotationsnode2:nullable Object> isa nullable AAnnotations */
168 cltype
= type_nullable_parser_nodes__AAnnotations
.color
;
169 idtype
= type_nullable_parser_nodes__AAnnotations
.id
;
170 if(var_pannotationsnode2
== NULL
) {
173 if(cltype
>= var_pannotationsnode2
->type
->table_size
) {
176 var2
= var_pannotationsnode2
->type
->type_table
[cltype
] == idtype
;
180 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30083);
183 var3
= NEW_parser_nodes__AAtAtArg(&type_parser_nodes__AAtAtArg
);
184 ((void (*)(val
*, val
*))(var3
->class->vft
[COLOR_parser_prod__AAtAtArg__init_aatatarg
]))(var3
, var_pannotationsnode2
) /* init_aatatarg on <var3:AAtAtArg>*/;
185 CHECK_NEW_parser_nodes__AAtAtArg(var3
);
186 var_patargnode1
= var3
;
187 var_node_list
= var_patargnode1
;
188 var4
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction890> */
189 var5
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var4
) /* go_to on <var_p:Parser>*/;
190 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var5
, var_node_list
) /* push on <var_p:Parser>*/;
193 /* method parser#ReduceAction890#action for (self: Object, Parser) */
194 void VIRTUAL_parser__ReduceAction890__action(val
* self
, val
* p0
) {
195 parser__ReduceAction890__action(self
, p0
);
198 /* method parser#ReduceAction891#action for (self: ReduceAction891, Parser) */
199 void parser__ReduceAction891__action(val
* self
, val
* p0
) {
200 val
* var_p
/* var p: Parser */;
201 val
* var
/* : null */;
202 val
* var_node_list
/* var node_list: nullable Object */;
203 val
* var1
/* : nullable Object */;
204 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
205 val
* var_tidnode2
/* var tidnode2: nullable Object */;
206 short int var2
/* : Bool */;
209 val
* var3
/* : AIdAtid */;
210 val
* var_patidnode1
/* var patidnode1: nullable AIdAtid */;
211 long var4
/* : Int */;
212 long var5
/* : Int */;
216 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
217 var_nodearraylist1
= var1
;
218 var_tidnode2
= var_nodearraylist1
;
219 /* <var_tidnode2:nullable Object> isa nullable TId */
220 cltype
= type_nullable_parser_nodes__TId
.color
;
221 idtype
= type_nullable_parser_nodes__TId
.id
;
222 if(var_tidnode2
== NULL
) {
225 if(cltype
>= var_tidnode2
->type
->table_size
) {
228 var2
= var_tidnode2
->type
->type_table
[cltype
] == idtype
;
232 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30098);
235 var3
= NEW_parser_nodes__AIdAtid(&type_parser_nodes__AIdAtid
);
236 ((void (*)(val
*, val
*))(var3
->class->vft
[COLOR_parser_prod__AIdAtid__init_aidatid
]))(var3
, var_tidnode2
) /* init_aidatid on <var3:AIdAtid>*/;
237 CHECK_NEW_parser_nodes__AIdAtid(var3
);
238 var_patidnode1
= var3
;
239 var_node_list
= var_patidnode1
;
240 var4
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction891> */
241 var5
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var4
) /* go_to on <var_p:Parser>*/;
242 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var5
, var_node_list
) /* push on <var_p:Parser>*/;
245 /* method parser#ReduceAction891#action for (self: Object, Parser) */
246 void VIRTUAL_parser__ReduceAction891__action(val
* self
, val
* p0
) {
247 parser__ReduceAction891__action(self
, p0
);
250 /* method parser#ReduceAction892#action for (self: ReduceAction892, Parser) */
251 void parser__ReduceAction892__action(val
* self
, val
* p0
) {
252 val
* var_p
/* var p: Parser */;
253 val
* var
/* : null */;
254 val
* var_node_list
/* var node_list: nullable Object */;
255 val
* var1
/* : nullable Object */;
256 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
257 val
* var2
/* : nullable Object */;
258 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
259 val
* var_tidnode2
/* var tidnode2: nullable Object */;
260 short int var3
/* : Bool */;
263 val
* var4
/* : AIdAtid */;
264 val
* var_patidnode1
/* var patidnode1: nullable AIdAtid */;
265 long var5
/* : Int */;
266 long var6
/* : Int */;
270 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
271 var_nodearraylist2
= var1
;
272 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
273 var_nodearraylist1
= var2
;
274 var_tidnode2
= var_nodearraylist2
;
275 /* <var_tidnode2:nullable Object> isa nullable TId */
276 cltype
= type_nullable_parser_nodes__TId
.color
;
277 idtype
= type_nullable_parser_nodes__TId
.id
;
278 if(var_tidnode2
== NULL
) {
281 if(cltype
>= var_tidnode2
->type
->table_size
) {
284 var3
= var_tidnode2
->type
->type_table
[cltype
] == idtype
;
288 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30114);
291 var4
= NEW_parser_nodes__AIdAtid(&type_parser_nodes__AIdAtid
);
292 ((void (*)(val
*, val
*))(var4
->class->vft
[COLOR_parser_prod__AIdAtid__init_aidatid
]))(var4
, var_tidnode2
) /* init_aidatid on <var4:AIdAtid>*/;
293 CHECK_NEW_parser_nodes__AIdAtid(var4
);
294 var_patidnode1
= var4
;
295 var_node_list
= var_patidnode1
;
296 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction892> */
297 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
298 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
301 /* method parser#ReduceAction892#action for (self: Object, Parser) */
302 void VIRTUAL_parser__ReduceAction892__action(val
* self
, val
* p0
) {
303 parser__ReduceAction892__action(self
, p0
);
306 /* method parser#ReduceAction893#action for (self: ReduceAction893, Parser) */
307 void parser__ReduceAction893__action(val
* self
, val
* p0
) {
308 val
* var_p
/* var p: Parser */;
309 val
* var
/* : null */;
310 val
* var_node_list
/* var node_list: nullable Object */;
311 val
* var1
/* : nullable Object */;
312 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
313 val
* var2
/* : nullable Object */;
314 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
315 val
* var3
/* : nullable Object */;
316 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
317 val
* var_tidnode2
/* var tidnode2: nullable Object */;
318 short int var4
/* : Bool */;
321 val
* var5
/* : AIdAtid */;
322 val
* var_patidnode1
/* var patidnode1: nullable AIdAtid */;
323 long var6
/* : Int */;
324 long var7
/* : Int */;
328 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
329 var_nodearraylist3
= var1
;
330 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
331 var_nodearraylist2
= var2
;
332 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
333 var_nodearraylist1
= var3
;
334 var_tidnode2
= var_nodearraylist3
;
335 /* <var_tidnode2:nullable Object> isa nullable TId */
336 cltype
= type_nullable_parser_nodes__TId
.color
;
337 idtype
= type_nullable_parser_nodes__TId
.id
;
338 if(var_tidnode2
== NULL
) {
341 if(cltype
>= var_tidnode2
->type
->table_size
) {
344 var4
= var_tidnode2
->type
->type_table
[cltype
] == idtype
;
348 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30131);
351 var5
= NEW_parser_nodes__AIdAtid(&type_parser_nodes__AIdAtid
);
352 ((void (*)(val
*, val
*))(var5
->class->vft
[COLOR_parser_prod__AIdAtid__init_aidatid
]))(var5
, var_tidnode2
) /* init_aidatid on <var5:AIdAtid>*/;
353 CHECK_NEW_parser_nodes__AIdAtid(var5
);
354 var_patidnode1
= var5
;
355 var_node_list
= var_patidnode1
;
356 var6
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction893> */
357 var7
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var6
) /* go_to on <var_p:Parser>*/;
358 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var7
, var_node_list
) /* push on <var_p:Parser>*/;
361 /* method parser#ReduceAction893#action for (self: Object, Parser) */
362 void VIRTUAL_parser__ReduceAction893__action(val
* self
, val
* p0
) {
363 parser__ReduceAction893__action(self
, p0
);
366 /* method parser#ReduceAction895#action for (self: ReduceAction895, Parser) */
367 void parser__ReduceAction895__action(val
* self
, val
* p0
) {
368 val
* var_p
/* var p: Parser */;
369 val
* var
/* : null */;
370 val
* var_node_list
/* var node_list: nullable Object */;
371 val
* var1
/* : nullable Object */;
372 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
373 val
* var_tkwreadablenode2
/* var tkwreadablenode2: nullable Object */;
374 short int var2
/* : Bool */;
377 val
* var3
/* : AKwreadableAtid */;
378 val
* var_patidnode1
/* var patidnode1: nullable AKwreadableAtid */;
379 long var4
/* : Int */;
380 long var5
/* : Int */;
384 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
385 var_nodearraylist1
= var1
;
386 var_tkwreadablenode2
= var_nodearraylist1
;
387 /* <var_tkwreadablenode2:nullable Object> isa nullable TKwreadable */
388 cltype
= type_nullable_parser_nodes__TKwreadable
.color
;
389 idtype
= type_nullable_parser_nodes__TKwreadable
.id
;
390 if(var_tkwreadablenode2
== NULL
) {
393 if(cltype
>= var_tkwreadablenode2
->type
->table_size
) {
396 var2
= var_tkwreadablenode2
->type
->type_table
[cltype
] == idtype
;
400 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30146);
403 var3
= NEW_parser_nodes__AKwreadableAtid(&type_parser_nodes__AKwreadableAtid
);
404 ((void (*)(val
*, val
*))(var3
->class->vft
[COLOR_parser_prod__AKwreadableAtid__init_akwreadableatid
]))(var3
, var_tkwreadablenode2
) /* init_akwreadableatid on <var3:AKwreadableAtid>*/;
405 CHECK_NEW_parser_nodes__AKwreadableAtid(var3
);
406 var_patidnode1
= var3
;
407 var_node_list
= var_patidnode1
;
408 var4
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction895> */
409 var5
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var4
) /* go_to on <var_p:Parser>*/;
410 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var5
, var_node_list
) /* push on <var_p:Parser>*/;
413 /* method parser#ReduceAction895#action for (self: Object, Parser) */
414 void VIRTUAL_parser__ReduceAction895__action(val
* self
, val
* p0
) {
415 parser__ReduceAction895__action(self
, p0
);
418 /* method parser#ReduceAction896#action for (self: ReduceAction896, Parser) */
419 void parser__ReduceAction896__action(val
* self
, val
* p0
) {
420 val
* var_p
/* var p: Parser */;
421 val
* var
/* : null */;
422 val
* var_node_list
/* var node_list: nullable Object */;
423 val
* var1
/* : nullable Object */;
424 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
425 val
* var2
/* : nullable Object */;
426 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
427 val
* var_tkwreadablenode2
/* var tkwreadablenode2: nullable Object */;
428 short int var3
/* : Bool */;
431 val
* var4
/* : AKwreadableAtid */;
432 val
* var_patidnode1
/* var patidnode1: nullable AKwreadableAtid */;
433 long var5
/* : Int */;
434 long var6
/* : Int */;
438 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
439 var_nodearraylist2
= var1
;
440 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
441 var_nodearraylist1
= var2
;
442 var_tkwreadablenode2
= var_nodearraylist2
;
443 /* <var_tkwreadablenode2:nullable Object> isa nullable TKwreadable */
444 cltype
= type_nullable_parser_nodes__TKwreadable
.color
;
445 idtype
= type_nullable_parser_nodes__TKwreadable
.id
;
446 if(var_tkwreadablenode2
== NULL
) {
449 if(cltype
>= var_tkwreadablenode2
->type
->table_size
) {
452 var3
= var_tkwreadablenode2
->type
->type_table
[cltype
] == idtype
;
456 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30162);
459 var4
= NEW_parser_nodes__AKwreadableAtid(&type_parser_nodes__AKwreadableAtid
);
460 ((void (*)(val
*, val
*))(var4
->class->vft
[COLOR_parser_prod__AKwreadableAtid__init_akwreadableatid
]))(var4
, var_tkwreadablenode2
) /* init_akwreadableatid on <var4:AKwreadableAtid>*/;
461 CHECK_NEW_parser_nodes__AKwreadableAtid(var4
);
462 var_patidnode1
= var4
;
463 var_node_list
= var_patidnode1
;
464 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction896> */
465 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
466 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
469 /* method parser#ReduceAction896#action for (self: Object, Parser) */
470 void VIRTUAL_parser__ReduceAction896__action(val
* self
, val
* p0
) {
471 parser__ReduceAction896__action(self
, p0
);
474 /* method parser#ReduceAction897#action for (self: ReduceAction897, Parser) */
475 void parser__ReduceAction897__action(val
* self
, val
* p0
) {
476 val
* var_p
/* var p: Parser */;
477 val
* var
/* : null */;
478 val
* var_node_list
/* var node_list: nullable Object */;
479 val
* var1
/* : nullable Object */;
480 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
481 val
* var2
/* : nullable Object */;
482 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
483 val
* var3
/* : nullable Object */;
484 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
485 val
* var_tkwreadablenode2
/* var tkwreadablenode2: nullable Object */;
486 short int var4
/* : Bool */;
489 val
* var5
/* : AKwreadableAtid */;
490 val
* var_patidnode1
/* var patidnode1: nullable AKwreadableAtid */;
491 long var6
/* : Int */;
492 long var7
/* : Int */;
496 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
497 var_nodearraylist3
= var1
;
498 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
499 var_nodearraylist2
= var2
;
500 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
501 var_nodearraylist1
= var3
;
502 var_tkwreadablenode2
= var_nodearraylist3
;
503 /* <var_tkwreadablenode2:nullable Object> isa nullable TKwreadable */
504 cltype
= type_nullable_parser_nodes__TKwreadable
.color
;
505 idtype
= type_nullable_parser_nodes__TKwreadable
.id
;
506 if(var_tkwreadablenode2
== NULL
) {
509 if(cltype
>= var_tkwreadablenode2
->type
->table_size
) {
512 var4
= var_tkwreadablenode2
->type
->type_table
[cltype
] == idtype
;
516 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30179);
519 var5
= NEW_parser_nodes__AKwreadableAtid(&type_parser_nodes__AKwreadableAtid
);
520 ((void (*)(val
*, val
*))(var5
->class->vft
[COLOR_parser_prod__AKwreadableAtid__init_akwreadableatid
]))(var5
, var_tkwreadablenode2
) /* init_akwreadableatid on <var5:AKwreadableAtid>*/;
521 CHECK_NEW_parser_nodes__AKwreadableAtid(var5
);
522 var_patidnode1
= var5
;
523 var_node_list
= var_patidnode1
;
524 var6
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction897> */
525 var7
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var6
) /* go_to on <var_p:Parser>*/;
526 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var7
, var_node_list
) /* push on <var_p:Parser>*/;
529 /* method parser#ReduceAction897#action for (self: Object, Parser) */
530 void VIRTUAL_parser__ReduceAction897__action(val
* self
, val
* p0
) {
531 parser__ReduceAction897__action(self
, p0
);
534 /* method parser#ReduceAction899#action for (self: ReduceAction899, Parser) */
535 void parser__ReduceAction899__action(val
* self
, val
* p0
) {
536 val
* var_p
/* var p: Parser */;
537 val
* var
/* : null */;
538 val
* var_node_list
/* var node_list: nullable Object */;
539 val
* var1
/* : nullable Object */;
540 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
541 val
* var_tkwwritablenode2
/* var tkwwritablenode2: nullable Object */;
542 short int var2
/* : Bool */;
545 val
* var3
/* : AKwwritableAtid */;
546 val
* var_patidnode1
/* var patidnode1: nullable AKwwritableAtid */;
547 long var4
/* : Int */;
548 long var5
/* : Int */;
552 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
553 var_nodearraylist1
= var1
;
554 var_tkwwritablenode2
= var_nodearraylist1
;
555 /* <var_tkwwritablenode2:nullable Object> isa nullable TKwwritable */
556 cltype
= type_nullable_parser_nodes__TKwwritable
.color
;
557 idtype
= type_nullable_parser_nodes__TKwwritable
.id
;
558 if(var_tkwwritablenode2
== NULL
) {
561 if(cltype
>= var_tkwwritablenode2
->type
->table_size
) {
564 var2
= var_tkwwritablenode2
->type
->type_table
[cltype
] == idtype
;
568 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30194);
571 var3
= NEW_parser_nodes__AKwwritableAtid(&type_parser_nodes__AKwwritableAtid
);
572 ((void (*)(val
*, val
*))(var3
->class->vft
[COLOR_parser_prod__AKwwritableAtid__init_akwwritableatid
]))(var3
, var_tkwwritablenode2
) /* init_akwwritableatid on <var3:AKwwritableAtid>*/;
573 CHECK_NEW_parser_nodes__AKwwritableAtid(var3
);
574 var_patidnode1
= var3
;
575 var_node_list
= var_patidnode1
;
576 var4
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction899> */
577 var5
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var4
) /* go_to on <var_p:Parser>*/;
578 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var5
, var_node_list
) /* push on <var_p:Parser>*/;
581 /* method parser#ReduceAction899#action for (self: Object, Parser) */
582 void VIRTUAL_parser__ReduceAction899__action(val
* self
, val
* p0
) {
583 parser__ReduceAction899__action(self
, p0
);
586 /* method parser#ReduceAction900#action for (self: ReduceAction900, Parser) */
587 void parser__ReduceAction900__action(val
* self
, val
* p0
) {
588 val
* var_p
/* var p: Parser */;
589 val
* var
/* : null */;
590 val
* var_node_list
/* var node_list: nullable Object */;
591 val
* var1
/* : nullable Object */;
592 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
593 val
* var2
/* : nullable Object */;
594 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
595 val
* var_tkwwritablenode2
/* var tkwwritablenode2: nullable Object */;
596 short int var3
/* : Bool */;
599 val
* var4
/* : AKwwritableAtid */;
600 val
* var_patidnode1
/* var patidnode1: nullable AKwwritableAtid */;
601 long var5
/* : Int */;
602 long var6
/* : Int */;
606 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
607 var_nodearraylist2
= var1
;
608 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
609 var_nodearraylist1
= var2
;
610 var_tkwwritablenode2
= var_nodearraylist2
;
611 /* <var_tkwwritablenode2:nullable Object> isa nullable TKwwritable */
612 cltype
= type_nullable_parser_nodes__TKwwritable
.color
;
613 idtype
= type_nullable_parser_nodes__TKwwritable
.id
;
614 if(var_tkwwritablenode2
== NULL
) {
617 if(cltype
>= var_tkwwritablenode2
->type
->table_size
) {
620 var3
= var_tkwwritablenode2
->type
->type_table
[cltype
] == idtype
;
624 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30210);
627 var4
= NEW_parser_nodes__AKwwritableAtid(&type_parser_nodes__AKwwritableAtid
);
628 ((void (*)(val
*, val
*))(var4
->class->vft
[COLOR_parser_prod__AKwwritableAtid__init_akwwritableatid
]))(var4
, var_tkwwritablenode2
) /* init_akwwritableatid on <var4:AKwwritableAtid>*/;
629 CHECK_NEW_parser_nodes__AKwwritableAtid(var4
);
630 var_patidnode1
= var4
;
631 var_node_list
= var_patidnode1
;
632 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction900> */
633 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
634 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
637 /* method parser#ReduceAction900#action for (self: Object, Parser) */
638 void VIRTUAL_parser__ReduceAction900__action(val
* self
, val
* p0
) {
639 parser__ReduceAction900__action(self
, p0
);
642 /* method parser#ReduceAction901#action for (self: ReduceAction901, Parser) */
643 void parser__ReduceAction901__action(val
* self
, val
* p0
) {
644 val
* var_p
/* var p: Parser */;
645 val
* var
/* : null */;
646 val
* var_node_list
/* var node_list: nullable Object */;
647 val
* var1
/* : nullable Object */;
648 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
649 val
* var2
/* : nullable Object */;
650 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
651 val
* var3
/* : nullable Object */;
652 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
653 val
* var_tkwwritablenode2
/* var tkwwritablenode2: nullable Object */;
654 short int var4
/* : Bool */;
657 val
* var5
/* : AKwwritableAtid */;
658 val
* var_patidnode1
/* var patidnode1: nullable AKwwritableAtid */;
659 long var6
/* : Int */;
660 long var7
/* : Int */;
664 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
665 var_nodearraylist3
= var1
;
666 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
667 var_nodearraylist2
= var2
;
668 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
669 var_nodearraylist1
= var3
;
670 var_tkwwritablenode2
= var_nodearraylist3
;
671 /* <var_tkwwritablenode2:nullable Object> isa nullable TKwwritable */
672 cltype
= type_nullable_parser_nodes__TKwwritable
.color
;
673 idtype
= type_nullable_parser_nodes__TKwwritable
.id
;
674 if(var_tkwwritablenode2
== NULL
) {
677 if(cltype
>= var_tkwwritablenode2
->type
->table_size
) {
680 var4
= var_tkwwritablenode2
->type
->type_table
[cltype
] == idtype
;
684 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30227);
687 var5
= NEW_parser_nodes__AKwwritableAtid(&type_parser_nodes__AKwwritableAtid
);
688 ((void (*)(val
*, val
*))(var5
->class->vft
[COLOR_parser_prod__AKwwritableAtid__init_akwwritableatid
]))(var5
, var_tkwwritablenode2
) /* init_akwwritableatid on <var5:AKwwritableAtid>*/;
689 CHECK_NEW_parser_nodes__AKwwritableAtid(var5
);
690 var_patidnode1
= var5
;
691 var_node_list
= var_patidnode1
;
692 var6
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction901> */
693 var7
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var6
) /* go_to on <var_p:Parser>*/;
694 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var7
, var_node_list
) /* push on <var_p:Parser>*/;
697 /* method parser#ReduceAction901#action for (self: Object, Parser) */
698 void VIRTUAL_parser__ReduceAction901__action(val
* self
, val
* p0
) {
699 parser__ReduceAction901__action(self
, p0
);
702 /* method parser#ReduceAction903#action for (self: ReduceAction903, Parser) */
703 void parser__ReduceAction903__action(val
* self
, val
* p0
) {
704 val
* var_p
/* var p: Parser */;
705 val
* var
/* : null */;
706 val
* var_node_list
/* var node_list: nullable Object */;
707 val
* var1
/* : nullable Object */;
708 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
709 val
* var_tkwimportnode2
/* var tkwimportnode2: nullable Object */;
710 short int var2
/* : Bool */;
713 val
* var3
/* : AKwimportAtid */;
714 val
* var_patidnode1
/* var patidnode1: nullable AKwimportAtid */;
715 long var4
/* : Int */;
716 long var5
/* : Int */;
720 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
721 var_nodearraylist1
= var1
;
722 var_tkwimportnode2
= var_nodearraylist1
;
723 /* <var_tkwimportnode2:nullable Object> isa nullable TKwimport */
724 cltype
= type_nullable_parser_nodes__TKwimport
.color
;
725 idtype
= type_nullable_parser_nodes__TKwimport
.id
;
726 if(var_tkwimportnode2
== NULL
) {
729 if(cltype
>= var_tkwimportnode2
->type
->table_size
) {
732 var2
= var_tkwimportnode2
->type
->type_table
[cltype
] == idtype
;
736 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30242);
739 var3
= NEW_parser_nodes__AKwimportAtid(&type_parser_nodes__AKwimportAtid
);
740 ((void (*)(val
*, val
*))(var3
->class->vft
[COLOR_parser_prod__AKwimportAtid__init_akwimportatid
]))(var3
, var_tkwimportnode2
) /* init_akwimportatid on <var3:AKwimportAtid>*/;
741 CHECK_NEW_parser_nodes__AKwimportAtid(var3
);
742 var_patidnode1
= var3
;
743 var_node_list
= var_patidnode1
;
744 var4
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction903> */
745 var5
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var4
) /* go_to on <var_p:Parser>*/;
746 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var5
, var_node_list
) /* push on <var_p:Parser>*/;
749 /* method parser#ReduceAction903#action for (self: Object, Parser) */
750 void VIRTUAL_parser__ReduceAction903__action(val
* self
, val
* p0
) {
751 parser__ReduceAction903__action(self
, p0
);
754 /* method parser#ReduceAction904#action for (self: ReduceAction904, Parser) */
755 void parser__ReduceAction904__action(val
* self
, val
* p0
) {
756 val
* var_p
/* var p: Parser */;
757 val
* var
/* : null */;
758 val
* var_node_list
/* var node_list: nullable Object */;
759 val
* var1
/* : nullable Object */;
760 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
761 val
* var2
/* : nullable Object */;
762 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
763 val
* var_tkwimportnode2
/* var tkwimportnode2: nullable Object */;
764 short int var3
/* : Bool */;
767 val
* var4
/* : AKwimportAtid */;
768 val
* var_patidnode1
/* var patidnode1: nullable AKwimportAtid */;
769 long var5
/* : Int */;
770 long var6
/* : Int */;
774 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
775 var_nodearraylist2
= var1
;
776 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
777 var_nodearraylist1
= var2
;
778 var_tkwimportnode2
= var_nodearraylist2
;
779 /* <var_tkwimportnode2:nullable Object> isa nullable TKwimport */
780 cltype
= type_nullable_parser_nodes__TKwimport
.color
;
781 idtype
= type_nullable_parser_nodes__TKwimport
.id
;
782 if(var_tkwimportnode2
== NULL
) {
785 if(cltype
>= var_tkwimportnode2
->type
->table_size
) {
788 var3
= var_tkwimportnode2
->type
->type_table
[cltype
] == idtype
;
792 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30258);
795 var4
= NEW_parser_nodes__AKwimportAtid(&type_parser_nodes__AKwimportAtid
);
796 ((void (*)(val
*, val
*))(var4
->class->vft
[COLOR_parser_prod__AKwimportAtid__init_akwimportatid
]))(var4
, var_tkwimportnode2
) /* init_akwimportatid on <var4:AKwimportAtid>*/;
797 CHECK_NEW_parser_nodes__AKwimportAtid(var4
);
798 var_patidnode1
= var4
;
799 var_node_list
= var_patidnode1
;
800 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction904> */
801 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
802 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
805 /* method parser#ReduceAction904#action for (self: Object, Parser) */
806 void VIRTUAL_parser__ReduceAction904__action(val
* self
, val
* p0
) {
807 parser__ReduceAction904__action(self
, p0
);
810 /* method parser#ReduceAction905#action for (self: ReduceAction905, Parser) */
811 void parser__ReduceAction905__action(val
* self
, val
* p0
) {
812 val
* var_p
/* var p: Parser */;
813 val
* var
/* : null */;
814 val
* var_node_list
/* var node_list: nullable Object */;
815 val
* var1
/* : nullable Object */;
816 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
817 val
* var2
/* : nullable Object */;
818 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
819 val
* var3
/* : nullable Object */;
820 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
821 val
* var_tkwimportnode2
/* var tkwimportnode2: nullable Object */;
822 short int var4
/* : Bool */;
825 val
* var5
/* : AKwimportAtid */;
826 val
* var_patidnode1
/* var patidnode1: nullable AKwimportAtid */;
827 long var6
/* : Int */;
828 long var7
/* : Int */;
832 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
833 var_nodearraylist3
= var1
;
834 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
835 var_nodearraylist2
= var2
;
836 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
837 var_nodearraylist1
= var3
;
838 var_tkwimportnode2
= var_nodearraylist3
;
839 /* <var_tkwimportnode2:nullable Object> isa nullable TKwimport */
840 cltype
= type_nullable_parser_nodes__TKwimport
.color
;
841 idtype
= type_nullable_parser_nodes__TKwimport
.id
;
842 if(var_tkwimportnode2
== NULL
) {
845 if(cltype
>= var_tkwimportnode2
->type
->table_size
) {
848 var4
= var_tkwimportnode2
->type
->type_table
[cltype
] == idtype
;
852 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30275);
855 var5
= NEW_parser_nodes__AKwimportAtid(&type_parser_nodes__AKwimportAtid
);
856 ((void (*)(val
*, val
*))(var5
->class->vft
[COLOR_parser_prod__AKwimportAtid__init_akwimportatid
]))(var5
, var_tkwimportnode2
) /* init_akwimportatid on <var5:AKwimportAtid>*/;
857 CHECK_NEW_parser_nodes__AKwimportAtid(var5
);
858 var_patidnode1
= var5
;
859 var_node_list
= var_patidnode1
;
860 var6
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction905> */
861 var7
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var6
) /* go_to on <var_p:Parser>*/;
862 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var7
, var_node_list
) /* push on <var_p:Parser>*/;
865 /* method parser#ReduceAction905#action for (self: Object, Parser) */
866 void VIRTUAL_parser__ReduceAction905__action(val
* self
, val
* p0
) {
867 parser__ReduceAction905__action(self
, p0
);
870 /* method parser#ReduceAction907#action for (self: ReduceAction907, Parser) */
871 void parser__ReduceAction907__action(val
* self
, val
* p0
) {
872 val
* var_p
/* var p: Parser */;
873 val
* var
/* : null */;
874 val
* var_node_list
/* var node_list: nullable Object */;
875 val
* var1
/* : nullable Object */;
876 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
877 val
* var2
/* : nullable Object */;
878 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
879 val
* var3
/* : nullable Object */;
880 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
881 val
* var4
/* : nullable Object */;
882 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
883 val
* var5
/* : Array[Object] */;
884 val
* var_listnode4
/* var listnode4: Array[Object] */;
885 val
* var_toparnode2
/* var toparnode2: nullable Object */;
886 short int var6
/* : Bool */;
889 val
* var_listnode3
/* var listnode3: nullable Object */;
890 short int var7
/* : Bool */;
893 val
* var10
/* : Array[Object] */;
894 val
* var_tcparnode5
/* var tcparnode5: nullable Object */;
895 short int var11
/* : Bool */;
898 val
* var14
/* : AParExprs */;
899 val
* var_pexprsnode1
/* var pexprsnode1: nullable AParExprs */;
900 long var15
/* : Int */;
901 long var16
/* : Int */;
905 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
906 var_nodearraylist4
= var1
;
907 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
908 var_nodearraylist3
= var2
;
909 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
910 var_nodearraylist2
= var3
;
911 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
912 var_nodearraylist1
= var4
;
913 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
914 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
915 CHECK_NEW_array__Array(var5
);
916 var_listnode4
= var5
;
917 var_toparnode2
= var_nodearraylist1
;
918 /* <var_toparnode2:nullable Object> isa nullable TOpar */
919 cltype
= type_nullable_parser_nodes__TOpar
.color
;
920 idtype
= type_nullable_parser_nodes__TOpar
.id
;
921 if(var_toparnode2
== NULL
) {
924 if(cltype
>= var_toparnode2
->type
->table_size
) {
927 var6
= var_toparnode2
->type
->type_table
[cltype
] == idtype
;
931 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30294);
934 var_listnode3
= var_nodearraylist3
;
935 /* <var_listnode3:nullable Object> isa Array[Object] */
936 cltype8
= type_array__Arraykernel__Object
.color
;
937 idtype9
= type_array__Arraykernel__Object
.id
;
938 if(var_listnode3
== NULL
) {
941 if(cltype8
>= var_listnode3
->type
->table_size
) {
944 var7
= var_listnode3
->type
->type_table
[cltype8
] == idtype9
;
948 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30296);
951 var10
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction907>*/;
952 var_listnode4
= var10
;
953 var_tcparnode5
= var_nodearraylist4
;
954 /* <var_tcparnode5:nullable Object> isa nullable TCpar */
955 cltype12
= type_nullable_parser_nodes__TCpar
.color
;
956 idtype13
= type_nullable_parser_nodes__TCpar
.id
;
957 if(var_tcparnode5
== NULL
) {
960 if(cltype12
>= var_tcparnode5
->type
->table_size
) {
963 var11
= var_tcparnode5
->type
->type_table
[cltype12
] == idtype13
;
967 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30299);
970 var14
= NEW_parser_nodes__AParExprs(&type_parser_nodes__AParExprs
);
971 ((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>*/;
972 CHECK_NEW_parser_nodes__AParExprs(var14
);
973 var_pexprsnode1
= var14
;
974 var_node_list
= var_pexprsnode1
;
975 var15
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction907> */
976 var16
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var15
) /* go_to on <var_p:Parser>*/;
977 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var16
, var_node_list
) /* push on <var_p:Parser>*/;
980 /* method parser#ReduceAction907#action for (self: Object, Parser) */
981 void VIRTUAL_parser__ReduceAction907__action(val
* self
, val
* p0
) {
982 parser__ReduceAction907__action(self
, p0
);
985 /* method parser#ReduceAction908#action for (self: ReduceAction908, Parser) */
986 void parser__ReduceAction908__action(val
* self
, val
* p0
) {
987 val
* var_p
/* var p: Parser */;
988 val
* var
/* : null */;
989 val
* var_node_list
/* var node_list: nullable Object */;
990 val
* var1
/* : nullable Object */;
991 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
992 val
* var2
/* : nullable Object */;
993 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
994 val
* var3
/* : nullable Object */;
995 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
996 val
* var4
/* : Array[Object] */;
997 val
* var_listnode3
/* var listnode3: Array[Object] */;
998 val
* var_toparnode2
/* var toparnode2: nullable Object */;
999 short int var5
/* : Bool */;
1002 val
* var_tcparnode4
/* var tcparnode4: nullable Object */;
1003 short int var6
/* : Bool */;
1006 val
* var9
/* : AParExprs */;
1007 val
* var_pexprsnode1
/* var pexprsnode1: nullable AParExprs */;
1008 long var10
/* : Int */;
1009 long var11
/* : Int */;
1012 var_node_list
= var
;
1013 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1014 var_nodearraylist3
= var1
;
1015 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1016 var_nodearraylist2
= var2
;
1017 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1018 var_nodearraylist1
= var3
;
1019 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
1020 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
1021 CHECK_NEW_array__Array(var4
);
1022 var_listnode3
= var4
;
1023 var_toparnode2
= var_nodearraylist1
;
1024 /* <var_toparnode2:nullable Object> isa nullable TOpar */
1025 cltype
= type_nullable_parser_nodes__TOpar
.color
;
1026 idtype
= type_nullable_parser_nodes__TOpar
.id
;
1027 if(var_toparnode2
== NULL
) {
1030 if(cltype
>= var_toparnode2
->type
->table_size
) {
1033 var5
= var_toparnode2
->type
->type_table
[cltype
] == idtype
;
1037 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30319);
1040 var_tcparnode4
= var_nodearraylist3
;
1041 /* <var_tcparnode4:nullable Object> isa nullable TCpar */
1042 cltype7
= type_nullable_parser_nodes__TCpar
.color
;
1043 idtype8
= type_nullable_parser_nodes__TCpar
.id
;
1044 if(var_tcparnode4
== NULL
) {
1047 if(cltype7
>= var_tcparnode4
->type
->table_size
) {
1050 var6
= var_tcparnode4
->type
->type_table
[cltype7
] == idtype8
;
1054 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30321);
1057 var9
= NEW_parser_nodes__AParExprs(&type_parser_nodes__AParExprs
);
1058 ((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>*/;
1059 CHECK_NEW_parser_nodes__AParExprs(var9
);
1060 var_pexprsnode1
= var9
;
1061 var_node_list
= var_pexprsnode1
;
1062 var10
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction908> */
1063 var11
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var10
) /* go_to on <var_p:Parser>*/;
1064 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var11
, var_node_list
) /* push on <var_p:Parser>*/;
1067 /* method parser#ReduceAction908#action for (self: Object, Parser) */
1068 void VIRTUAL_parser__ReduceAction908__action(val
* self
, val
* p0
) {
1069 parser__ReduceAction908__action(self
, p0
);
1072 /* method parser#ReduceAction909#action for (self: ReduceAction909, Parser) */
1073 void parser__ReduceAction909__action(val
* self
, val
* p0
) {
1074 val
* var_p
/* var p: Parser */;
1075 val
* var
/* : null */;
1076 val
* var_node_list
/* var node_list: nullable Object */;
1077 val
* var1
/* : Array[Object] */;
1078 val
* var_listnode2
/* var listnode2: Array[Object] */;
1079 val
* var2
/* : AListExprs */;
1080 val
* var_pexprsnode1
/* var pexprsnode1: nullable AListExprs */;
1081 long var3
/* : Int */;
1082 long var4
/* : Int */;
1085 var_node_list
= var
;
1086 var1
= NEW_array__Array(&type_array__Arraykernel__Object
);
1087 ((void (*)(val
*))(var1
->class->vft
[COLOR_array__Array__init
]))(var1
) /* init on <var1:Array[Object]>*/;
1088 CHECK_NEW_array__Array(var1
);
1089 var_listnode2
= var1
;
1090 var2
= NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs
);
1091 ((void (*)(val
*, val
*))(var2
->class->vft
[COLOR_parser_prod__AListExprs__init_alistexprs
]))(var2
, var_listnode2
) /* init_alistexprs on <var2:AListExprs>*/;
1092 CHECK_NEW_parser_nodes__AListExprs(var2
);
1093 var_pexprsnode1
= var2
;
1094 var_node_list
= var_pexprsnode1
;
1095 var3
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction909> */
1096 var4
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var3
) /* go_to on <var_p:Parser>*/;
1097 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var4
, var_node_list
) /* push on <var_p:Parser>*/;
1100 /* method parser#ReduceAction909#action for (self: Object, Parser) */
1101 void VIRTUAL_parser__ReduceAction909__action(val
* self
, val
* p0
) {
1102 parser__ReduceAction909__action(self
, p0
);
1105 /* method parser#ReduceAction911#action for (self: ReduceAction911, Parser) */
1106 void parser__ReduceAction911__action(val
* self
, val
* p0
) {
1107 val
* var_p
/* var p: Parser */;
1108 val
* var
/* : null */;
1109 val
* var_node_list
/* var node_list: nullable Object */;
1110 val
* var1
/* : nullable Object */;
1111 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1112 val
* var2
/* : Array[Object] */;
1113 val
* var_listnode3
/* var listnode3: Array[Object] */;
1114 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
1115 short int var3
/* : Bool */;
1118 val
* var4
/* : null */;
1119 short int var5
/* : Bool */;
1120 val
* var6
/* : AListExprs */;
1121 val
* var_pexprsnode1
/* var pexprsnode1: nullable AListExprs */;
1122 long var7
/* : Int */;
1123 long var8
/* : Int */;
1126 var_node_list
= var
;
1127 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1128 var_nodearraylist1
= var1
;
1129 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
1130 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
1131 CHECK_NEW_array__Array(var2
);
1132 var_listnode3
= var2
;
1133 var_pexprnode2
= var_nodearraylist1
;
1134 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
1135 cltype
= type_nullable_parser_nodes__AExpr
.color
;
1136 idtype
= type_nullable_parser_nodes__AExpr
.id
;
1137 if(var_pexprnode2
== NULL
) {
1140 if(cltype
>= var_pexprnode2
->type
->table_size
) {
1143 var3
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
1147 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30352);
1151 if (var_pexprnode2
== NULL
) {
1152 var5
= 0; /* is null */
1154 var5
= 1; /* arg is null and recv is not */
1157 ((void (*)(val
*, val
*))(var_listnode3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode3
, var_pexprnode2
) /* add on <var_listnode3:Array[Object]>*/;
1160 var6
= NEW_parser_nodes__AListExprs(&type_parser_nodes__AListExprs
);
1161 ((void (*)(val
*, val
*))(var6
->class->vft
[COLOR_parser_prod__AListExprs__init_alistexprs
]))(var6
, var_listnode3
) /* init_alistexprs on <var6:AListExprs>*/;
1162 CHECK_NEW_parser_nodes__AListExprs(var6
);
1163 var_pexprsnode1
= var6
;
1164 var_node_list
= var_pexprsnode1
;
1165 var7
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction911> */
1166 var8
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var7
) /* go_to on <var_p:Parser>*/;
1167 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var8
, var_node_list
) /* push on <var_p:Parser>*/;
1170 /* method parser#ReduceAction911#action for (self: Object, Parser) */
1171 void VIRTUAL_parser__ReduceAction911__action(val
* self
, val
* p0
) {
1172 parser__ReduceAction911__action(self
, p0
);
1175 /* method parser#ReduceAction914#action for (self: ReduceAction914, Parser) */
1176 void parser__ReduceAction914__action(val
* self
, val
* p0
) {
1177 val
* var_p
/* var p: Parser */;
1178 val
* var
/* : null */;
1179 val
* var_node_list
/* var node_list: nullable Object */;
1180 val
* var1
/* : nullable Object */;
1181 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1182 val
* var2
/* : nullable Object */;
1183 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1184 val
* var3
/* : nullable Object */;
1185 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1186 val
* var4
/* : nullable Object */;
1187 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1188 val
* var5
/* : Array[Object] */;
1189 val
* var_listnode4
/* var listnode4: Array[Object] */;
1190 val
* var_tobranode2
/* var tobranode2: nullable Object */;
1191 short int var6
/* : Bool */;
1194 val
* var_listnode3
/* var listnode3: nullable Object */;
1195 short int var7
/* : Bool */;
1198 val
* var10
/* : Array[Object] */;
1199 val
* var_tcbranode5
/* var tcbranode5: nullable Object */;
1200 short int var11
/* : Bool */;
1203 val
* var14
/* : ABraExprs */;
1204 val
* var_pexprsnode1
/* var pexprsnode1: nullable ABraExprs */;
1205 long var15
/* : Int */;
1206 long var16
/* : Int */;
1209 var_node_list
= var
;
1210 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1211 var_nodearraylist4
= var1
;
1212 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1213 var_nodearraylist3
= var2
;
1214 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1215 var_nodearraylist2
= var3
;
1216 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1217 var_nodearraylist1
= var4
;
1218 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
1219 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
1220 CHECK_NEW_array__Array(var5
);
1221 var_listnode4
= var5
;
1222 var_tobranode2
= var_nodearraylist1
;
1223 /* <var_tobranode2:nullable Object> isa nullable TObra */
1224 cltype
= type_nullable_parser_nodes__TObra
.color
;
1225 idtype
= type_nullable_parser_nodes__TObra
.id
;
1226 if(var_tobranode2
== NULL
) {
1229 if(cltype
>= var_tobranode2
->type
->table_size
) {
1232 var6
= var_tobranode2
->type
->type_table
[cltype
] == idtype
;
1236 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30374);
1239 var_listnode3
= var_nodearraylist3
;
1240 /* <var_listnode3:nullable Object> isa Array[Object] */
1241 cltype8
= type_array__Arraykernel__Object
.color
;
1242 idtype9
= type_array__Arraykernel__Object
.id
;
1243 if(var_listnode3
== NULL
) {
1246 if(cltype8
>= var_listnode3
->type
->table_size
) {
1249 var7
= var_listnode3
->type
->type_table
[cltype8
] == idtype9
;
1253 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30376);
1256 var10
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction914>*/;
1257 var_listnode4
= var10
;
1258 var_tcbranode5
= var_nodearraylist4
;
1259 /* <var_tcbranode5:nullable Object> isa nullable TCbra */
1260 cltype12
= type_nullable_parser_nodes__TCbra
.color
;
1261 idtype13
= type_nullable_parser_nodes__TCbra
.id
;
1262 if(var_tcbranode5
== NULL
) {
1265 if(cltype12
>= var_tcbranode5
->type
->table_size
) {
1268 var11
= var_tcbranode5
->type
->type_table
[cltype12
] == idtype13
;
1272 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30379);
1275 var14
= NEW_parser_nodes__ABraExprs(&type_parser_nodes__ABraExprs
);
1276 ((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>*/;
1277 CHECK_NEW_parser_nodes__ABraExprs(var14
);
1278 var_pexprsnode1
= var14
;
1279 var_node_list
= var_pexprsnode1
;
1280 var15
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction914> */
1281 var16
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var15
) /* go_to on <var_p:Parser>*/;
1282 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var16
, var_node_list
) /* push on <var_p:Parser>*/;
1285 /* method parser#ReduceAction914#action for (self: Object, Parser) */
1286 void VIRTUAL_parser__ReduceAction914__action(val
* self
, val
* p0
) {
1287 parser__ReduceAction914__action(self
, p0
);
1290 /* method parser#ReduceAction915#action for (self: ReduceAction915, Parser) */
1291 void parser__ReduceAction915__action(val
* self
, val
* p0
) {
1292 val
* var_p
/* var p: Parser */;
1293 val
* var
/* : null */;
1294 val
* var_node_list
/* var node_list: nullable Object */;
1295 val
* var1
/* : nullable Object */;
1296 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1297 val
* var2
/* : nullable Object */;
1298 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1299 val
* var3
/* : Array[Object] */;
1300 val
* var_listnode2
/* var listnode2: Array[Object] */;
1301 val
* var_pexprnode1
/* var pexprnode1: nullable Object */;
1302 val
* var4
/* : null */;
1303 short int var5
/* : Bool */;
1304 long var6
/* : Int */;
1305 long var7
/* : Int */;
1308 var_node_list
= var
;
1309 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1310 var_nodearraylist2
= var1
;
1311 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1312 var_nodearraylist1
= var2
;
1313 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
1314 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
1315 CHECK_NEW_array__Array(var3
);
1316 var_listnode2
= var3
;
1317 var_pexprnode1
= var_nodearraylist1
;
1319 if (var_pexprnode1
== NULL
) {
1320 var5
= 0; /* is null */
1322 var5
= 1; /* arg is null and recv is not */
1325 ((void (*)(val
*, val
*))(var_listnode2
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode2
, var_pexprnode1
) /* add on <var_listnode2:Array[Object]>*/;
1328 var_node_list
= var_listnode2
;
1329 var6
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction915> */
1330 var7
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var6
) /* go_to on <var_p:Parser>*/;
1331 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var7
, var_node_list
) /* push on <var_p:Parser>*/;
1334 /* method parser#ReduceAction915#action for (self: Object, Parser) */
1335 void VIRTUAL_parser__ReduceAction915__action(val
* self
, val
* p0
) {
1336 parser__ReduceAction915__action(self
, p0
);
1339 /* method parser#ReduceAction916#action for (self: ReduceAction916, Parser) */
1340 void parser__ReduceAction916__action(val
* self
, val
* p0
) {
1341 val
* var_p
/* var p: Parser */;
1342 val
* var
/* : null */;
1343 val
* var_node_list
/* var node_list: nullable Object */;
1344 val
* var1
/* : nullable Object */;
1345 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1346 val
* var2
/* : nullable Object */;
1347 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1348 val
* var3
/* : nullable Object */;
1349 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1350 val
* var4
/* : Array[Object] */;
1351 val
* var_listnode3
/* var listnode3: Array[Object] */;
1352 val
* var_pexprnode1
/* var pexprnode1: nullable Object */;
1353 val
* var_listnode2
/* var listnode2: nullable Object */;
1354 short int var5
/* : Bool */;
1357 val
* var6
/* : null */;
1358 short int var7
/* : Bool */;
1359 val
* var8
/* : Array[Object] */;
1360 long var9
/* : Int */;
1361 long var10
/* : Int */;
1364 var_node_list
= var
;
1365 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1366 var_nodearraylist3
= var1
;
1367 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1368 var_nodearraylist2
= var2
;
1369 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1370 var_nodearraylist1
= var3
;
1371 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
1372 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
1373 CHECK_NEW_array__Array(var4
);
1374 var_listnode3
= var4
;
1375 var_pexprnode1
= var_nodearraylist1
;
1376 var_listnode2
= var_nodearraylist3
;
1377 /* <var_listnode2:nullable Object> isa Array[Object] */
1378 cltype
= type_array__Arraykernel__Object
.color
;
1379 idtype
= type_array__Arraykernel__Object
.id
;
1380 if(var_listnode2
== NULL
) {
1383 if(cltype
>= var_listnode2
->type
->table_size
) {
1386 var5
= var_listnode2
->type
->type_table
[cltype
] == idtype
;
1390 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30416);
1394 if (var_pexprnode1
== NULL
) {
1395 var7
= 0; /* is null */
1397 var7
= 1; /* arg is null and recv is not */
1400 ((void (*)(val
*, val
*))(var_listnode3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode3
, var_pexprnode1
) /* add on <var_listnode3:Array[Object]>*/;
1403 var8
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode2
) /* concat on <self:ReduceAction916>*/;
1404 var_listnode3
= var8
;
1405 var_node_list
= var_listnode3
;
1406 var9
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction916> */
1407 var10
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var9
) /* go_to on <var_p:Parser>*/;
1408 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var10
, var_node_list
) /* push on <var_p:Parser>*/;
1411 /* method parser#ReduceAction916#action for (self: Object, Parser) */
1412 void VIRTUAL_parser__ReduceAction916__action(val
* self
, val
* p0
) {
1413 parser__ReduceAction916__action(self
, p0
);
1416 /* method parser#ReduceAction917#action for (self: ReduceAction917, Parser) */
1417 void parser__ReduceAction917__action(val
* self
, val
* p0
) {
1418 val
* var_p
/* var p: Parser */;
1419 val
* var
/* : null */;
1420 val
* var_node_list
/* var node_list: nullable Object */;
1421 val
* var1
/* : nullable Object */;
1422 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1423 val
* var2
/* : nullable Object */;
1424 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1425 val
* var3
/* : nullable Object */;
1426 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1427 val
* var4
/* : nullable Object */;
1428 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1429 val
* var_pexprnode1
/* var pexprnode1: nullable Object */;
1430 long var5
/* : Int */;
1431 long var6
/* : Int */;
1434 var_node_list
= var
;
1435 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1436 var_nodearraylist4
= var1
;
1437 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1438 var_nodearraylist3
= var2
;
1439 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1440 var_nodearraylist2
= var3
;
1441 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1442 var_nodearraylist1
= var4
;
1443 var_pexprnode1
= var_nodearraylist3
;
1444 var_node_list
= var_pexprnode1
;
1445 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction917> */
1446 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
1447 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
1450 /* method parser#ReduceAction917#action for (self: Object, Parser) */
1451 void VIRTUAL_parser__ReduceAction917__action(val
* self
, val
* p0
) {
1452 parser__ReduceAction917__action(self
, p0
);
1455 /* method parser#ReduceAction918#action for (self: ReduceAction918, Parser) */
1456 void parser__ReduceAction918__action(val
* self
, val
* p0
) {
1457 val
* var_p
/* var p: Parser */;
1458 val
* var
/* : null */;
1459 val
* var_node_list
/* var node_list: nullable Object */;
1460 val
* var1
/* : nullable Object */;
1461 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1462 val
* var2
/* : Array[Object] */;
1463 val
* var_listnode2
/* var listnode2: Array[Object] */;
1464 val
* var_tidnode1
/* var tidnode1: nullable Object */;
1465 val
* var3
/* : null */;
1466 short int var4
/* : Bool */;
1467 long var5
/* : Int */;
1468 long var6
/* : Int */;
1471 var_node_list
= var
;
1472 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1473 var_nodearraylist1
= var1
;
1474 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
1475 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
1476 CHECK_NEW_array__Array(var2
);
1477 var_listnode2
= var2
;
1478 var_tidnode1
= var_nodearraylist1
;
1480 if (var_tidnode1
== NULL
) {
1481 var4
= 0; /* is null */
1483 var4
= 1; /* arg is null and recv is not */
1486 ((void (*)(val
*, val
*))(var_listnode2
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode2
, var_tidnode1
) /* add on <var_listnode2:Array[Object]>*/;
1489 var_node_list
= var_listnode2
;
1490 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction918> */
1491 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
1492 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
1495 /* method parser#ReduceAction918#action for (self: Object, Parser) */
1496 void VIRTUAL_parser__ReduceAction918__action(val
* self
, val
* p0
) {
1497 parser__ReduceAction918__action(self
, p0
);
1500 /* method parser#ReduceAction919#action for (self: ReduceAction919, Parser) */
1501 void parser__ReduceAction919__action(val
* self
, val
* p0
) {
1502 val
* var_p
/* var p: Parser */;
1503 val
* var
/* : null */;
1504 val
* var_node_list
/* var node_list: nullable Object */;
1505 val
* var1
/* : nullable Object */;
1506 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
1507 val
* var2
/* : nullable Object */;
1508 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1509 val
* var3
/* : nullable Object */;
1510 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1511 val
* var4
/* : nullable Object */;
1512 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1513 val
* var5
/* : nullable Object */;
1514 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1515 val
* var6
/* : Array[Object] */;
1516 val
* var_listnode3
/* var listnode3: Array[Object] */;
1517 val
* var_listnode1
/* var listnode1: nullable Object */;
1518 short int var7
/* : Bool */;
1521 val
* var_tidnode2
/* var tidnode2: nullable Object */;
1522 val
* var8
/* : Array[Object] */;
1523 val
* var9
/* : null */;
1524 short int var10
/* : Bool */;
1525 long var11
/* : Int */;
1526 long var12
/* : Int */;
1529 var_node_list
= var
;
1530 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1531 var_nodearraylist5
= var1
;
1532 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1533 var_nodearraylist4
= var2
;
1534 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1535 var_nodearraylist3
= var3
;
1536 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1537 var_nodearraylist2
= var4
;
1538 var5
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1539 var_nodearraylist1
= var5
;
1540 var6
= NEW_array__Array(&type_array__Arraykernel__Object
);
1541 ((void (*)(val
*))(var6
->class->vft
[COLOR_array__Array__init
]))(var6
) /* init on <var6:Array[Object]>*/;
1542 CHECK_NEW_array__Array(var6
);
1543 var_listnode3
= var6
;
1544 var_listnode1
= var_nodearraylist1
;
1545 /* <var_listnode1:nullable Object> isa Array[Object] */
1546 cltype
= type_array__Arraykernel__Object
.color
;
1547 idtype
= type_array__Arraykernel__Object
.id
;
1548 if(var_listnode1
== NULL
) {
1551 if(cltype
>= var_listnode1
->type
->table_size
) {
1554 var7
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
1558 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30466);
1561 var_tidnode2
= var_nodearraylist5
;
1562 var8
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode1
) /* concat on <self:ReduceAction919>*/;
1563 var_listnode3
= var8
;
1565 if (var_tidnode2
== NULL
) {
1566 var10
= 0; /* is null */
1568 var10
= 1; /* arg is null and recv is not */
1571 ((void (*)(val
*, val
*))(var_listnode3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode3
, var_tidnode2
) /* add on <var_listnode3:Array[Object]>*/;
1574 var_node_list
= var_listnode3
;
1575 var11
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction919> */
1576 var12
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var11
) /* go_to on <var_p:Parser>*/;
1577 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var12
, var_node_list
) /* push on <var_p:Parser>*/;
1580 /* method parser#ReduceAction919#action for (self: Object, Parser) */
1581 void VIRTUAL_parser__ReduceAction919__action(val
* self
, val
* p0
) {
1582 parser__ReduceAction919__action(self
, p0
);
1585 /* method parser#ReduceAction920#action for (self: ReduceAction920, Parser) */
1586 void parser__ReduceAction920__action(val
* self
, val
* p0
) {
1587 val
* var_p
/* var p: Parser */;
1588 val
* var
/* : null */;
1589 val
* var_node_list
/* var node_list: nullable Object */;
1590 val
* var1
/* : nullable Object */;
1591 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1592 val
* var2
/* : Array[Object] */;
1593 val
* var_listnode3
/* var listnode3: Array[Object] */;
1594 val
* var_tidnode4
/* var tidnode4: nullable Object */;
1595 short int var3
/* : Bool */;
1598 val
* var4
/* : AModuleName */;
1599 val
* var5
/* : null */;
1600 val
* var_pmodulenamenode1
/* var pmodulenamenode1: nullable AModuleName */;
1601 long var6
/* : Int */;
1602 long var7
/* : Int */;
1605 var_node_list
= var
;
1606 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1607 var_nodearraylist1
= var1
;
1608 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
1609 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
1610 CHECK_NEW_array__Array(var2
);
1611 var_listnode3
= var2
;
1612 var_tidnode4
= var_nodearraylist1
;
1613 /* <var_tidnode4:nullable Object> isa nullable TId */
1614 cltype
= type_nullable_parser_nodes__TId
.color
;
1615 idtype
= type_nullable_parser_nodes__TId
.id
;
1616 if(var_tidnode4
== NULL
) {
1619 if(cltype
>= var_tidnode4
->type
->table_size
) {
1622 var3
= var_tidnode4
->type
->type_table
[cltype
] == idtype
;
1626 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30484);
1629 var4
= NEW_parser_nodes__AModuleName(&type_parser_nodes__AModuleName
);
1631 ((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>*/;
1632 CHECK_NEW_parser_nodes__AModuleName(var4
);
1633 var_pmodulenamenode1
= var4
;
1634 var_node_list
= var_pmodulenamenode1
;
1635 var6
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction920> */
1636 var7
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var6
) /* go_to on <var_p:Parser>*/;
1637 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var7
, var_node_list
) /* push on <var_p:Parser>*/;
1640 /* method parser#ReduceAction920#action for (self: Object, Parser) */
1641 void VIRTUAL_parser__ReduceAction920__action(val
* self
, val
* p0
) {
1642 parser__ReduceAction920__action(self
, p0
);
1645 /* method parser#ReduceAction921#action for (self: ReduceAction921, Parser) */
1646 void parser__ReduceAction921__action(val
* self
, val
* p0
) {
1647 val
* var_p
/* var p: Parser */;
1648 val
* var
/* : null */;
1649 val
* var_node_list
/* var node_list: nullable Object */;
1650 val
* var1
/* : nullable Object */;
1651 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1652 val
* var2
/* : nullable Object */;
1653 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1654 val
* var3
/* : Array[Object] */;
1655 val
* var_listnode4
/* var listnode4: Array[Object] */;
1656 val
* var_listnode3
/* var listnode3: nullable Object */;
1657 short int var4
/* : Bool */;
1660 val
* var5
/* : Array[Object] */;
1661 val
* var_tidnode5
/* var tidnode5: nullable Object */;
1662 short int var6
/* : Bool */;
1665 val
* var9
/* : AModuleName */;
1666 val
* var10
/* : null */;
1667 val
* var_pmodulenamenode1
/* var pmodulenamenode1: nullable AModuleName */;
1668 long var11
/* : Int */;
1669 long var12
/* : Int */;
1672 var_node_list
= var
;
1673 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1674 var_nodearraylist2
= var1
;
1675 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1676 var_nodearraylist1
= var2
;
1677 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
1678 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
1679 CHECK_NEW_array__Array(var3
);
1680 var_listnode4
= var3
;
1681 var_listnode3
= var_nodearraylist1
;
1682 /* <var_listnode3:nullable Object> isa Array[Object] */
1683 cltype
= type_array__Arraykernel__Object
.color
;
1684 idtype
= type_array__Arraykernel__Object
.id
;
1685 if(var_listnode3
== NULL
) {
1688 if(cltype
>= var_listnode3
->type
->table_size
) {
1691 var4
= var_listnode3
->type
->type_table
[cltype
] == idtype
;
1695 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30503);
1698 var5
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction921>*/;
1699 var_listnode4
= var5
;
1700 var_tidnode5
= var_nodearraylist2
;
1701 /* <var_tidnode5:nullable Object> isa nullable TId */
1702 cltype7
= type_nullable_parser_nodes__TId
.color
;
1703 idtype8
= type_nullable_parser_nodes__TId
.id
;
1704 if(var_tidnode5
== NULL
) {
1707 if(cltype7
>= var_tidnode5
->type
->table_size
) {
1710 var6
= var_tidnode5
->type
->type_table
[cltype7
] == idtype8
;
1714 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30506);
1717 var9
= NEW_parser_nodes__AModuleName(&type_parser_nodes__AModuleName
);
1719 ((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>*/;
1720 CHECK_NEW_parser_nodes__AModuleName(var9
);
1721 var_pmodulenamenode1
= var9
;
1722 var_node_list
= var_pmodulenamenode1
;
1723 var11
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction921> */
1724 var12
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var11
) /* go_to on <var_p:Parser>*/;
1725 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var12
, var_node_list
) /* push on <var_p:Parser>*/;
1728 /* method parser#ReduceAction921#action for (self: Object, Parser) */
1729 void VIRTUAL_parser__ReduceAction921__action(val
* self
, val
* p0
) {
1730 parser__ReduceAction921__action(self
, p0
);
1733 /* method parser#ReduceAction922#action for (self: ReduceAction922, Parser) */
1734 void parser__ReduceAction922__action(val
* self
, val
* p0
) {
1735 val
* var_p
/* var p: Parser */;
1736 val
* var
/* : null */;
1737 val
* var_node_list
/* var node_list: nullable Object */;
1738 val
* var1
/* : nullable Object */;
1739 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1740 val
* var2
/* : nullable Object */;
1741 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1742 val
* var3
/* : nullable Object */;
1743 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1744 val
* var4
/* : Array[Object] */;
1745 val
* var_listnode3
/* var listnode3: Array[Object] */;
1746 val
* var_tquadnode2
/* var tquadnode2: nullable Object */;
1747 short int var5
/* : Bool */;
1750 val
* var_tidnode4
/* var tidnode4: nullable Object */;
1751 short int var6
/* : Bool */;
1754 val
* var9
/* : AModuleName */;
1755 val
* var_pmodulenamenode1
/* var pmodulenamenode1: nullable AModuleName */;
1756 long var10
/* : Int */;
1757 long var11
/* : Int */;
1760 var_node_list
= var
;
1761 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1762 var_nodearraylist3
= var1
;
1763 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1764 var_nodearraylist2
= var2
;
1765 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1766 var_nodearraylist1
= var3
;
1767 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
1768 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
1769 CHECK_NEW_array__Array(var4
);
1770 var_listnode3
= var4
;
1771 var_tquadnode2
= var_nodearraylist1
;
1772 /* <var_tquadnode2:nullable Object> isa nullable TQuad */
1773 cltype
= type_nullable_parser_nodes__TQuad
.color
;
1774 idtype
= type_nullable_parser_nodes__TQuad
.id
;
1775 if(var_tquadnode2
== NULL
) {
1778 if(cltype
>= var_tquadnode2
->type
->table_size
) {
1781 var5
= var_tquadnode2
->type
->type_table
[cltype
] == idtype
;
1785 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30526);
1788 var_tidnode4
= var_nodearraylist3
;
1789 /* <var_tidnode4:nullable Object> isa nullable TId */
1790 cltype7
= type_nullable_parser_nodes__TId
.color
;
1791 idtype8
= type_nullable_parser_nodes__TId
.id
;
1792 if(var_tidnode4
== NULL
) {
1795 if(cltype7
>= var_tidnode4
->type
->table_size
) {
1798 var6
= var_tidnode4
->type
->type_table
[cltype7
] == idtype8
;
1802 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30528);
1805 var9
= NEW_parser_nodes__AModuleName(&type_parser_nodes__AModuleName
);
1806 ((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>*/;
1807 CHECK_NEW_parser_nodes__AModuleName(var9
);
1808 var_pmodulenamenode1
= var9
;
1809 var_node_list
= var_pmodulenamenode1
;
1810 var10
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction922> */
1811 var11
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var10
) /* go_to on <var_p:Parser>*/;
1812 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var11
, var_node_list
) /* push on <var_p:Parser>*/;
1815 /* method parser#ReduceAction922#action for (self: Object, Parser) */
1816 void VIRTUAL_parser__ReduceAction922__action(val
* self
, val
* p0
) {
1817 parser__ReduceAction922__action(self
, p0
);
1820 /* method parser#ReduceAction923#action for (self: ReduceAction923, Parser) */
1821 void parser__ReduceAction923__action(val
* self
, val
* p0
) {
1822 val
* var_p
/* var p: Parser */;
1823 val
* var
/* : null */;
1824 val
* var_node_list
/* var node_list: nullable Object */;
1825 val
* var1
/* : nullable Object */;
1826 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1827 val
* var2
/* : nullable Object */;
1828 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1829 val
* var3
/* : nullable Object */;
1830 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1831 val
* var4
/* : nullable Object */;
1832 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1833 val
* var5
/* : Array[Object] */;
1834 val
* var_listnode4
/* var listnode4: Array[Object] */;
1835 val
* var_tquadnode2
/* var tquadnode2: nullable Object */;
1836 short int var6
/* : Bool */;
1839 val
* var_listnode3
/* var listnode3: nullable Object */;
1840 short int var7
/* : Bool */;
1843 val
* var10
/* : Array[Object] */;
1844 val
* var_tidnode5
/* var tidnode5: nullable Object */;
1845 short int var11
/* : Bool */;
1848 val
* var14
/* : AModuleName */;
1849 val
* var_pmodulenamenode1
/* var pmodulenamenode1: nullable AModuleName */;
1850 long var15
/* : Int */;
1851 long var16
/* : Int */;
1854 var_node_list
= var
;
1855 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1856 var_nodearraylist4
= var1
;
1857 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1858 var_nodearraylist3
= var2
;
1859 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1860 var_nodearraylist2
= var3
;
1861 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1862 var_nodearraylist1
= var4
;
1863 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
1864 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
1865 CHECK_NEW_array__Array(var5
);
1866 var_listnode4
= var5
;
1867 var_tquadnode2
= var_nodearraylist1
;
1868 /* <var_tquadnode2:nullable Object> isa nullable TQuad */
1869 cltype
= type_nullable_parser_nodes__TQuad
.color
;
1870 idtype
= type_nullable_parser_nodes__TQuad
.id
;
1871 if(var_tquadnode2
== NULL
) {
1874 if(cltype
>= var_tquadnode2
->type
->table_size
) {
1877 var6
= var_tquadnode2
->type
->type_table
[cltype
] == idtype
;
1881 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30549);
1884 var_listnode3
= var_nodearraylist3
;
1885 /* <var_listnode3:nullable Object> isa Array[Object] */
1886 cltype8
= type_array__Arraykernel__Object
.color
;
1887 idtype9
= type_array__Arraykernel__Object
.id
;
1888 if(var_listnode3
== NULL
) {
1891 if(cltype8
>= var_listnode3
->type
->table_size
) {
1894 var7
= var_listnode3
->type
->type_table
[cltype8
] == idtype9
;
1898 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30551);
1901 var10
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode4
, var_listnode3
) /* concat on <self:ReduceAction923>*/;
1902 var_listnode4
= var10
;
1903 var_tidnode5
= var_nodearraylist4
;
1904 /* <var_tidnode5:nullable Object> isa nullable TId */
1905 cltype12
= type_nullable_parser_nodes__TId
.color
;
1906 idtype13
= type_nullable_parser_nodes__TId
.id
;
1907 if(var_tidnode5
== NULL
) {
1910 if(cltype12
>= var_tidnode5
->type
->table_size
) {
1913 var11
= var_tidnode5
->type
->type_table
[cltype12
] == idtype13
;
1917 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30554);
1920 var14
= NEW_parser_nodes__AModuleName(&type_parser_nodes__AModuleName
);
1921 ((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>*/;
1922 CHECK_NEW_parser_nodes__AModuleName(var14
);
1923 var_pmodulenamenode1
= var14
;
1924 var_node_list
= var_pmodulenamenode1
;
1925 var15
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction923> */
1926 var16
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var15
) /* go_to on <var_p:Parser>*/;
1927 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var16
, var_node_list
) /* push on <var_p:Parser>*/;
1930 /* method parser#ReduceAction923#action for (self: Object, Parser) */
1931 void VIRTUAL_parser__ReduceAction923__action(val
* self
, val
* p0
) {
1932 parser__ReduceAction923__action(self
, p0
);
1935 /* method parser#ReduceAction924#action for (self: ReduceAction924, Parser) */
1936 void parser__ReduceAction924__action(val
* self
, val
* p0
) {
1937 val
* var_p
/* var p: Parser */;
1938 val
* var
/* : null */;
1939 val
* var_node_list
/* var node_list: nullable Object */;
1940 val
* var1
/* : nullable Object */;
1941 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1942 val
* var2
/* : nullable Object */;
1943 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1944 val
* var3
/* : nullable Object */;
1945 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1946 val
* var_tidnode1
/* var tidnode1: nullable Object */;
1947 long var4
/* : Int */;
1948 long var5
/* : Int */;
1951 var_node_list
= var
;
1952 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1953 var_nodearraylist3
= var1
;
1954 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1955 var_nodearraylist2
= var2
;
1956 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1957 var_nodearraylist1
= var3
;
1958 var_tidnode1
= var_nodearraylist1
;
1959 var_node_list
= var_tidnode1
;
1960 var4
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction924> */
1961 var5
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var4
) /* go_to on <var_p:Parser>*/;
1962 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var5
, var_node_list
) /* push on <var_p:Parser>*/;
1965 /* method parser#ReduceAction924#action for (self: Object, Parser) */
1966 void VIRTUAL_parser__ReduceAction924__action(val
* self
, val
* p0
) {
1967 parser__ReduceAction924__action(self
, p0
);
1970 /* method parser#ReduceAction925#action for (self: ReduceAction925, Parser) */
1971 void parser__ReduceAction925__action(val
* self
, val
* p0
) {
1972 val
* var_p
/* var p: Parser */;
1973 val
* var
/* : null */;
1974 val
* var_node_list
/* var node_list: nullable Object */;
1975 val
* var1
/* : nullable Object */;
1976 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1977 val
* var2
/* : nullable Object */;
1978 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1979 val
* var3
/* : nullable Object */;
1980 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1981 val
* var_tclassidnode1
/* var tclassidnode1: nullable Object */;
1982 long var4
/* : Int */;
1983 long var5
/* : Int */;
1986 var_node_list
= var
;
1987 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1988 var_nodearraylist3
= var1
;
1989 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1990 var_nodearraylist2
= var2
;
1991 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
1992 var_nodearraylist1
= var3
;
1993 var_tclassidnode1
= var_nodearraylist1
;
1994 var_node_list
= var_tclassidnode1
;
1995 var4
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction925> */
1996 var5
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var4
) /* go_to on <var_p:Parser>*/;
1997 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var5
, var_node_list
) /* push on <var_p:Parser>*/;
2000 /* method parser#ReduceAction925#action for (self: Object, Parser) */
2001 void VIRTUAL_parser__ReduceAction925__action(val
* self
, val
* p0
) {
2002 parser__ReduceAction925__action(self
, p0
);
2005 /* method parser#ReduceAction926#action for (self: ReduceAction926, Parser) */
2006 void parser__ReduceAction926__action(val
* self
, val
* p0
) {
2007 val
* var_p
/* var p: Parser */;
2008 val
* var
/* : null */;
2009 val
* var_node_list
/* var node_list: nullable Object */;
2010 val
* var1
/* : nullable Object */;
2011 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2012 long var2
/* : Int */;
2013 long var3
/* : Int */;
2016 var_node_list
= var
;
2017 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2018 var_nodearraylist1
= var1
;
2019 var2
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction926> */
2020 var3
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var2
) /* go_to on <var_p:Parser>*/;
2021 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var3
, var_node_list
) /* push on <var_p:Parser>*/;
2024 /* method parser#ReduceAction926#action for (self: Object, Parser) */
2025 void VIRTUAL_parser__ReduceAction926__action(val
* self
, val
* p0
) {
2026 parser__ReduceAction926__action(self
, p0
);
2029 /* method parser#ReduceAction928#action for (self: ReduceAction928, Parser) */
2030 void parser__ReduceAction928__action(val
* self
, val
* p0
) {
2031 val
* var_p
/* var p: Parser */;
2032 val
* var
/* : null */;
2033 val
* var_node_list
/* var node_list: nullable Object */;
2034 val
* var1
/* : nullable Object */;
2035 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2036 val
* var2
/* : Array[Object] */;
2037 val
* var_listnode3
/* var listnode3: Array[Object] */;
2038 val
* var_listnode2
/* var listnode2: nullable Object */;
2039 short int var3
/* : Bool */;
2042 val
* var4
/* : Array[Object] */;
2043 val
* var5
/* : ADoc */;
2044 val
* var_pdocnode1
/* var pdocnode1: nullable ADoc */;
2045 long var6
/* : Int */;
2046 long var7
/* : Int */;
2049 var_node_list
= var
;
2050 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2051 var_nodearraylist1
= var1
;
2052 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
2053 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
2054 CHECK_NEW_array__Array(var2
);
2055 var_listnode3
= var2
;
2056 var_listnode2
= var_nodearraylist1
;
2057 /* <var_listnode2:nullable Object> isa Array[Object] */
2058 cltype
= type_array__Arraykernel__Object
.color
;
2059 idtype
= type_array__Arraykernel__Object
.id
;
2060 if(var_listnode2
== NULL
) {
2063 if(cltype
>= var_listnode2
->type
->table_size
) {
2066 var3
= var_listnode2
->type
->type_table
[cltype
] == idtype
;
2070 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30607);
2073 var4
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode2
) /* concat on <self:ReduceAction928>*/;
2074 var_listnode3
= var4
;
2075 var5
= NEW_parser_nodes__ADoc(&type_parser_nodes__ADoc
);
2076 ((void (*)(val
*, val
*))(var5
->class->vft
[COLOR_parser_prod__ADoc__init_adoc
]))(var5
, var_listnode3
) /* init_adoc on <var5:ADoc>*/;
2077 CHECK_NEW_parser_nodes__ADoc(var5
);
2078 var_pdocnode1
= var5
;
2079 var_node_list
= var_pdocnode1
;
2080 var6
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction928> */
2081 var7
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var6
) /* go_to on <var_p:Parser>*/;
2082 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var7
, var_node_list
) /* push on <var_p:Parser>*/;
2085 /* method parser#ReduceAction928#action for (self: Object, Parser) */
2086 void VIRTUAL_parser__ReduceAction928__action(val
* self
, val
* p0
) {
2087 parser__ReduceAction928__action(self
, p0
);
2090 /* method parser#ReduceAction929#action for (self: ReduceAction929, Parser) */
2091 void parser__ReduceAction929__action(val
* self
, val
* p0
) {
2092 val
* var_p
/* var p: Parser */;
2093 val
* var
/* : null */;
2094 val
* var_node_list
/* var node_list: nullable Object */;
2095 val
* var1
/* : nullable Object */;
2096 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2097 val
* var2
/* : nullable Object */;
2098 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2099 val
* var3
/* : Array[Object] */;
2100 val
* var_listnode3
/* var listnode3: Array[Object] */;
2101 val
* var_listnode2
/* var listnode2: nullable Object */;
2102 short int var4
/* : Bool */;
2105 val
* var5
/* : Array[Object] */;
2106 val
* var6
/* : ADoc */;
2107 val
* var_pdocnode1
/* var pdocnode1: nullable ADoc */;
2108 long var7
/* : Int */;
2109 long var8
/* : Int */;
2112 var_node_list
= var
;
2113 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2114 var_nodearraylist2
= var1
;
2115 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2116 var_nodearraylist1
= var2
;
2117 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
2118 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
2119 CHECK_NEW_array__Array(var3
);
2120 var_listnode3
= var3
;
2121 var_listnode2
= var_nodearraylist2
;
2122 /* <var_listnode2:nullable Object> isa Array[Object] */
2123 cltype
= type_array__Arraykernel__Object
.color
;
2124 idtype
= type_array__Arraykernel__Object
.id
;
2125 if(var_listnode2
== NULL
) {
2128 if(cltype
>= var_listnode2
->type
->table_size
) {
2131 var4
= var_listnode2
->type
->type_table
[cltype
] == idtype
;
2135 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30625);
2138 var5
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode2
) /* concat on <self:ReduceAction929>*/;
2139 var_listnode3
= var5
;
2140 var6
= NEW_parser_nodes__ADoc(&type_parser_nodes__ADoc
);
2141 ((void (*)(val
*, val
*))(var6
->class->vft
[COLOR_parser_prod__ADoc__init_adoc
]))(var6
, var_listnode3
) /* init_adoc on <var6:ADoc>*/;
2142 CHECK_NEW_parser_nodes__ADoc(var6
);
2143 var_pdocnode1
= var6
;
2144 var_node_list
= var_pdocnode1
;
2145 var7
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction929> */
2146 var8
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var7
) /* go_to on <var_p:Parser>*/;
2147 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var8
, var_node_list
) /* push on <var_p:Parser>*/;
2150 /* method parser#ReduceAction929#action for (self: Object, Parser) */
2151 void VIRTUAL_parser__ReduceAction929__action(val
* self
, val
* p0
) {
2152 parser__ReduceAction929__action(self
, p0
);
2155 /* method parser#ReduceAction931#action for (self: ReduceAction931, Parser) */
2156 void parser__ReduceAction931__action(val
* self
, val
* p0
) {
2157 val
* var_p
/* var p: Parser */;
2158 val
* var
/* : null */;
2159 val
* var_node_list
/* var node_list: nullable Object */;
2160 val
* var1
/* : null */;
2161 long var2
/* : Int */;
2162 long var3
/* : Int */;
2165 var_node_list
= var
;
2167 var_node_list
= var1
;
2168 var2
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction931> */
2169 var3
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var2
) /* go_to on <var_p:Parser>*/;
2170 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var3
, var_node_list
) /* push on <var_p:Parser>*/;
2173 /* method parser#ReduceAction931#action for (self: Object, Parser) */
2174 void VIRTUAL_parser__ReduceAction931__action(val
* self
, val
* p0
) {
2175 parser__ReduceAction931__action(self
, p0
);
2178 /* method parser#ReduceAction932#action for (self: ReduceAction932, Parser) */
2179 void parser__ReduceAction932__action(val
* self
, val
* p0
) {
2180 val
* var_p
/* var p: Parser */;
2181 val
* var
/* : null */;
2182 val
* var_node_list
/* var node_list: nullable Object */;
2183 val
* var1
/* : nullable Object */;
2184 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2185 val
* var_pdocnode1
/* var pdocnode1: nullable Object */;
2186 long var2
/* : Int */;
2187 long var3
/* : Int */;
2190 var_node_list
= var
;
2191 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2192 var_nodearraylist1
= var1
;
2193 var_pdocnode1
= var_nodearraylist1
;
2194 var_node_list
= var_pdocnode1
;
2195 var2
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction932> */
2196 var3
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var2
) /* go_to on <var_p:Parser>*/;
2197 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var3
, var_node_list
) /* push on <var_p:Parser>*/;
2200 /* method parser#ReduceAction932#action for (self: Object, Parser) */
2201 void VIRTUAL_parser__ReduceAction932__action(val
* self
, val
* p0
) {
2202 parser__ReduceAction932__action(self
, p0
);
2205 /* method parser#ReduceAction933#action for (self: ReduceAction933, Parser) */
2206 void parser__ReduceAction933__action(val
* self
, val
* p0
) {
2207 val
* var_p
/* var p: Parser */;
2208 val
* var
/* : null */;
2209 val
* var_node_list
/* var node_list: nullable Object */;
2210 val
* var1
/* : nullable Object */;
2211 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2212 val
* var2
/* : nullable Object */;
2213 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2214 long var3
/* : Int */;
2215 long var4
/* : Int */;
2218 var_node_list
= var
;
2219 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2220 var_nodearraylist2
= var1
;
2221 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2222 var_nodearraylist1
= var2
;
2223 var3
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction933> */
2224 var4
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var3
) /* go_to on <var_p:Parser>*/;
2225 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var4
, var_node_list
) /* push on <var_p:Parser>*/;
2228 /* method parser#ReduceAction933#action for (self: Object, Parser) */
2229 void VIRTUAL_parser__ReduceAction933__action(val
* self
, val
* p0
) {
2230 parser__ReduceAction933__action(self
, p0
);
2233 /* method parser#ReduceAction934#action for (self: ReduceAction934, Parser) */
2234 void parser__ReduceAction934__action(val
* self
, val
* p0
) {
2235 val
* var_p
/* var p: Parser */;
2236 val
* var
/* : null */;
2237 val
* var_node_list
/* var node_list: nullable Object */;
2238 val
* var1
/* : nullable Object */;
2239 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2240 val
* var2
/* : nullable Object */;
2241 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2242 val
* var3
/* : nullable Object */;
2243 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2244 long var4
/* : Int */;
2245 long var5
/* : 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_nodearraylist3
= var1
;
2251 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2252 var_nodearraylist2
= var2
;
2253 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2254 var_nodearraylist1
= var3
;
2255 var4
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction934> */
2256 var5
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var4
) /* go_to on <var_p:Parser>*/;
2257 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var5
, var_node_list
) /* push on <var_p:Parser>*/;
2260 /* method parser#ReduceAction934#action for (self: Object, Parser) */
2261 void VIRTUAL_parser__ReduceAction934__action(val
* self
, val
* p0
) {
2262 parser__ReduceAction934__action(self
, p0
);
2265 /* method parser#ReduceAction1317#action for (self: ReduceAction1317, Parser) */
2266 void parser__ReduceAction1317__action(val
* self
, val
* p0
) {
2267 val
* var_p
/* var p: Parser */;
2268 val
* var
/* : null */;
2269 val
* var_node_list
/* var node_list: nullable Object */;
2270 val
* var1
/* : nullable Object */;
2271 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2272 val
* var2
/* : nullable Object */;
2273 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2274 val
* var3
/* : nullable Object */;
2275 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2276 val
* var_tkwissetnode2
/* var tkwissetnode2: nullable Object */;
2277 short int var4
/* : Bool */;
2280 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
2281 short int var5
/* : Bool */;
2284 val
* var_tattridnode4
/* var tattridnode4: nullable Object */;
2285 short int var8
/* : Bool */;
2288 val
* var11
/* : AIssetAttrExpr */;
2289 val
* var_pexprnode1
/* var pexprnode1: nullable AIssetAttrExpr */;
2290 long var12
/* : Int */;
2291 long var13
/* : Int */;
2294 var_node_list
= var
;
2295 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2296 var_nodearraylist3
= var1
;
2297 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2298 var_nodearraylist2
= var2
;
2299 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2300 var_nodearraylist1
= var3
;
2301 var_tkwissetnode2
= var_nodearraylist1
;
2302 /* <var_tkwissetnode2:nullable Object> isa nullable TKwisset */
2303 cltype
= type_nullable_parser_nodes__TKwisset
.color
;
2304 idtype
= type_nullable_parser_nodes__TKwisset
.id
;
2305 if(var_tkwissetnode2
== NULL
) {
2308 if(cltype
>= var_tkwissetnode2
->type
->table_size
) {
2311 var4
= var_tkwissetnode2
->type
->type_table
[cltype
] == idtype
;
2315 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30684);
2318 var_pexprnode3
= var_nodearraylist2
;
2319 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
2320 cltype6
= type_nullable_parser_nodes__AExpr
.color
;
2321 idtype7
= type_nullable_parser_nodes__AExpr
.id
;
2322 if(var_pexprnode3
== NULL
) {
2325 if(cltype6
>= var_pexprnode3
->type
->table_size
) {
2328 var5
= var_pexprnode3
->type
->type_table
[cltype6
] == idtype7
;
2332 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30686);
2335 var_tattridnode4
= var_nodearraylist3
;
2336 /* <var_tattridnode4:nullable Object> isa nullable TAttrid */
2337 cltype9
= type_nullable_parser_nodes__TAttrid
.color
;
2338 idtype10
= type_nullable_parser_nodes__TAttrid
.id
;
2339 if(var_tattridnode4
== NULL
) {
2342 if(cltype9
>= var_tattridnode4
->type
->table_size
) {
2345 var8
= var_tattridnode4
->type
->type_table
[cltype9
] == idtype10
;
2349 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30688);
2352 var11
= NEW_parser_nodes__AIssetAttrExpr(&type_parser_nodes__AIssetAttrExpr
);
2353 ((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>*/;
2354 CHECK_NEW_parser_nodes__AIssetAttrExpr(var11
);
2355 var_pexprnode1
= var11
;
2356 var_node_list
= var_pexprnode1
;
2357 var12
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1317> */
2358 var13
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var12
) /* go_to on <var_p:Parser>*/;
2359 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var13
, var_node_list
) /* push on <var_p:Parser>*/;
2362 /* method parser#ReduceAction1317#action for (self: Object, Parser) */
2363 void VIRTUAL_parser__ReduceAction1317__action(val
* self
, val
* p0
) {
2364 parser__ReduceAction1317__action(self
, p0
);
2367 /* method parser#ReduceAction1318#action for (self: ReduceAction1318, Parser) */
2368 void parser__ReduceAction1318__action(val
* self
, val
* p0
) {
2369 val
* var_p
/* var p: Parser */;
2370 val
* var
/* : null */;
2371 val
* var_node_list
/* var node_list: nullable Object */;
2372 val
* var1
/* : nullable Object */;
2373 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2374 val
* var2
/* : nullable Object */;
2375 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2376 val
* var3
/* : nullable Object */;
2377 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2378 val
* var4
/* : nullable Object */;
2379 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2380 val
* var_tkwissetnode2
/* var tkwissetnode2: nullable Object */;
2381 short int var5
/* : Bool */;
2384 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
2385 short int var6
/* : Bool */;
2388 val
* var_tattridnode4
/* var tattridnode4: nullable Object */;
2389 short int var9
/* : Bool */;
2392 val
* var12
/* : AIssetAttrExpr */;
2393 val
* var_pexprnode1
/* var pexprnode1: nullable AIssetAttrExpr */;
2394 long var13
/* : Int */;
2395 long var14
/* : Int */;
2398 var_node_list
= var
;
2399 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2400 var_nodearraylist4
= var1
;
2401 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2402 var_nodearraylist3
= var2
;
2403 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2404 var_nodearraylist2
= var3
;
2405 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2406 var_nodearraylist1
= var4
;
2407 var_tkwissetnode2
= var_nodearraylist1
;
2408 /* <var_tkwissetnode2:nullable Object> isa nullable TKwisset */
2409 cltype
= type_nullable_parser_nodes__TKwisset
.color
;
2410 idtype
= type_nullable_parser_nodes__TKwisset
.id
;
2411 if(var_tkwissetnode2
== NULL
) {
2414 if(cltype
>= var_tkwissetnode2
->type
->table_size
) {
2417 var5
= var_tkwissetnode2
->type
->type_table
[cltype
] == idtype
;
2421 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30708);
2424 var_pexprnode3
= var_nodearraylist2
;
2425 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
2426 cltype7
= type_nullable_parser_nodes__AExpr
.color
;
2427 idtype8
= type_nullable_parser_nodes__AExpr
.id
;
2428 if(var_pexprnode3
== NULL
) {
2431 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
2434 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
2438 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30710);
2441 var_tattridnode4
= var_nodearraylist4
;
2442 /* <var_tattridnode4:nullable Object> isa nullable TAttrid */
2443 cltype10
= type_nullable_parser_nodes__TAttrid
.color
;
2444 idtype11
= type_nullable_parser_nodes__TAttrid
.id
;
2445 if(var_tattridnode4
== NULL
) {
2448 if(cltype10
>= var_tattridnode4
->type
->table_size
) {
2451 var9
= var_tattridnode4
->type
->type_table
[cltype10
] == idtype11
;
2455 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30712);
2458 var12
= NEW_parser_nodes__AIssetAttrExpr(&type_parser_nodes__AIssetAttrExpr
);
2459 ((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>*/;
2460 CHECK_NEW_parser_nodes__AIssetAttrExpr(var12
);
2461 var_pexprnode1
= var12
;
2462 var_node_list
= var_pexprnode1
;
2463 var13
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1318> */
2464 var14
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var13
) /* go_to on <var_p:Parser>*/;
2465 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var14
, var_node_list
) /* push on <var_p:Parser>*/;
2468 /* method parser#ReduceAction1318#action for (self: Object, Parser) */
2469 void VIRTUAL_parser__ReduceAction1318__action(val
* self
, val
* p0
) {
2470 parser__ReduceAction1318__action(self
, p0
);
2473 /* method parser#ReduceAction1321#action for (self: ReduceAction1321, Parser) */
2474 void parser__ReduceAction1321__action(val
* self
, val
* p0
) {
2475 val
* var_p
/* var p: Parser */;
2476 val
* var
/* : null */;
2477 val
* var_node_list
/* var node_list: nullable Object */;
2478 val
* var1
/* : nullable Object */;
2479 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2480 val
* var2
/* : nullable Object */;
2481 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2482 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
2483 short int var3
/* : Bool */;
2486 val
* var_tattridnode3
/* var tattridnode3: nullable Object */;
2487 short int var4
/* : Bool */;
2490 val
* var7
/* : AAttrExpr */;
2491 val
* var_pexprnode1
/* var pexprnode1: nullable AAttrExpr */;
2492 long var8
/* : Int */;
2493 long var9
/* : Int */;
2496 var_node_list
= var
;
2497 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2498 var_nodearraylist2
= var1
;
2499 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2500 var_nodearraylist1
= var2
;
2501 var_pexprnode2
= var_nodearraylist1
;
2502 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
2503 cltype
= type_nullable_parser_nodes__AExpr
.color
;
2504 idtype
= type_nullable_parser_nodes__AExpr
.id
;
2505 if(var_pexprnode2
== NULL
) {
2508 if(cltype
>= var_pexprnode2
->type
->table_size
) {
2511 var3
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
2515 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30730);
2518 var_tattridnode3
= var_nodearraylist2
;
2519 /* <var_tattridnode3:nullable Object> isa nullable TAttrid */
2520 cltype5
= type_nullable_parser_nodes__TAttrid
.color
;
2521 idtype6
= type_nullable_parser_nodes__TAttrid
.id
;
2522 if(var_tattridnode3
== NULL
) {
2525 if(cltype5
>= var_tattridnode3
->type
->table_size
) {
2528 var4
= var_tattridnode3
->type
->type_table
[cltype5
] == idtype6
;
2532 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30732);
2535 var7
= NEW_parser_nodes__AAttrExpr(&type_parser_nodes__AAttrExpr
);
2536 ((void (*)(val
*, val
*, val
*))(var7
->class->vft
[COLOR_parser_prod__AAttrExpr__init_aattrexpr
]))(var7
, var_pexprnode2
, var_tattridnode3
) /* init_aattrexpr on <var7:AAttrExpr>*/;
2537 CHECK_NEW_parser_nodes__AAttrExpr(var7
);
2538 var_pexprnode1
= var7
;
2539 var_node_list
= var_pexprnode1
;
2540 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1321> */
2541 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
2542 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
2545 /* method parser#ReduceAction1321#action for (self: Object, Parser) */
2546 void VIRTUAL_parser__ReduceAction1321__action(val
* self
, val
* p0
) {
2547 parser__ReduceAction1321__action(self
, p0
);
2550 /* method parser#ReduceAction1322#action for (self: ReduceAction1322, Parser) */
2551 void parser__ReduceAction1322__action(val
* self
, val
* p0
) {
2552 val
* var_p
/* var p: Parser */;
2553 val
* var
/* : null */;
2554 val
* var_node_list
/* var node_list: nullable Object */;
2555 val
* var1
/* : nullable Object */;
2556 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2557 val
* var2
/* : nullable Object */;
2558 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2559 val
* var3
/* : nullable Object */;
2560 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2561 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
2562 short int var4
/* : Bool */;
2565 val
* var_tattridnode3
/* var tattridnode3: nullable Object */;
2566 short int var5
/* : Bool */;
2569 val
* var8
/* : AAttrExpr */;
2570 val
* var_pexprnode1
/* var pexprnode1: nullable AAttrExpr */;
2571 long var9
/* : Int */;
2572 long var10
/* : Int */;
2575 var_node_list
= var
;
2576 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2577 var_nodearraylist3
= var1
;
2578 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2579 var_nodearraylist2
= var2
;
2580 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2581 var_nodearraylist1
= var3
;
2582 var_pexprnode2
= var_nodearraylist1
;
2583 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
2584 cltype
= type_nullable_parser_nodes__AExpr
.color
;
2585 idtype
= type_nullable_parser_nodes__AExpr
.id
;
2586 if(var_pexprnode2
== NULL
) {
2589 if(cltype
>= var_pexprnode2
->type
->table_size
) {
2592 var4
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
2596 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30750);
2599 var_tattridnode3
= var_nodearraylist3
;
2600 /* <var_tattridnode3:nullable Object> isa nullable TAttrid */
2601 cltype6
= type_nullable_parser_nodes__TAttrid
.color
;
2602 idtype7
= type_nullable_parser_nodes__TAttrid
.id
;
2603 if(var_tattridnode3
== NULL
) {
2606 if(cltype6
>= var_tattridnode3
->type
->table_size
) {
2609 var5
= var_tattridnode3
->type
->type_table
[cltype6
] == idtype7
;
2613 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30752);
2616 var8
= NEW_parser_nodes__AAttrExpr(&type_parser_nodes__AAttrExpr
);
2617 ((void (*)(val
*, val
*, val
*))(var8
->class->vft
[COLOR_parser_prod__AAttrExpr__init_aattrexpr
]))(var8
, var_pexprnode2
, var_tattridnode3
) /* init_aattrexpr on <var8:AAttrExpr>*/;
2618 CHECK_NEW_parser_nodes__AAttrExpr(var8
);
2619 var_pexprnode1
= var8
;
2620 var_node_list
= var_pexprnode1
;
2621 var9
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1322> */
2622 var10
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var9
) /* go_to on <var_p:Parser>*/;
2623 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var10
, var_node_list
) /* push on <var_p:Parser>*/;
2626 /* method parser#ReduceAction1322#action for (self: Object, Parser) */
2627 void VIRTUAL_parser__ReduceAction1322__action(val
* self
, val
* p0
) {
2628 parser__ReduceAction1322__action(self
, p0
);
2631 /* method parser#ReduceAction1325#action for (self: ReduceAction1325, Parser) */
2632 void parser__ReduceAction1325__action(val
* self
, val
* p0
) {
2633 val
* var_p
/* var p: Parser */;
2634 val
* var
/* : null */;
2635 val
* var_node_list
/* var node_list: nullable Object */;
2636 val
* var1
/* : nullable Object */;
2637 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2638 val
* var2
/* : nullable Object */;
2639 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2640 val
* var3
/* : nullable Object */;
2641 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2642 val
* var4
/* : Array[Object] */;
2643 val
* var_listnode5
/* var listnode5: Array[Object] */;
2644 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
2645 short int var5
/* : Bool */;
2648 val
* var_tidnode3
/* var tidnode3: nullable Object */;
2649 short int var6
/* : Bool */;
2652 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
2653 short int var9
/* : Bool */;
2656 val
* var12
/* : ACallExpr */;
2657 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
2658 long var13
/* : Int */;
2659 long var14
/* : Int */;
2662 var_node_list
= var
;
2663 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2664 var_nodearraylist3
= var1
;
2665 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2666 var_nodearraylist2
= var2
;
2667 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2668 var_nodearraylist1
= var3
;
2669 var4
= NEW_array__Array(&type_array__Arraykernel__Object
);
2670 ((void (*)(val
*))(var4
->class->vft
[COLOR_array__Array__init
]))(var4
) /* init on <var4:Array[Object]>*/;
2671 CHECK_NEW_array__Array(var4
);
2672 var_listnode5
= var4
;
2673 var_pexprnode2
= var_nodearraylist1
;
2674 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
2675 cltype
= type_nullable_parser_nodes__AExpr
.color
;
2676 idtype
= type_nullable_parser_nodes__AExpr
.id
;
2677 if(var_pexprnode2
== NULL
) {
2680 if(cltype
>= var_pexprnode2
->type
->table_size
) {
2683 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
2687 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30771);
2690 var_tidnode3
= var_nodearraylist2
;
2691 /* <var_tidnode3:nullable Object> isa nullable TId */
2692 cltype7
= type_nullable_parser_nodes__TId
.color
;
2693 idtype8
= type_nullable_parser_nodes__TId
.id
;
2694 if(var_tidnode3
== NULL
) {
2697 if(cltype7
>= var_tidnode3
->type
->table_size
) {
2700 var6
= var_tidnode3
->type
->type_table
[cltype7
] == idtype8
;
2704 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30773);
2707 var_pexprsnode4
= var_nodearraylist3
;
2708 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
2709 cltype10
= type_nullable_parser_nodes__AExprs
.color
;
2710 idtype11
= type_nullable_parser_nodes__AExprs
.id
;
2711 if(var_pexprsnode4
== NULL
) {
2714 if(cltype10
>= var_pexprsnode4
->type
->table_size
) {
2717 var9
= var_pexprsnode4
->type
->type_table
[cltype10
] == idtype11
;
2721 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30775);
2724 var12
= NEW_parser_nodes__ACallExpr(&type_parser_nodes__ACallExpr
);
2725 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var12
->class->vft
[COLOR_parser_prod__ACallExpr__init_acallexpr
]))(var12
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_listnode5
) /* init_acallexpr on <var12:ACallExpr>*/;
2726 CHECK_NEW_parser_nodes__ACallExpr(var12
);
2727 var_pexprnode1
= var12
;
2728 var_node_list
= var_pexprnode1
;
2729 var13
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1325> */
2730 var14
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var13
) /* go_to on <var_p:Parser>*/;
2731 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var14
, var_node_list
) /* push on <var_p:Parser>*/;
2734 /* method parser#ReduceAction1325#action for (self: Object, Parser) */
2735 void VIRTUAL_parser__ReduceAction1325__action(val
* self
, val
* p0
) {
2736 parser__ReduceAction1325__action(self
, p0
);
2739 /* method parser#ReduceAction1326#action for (self: ReduceAction1326, Parser) */
2740 void parser__ReduceAction1326__action(val
* self
, val
* p0
) {
2741 val
* var_p
/* var p: Parser */;
2742 val
* var
/* : null */;
2743 val
* var_node_list
/* var node_list: nullable Object */;
2744 val
* var1
/* : nullable Object */;
2745 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2746 val
* var2
/* : nullable Object */;
2747 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2748 val
* var3
/* : nullable Object */;
2749 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2750 val
* var4
/* : nullable Object */;
2751 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2752 val
* var5
/* : Array[Object] */;
2753 val
* var_listnode5
/* var listnode5: Array[Object] */;
2754 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
2755 short int var6
/* : Bool */;
2758 val
* var_tidnode3
/* var tidnode3: nullable Object */;
2759 short int var7
/* : Bool */;
2762 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
2763 short int var10
/* : Bool */;
2766 val
* var13
/* : ACallExpr */;
2767 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
2768 long var14
/* : Int */;
2769 long var15
/* : Int */;
2772 var_node_list
= var
;
2773 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2774 var_nodearraylist4
= var1
;
2775 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2776 var_nodearraylist3
= var2
;
2777 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2778 var_nodearraylist2
= var3
;
2779 var4
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2780 var_nodearraylist1
= var4
;
2781 var5
= NEW_array__Array(&type_array__Arraykernel__Object
);
2782 ((void (*)(val
*))(var5
->class->vft
[COLOR_array__Array__init
]))(var5
) /* init on <var5:Array[Object]>*/;
2783 CHECK_NEW_array__Array(var5
);
2784 var_listnode5
= var5
;
2785 var_pexprnode2
= var_nodearraylist1
;
2786 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
2787 cltype
= type_nullable_parser_nodes__AExpr
.color
;
2788 idtype
= type_nullable_parser_nodes__AExpr
.id
;
2789 if(var_pexprnode2
== NULL
) {
2792 if(cltype
>= var_pexprnode2
->type
->table_size
) {
2795 var6
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
2799 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30797);
2802 var_tidnode3
= var_nodearraylist3
;
2803 /* <var_tidnode3:nullable Object> isa nullable TId */
2804 cltype8
= type_nullable_parser_nodes__TId
.color
;
2805 idtype9
= type_nullable_parser_nodes__TId
.id
;
2806 if(var_tidnode3
== NULL
) {
2809 if(cltype8
>= var_tidnode3
->type
->table_size
) {
2812 var7
= var_tidnode3
->type
->type_table
[cltype8
] == idtype9
;
2816 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30799);
2819 var_pexprsnode4
= var_nodearraylist4
;
2820 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
2821 cltype11
= type_nullable_parser_nodes__AExprs
.color
;
2822 idtype12
= type_nullable_parser_nodes__AExprs
.id
;
2823 if(var_pexprsnode4
== NULL
) {
2826 if(cltype11
>= var_pexprsnode4
->type
->table_size
) {
2829 var10
= var_pexprsnode4
->type
->type_table
[cltype11
] == idtype12
;
2833 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30801);
2836 var13
= NEW_parser_nodes__ACallExpr(&type_parser_nodes__ACallExpr
);
2837 ((void (*)(val
*, val
*, val
*, val
*, val
*))(var13
->class->vft
[COLOR_parser_prod__ACallExpr__init_acallexpr
]))(var13
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
, var_listnode5
) /* init_acallexpr on <var13:ACallExpr>*/;
2838 CHECK_NEW_parser_nodes__ACallExpr(var13
);
2839 var_pexprnode1
= var13
;
2840 var_node_list
= var_pexprnode1
;
2841 var14
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1326> */
2842 var15
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var14
) /* go_to on <var_p:Parser>*/;
2843 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var15
, var_node_list
) /* push on <var_p:Parser>*/;
2846 /* method parser#ReduceAction1326#action for (self: Object, Parser) */
2847 void VIRTUAL_parser__ReduceAction1326__action(val
* self
, val
* p0
) {
2848 parser__ReduceAction1326__action(self
, p0
);
2851 /* method parser#ReduceAction1333#action for (self: ReduceAction1333, Parser) */
2852 void parser__ReduceAction1333__action(val
* self
, val
* p0
) {
2853 val
* var_p
/* var p: Parser */;
2854 val
* var
/* : null */;
2855 val
* var_node_list
/* var node_list: nullable Object */;
2856 val
* var1
/* : nullable Object */;
2857 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2858 val
* var2
/* : nullable Object */;
2859 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2860 val
* var3
/* : nullable Object */;
2861 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2862 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
2863 short int var4
/* : Bool */;
2866 val
* var_tkwinitnode3
/* var tkwinitnode3: nullable Object */;
2867 short int var5
/* : Bool */;
2870 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
2871 short int var8
/* : Bool */;
2874 val
* var11
/* : AInitExpr */;
2875 val
* var_pexprnode1
/* var pexprnode1: nullable AInitExpr */;
2876 long var12
/* : Int */;
2877 long var13
/* : Int */;
2880 var_node_list
= var
;
2881 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2882 var_nodearraylist3
= var1
;
2883 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2884 var_nodearraylist2
= var2
;
2885 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2886 var_nodearraylist1
= var3
;
2887 var_pexprnode2
= var_nodearraylist1
;
2888 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
2889 cltype
= type_nullable_parser_nodes__AExpr
.color
;
2890 idtype
= type_nullable_parser_nodes__AExpr
.id
;
2891 if(var_pexprnode2
== NULL
) {
2894 if(cltype
>= var_pexprnode2
->type
->table_size
) {
2897 var4
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
2901 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30821);
2904 var_tkwinitnode3
= var_nodearraylist2
;
2905 /* <var_tkwinitnode3:nullable Object> isa nullable TKwinit */
2906 cltype6
= type_nullable_parser_nodes__TKwinit
.color
;
2907 idtype7
= type_nullable_parser_nodes__TKwinit
.id
;
2908 if(var_tkwinitnode3
== NULL
) {
2911 if(cltype6
>= var_tkwinitnode3
->type
->table_size
) {
2914 var5
= var_tkwinitnode3
->type
->type_table
[cltype6
] == idtype7
;
2918 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30823);
2921 var_pexprsnode4
= var_nodearraylist3
;
2922 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
2923 cltype9
= type_nullable_parser_nodes__AExprs
.color
;
2924 idtype10
= type_nullable_parser_nodes__AExprs
.id
;
2925 if(var_pexprsnode4
== NULL
) {
2928 if(cltype9
>= var_pexprsnode4
->type
->table_size
) {
2931 var8
= var_pexprsnode4
->type
->type_table
[cltype9
] == idtype10
;
2935 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30825);
2938 var11
= NEW_parser_nodes__AInitExpr(&type_parser_nodes__AInitExpr
);
2939 ((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>*/;
2940 CHECK_NEW_parser_nodes__AInitExpr(var11
);
2941 var_pexprnode1
= var11
;
2942 var_node_list
= var_pexprnode1
;
2943 var12
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1333> */
2944 var13
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var12
) /* go_to on <var_p:Parser>*/;
2945 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var13
, var_node_list
) /* push on <var_p:Parser>*/;
2948 /* method parser#ReduceAction1333#action for (self: Object, Parser) */
2949 void VIRTUAL_parser__ReduceAction1333__action(val
* self
, val
* p0
) {
2950 parser__ReduceAction1333__action(self
, p0
);
2953 /* method parser#ReduceAction1357#action for (self: ReduceAction1357, Parser) */
2954 void parser__ReduceAction1357__action(val
* self
, val
* p0
) {
2955 val
* var_p
/* var p: Parser */;
2956 val
* var
/* : null */;
2957 val
* var_node_list
/* var node_list: nullable Object */;
2958 val
* var1
/* : nullable Object */;
2959 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2960 val
* var2
/* : nullable Object */;
2961 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2962 val
* var3
/* : nullable Object */;
2963 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2964 val
* var_pexprnode1
/* var pexprnode1: nullable Object */;
2965 long var4
/* : Int */;
2966 long var5
/* : Int */;
2969 var_node_list
= var
;
2970 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2971 var_nodearraylist3
= var1
;
2972 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2973 var_nodearraylist2
= var2
;
2974 var3
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
2975 var_nodearraylist1
= var3
;
2976 var_pexprnode1
= var_nodearraylist1
;
2977 var_node_list
= var_pexprnode1
;
2978 var4
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1357> */
2979 var5
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var4
) /* go_to on <var_p:Parser>*/;
2980 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var5
, var_node_list
) /* push on <var_p:Parser>*/;
2983 /* method parser#ReduceAction1357#action for (self: Object, Parser) */
2984 void VIRTUAL_parser__ReduceAction1357__action(val
* self
, val
* p0
) {
2985 parser__ReduceAction1357__action(self
, p0
);
2988 /* method parser#ReduceAction1358#action for (self: ReduceAction1358, Parser) */
2989 void parser__ReduceAction1358__action(val
* self
, val
* p0
) {
2990 val
* var_p
/* var p: Parser */;
2991 val
* var
/* : null */;
2992 val
* var_node_list
/* var node_list: nullable Object */;
2993 val
* var1
/* : AImplicitSelfExpr */;
2994 val
* var_pexprnode1
/* var pexprnode1: nullable AImplicitSelfExpr */;
2995 long var2
/* : Int */;
2996 long var3
/* : Int */;
2999 var_node_list
= var
;
3000 var1
= NEW_parser_nodes__AImplicitSelfExpr(&type_parser_nodes__AImplicitSelfExpr
);
3001 ((void (*)(val
*))(var1
->class->vft
[COLOR_parser_prod__AImplicitSelfExpr__init_aimplicitselfexpr
]))(var1
) /* init_aimplicitselfexpr on <var1:AImplicitSelfExpr>*/;
3002 CHECK_NEW_parser_nodes__AImplicitSelfExpr(var1
);
3003 var_pexprnode1
= var1
;
3004 var_node_list
= var_pexprnode1
;
3005 var2
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1358> */
3006 var3
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var2
) /* go_to on <var_p:Parser>*/;
3007 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var3
, var_node_list
) /* push on <var_p:Parser>*/;
3010 /* method parser#ReduceAction1358#action for (self: Object, Parser) */
3011 void VIRTUAL_parser__ReduceAction1358__action(val
* self
, val
* p0
) {
3012 parser__ReduceAction1358__action(self
, p0
);
3015 /* method parser#ReduceAction1772#action for (self: ReduceAction1772, Parser) */
3016 void parser__ReduceAction1772__action(val
* self
, val
* p0
) {
3017 val
* var_p
/* var p: Parser */;
3018 val
* var
/* : null */;
3019 val
* var_node_list
/* var node_list: nullable Object */;
3020 val
* var1
/* : nullable Object */;
3021 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3022 val
* var2
/* : Array[Object] */;
3023 val
* var_listnode2
/* var listnode2: Array[Object] */;
3024 val
* var_pimportnode1
/* var pimportnode1: nullable Object */;
3025 val
* var3
/* : null */;
3026 short int var4
/* : Bool */;
3027 long var5
/* : Int */;
3028 long var6
/* : Int */;
3031 var_node_list
= var
;
3032 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3033 var_nodearraylist1
= var1
;
3034 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
3035 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
3036 CHECK_NEW_array__Array(var2
);
3037 var_listnode2
= var2
;
3038 var_pimportnode1
= var_nodearraylist1
;
3040 if (var_pimportnode1
== NULL
) {
3041 var4
= 0; /* is null */
3043 var4
= 1; /* arg is null and recv is not */
3046 ((void (*)(val
*, val
*))(var_listnode2
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode2
, var_pimportnode1
) /* add on <var_listnode2:Array[Object]>*/;
3049 var_node_list
= var_listnode2
;
3050 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1772> */
3051 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
3052 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
3055 /* method parser#ReduceAction1772#action for (self: Object, Parser) */
3056 void VIRTUAL_parser__ReduceAction1772__action(val
* self
, val
* p0
) {
3057 parser__ReduceAction1772__action(self
, p0
);
3060 /* method parser#ReduceAction1773#action for (self: ReduceAction1773, Parser) */
3061 void parser__ReduceAction1773__action(val
* self
, val
* p0
) {
3062 val
* var_p
/* var p: Parser */;
3063 val
* var
/* : null */;
3064 val
* var_node_list
/* var node_list: nullable Object */;
3065 val
* var1
/* : nullable Object */;
3066 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3067 val
* var2
/* : nullable Object */;
3068 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3069 val
* var3
/* : Array[Object] */;
3070 val
* var_listnode3
/* var listnode3: Array[Object] */;
3071 val
* var_listnode1
/* var listnode1: nullable Object */;
3072 short int var4
/* : Bool */;
3075 val
* var_pimportnode2
/* var pimportnode2: nullable Object */;
3076 val
* var5
/* : Array[Object] */;
3077 val
* var6
/* : null */;
3078 short int var7
/* : Bool */;
3079 long var8
/* : Int */;
3080 long var9
/* : Int */;
3083 var_node_list
= var
;
3084 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3085 var_nodearraylist2
= var1
;
3086 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3087 var_nodearraylist1
= var2
;
3088 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
3089 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
3090 CHECK_NEW_array__Array(var3
);
3091 var_listnode3
= var3
;
3092 var_listnode1
= var_nodearraylist1
;
3093 /* <var_listnode1:nullable Object> isa Array[Object] */
3094 cltype
= type_array__Arraykernel__Object
.color
;
3095 idtype
= type_array__Arraykernel__Object
.id
;
3096 if(var_listnode1
== NULL
) {
3099 if(cltype
>= var_listnode1
->type
->table_size
) {
3102 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
3106 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30882);
3109 var_pimportnode2
= var_nodearraylist2
;
3110 var5
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode1
) /* concat on <self:ReduceAction1773>*/;
3111 var_listnode3
= var5
;
3113 if (var_pimportnode2
== NULL
) {
3114 var7
= 0; /* is null */
3116 var7
= 1; /* arg is null and recv is not */
3119 ((void (*)(val
*, val
*))(var_listnode3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode3
, var_pimportnode2
) /* add on <var_listnode3:Array[Object]>*/;
3122 var_node_list
= var_listnode3
;
3123 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1773> */
3124 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
3125 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
3128 /* method parser#ReduceAction1773#action for (self: Object, Parser) */
3129 void VIRTUAL_parser__ReduceAction1773__action(val
* self
, val
* p0
) {
3130 parser__ReduceAction1773__action(self
, p0
);
3133 /* method parser#ReduceAction1774#action for (self: ReduceAction1774, Parser) */
3134 void parser__ReduceAction1774__action(val
* self
, val
* p0
) {
3135 val
* var_p
/* var p: Parser */;
3136 val
* var
/* : null */;
3137 val
* var_node_list
/* var node_list: nullable Object */;
3138 val
* var1
/* : nullable Object */;
3139 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3140 val
* var2
/* : Array[Object] */;
3141 val
* var_listnode2
/* var listnode2: Array[Object] */;
3142 val
* var_pexterncodeblocknode1
/* var pexterncodeblocknode1: nullable Object */;
3143 val
* var3
/* : null */;
3144 short int var4
/* : Bool */;
3145 long var5
/* : Int */;
3146 long var6
/* : Int */;
3149 var_node_list
= var
;
3150 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3151 var_nodearraylist1
= var1
;
3152 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
3153 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
3154 CHECK_NEW_array__Array(var2
);
3155 var_listnode2
= var2
;
3156 var_pexterncodeblocknode1
= var_nodearraylist1
;
3158 if (var_pexterncodeblocknode1
== NULL
) {
3159 var4
= 0; /* is null */
3161 var4
= 1; /* arg is null and recv is not */
3164 ((void (*)(val
*, val
*))(var_listnode2
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode2
, var_pexterncodeblocknode1
) /* add on <var_listnode2:Array[Object]>*/;
3167 var_node_list
= var_listnode2
;
3168 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1774> */
3169 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
3170 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
3173 /* method parser#ReduceAction1774#action for (self: Object, Parser) */
3174 void VIRTUAL_parser__ReduceAction1774__action(val
* self
, val
* p0
) {
3175 parser__ReduceAction1774__action(self
, p0
);
3178 /* method parser#ReduceAction1775#action for (self: ReduceAction1775, Parser) */
3179 void parser__ReduceAction1775__action(val
* self
, val
* p0
) {
3180 val
* var_p
/* var p: Parser */;
3181 val
* var
/* : null */;
3182 val
* var_node_list
/* var node_list: nullable Object */;
3183 val
* var1
/* : nullable Object */;
3184 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3185 val
* var2
/* : nullable Object */;
3186 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3187 val
* var3
/* : Array[Object] */;
3188 val
* var_listnode3
/* var listnode3: Array[Object] */;
3189 val
* var_listnode1
/* var listnode1: nullable Object */;
3190 short int var4
/* : Bool */;
3193 val
* var_pexterncodeblocknode2
/* var pexterncodeblocknode2: nullable Object */;
3194 val
* var5
/* : Array[Object] */;
3195 val
* var6
/* : null */;
3196 short int var7
/* : Bool */;
3197 long var8
/* : Int */;
3198 long var9
/* : Int */;
3201 var_node_list
= var
;
3202 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3203 var_nodearraylist2
= var1
;
3204 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3205 var_nodearraylist1
= var2
;
3206 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
3207 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
3208 CHECK_NEW_array__Array(var3
);
3209 var_listnode3
= var3
;
3210 var_listnode1
= var_nodearraylist1
;
3211 /* <var_listnode1:nullable Object> isa Array[Object] */
3212 cltype
= type_array__Arraykernel__Object
.color
;
3213 idtype
= type_array__Arraykernel__Object
.id
;
3214 if(var_listnode1
== NULL
) {
3217 if(cltype
>= var_listnode1
->type
->table_size
) {
3220 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
3224 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30916);
3227 var_pexterncodeblocknode2
= var_nodearraylist2
;
3228 var5
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode1
) /* concat on <self:ReduceAction1775>*/;
3229 var_listnode3
= var5
;
3231 if (var_pexterncodeblocknode2
== NULL
) {
3232 var7
= 0; /* is null */
3234 var7
= 1; /* arg is null and recv is not */
3237 ((void (*)(val
*, val
*))(var_listnode3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode3
, var_pexterncodeblocknode2
) /* add on <var_listnode3:Array[Object]>*/;
3240 var_node_list
= var_listnode3
;
3241 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1775> */
3242 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
3243 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
3246 /* method parser#ReduceAction1775#action for (self: Object, Parser) */
3247 void VIRTUAL_parser__ReduceAction1775__action(val
* self
, val
* p0
) {
3248 parser__ReduceAction1775__action(self
, p0
);
3251 /* method parser#ReduceAction1776#action for (self: ReduceAction1776, Parser) */
3252 void parser__ReduceAction1776__action(val
* self
, val
* p0
) {
3253 val
* var_p
/* var p: Parser */;
3254 val
* var
/* : null */;
3255 val
* var_node_list
/* var node_list: nullable Object */;
3256 val
* var1
/* : nullable Object */;
3257 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3258 val
* var2
/* : Array[Object] */;
3259 val
* var_listnode2
/* var listnode2: Array[Object] */;
3260 val
* var_pclassdefnode1
/* var pclassdefnode1: nullable Object */;
3261 val
* var3
/* : null */;
3262 short int var4
/* : Bool */;
3263 long var5
/* : Int */;
3264 long var6
/* : Int */;
3267 var_node_list
= var
;
3268 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3269 var_nodearraylist1
= var1
;
3270 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
3271 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
3272 CHECK_NEW_array__Array(var2
);
3273 var_listnode2
= var2
;
3274 var_pclassdefnode1
= var_nodearraylist1
;
3276 if (var_pclassdefnode1
== NULL
) {
3277 var4
= 0; /* is null */
3279 var4
= 1; /* arg is null and recv is not */
3282 ((void (*)(val
*, val
*))(var_listnode2
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode2
, var_pclassdefnode1
) /* add on <var_listnode2:Array[Object]>*/;
3285 var_node_list
= var_listnode2
;
3286 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1776> */
3287 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
3288 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
3291 /* method parser#ReduceAction1776#action for (self: Object, Parser) */
3292 void VIRTUAL_parser__ReduceAction1776__action(val
* self
, val
* p0
) {
3293 parser__ReduceAction1776__action(self
, p0
);
3296 /* method parser#ReduceAction1777#action for (self: ReduceAction1777, Parser) */
3297 void parser__ReduceAction1777__action(val
* self
, val
* p0
) {
3298 val
* var_p
/* var p: Parser */;
3299 val
* var
/* : null */;
3300 val
* var_node_list
/* var node_list: nullable Object */;
3301 val
* var1
/* : nullable Object */;
3302 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3303 val
* var2
/* : nullable Object */;
3304 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3305 val
* var3
/* : Array[Object] */;
3306 val
* var_listnode3
/* var listnode3: Array[Object] */;
3307 val
* var_listnode1
/* var listnode1: nullable Object */;
3308 short int var4
/* : Bool */;
3311 val
* var_pclassdefnode2
/* var pclassdefnode2: nullable Object */;
3312 val
* var5
/* : Array[Object] */;
3313 val
* var6
/* : null */;
3314 short int var7
/* : Bool */;
3315 long var8
/* : Int */;
3316 long var9
/* : Int */;
3319 var_node_list
= var
;
3320 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3321 var_nodearraylist2
= var1
;
3322 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3323 var_nodearraylist1
= var2
;
3324 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
3325 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
3326 CHECK_NEW_array__Array(var3
);
3327 var_listnode3
= var3
;
3328 var_listnode1
= var_nodearraylist1
;
3329 /* <var_listnode1:nullable Object> isa Array[Object] */
3330 cltype
= type_array__Arraykernel__Object
.color
;
3331 idtype
= type_array__Arraykernel__Object
.id
;
3332 if(var_listnode1
== NULL
) {
3335 if(cltype
>= var_listnode1
->type
->table_size
) {
3338 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
3342 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30950);
3345 var_pclassdefnode2
= var_nodearraylist2
;
3346 var5
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode1
) /* concat on <self:ReduceAction1777>*/;
3347 var_listnode3
= var5
;
3349 if (var_pclassdefnode2
== NULL
) {
3350 var7
= 0; /* is null */
3352 var7
= 1; /* arg is null and recv is not */
3355 ((void (*)(val
*, val
*))(var_listnode3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode3
, var_pclassdefnode2
) /* add on <var_listnode3:Array[Object]>*/;
3358 var_node_list
= var_listnode3
;
3359 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1777> */
3360 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
3361 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
3364 /* method parser#ReduceAction1777#action for (self: Object, Parser) */
3365 void VIRTUAL_parser__ReduceAction1777__action(val
* self
, val
* p0
) {
3366 parser__ReduceAction1777__action(self
, p0
);
3369 /* method parser#ReduceAction1778#action for (self: ReduceAction1778, Parser) */
3370 void parser__ReduceAction1778__action(val
* self
, val
* p0
) {
3371 val
* var_p
/* var p: Parser */;
3372 val
* var
/* : null */;
3373 val
* var_node_list
/* var node_list: nullable Object */;
3374 val
* var1
/* : nullable Object */;
3375 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3376 val
* var2
/* : Array[Object] */;
3377 val
* var_listnode2
/* var listnode2: Array[Object] */;
3378 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable Object */;
3379 val
* var3
/* : null */;
3380 short int var4
/* : Bool */;
3381 long var5
/* : Int */;
3382 long var6
/* : Int */;
3385 var_node_list
= var
;
3386 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3387 var_nodearraylist1
= var1
;
3388 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
3389 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
3390 CHECK_NEW_array__Array(var2
);
3391 var_listnode2
= var2
;
3392 var_ppropdefnode1
= var_nodearraylist1
;
3394 if (var_ppropdefnode1
== NULL
) {
3395 var4
= 0; /* is null */
3397 var4
= 1; /* arg is null and recv is not */
3400 ((void (*)(val
*, val
*))(var_listnode2
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode2
, var_ppropdefnode1
) /* add on <var_listnode2:Array[Object]>*/;
3403 var_node_list
= var_listnode2
;
3404 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1778> */
3405 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
3406 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
3409 /* method parser#ReduceAction1778#action for (self: Object, Parser) */
3410 void VIRTUAL_parser__ReduceAction1778__action(val
* self
, val
* p0
) {
3411 parser__ReduceAction1778__action(self
, p0
);
3414 /* method parser#ReduceAction1779#action for (self: ReduceAction1779, Parser) */
3415 void parser__ReduceAction1779__action(val
* self
, val
* p0
) {
3416 val
* var_p
/* var p: Parser */;
3417 val
* var
/* : null */;
3418 val
* var_node_list
/* var node_list: nullable Object */;
3419 val
* var1
/* : nullable Object */;
3420 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3421 val
* var2
/* : nullable Object */;
3422 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3423 val
* var3
/* : Array[Object] */;
3424 val
* var_listnode3
/* var listnode3: Array[Object] */;
3425 val
* var_listnode1
/* var listnode1: nullable Object */;
3426 short int var4
/* : Bool */;
3429 val
* var_ppropdefnode2
/* var ppropdefnode2: nullable Object */;
3430 val
* var5
/* : Array[Object] */;
3431 val
* var6
/* : null */;
3432 short int var7
/* : Bool */;
3433 long var8
/* : Int */;
3434 long var9
/* : Int */;
3437 var_node_list
= var
;
3438 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3439 var_nodearraylist2
= var1
;
3440 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3441 var_nodearraylist1
= var2
;
3442 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
3443 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
3444 CHECK_NEW_array__Array(var3
);
3445 var_listnode3
= var3
;
3446 var_listnode1
= var_nodearraylist1
;
3447 /* <var_listnode1:nullable Object> isa Array[Object] */
3448 cltype
= type_array__Arraykernel__Object
.color
;
3449 idtype
= type_array__Arraykernel__Object
.id
;
3450 if(var_listnode1
== NULL
) {
3453 if(cltype
>= var_listnode1
->type
->table_size
) {
3456 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
3460 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 30984);
3463 var_ppropdefnode2
= var_nodearraylist2
;
3464 var5
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode1
) /* concat on <self:ReduceAction1779>*/;
3465 var_listnode3
= var5
;
3467 if (var_ppropdefnode2
== NULL
) {
3468 var7
= 0; /* is null */
3470 var7
= 1; /* arg is null and recv is not */
3473 ((void (*)(val
*, val
*))(var_listnode3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode3
, var_ppropdefnode2
) /* add on <var_listnode3:Array[Object]>*/;
3476 var_node_list
= var_listnode3
;
3477 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1779> */
3478 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
3479 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
3482 /* method parser#ReduceAction1779#action for (self: Object, Parser) */
3483 void VIRTUAL_parser__ReduceAction1779__action(val
* self
, val
* p0
) {
3484 parser__ReduceAction1779__action(self
, p0
);
3487 /* method parser#ReduceAction1780#action for (self: ReduceAction1780, Parser) */
3488 void parser__ReduceAction1780__action(val
* self
, val
* p0
) {
3489 val
* var_p
/* var p: Parser */;
3490 val
* var
/* : null */;
3491 val
* var_node_list
/* var node_list: nullable Object */;
3492 val
* var1
/* : nullable Object */;
3493 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3494 val
* var2
/* : Array[Object] */;
3495 val
* var_listnode2
/* var listnode2: Array[Object] */;
3496 val
* var_psuperclassnode1
/* var psuperclassnode1: nullable Object */;
3497 val
* var3
/* : null */;
3498 short int var4
/* : Bool */;
3499 long var5
/* : Int */;
3500 long var6
/* : Int */;
3503 var_node_list
= var
;
3504 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3505 var_nodearraylist1
= var1
;
3506 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
3507 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
3508 CHECK_NEW_array__Array(var2
);
3509 var_listnode2
= var2
;
3510 var_psuperclassnode1
= var_nodearraylist1
;
3512 if (var_psuperclassnode1
== NULL
) {
3513 var4
= 0; /* is null */
3515 var4
= 1; /* arg is null and recv is not */
3518 ((void (*)(val
*, val
*))(var_listnode2
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode2
, var_psuperclassnode1
) /* add on <var_listnode2:Array[Object]>*/;
3521 var_node_list
= var_listnode2
;
3522 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1780> */
3523 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
3524 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
3527 /* method parser#ReduceAction1780#action for (self: Object, Parser) */
3528 void VIRTUAL_parser__ReduceAction1780__action(val
* self
, val
* p0
) {
3529 parser__ReduceAction1780__action(self
, p0
);
3532 /* method parser#ReduceAction1781#action for (self: ReduceAction1781, Parser) */
3533 void parser__ReduceAction1781__action(val
* self
, val
* p0
) {
3534 val
* var_p
/* var p: Parser */;
3535 val
* var
/* : null */;
3536 val
* var_node_list
/* var node_list: nullable Object */;
3537 val
* var1
/* : nullable Object */;
3538 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3539 val
* var2
/* : nullable Object */;
3540 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3541 val
* var3
/* : Array[Object] */;
3542 val
* var_listnode3
/* var listnode3: Array[Object] */;
3543 val
* var_listnode1
/* var listnode1: nullable Object */;
3544 short int var4
/* : Bool */;
3547 val
* var_psuperclassnode2
/* var psuperclassnode2: nullable Object */;
3548 val
* var5
/* : Array[Object] */;
3549 val
* var6
/* : null */;
3550 short int var7
/* : Bool */;
3551 long var8
/* : Int */;
3552 long var9
/* : Int */;
3555 var_node_list
= var
;
3556 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3557 var_nodearraylist2
= var1
;
3558 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3559 var_nodearraylist1
= var2
;
3560 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
3561 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
3562 CHECK_NEW_array__Array(var3
);
3563 var_listnode3
= var3
;
3564 var_listnode1
= var_nodearraylist1
;
3565 /* <var_listnode1:nullable Object> isa Array[Object] */
3566 cltype
= type_array__Arraykernel__Object
.color
;
3567 idtype
= type_array__Arraykernel__Object
.id
;
3568 if(var_listnode1
== NULL
) {
3571 if(cltype
>= var_listnode1
->type
->table_size
) {
3574 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
3578 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 31018);
3581 var_psuperclassnode2
= var_nodearraylist2
;
3582 var5
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode1
) /* concat on <self:ReduceAction1781>*/;
3583 var_listnode3
= var5
;
3585 if (var_psuperclassnode2
== NULL
) {
3586 var7
= 0; /* is null */
3588 var7
= 1; /* arg is null and recv is not */
3591 ((void (*)(val
*, val
*))(var_listnode3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode3
, var_psuperclassnode2
) /* add on <var_listnode3:Array[Object]>*/;
3594 var_node_list
= var_listnode3
;
3595 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1781> */
3596 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
3597 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
3600 /* method parser#ReduceAction1781#action for (self: Object, Parser) */
3601 void VIRTUAL_parser__ReduceAction1781__action(val
* self
, val
* p0
) {
3602 parser__ReduceAction1781__action(self
, p0
);
3605 /* method parser#ReduceAction1784#action for (self: ReduceAction1784, Parser) */
3606 void parser__ReduceAction1784__action(val
* self
, val
* p0
) {
3607 val
* var_p
/* var p: Parser */;
3608 val
* var
/* : null */;
3609 val
* var_node_list
/* var node_list: nullable Object */;
3610 val
* var1
/* : nullable Object */;
3611 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3612 val
* var2
/* : Array[Object] */;
3613 val
* var_listnode2
/* var listnode2: Array[Object] */;
3614 val
* var_pformaldefnode1
/* var pformaldefnode1: nullable Object */;
3615 val
* var3
/* : null */;
3616 short int var4
/* : Bool */;
3617 long var5
/* : Int */;
3618 long var6
/* : Int */;
3621 var_node_list
= var
;
3622 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3623 var_nodearraylist1
= var1
;
3624 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
3625 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
3626 CHECK_NEW_array__Array(var2
);
3627 var_listnode2
= var2
;
3628 var_pformaldefnode1
= var_nodearraylist1
;
3630 if (var_pformaldefnode1
== NULL
) {
3631 var4
= 0; /* is null */
3633 var4
= 1; /* arg is null and recv is not */
3636 ((void (*)(val
*, val
*))(var_listnode2
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode2
, var_pformaldefnode1
) /* add on <var_listnode2:Array[Object]>*/;
3639 var_node_list
= var_listnode2
;
3640 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1784> */
3641 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
3642 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
3645 /* method parser#ReduceAction1784#action for (self: Object, Parser) */
3646 void VIRTUAL_parser__ReduceAction1784__action(val
* self
, val
* p0
) {
3647 parser__ReduceAction1784__action(self
, p0
);
3650 /* method parser#ReduceAction1785#action for (self: ReduceAction1785, Parser) */
3651 void parser__ReduceAction1785__action(val
* self
, val
* p0
) {
3652 val
* var_p
/* var p: Parser */;
3653 val
* var
/* : null */;
3654 val
* var_node_list
/* var node_list: nullable Object */;
3655 val
* var1
/* : nullable Object */;
3656 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3657 val
* var2
/* : nullable Object */;
3658 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3659 val
* var3
/* : Array[Object] */;
3660 val
* var_listnode3
/* var listnode3: Array[Object] */;
3661 val
* var_listnode1
/* var listnode1: nullable Object */;
3662 short int var4
/* : Bool */;
3665 val
* var_pformaldefnode2
/* var pformaldefnode2: nullable Object */;
3666 val
* var5
/* : Array[Object] */;
3667 val
* var6
/* : null */;
3668 short int var7
/* : Bool */;
3669 long var8
/* : Int */;
3670 long var9
/* : Int */;
3673 var_node_list
= var
;
3674 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3675 var_nodearraylist2
= var1
;
3676 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3677 var_nodearraylist1
= var2
;
3678 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
3679 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
3680 CHECK_NEW_array__Array(var3
);
3681 var_listnode3
= var3
;
3682 var_listnode1
= var_nodearraylist1
;
3683 /* <var_listnode1:nullable Object> isa Array[Object] */
3684 cltype
= type_array__Arraykernel__Object
.color
;
3685 idtype
= type_array__Arraykernel__Object
.id
;
3686 if(var_listnode1
== NULL
) {
3689 if(cltype
>= var_listnode1
->type
->table_size
) {
3692 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
3696 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 31052);
3699 var_pformaldefnode2
= var_nodearraylist2
;
3700 var5
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode1
) /* concat on <self:ReduceAction1785>*/;
3701 var_listnode3
= var5
;
3703 if (var_pformaldefnode2
== NULL
) {
3704 var7
= 0; /* is null */
3706 var7
= 1; /* arg is null and recv is not */
3709 ((void (*)(val
*, val
*))(var_listnode3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode3
, var_pformaldefnode2
) /* add on <var_listnode3:Array[Object]>*/;
3712 var_node_list
= var_listnode3
;
3713 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1785> */
3714 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
3715 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
3718 /* method parser#ReduceAction1785#action for (self: Object, Parser) */
3719 void VIRTUAL_parser__ReduceAction1785__action(val
* self
, val
* p0
) {
3720 parser__ReduceAction1785__action(self
, p0
);
3723 /* method parser#ReduceAction1786#action for (self: ReduceAction1786, Parser) */
3724 void parser__ReduceAction1786__action(val
* self
, val
* p0
) {
3725 val
* var_p
/* var p: Parser */;
3726 val
* var
/* : null */;
3727 val
* var_node_list
/* var node_list: nullable Object */;
3728 val
* var1
/* : nullable Object */;
3729 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3730 val
* var2
/* : Array[Object] */;
3731 val
* var_listnode2
/* var listnode2: Array[Object] */;
3732 val
* var_pparamnode1
/* var pparamnode1: nullable Object */;
3733 val
* var3
/* : null */;
3734 short int var4
/* : Bool */;
3735 long var5
/* : Int */;
3736 long var6
/* : Int */;
3739 var_node_list
= var
;
3740 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3741 var_nodearraylist1
= var1
;
3742 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
3743 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
3744 CHECK_NEW_array__Array(var2
);
3745 var_listnode2
= var2
;
3746 var_pparamnode1
= var_nodearraylist1
;
3748 if (var_pparamnode1
== NULL
) {
3749 var4
= 0; /* is null */
3751 var4
= 1; /* arg is null and recv is not */
3754 ((void (*)(val
*, val
*))(var_listnode2
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode2
, var_pparamnode1
) /* add on <var_listnode2:Array[Object]>*/;
3757 var_node_list
= var_listnode2
;
3758 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1786> */
3759 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
3760 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
3763 /* method parser#ReduceAction1786#action for (self: Object, Parser) */
3764 void VIRTUAL_parser__ReduceAction1786__action(val
* self
, val
* p0
) {
3765 parser__ReduceAction1786__action(self
, p0
);
3768 /* method parser#ReduceAction1787#action for (self: ReduceAction1787, Parser) */
3769 void parser__ReduceAction1787__action(val
* self
, val
* p0
) {
3770 val
* var_p
/* var p: Parser */;
3771 val
* var
/* : null */;
3772 val
* var_node_list
/* var node_list: nullable Object */;
3773 val
* var1
/* : nullable Object */;
3774 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3775 val
* var2
/* : nullable Object */;
3776 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3777 val
* var3
/* : Array[Object] */;
3778 val
* var_listnode3
/* var listnode3: Array[Object] */;
3779 val
* var_listnode1
/* var listnode1: nullable Object */;
3780 short int var4
/* : Bool */;
3783 val
* var_pparamnode2
/* var pparamnode2: nullable Object */;
3784 val
* var5
/* : Array[Object] */;
3785 val
* var6
/* : null */;
3786 short int var7
/* : Bool */;
3787 long var8
/* : Int */;
3788 long var9
/* : Int */;
3791 var_node_list
= var
;
3792 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3793 var_nodearraylist2
= var1
;
3794 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3795 var_nodearraylist1
= var2
;
3796 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
3797 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
3798 CHECK_NEW_array__Array(var3
);
3799 var_listnode3
= var3
;
3800 var_listnode1
= var_nodearraylist1
;
3801 /* <var_listnode1:nullable Object> isa Array[Object] */
3802 cltype
= type_array__Arraykernel__Object
.color
;
3803 idtype
= type_array__Arraykernel__Object
.id
;
3804 if(var_listnode1
== NULL
) {
3807 if(cltype
>= var_listnode1
->type
->table_size
) {
3810 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
3814 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 31086);
3817 var_pparamnode2
= var_nodearraylist2
;
3818 var5
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode1
) /* concat on <self:ReduceAction1787>*/;
3819 var_listnode3
= var5
;
3821 if (var_pparamnode2
== NULL
) {
3822 var7
= 0; /* is null */
3824 var7
= 1; /* arg is null and recv is not */
3827 ((void (*)(val
*, val
*))(var_listnode3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode3
, var_pparamnode2
) /* add on <var_listnode3:Array[Object]>*/;
3830 var_node_list
= var_listnode3
;
3831 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1787> */
3832 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
3833 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
3836 /* method parser#ReduceAction1787#action for (self: Object, Parser) */
3837 void VIRTUAL_parser__ReduceAction1787__action(val
* self
, val
* p0
) {
3838 parser__ReduceAction1787__action(self
, p0
);
3841 /* method parser#ReduceAction1788#action for (self: ReduceAction1788, Parser) */
3842 void parser__ReduceAction1788__action(val
* self
, val
* p0
) {
3843 val
* var_p
/* var p: Parser */;
3844 val
* var
/* : null */;
3845 val
* var_node_list
/* var node_list: nullable Object */;
3846 val
* var1
/* : nullable Object */;
3847 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3848 val
* var2
/* : Array[Object] */;
3849 val
* var_listnode2
/* var listnode2: Array[Object] */;
3850 val
* var_pclosuredeclnode1
/* var pclosuredeclnode1: nullable Object */;
3851 val
* var3
/* : null */;
3852 short int var4
/* : Bool */;
3853 long var5
/* : Int */;
3854 long var6
/* : Int */;
3857 var_node_list
= var
;
3858 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3859 var_nodearraylist1
= var1
;
3860 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
3861 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
3862 CHECK_NEW_array__Array(var2
);
3863 var_listnode2
= var2
;
3864 var_pclosuredeclnode1
= var_nodearraylist1
;
3866 if (var_pclosuredeclnode1
== NULL
) {
3867 var4
= 0; /* is null */
3869 var4
= 1; /* arg is null and recv is not */
3872 ((void (*)(val
*, val
*))(var_listnode2
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode2
, var_pclosuredeclnode1
) /* add on <var_listnode2:Array[Object]>*/;
3875 var_node_list
= var_listnode2
;
3876 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1788> */
3877 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
3878 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
3881 /* method parser#ReduceAction1788#action for (self: Object, Parser) */
3882 void VIRTUAL_parser__ReduceAction1788__action(val
* self
, val
* p0
) {
3883 parser__ReduceAction1788__action(self
, p0
);
3886 /* method parser#ReduceAction1789#action for (self: ReduceAction1789, Parser) */
3887 void parser__ReduceAction1789__action(val
* self
, val
* p0
) {
3888 val
* var_p
/* var p: Parser */;
3889 val
* var
/* : null */;
3890 val
* var_node_list
/* var node_list: nullable Object */;
3891 val
* var1
/* : nullable Object */;
3892 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3893 val
* var2
/* : nullable Object */;
3894 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3895 val
* var3
/* : Array[Object] */;
3896 val
* var_listnode3
/* var listnode3: Array[Object] */;
3897 val
* var_listnode1
/* var listnode1: nullable Object */;
3898 short int var4
/* : Bool */;
3901 val
* var_pclosuredeclnode2
/* var pclosuredeclnode2: nullable Object */;
3902 val
* var5
/* : Array[Object] */;
3903 val
* var6
/* : null */;
3904 short int var7
/* : Bool */;
3905 long var8
/* : Int */;
3906 long var9
/* : Int */;
3909 var_node_list
= var
;
3910 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3911 var_nodearraylist2
= var1
;
3912 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3913 var_nodearraylist1
= var2
;
3914 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
3915 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
3916 CHECK_NEW_array__Array(var3
);
3917 var_listnode3
= var3
;
3918 var_listnode1
= var_nodearraylist1
;
3919 /* <var_listnode1:nullable Object> isa Array[Object] */
3920 cltype
= type_array__Arraykernel__Object
.color
;
3921 idtype
= type_array__Arraykernel__Object
.id
;
3922 if(var_listnode1
== NULL
) {
3925 if(cltype
>= var_listnode1
->type
->table_size
) {
3928 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
3932 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 31120);
3935 var_pclosuredeclnode2
= var_nodearraylist2
;
3936 var5
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode1
) /* concat on <self:ReduceAction1789>*/;
3937 var_listnode3
= var5
;
3939 if (var_pclosuredeclnode2
== NULL
) {
3940 var7
= 0; /* is null */
3942 var7
= 1; /* arg is null and recv is not */
3945 ((void (*)(val
*, val
*))(var_listnode3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode3
, var_pclosuredeclnode2
) /* add on <var_listnode3:Array[Object]>*/;
3948 var_node_list
= var_listnode3
;
3949 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1789> */
3950 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
3951 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
3954 /* method parser#ReduceAction1789#action for (self: Object, Parser) */
3955 void VIRTUAL_parser__ReduceAction1789__action(val
* self
, val
* p0
) {
3956 parser__ReduceAction1789__action(self
, p0
);
3959 /* method parser#ReduceAction1790#action for (self: ReduceAction1790, Parser) */
3960 void parser__ReduceAction1790__action(val
* self
, val
* p0
) {
3961 val
* var_p
/* var p: Parser */;
3962 val
* var
/* : null */;
3963 val
* var_node_list
/* var node_list: nullable Object */;
3964 val
* var1
/* : nullable Object */;
3965 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3966 val
* var2
/* : Array[Object] */;
3967 val
* var_listnode2
/* var listnode2: Array[Object] */;
3968 val
* var_pexterncallnode1
/* var pexterncallnode1: nullable Object */;
3969 val
* var3
/* : null */;
3970 short int var4
/* : Bool */;
3971 long var5
/* : Int */;
3972 long var6
/* : Int */;
3975 var_node_list
= var
;
3976 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
3977 var_nodearraylist1
= var1
;
3978 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
3979 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
3980 CHECK_NEW_array__Array(var2
);
3981 var_listnode2
= var2
;
3982 var_pexterncallnode1
= var_nodearraylist1
;
3984 if (var_pexterncallnode1
== NULL
) {
3985 var4
= 0; /* is null */
3987 var4
= 1; /* arg is null and recv is not */
3990 ((void (*)(val
*, val
*))(var_listnode2
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode2
, var_pexterncallnode1
) /* add on <var_listnode2:Array[Object]>*/;
3993 var_node_list
= var_listnode2
;
3994 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1790> */
3995 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
3996 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
3999 /* method parser#ReduceAction1790#action for (self: Object, Parser) */
4000 void VIRTUAL_parser__ReduceAction1790__action(val
* self
, val
* p0
) {
4001 parser__ReduceAction1790__action(self
, p0
);
4004 /* method parser#ReduceAction1791#action for (self: ReduceAction1791, Parser) */
4005 void parser__ReduceAction1791__action(val
* self
, val
* p0
) {
4006 val
* var_p
/* var p: Parser */;
4007 val
* var
/* : null */;
4008 val
* var_node_list
/* var node_list: nullable Object */;
4009 val
* var1
/* : nullable Object */;
4010 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4011 val
* var2
/* : nullable Object */;
4012 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4013 val
* var3
/* : Array[Object] */;
4014 val
* var_listnode3
/* var listnode3: Array[Object] */;
4015 val
* var_listnode1
/* var listnode1: nullable Object */;
4016 short int var4
/* : Bool */;
4019 val
* var_pexterncallnode2
/* var pexterncallnode2: nullable Object */;
4020 val
* var5
/* : Array[Object] */;
4021 val
* var6
/* : null */;
4022 short int var7
/* : Bool */;
4023 long var8
/* : Int */;
4024 long var9
/* : Int */;
4027 var_node_list
= var
;
4028 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4029 var_nodearraylist2
= var1
;
4030 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4031 var_nodearraylist1
= var2
;
4032 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
4033 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
4034 CHECK_NEW_array__Array(var3
);
4035 var_listnode3
= var3
;
4036 var_listnode1
= var_nodearraylist1
;
4037 /* <var_listnode1:nullable Object> isa Array[Object] */
4038 cltype
= type_array__Arraykernel__Object
.color
;
4039 idtype
= type_array__Arraykernel__Object
.id
;
4040 if(var_listnode1
== NULL
) {
4043 if(cltype
>= var_listnode1
->type
->table_size
) {
4046 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
4050 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 31154);
4053 var_pexterncallnode2
= var_nodearraylist2
;
4054 var5
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode1
) /* concat on <self:ReduceAction1791>*/;
4055 var_listnode3
= var5
;
4057 if (var_pexterncallnode2
== NULL
) {
4058 var7
= 0; /* is null */
4060 var7
= 1; /* arg is null and recv is not */
4063 ((void (*)(val
*, val
*))(var_listnode3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode3
, var_pexterncallnode2
) /* add on <var_listnode3:Array[Object]>*/;
4066 var_node_list
= var_listnode3
;
4067 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1791> */
4068 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
4069 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
4072 /* method parser#ReduceAction1791#action for (self: Object, Parser) */
4073 void VIRTUAL_parser__ReduceAction1791__action(val
* self
, val
* p0
) {
4074 parser__ReduceAction1791__action(self
, p0
);
4077 /* method parser#ReduceAction1793#action for (self: ReduceAction1793, Parser) */
4078 void parser__ReduceAction1793__action(val
* self
, val
* p0
) {
4079 val
* var_p
/* var p: Parser */;
4080 val
* var
/* : null */;
4081 val
* var_node_list
/* var node_list: nullable Object */;
4082 val
* var1
/* : nullable Object */;
4083 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4084 val
* var2
/* : nullable Object */;
4085 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4086 val
* var3
/* : Array[Object] */;
4087 val
* var_listnode3
/* var listnode3: Array[Object] */;
4088 val
* var_listnode1
/* var listnode1: nullable Object */;
4089 short int var4
/* : Bool */;
4092 val
* var_ptypenode2
/* var ptypenode2: nullable Object */;
4093 val
* var5
/* : Array[Object] */;
4094 val
* var6
/* : null */;
4095 short int var7
/* : Bool */;
4096 long var8
/* : Int */;
4097 long var9
/* : Int */;
4100 var_node_list
= var
;
4101 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4102 var_nodearraylist2
= var1
;
4103 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4104 var_nodearraylist1
= var2
;
4105 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
4106 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
4107 CHECK_NEW_array__Array(var3
);
4108 var_listnode3
= var3
;
4109 var_listnode1
= var_nodearraylist1
;
4110 /* <var_listnode1:nullable Object> isa Array[Object] */
4111 cltype
= type_array__Arraykernel__Object
.color
;
4112 idtype
= type_array__Arraykernel__Object
.id
;
4113 if(var_listnode1
== NULL
) {
4116 if(cltype
>= var_listnode1
->type
->table_size
) {
4119 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
4123 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 31173);
4126 var_ptypenode2
= var_nodearraylist2
;
4127 var5
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode1
) /* concat on <self:ReduceAction1793>*/;
4128 var_listnode3
= var5
;
4130 if (var_ptypenode2
== NULL
) {
4131 var7
= 0; /* is null */
4133 var7
= 1; /* arg is null and recv is not */
4136 ((void (*)(val
*, val
*))(var_listnode3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode3
, var_ptypenode2
) /* add on <var_listnode3:Array[Object]>*/;
4139 var_node_list
= var_listnode3
;
4140 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1793> */
4141 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
4142 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
4145 /* method parser#ReduceAction1793#action for (self: Object, Parser) */
4146 void VIRTUAL_parser__ReduceAction1793__action(val
* self
, val
* p0
) {
4147 parser__ReduceAction1793__action(self
, p0
);
4150 /* method parser#ReduceAction1794#action for (self: ReduceAction1794, Parser) */
4151 void parser__ReduceAction1794__action(val
* self
, val
* p0
) {
4152 val
* var_p
/* var p: Parser */;
4153 val
* var
/* : null */;
4154 val
* var_node_list
/* var node_list: nullable Object */;
4155 val
* var1
/* : nullable Object */;
4156 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4157 val
* var2
/* : Array[Object] */;
4158 val
* var_listnode2
/* var listnode2: Array[Object] */;
4159 val
* var_pexprnode1
/* var pexprnode1: nullable Object */;
4160 val
* var3
/* : null */;
4161 short int var4
/* : Bool */;
4162 long var5
/* : Int */;
4163 long var6
/* : Int */;
4166 var_node_list
= var
;
4167 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4168 var_nodearraylist1
= var1
;
4169 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
4170 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
4171 CHECK_NEW_array__Array(var2
);
4172 var_listnode2
= var2
;
4173 var_pexprnode1
= var_nodearraylist1
;
4175 if (var_pexprnode1
== NULL
) {
4176 var4
= 0; /* is null */
4178 var4
= 1; /* arg is null and recv is not */
4181 ((void (*)(val
*, val
*))(var_listnode2
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode2
, var_pexprnode1
) /* add on <var_listnode2:Array[Object]>*/;
4184 var_node_list
= var_listnode2
;
4185 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1794> */
4186 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
4187 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
4190 /* method parser#ReduceAction1794#action for (self: Object, Parser) */
4191 void VIRTUAL_parser__ReduceAction1794__action(val
* self
, val
* p0
) {
4192 parser__ReduceAction1794__action(self
, p0
);
4195 /* method parser#ReduceAction1795#action for (self: ReduceAction1795, Parser) */
4196 void parser__ReduceAction1795__action(val
* self
, val
* p0
) {
4197 val
* var_p
/* var p: Parser */;
4198 val
* var
/* : null */;
4199 val
* var_node_list
/* var node_list: nullable Object */;
4200 val
* var1
/* : nullable Object */;
4201 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4202 val
* var2
/* : nullable Object */;
4203 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4204 val
* var3
/* : Array[Object] */;
4205 val
* var_listnode3
/* var listnode3: Array[Object] */;
4206 val
* var_listnode1
/* var listnode1: nullable Object */;
4207 short int var4
/* : Bool */;
4210 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
4211 val
* var5
/* : Array[Object] */;
4212 val
* var6
/* : null */;
4213 short int var7
/* : Bool */;
4214 long var8
/* : Int */;
4215 long var9
/* : Int */;
4218 var_node_list
= var
;
4219 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4220 var_nodearraylist2
= var1
;
4221 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4222 var_nodearraylist1
= var2
;
4223 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
4224 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
4225 CHECK_NEW_array__Array(var3
);
4226 var_listnode3
= var3
;
4227 var_listnode1
= var_nodearraylist1
;
4228 /* <var_listnode1:nullable Object> isa Array[Object] */
4229 cltype
= type_array__Arraykernel__Object
.color
;
4230 idtype
= type_array__Arraykernel__Object
.id
;
4231 if(var_listnode1
== NULL
) {
4234 if(cltype
>= var_listnode1
->type
->table_size
) {
4237 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
4241 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 31207);
4244 var_pexprnode2
= var_nodearraylist2
;
4245 var5
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode1
) /* concat on <self:ReduceAction1795>*/;
4246 var_listnode3
= var5
;
4248 if (var_pexprnode2
== NULL
) {
4249 var7
= 0; /* is null */
4251 var7
= 1; /* arg is null and recv is not */
4254 ((void (*)(val
*, val
*))(var_listnode3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode3
, var_pexprnode2
) /* add on <var_listnode3:Array[Object]>*/;
4257 var_node_list
= var_listnode3
;
4258 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1795> */
4259 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
4260 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
4263 /* method parser#ReduceAction1795#action for (self: Object, Parser) */
4264 void VIRTUAL_parser__ReduceAction1795__action(val
* self
, val
* p0
) {
4265 parser__ReduceAction1795__action(self
, p0
);
4268 /* method parser#ReduceAction1797#action for (self: ReduceAction1797, Parser) */
4269 void parser__ReduceAction1797__action(val
* self
, val
* p0
) {
4270 val
* var_p
/* var p: Parser */;
4271 val
* var
/* : null */;
4272 val
* var_node_list
/* var node_list: nullable Object */;
4273 val
* var1
/* : nullable Object */;
4274 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4275 val
* var2
/* : nullable Object */;
4276 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4277 val
* var3
/* : Array[Object] */;
4278 val
* var_listnode3
/* var listnode3: Array[Object] */;
4279 val
* var_listnode1
/* var listnode1: nullable Object */;
4280 short int var4
/* : Bool */;
4283 val
* var_listnode2
/* var listnode2: nullable Object */;
4284 short int var5
/* : Bool */;
4287 val
* var8
/* : Array[Object] */;
4288 val
* var9
/* : Array[Object] */;
4289 long var10
/* : Int */;
4290 long var11
/* : Int */;
4293 var_node_list
= var
;
4294 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4295 var_nodearraylist2
= var1
;
4296 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4297 var_nodearraylist1
= var2
;
4298 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
4299 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
4300 CHECK_NEW_array__Array(var3
);
4301 var_listnode3
= var3
;
4302 var_listnode1
= var_nodearraylist1
;
4303 /* <var_listnode1:nullable Object> isa Array[Object] */
4304 cltype
= type_array__Arraykernel__Object
.color
;
4305 idtype
= type_array__Arraykernel__Object
.id
;
4306 if(var_listnode1
== NULL
) {
4309 if(cltype
>= var_listnode1
->type
->table_size
) {
4312 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
4316 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 31226);
4319 var_listnode2
= var_nodearraylist2
;
4320 /* <var_listnode2:nullable Object> isa Array[Object] */
4321 cltype6
= type_array__Arraykernel__Object
.color
;
4322 idtype7
= type_array__Arraykernel__Object
.id
;
4323 if(var_listnode2
== NULL
) {
4326 if(cltype6
>= var_listnode2
->type
->table_size
) {
4329 var5
= var_listnode2
->type
->type_table
[cltype6
] == idtype7
;
4333 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 31228);
4336 var8
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode1
) /* concat on <self:ReduceAction1797>*/;
4337 var_listnode3
= var8
;
4338 var9
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode2
) /* concat on <self:ReduceAction1797>*/;
4339 var_listnode3
= var9
;
4340 var_node_list
= var_listnode3
;
4341 var10
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1797> */
4342 var11
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var10
) /* go_to on <var_p:Parser>*/;
4343 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var11
, var_node_list
) /* push on <var_p:Parser>*/;
4346 /* method parser#ReduceAction1797#action for (self: Object, Parser) */
4347 void VIRTUAL_parser__ReduceAction1797__action(val
* self
, val
* p0
) {
4348 parser__ReduceAction1797__action(self
, p0
);
4351 /* method parser#ReduceAction1799#action for (self: ReduceAction1799, Parser) */
4352 void parser__ReduceAction1799__action(val
* self
, val
* p0
) {
4353 val
* var_p
/* var p: Parser */;
4354 val
* var
/* : null */;
4355 val
* var_node_list
/* var node_list: nullable Object */;
4356 val
* var1
/* : nullable Object */;
4357 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4358 val
* var2
/* : nullable Object */;
4359 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4360 val
* var3
/* : Array[Object] */;
4361 val
* var_listnode3
/* var listnode3: Array[Object] */;
4362 val
* var_listnode1
/* var listnode1: nullable Object */;
4363 short int var4
/* : Bool */;
4366 val
* var_pannotationnode2
/* var pannotationnode2: nullable Object */;
4367 val
* var5
/* : Array[Object] */;
4368 val
* var6
/* : null */;
4369 short int var7
/* : Bool */;
4370 long var8
/* : Int */;
4371 long var9
/* : Int */;
4374 var_node_list
= var
;
4375 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4376 var_nodearraylist2
= var1
;
4377 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4378 var_nodearraylist1
= var2
;
4379 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
4380 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
4381 CHECK_NEW_array__Array(var3
);
4382 var_listnode3
= var3
;
4383 var_listnode1
= var_nodearraylist1
;
4384 /* <var_listnode1:nullable Object> isa Array[Object] */
4385 cltype
= type_array__Arraykernel__Object
.color
;
4386 idtype
= type_array__Arraykernel__Object
.id
;
4387 if(var_listnode1
== NULL
) {
4390 if(cltype
>= var_listnode1
->type
->table_size
) {
4393 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
4397 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 31244);
4400 var_pannotationnode2
= var_nodearraylist2
;
4401 var5
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode1
) /* concat on <self:ReduceAction1799>*/;
4402 var_listnode3
= var5
;
4404 if (var_pannotationnode2
== NULL
) {
4405 var7
= 0; /* is null */
4407 var7
= 1; /* arg is null and recv is not */
4410 ((void (*)(val
*, val
*))(var_listnode3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode3
, var_pannotationnode2
) /* add on <var_listnode3:Array[Object]>*/;
4413 var_node_list
= var_listnode3
;
4414 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1799> */
4415 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
4416 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
4419 /* method parser#ReduceAction1799#action for (self: Object, Parser) */
4420 void VIRTUAL_parser__ReduceAction1799__action(val
* self
, val
* p0
) {
4421 parser__ReduceAction1799__action(self
, p0
);
4424 /* method parser#ReduceAction1803#action for (self: ReduceAction1803, Parser) */
4425 void parser__ReduceAction1803__action(val
* self
, val
* p0
) {
4426 val
* var_p
/* var p: Parser */;
4427 val
* var
/* : null */;
4428 val
* var_node_list
/* var node_list: nullable Object */;
4429 val
* var1
/* : nullable Object */;
4430 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4431 val
* var2
/* : nullable Object */;
4432 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4433 val
* var3
/* : Array[Object] */;
4434 val
* var_listnode3
/* var listnode3: Array[Object] */;
4435 val
* var_listnode1
/* var listnode1: nullable Object */;
4436 short int var4
/* : Bool */;
4439 val
* var_patargnode2
/* var patargnode2: nullable Object */;
4440 val
* var5
/* : Array[Object] */;
4441 val
* var6
/* : null */;
4442 short int var7
/* : Bool */;
4443 long var8
/* : Int */;
4444 long var9
/* : Int */;
4447 var_node_list
= var
;
4448 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4449 var_nodearraylist2
= var1
;
4450 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4451 var_nodearraylist1
= var2
;
4452 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
4453 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
4454 CHECK_NEW_array__Array(var3
);
4455 var_listnode3
= var3
;
4456 var_listnode1
= var_nodearraylist1
;
4457 /* <var_listnode1:nullable Object> isa Array[Object] */
4458 cltype
= type_array__Arraykernel__Object
.color
;
4459 idtype
= type_array__Arraykernel__Object
.id
;
4460 if(var_listnode1
== NULL
) {
4463 if(cltype
>= var_listnode1
->type
->table_size
) {
4466 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
4470 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 31263);
4473 var_patargnode2
= var_nodearraylist2
;
4474 var5
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode1
) /* concat on <self:ReduceAction1803>*/;
4475 var_listnode3
= var5
;
4477 if (var_patargnode2
== NULL
) {
4478 var7
= 0; /* is null */
4480 var7
= 1; /* arg is null and recv is not */
4483 ((void (*)(val
*, val
*))(var_listnode3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode3
, var_patargnode2
) /* add on <var_listnode3:Array[Object]>*/;
4486 var_node_list
= var_listnode3
;
4487 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1803> */
4488 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
4489 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
4492 /* method parser#ReduceAction1803#action for (self: Object, Parser) */
4493 void VIRTUAL_parser__ReduceAction1803__action(val
* self
, val
* p0
) {
4494 parser__ReduceAction1803__action(self
, p0
);
4497 /* method parser#ReduceAction1807#action for (self: ReduceAction1807, Parser) */
4498 void parser__ReduceAction1807__action(val
* self
, val
* p0
) {
4499 val
* var_p
/* var p: Parser */;
4500 val
* var
/* : null */;
4501 val
* var_node_list
/* var node_list: nullable Object */;
4502 val
* var1
/* : nullable Object */;
4503 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4504 val
* var2
/* : nullable Object */;
4505 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4506 val
* var3
/* : Array[Object] */;
4507 val
* var_listnode3
/* var listnode3: Array[Object] */;
4508 val
* var_listnode1
/* var listnode1: nullable Object */;
4509 short int var4
/* : Bool */;
4512 val
* var_tidnode2
/* var tidnode2: nullable Object */;
4513 val
* var5
/* : Array[Object] */;
4514 val
* var6
/* : null */;
4515 short int var7
/* : Bool */;
4516 long var8
/* : Int */;
4517 long var9
/* : Int */;
4520 var_node_list
= var
;
4521 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4522 var_nodearraylist2
= var1
;
4523 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4524 var_nodearraylist1
= var2
;
4525 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
4526 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
4527 CHECK_NEW_array__Array(var3
);
4528 var_listnode3
= var3
;
4529 var_listnode1
= var_nodearraylist1
;
4530 /* <var_listnode1:nullable Object> isa Array[Object] */
4531 cltype
= type_array__Arraykernel__Object
.color
;
4532 idtype
= type_array__Arraykernel__Object
.id
;
4533 if(var_listnode1
== NULL
) {
4536 if(cltype
>= var_listnode1
->type
->table_size
) {
4539 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
4543 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 31282);
4546 var_tidnode2
= var_nodearraylist2
;
4547 var5
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode1
) /* concat on <self:ReduceAction1807>*/;
4548 var_listnode3
= var5
;
4550 if (var_tidnode2
== NULL
) {
4551 var7
= 0; /* is null */
4553 var7
= 1; /* arg is null and recv is not */
4556 ((void (*)(val
*, val
*))(var_listnode3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode3
, var_tidnode2
) /* add on <var_listnode3:Array[Object]>*/;
4559 var_node_list
= var_listnode3
;
4560 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1807> */
4561 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
4562 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
4565 /* method parser#ReduceAction1807#action for (self: Object, Parser) */
4566 void VIRTUAL_parser__ReduceAction1807__action(val
* self
, val
* p0
) {
4567 parser__ReduceAction1807__action(self
, p0
);
4570 /* method parser#ReduceAction1808#action for (self: ReduceAction1808, Parser) */
4571 void parser__ReduceAction1808__action(val
* self
, val
* p0
) {
4572 val
* var_p
/* var p: Parser */;
4573 val
* var
/* : null */;
4574 val
* var_node_list
/* var node_list: nullable Object */;
4575 val
* var1
/* : nullable Object */;
4576 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4577 val
* var2
/* : Array[Object] */;
4578 val
* var_listnode2
/* var listnode2: Array[Object] */;
4579 val
* var_tcommentnode1
/* var tcommentnode1: nullable Object */;
4580 val
* var3
/* : null */;
4581 short int var4
/* : Bool */;
4582 long var5
/* : Int */;
4583 long var6
/* : Int */;
4586 var_node_list
= var
;
4587 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4588 var_nodearraylist1
= var1
;
4589 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
4590 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
4591 CHECK_NEW_array__Array(var2
);
4592 var_listnode2
= var2
;
4593 var_tcommentnode1
= var_nodearraylist1
;
4595 if (var_tcommentnode1
== NULL
) {
4596 var4
= 0; /* is null */
4598 var4
= 1; /* arg is null and recv is not */
4601 ((void (*)(val
*, val
*))(var_listnode2
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode2
, var_tcommentnode1
) /* add on <var_listnode2:Array[Object]>*/;
4604 var_node_list
= var_listnode2
;
4605 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1808> */
4606 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
4607 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
4610 /* method parser#ReduceAction1808#action for (self: Object, Parser) */
4611 void VIRTUAL_parser__ReduceAction1808__action(val
* self
, val
* p0
) {
4612 parser__ReduceAction1808__action(self
, p0
);
4615 /* method parser#ReduceAction1809#action for (self: ReduceAction1809, Parser) */
4616 void parser__ReduceAction1809__action(val
* self
, val
* p0
) {
4617 val
* var_p
/* var p: Parser */;
4618 val
* var
/* : null */;
4619 val
* var_node_list
/* var node_list: nullable Object */;
4620 val
* var1
/* : nullable Object */;
4621 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4622 val
* var2
/* : nullable Object */;
4623 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4624 val
* var3
/* : Array[Object] */;
4625 val
* var_listnode3
/* var listnode3: Array[Object] */;
4626 val
* var_listnode1
/* var listnode1: nullable Object */;
4627 short int var4
/* : Bool */;
4630 val
* var_tcommentnode2
/* var tcommentnode2: nullable Object */;
4631 val
* var5
/* : Array[Object] */;
4632 val
* var6
/* : null */;
4633 short int var7
/* : Bool */;
4634 long var8
/* : Int */;
4635 long var9
/* : Int */;
4638 var_node_list
= var
;
4639 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4640 var_nodearraylist2
= var1
;
4641 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4642 var_nodearraylist1
= var2
;
4643 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
4644 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
4645 CHECK_NEW_array__Array(var3
);
4646 var_listnode3
= var3
;
4647 var_listnode1
= var_nodearraylist1
;
4648 /* <var_listnode1:nullable Object> isa Array[Object] */
4649 cltype
= type_array__Arraykernel__Object
.color
;
4650 idtype
= type_array__Arraykernel__Object
.id
;
4651 if(var_listnode1
== NULL
) {
4654 if(cltype
>= var_listnode1
->type
->table_size
) {
4657 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
4661 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 31316);
4664 var_tcommentnode2
= var_nodearraylist2
;
4665 var5
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode1
) /* concat on <self:ReduceAction1809>*/;
4666 var_listnode3
= var5
;
4668 if (var_tcommentnode2
== NULL
) {
4669 var7
= 0; /* is null */
4671 var7
= 1; /* arg is null and recv is not */
4674 ((void (*)(val
*, val
*))(var_listnode3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode3
, var_tcommentnode2
) /* add on <var_listnode3:Array[Object]>*/;
4677 var_node_list
= var_listnode3
;
4678 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1809> */
4679 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
4680 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
4683 /* method parser#ReduceAction1809#action for (self: Object, Parser) */
4684 void VIRTUAL_parser__ReduceAction1809__action(val
* self
, val
* p0
) {
4685 parser__ReduceAction1809__action(self
, p0
);
4688 /* method parser#ReduceAction1810#action for (self: ReduceAction1810, Parser) */
4689 void parser__ReduceAction1810__action(val
* self
, val
* p0
) {
4690 val
* var_p
/* var p: Parser */;
4691 val
* var
/* : null */;
4692 val
* var_node_list
/* var node_list: nullable Object */;
4693 val
* var1
/* : nullable Object */;
4694 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4695 val
* var2
/* : Array[Object] */;
4696 val
* var_listnode2
/* var listnode2: Array[Object] */;
4697 val
* var_teolnode1
/* var teolnode1: nullable Object */;
4698 val
* var3
/* : null */;
4699 short int var4
/* : Bool */;
4700 long var5
/* : Int */;
4701 long var6
/* : Int */;
4704 var_node_list
= var
;
4705 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4706 var_nodearraylist1
= var1
;
4707 var2
= NEW_array__Array(&type_array__Arraykernel__Object
);
4708 ((void (*)(val
*))(var2
->class->vft
[COLOR_array__Array__init
]))(var2
) /* init on <var2:Array[Object]>*/;
4709 CHECK_NEW_array__Array(var2
);
4710 var_listnode2
= var2
;
4711 var_teolnode1
= var_nodearraylist1
;
4713 if (var_teolnode1
== NULL
) {
4714 var4
= 0; /* is null */
4716 var4
= 1; /* arg is null and recv is not */
4719 ((void (*)(val
*, val
*))(var_listnode2
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode2
, var_teolnode1
) /* add on <var_listnode2:Array[Object]>*/;
4722 var_node_list
= var_listnode2
;
4723 var5
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1810> */
4724 var6
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var5
) /* go_to on <var_p:Parser>*/;
4725 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var6
, var_node_list
) /* push on <var_p:Parser>*/;
4728 /* method parser#ReduceAction1810#action for (self: Object, Parser) */
4729 void VIRTUAL_parser__ReduceAction1810__action(val
* self
, val
* p0
) {
4730 parser__ReduceAction1810__action(self
, p0
);
4733 /* method parser#ReduceAction1811#action for (self: ReduceAction1811, Parser) */
4734 void parser__ReduceAction1811__action(val
* self
, val
* p0
) {
4735 val
* var_p
/* var p: Parser */;
4736 val
* var
/* : null */;
4737 val
* var_node_list
/* var node_list: nullable Object */;
4738 val
* var1
/* : nullable Object */;
4739 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4740 val
* var2
/* : nullable Object */;
4741 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4742 val
* var3
/* : Array[Object] */;
4743 val
* var_listnode3
/* var listnode3: Array[Object] */;
4744 val
* var_listnode1
/* var listnode1: nullable Object */;
4745 short int var4
/* : Bool */;
4748 val
* var_teolnode2
/* var teolnode2: nullable Object */;
4749 val
* var5
/* : Array[Object] */;
4750 val
* var6
/* : null */;
4751 short int var7
/* : Bool */;
4752 long var8
/* : Int */;
4753 long var9
/* : Int */;
4756 var_node_list
= var
;
4757 var1
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4758 var_nodearraylist2
= var1
;
4759 var2
= ((val
* (*)(val
*))(var_p
->class->vft
[COLOR_parser__Parser__pop
]))(var_p
) /* pop on <var_p:Parser>*/;
4760 var_nodearraylist1
= var2
;
4761 var3
= NEW_array__Array(&type_array__Arraykernel__Object
);
4762 ((void (*)(val
*))(var3
->class->vft
[COLOR_array__Array__init
]))(var3
) /* init on <var3:Array[Object]>*/;
4763 CHECK_NEW_array__Array(var3
);
4764 var_listnode3
= var3
;
4765 var_listnode1
= var_nodearraylist1
;
4766 /* <var_listnode1:nullable Object> isa Array[Object] */
4767 cltype
= type_array__Arraykernel__Object
.color
;
4768 idtype
= type_array__Arraykernel__Object
.id
;
4769 if(var_listnode1
== NULL
) {
4772 if(cltype
>= var_listnode1
->type
->table_size
) {
4775 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
4779 fprintf(stderr
, "Runtime error: %s (%s:%d)\n", "Assert failed", "src/parser/parser.nit", 31350);
4782 var_teolnode2
= var_nodearraylist2
;
4783 var5
= ((val
* (*)(val
*, val
*, val
*))(self
->class->vft
[COLOR_parser__ReduceAction__concat
]))(self
, var_listnode3
, var_listnode1
) /* concat on <self:ReduceAction1811>*/;
4784 var_listnode3
= var5
;
4786 if (var_teolnode2
== NULL
) {
4787 var7
= 0; /* is null */
4789 var7
= 1; /* arg is null and recv is not */
4792 ((void (*)(val
*, val
*))(var_listnode3
->class->vft
[COLOR_abstract_collection__SimpleCollection__add
]))(var_listnode3
, var_teolnode2
) /* add on <var_listnode3:Array[Object]>*/;
4795 var_node_list
= var_listnode3
;
4796 var8
= self
->attrs
[COLOR_parser__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1811> */
4797 var9
= ((long (*)(val
*, long))(var_p
->class->vft
[COLOR_parser__Parser__go_to
]))(var_p
, var8
) /* go_to on <var_p:Parser>*/;
4798 ((void (*)(val
*, long, val
*))(var_p
->class->vft
[COLOR_parser__Parser__push
]))(var_p
, var9
, var_node_list
) /* push on <var_p:Parser>*/;
4801 /* method parser#ReduceAction1811#action for (self: Object, Parser) */
4802 void VIRTUAL_parser__ReduceAction1811__action(val
* self
, val
* p0
) {
4803 parser__ReduceAction1811__action(self
, p0
);