1 #include "nit__parser.sep.0.h"
2 /* method parser#ReduceAction358#action for (self: ReduceAction358, Parser) */
3 void nit__parser___nit__parser__ReduceAction358___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4 val
* var_p
/* var p: Parser */;
6 val
* var_node_list
/* var node_list: nullable Object */;
7 val
* var1
/* : nullable Object */;
8 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
9 val
* var2
/* : nullable Object */;
10 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
11 val
* var3
/* : nullable Object */;
12 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
13 val
* var4
/* : nullable Object */;
14 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
15 val
* var5
/* : nullable Object */;
16 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
17 val
* var6
/* : nullable Object */;
18 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
19 val
* var_toparnode2
/* var toparnode2: nullable Object */;
20 short int var7
/* : Bool */;
23 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
24 short int var8
/* : Bool */;
27 val
* var_tcparnode4
/* var tcparnode4: nullable Object */;
28 short int var11
/* : Bool */;
31 val
* var_pannotationsnode5
/* var pannotationsnode5: nullable Object */;
32 short int var14
/* : Bool */;
35 val
* var17
/* : AParExpr */;
36 val
* var_pexprnode1
/* var pexprnode1: nullable AParExpr */;
37 long var18
/* : Int */;
38 long var19
/* : Int */;
43 var1
= nit___nit__Parser___pop(var_p
);
45 var_nodearraylist6
= var1
;
47 var2
= nit___nit__Parser___pop(var_p
);
49 var_nodearraylist5
= var2
;
51 var3
= nit___nit__Parser___pop(var_p
);
53 var_nodearraylist4
= var3
;
55 var4
= nit___nit__Parser___pop(var_p
);
57 var_nodearraylist3
= var4
;
59 var5
= nit___nit__Parser___pop(var_p
);
61 var_nodearraylist2
= var5
;
63 var6
= nit___nit__Parser___pop(var_p
);
65 var_nodearraylist1
= var6
;
66 var_toparnode2
= var_nodearraylist1
;
67 /* <var_toparnode2:nullable Object> isa nullable TOpar */
68 cltype
= type_nullable__nit__TOpar
.color
;
69 idtype
= type_nullable__nit__TOpar
.id
;
70 if(var_toparnode2
== NULL
) {
73 if(cltype
>= var_toparnode2
->type
->table_size
) {
76 var7
= var_toparnode2
->type
->type_table
[cltype
] == idtype
;
79 if (unlikely(!var7
)) {
80 PRINT_ERROR("Runtime error: %s", "Assert failed");
81 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9127);
84 var_pexprnode3
= var_nodearraylist3
;
85 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
86 cltype9
= type_nullable__nit__AExpr
.color
;
87 idtype10
= type_nullable__nit__AExpr
.id
;
88 if(var_pexprnode3
== NULL
) {
91 if(cltype9
>= var_pexprnode3
->type
->table_size
) {
94 var8
= var_pexprnode3
->type
->type_table
[cltype9
] == idtype10
;
97 if (unlikely(!var8
)) {
98 PRINT_ERROR("Runtime error: %s", "Assert failed");
99 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9129);
102 var_tcparnode4
= var_nodearraylist5
;
103 /* <var_tcparnode4:nullable Object> isa nullable TCpar */
104 cltype12
= type_nullable__nit__TCpar
.color
;
105 idtype13
= type_nullable__nit__TCpar
.id
;
106 if(var_tcparnode4
== NULL
) {
109 if(cltype12
>= var_tcparnode4
->type
->table_size
) {
112 var11
= var_tcparnode4
->type
->type_table
[cltype12
] == idtype13
;
115 if (unlikely(!var11
)) {
116 PRINT_ERROR("Runtime error: %s", "Assert failed");
117 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9131);
120 var_pannotationsnode5
= var_nodearraylist6
;
121 /* <var_pannotationsnode5:nullable Object> isa nullable AAnnotations */
122 cltype15
= type_nullable__nit__AAnnotations
.color
;
123 idtype16
= type_nullable__nit__AAnnotations
.id
;
124 if(var_pannotationsnode5
== NULL
) {
127 if(cltype15
>= var_pannotationsnode5
->type
->table_size
) {
130 var14
= var_pannotationsnode5
->type
->type_table
[cltype15
] == idtype16
;
133 if (unlikely(!var14
)) {
134 PRINT_ERROR("Runtime error: %s", "Assert failed");
135 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9133);
138 var17
= NEW_nit__AParExpr(&type_nit__AParExpr
);
140 nit__parser_prod___AParExpr___init_aparexpr(var17
, var_toparnode2
, var_pexprnode3
, var_tcparnode4
, var_pannotationsnode5
); /* Direct call parser_prod#AParExpr#init_aparexpr on <var17:AParExpr>*/
142 var_pexprnode1
= var17
;
143 var_node_list
= var_pexprnode1
;
144 var18
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction358> */
146 var19
= nit___nit__Parser___go_to(var_p
, var18
);
149 nit___nit__Parser___push(var_p
, var19
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
153 /* method parser#ReduceAction360#action for (self: ReduceAction360, Parser) */
154 void nit__parser___nit__parser__ReduceAction360___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
155 val
* var_p
/* var p: Parser */;
156 val
* var
/* : null */;
157 val
* var_node_list
/* var node_list: nullable Object */;
158 val
* var1
/* : nullable Object */;
159 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
160 val
* var2
/* : nullable Object */;
161 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
162 val
* var3
/* : Array[Object] */;
163 val
* var_listnode4
/* var listnode4: Array[Object] */;
164 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
165 short int var4
/* : Bool */;
168 val
* var_listnode3
/* var listnode3: nullable Object */;
169 short int var5
/* : Bool */;
172 val
* var8
/* : null */;
173 short int var9
/* : Bool */;
174 short int var10
/* : Bool */;
175 val
* var_other
/* var other: nullable Object */;
176 short int var12
/* : Bool */;
177 short int var13
/* : Bool */;
178 val
* var14
/* : Array[Object] */;
179 val
* var15
/* : AManyExpr */;
180 val
* var_pexprnode1
/* var pexprnode1: nullable AManyExpr */;
181 long var16
/* : Int */;
182 long var17
/* : Int */;
187 var1
= nit___nit__Parser___pop(var_p
);
189 var_nodearraylist2
= var1
;
191 var2
= nit___nit__Parser___pop(var_p
);
193 var_nodearraylist1
= var2
;
194 var3
= NEW_standard__Array(&type_standard__Array__standard__Object
);
196 standard___standard__Array___standard__kernel__Object__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
198 var_listnode4
= var3
;
199 var_pexprnode2
= var_nodearraylist1
;
200 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
201 cltype
= type_nullable__nit__AExpr
.color
;
202 idtype
= type_nullable__nit__AExpr
.id
;
203 if(var_pexprnode2
== NULL
) {
206 if(cltype
>= var_pexprnode2
->type
->table_size
) {
209 var4
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
212 if (unlikely(!var4
)) {
213 PRINT_ERROR("Runtime error: %s", "Assert failed");
214 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9153);
217 var_listnode3
= var_nodearraylist2
;
218 /* <var_listnode3:nullable Object> isa Array[Object] */
219 cltype6
= type_standard__Array__standard__Object
.color
;
220 idtype7
= type_standard__Array__standard__Object
.id
;
221 if(var_listnode3
== NULL
) {
224 if(cltype6
>= var_listnode3
->type
->table_size
) {
227 var5
= var_listnode3
->type
->type_table
[cltype6
] == idtype7
;
230 if (unlikely(!var5
)) {
231 PRINT_ERROR("Runtime error: %s", "Assert failed");
232 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9155);
236 if (var_pexprnode2
== NULL
) {
237 var9
= 0; /* is null */
239 var9
= 1; /* arg is null and recv is not */
242 { /* Inline kernel#Object#!= (var_pexprnode2,var8) on <var_pexprnode2:nullable Object(nullable AExpr)> */
245 var12
= ((short int (*)(val
* self
, val
* p0
))(var_pexprnode2
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_pexprnode2
, var_other
) /* == on <var_pexprnode2:nullable AExpr(AExpr)>*/;
256 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode4
, var_pexprnode2
); /* Direct call array#Array#add on <var_listnode4:Array[Object]>*/
261 var14
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode4
, var_listnode3
);
263 var_listnode4
= var14
;
264 var15
= NEW_nit__AManyExpr(&type_nit__AManyExpr
);
266 nit__parser_prod___AManyExpr___init_amanyexpr(var15
, var_listnode4
); /* Direct call parser_prod#AManyExpr#init_amanyexpr on <var15:AManyExpr>*/
268 var_pexprnode1
= var15
;
269 var_node_list
= var_pexprnode1
;
270 var16
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction360> */
272 var17
= nit___nit__Parser___go_to(var_p
, var16
);
275 nit___nit__Parser___push(var_p
, var17
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
279 /* method parser#ReduceAction361#action for (self: ReduceAction361, Parser) */
280 void nit__parser___nit__parser__ReduceAction361___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
281 val
* var_p
/* var p: Parser */;
282 val
* var
/* : null */;
283 val
* var_node_list
/* var node_list: nullable Object */;
284 val
* var1
/* : nullable Object */;
285 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
286 val
* var2
/* : nullable Object */;
287 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
288 val
* var3
/* : nullable Object */;
289 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
290 val
* var_pexprnode1
/* var pexprnode1: nullable Object */;
291 long var4
/* : Int */;
292 long var5
/* : Int */;
297 var1
= nit___nit__Parser___pop(var_p
);
299 var_nodearraylist3
= var1
;
301 var2
= nit___nit__Parser___pop(var_p
);
303 var_nodearraylist2
= var2
;
305 var3
= nit___nit__Parser___pop(var_p
);
307 var_nodearraylist1
= var3
;
308 var_pexprnode1
= var_nodearraylist3
;
309 var_node_list
= var_pexprnode1
;
310 var4
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction361> */
312 var5
= nit___nit__Parser___go_to(var_p
, var4
);
315 nit___nit__Parser___push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
319 /* method parser#ReduceAction362#action for (self: ReduceAction362, Parser) */
320 void nit__parser___nit__parser__ReduceAction362___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
321 val
* var_p
/* var p: Parser */;
322 val
* var
/* : null */;
323 val
* var_node_list
/* var node_list: nullable Object */;
324 val
* var1
/* : nullable Object */;
325 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
326 val
* var2
/* : Array[Object] */;
327 val
* var_listnode2
/* var listnode2: Array[Object] */;
328 val
* var_pexprnode1
/* var pexprnode1: nullable Object */;
329 val
* var3
/* : null */;
330 short int var4
/* : Bool */;
331 short int var5
/* : Bool */;
332 long var6
/* : Int */;
333 long var7
/* : Int */;
338 var1
= nit___nit__Parser___pop(var_p
);
340 var_nodearraylist1
= var1
;
341 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
343 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
345 var_listnode2
= var2
;
346 var_pexprnode1
= var_nodearraylist1
;
348 if (var_pexprnode1
== NULL
) {
349 var4
= 0; /* is null */
351 var4
= 1; /* arg is null and recv is not */
354 var5
= ((short int (*)(val
* self
, val
* p0
))(var_pexprnode1
->class->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_pexprnode1
, var3
) /* != on <var_pexprnode1:nullable Object>*/;
359 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode2
, var_pexprnode1
); /* Direct call array#Array#add on <var_listnode2:Array[Object]>*/
363 var_node_list
= var_listnode2
;
364 var6
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction362> */
366 var7
= nit___nit__Parser___go_to(var_p
, var6
);
369 nit___nit__Parser___push(var_p
, var7
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
373 /* method parser#ReduceAction363#action for (self: ReduceAction363, Parser) */
374 void nit__parser___nit__parser__ReduceAction363___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
375 val
* var_p
/* var p: Parser */;
376 val
* var
/* : null */;
377 val
* var_node_list
/* var node_list: nullable Object */;
378 val
* var1
/* : nullable Object */;
379 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
380 val
* var2
/* : nullable Object */;
381 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
382 val
* var3
/* : Array[Object] */;
383 val
* var_listnode3
/* var listnode3: Array[Object] */;
384 val
* var_pexprnode1
/* var pexprnode1: nullable Object */;
385 val
* var_listnode2
/* var listnode2: nullable Object */;
386 short int var4
/* : Bool */;
389 val
* var5
/* : null */;
390 short int var6
/* : Bool */;
391 short int var7
/* : Bool */;
392 val
* var8
/* : Array[Object] */;
393 long var9
/* : Int */;
394 long var10
/* : Int */;
399 var1
= nit___nit__Parser___pop(var_p
);
401 var_nodearraylist2
= var1
;
403 var2
= nit___nit__Parser___pop(var_p
);
405 var_nodearraylist1
= var2
;
406 var3
= NEW_standard__Array(&type_standard__Array__standard__Object
);
408 standard___standard__Array___standard__kernel__Object__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
410 var_listnode3
= var3
;
411 var_pexprnode1
= var_nodearraylist1
;
412 var_listnode2
= var_nodearraylist2
;
413 /* <var_listnode2:nullable Object> isa Array[Object] */
414 cltype
= type_standard__Array__standard__Object
.color
;
415 idtype
= type_standard__Array__standard__Object
.id
;
416 if(var_listnode2
== NULL
) {
419 if(cltype
>= var_listnode2
->type
->table_size
) {
422 var4
= var_listnode2
->type
->type_table
[cltype
] == idtype
;
425 if (unlikely(!var4
)) {
426 PRINT_ERROR("Runtime error: %s", "Assert failed");
427 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9205);
431 if (var_pexprnode1
== NULL
) {
432 var6
= 0; /* is null */
434 var6
= 1; /* arg is null and recv is not */
437 var7
= ((short int (*)(val
* self
, val
* p0
))(var_pexprnode1
->class->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_pexprnode1
, var5
) /* != on <var_pexprnode1:nullable Object>*/;
442 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3
, var_pexprnode1
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
447 var8
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode2
);
449 var_listnode3
= var8
;
450 var_node_list
= var_listnode3
;
451 var9
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction363> */
453 var10
= nit___nit__Parser___go_to(var_p
, var9
);
456 nit___nit__Parser___push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
460 /* method parser#ReduceAction365#action for (self: ReduceAction365, Parser) */
461 void nit__parser___nit__parser__ReduceAction365___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
462 val
* var_p
/* var p: Parser */;
463 val
* var
/* : null */;
464 val
* var_node_list
/* var node_list: nullable Object */;
465 val
* var1
/* : nullable Object */;
466 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
467 val
* var2
/* : nullable Object */;
468 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
469 val
* var_pexprnode1
/* var pexprnode1: nullable Object */;
470 long var3
/* : Int */;
471 long var4
/* : Int */;
476 var1
= nit___nit__Parser___pop(var_p
);
478 var_nodearraylist2
= var1
;
480 var2
= nit___nit__Parser___pop(var_p
);
482 var_nodearraylist1
= var2
;
483 var_pexprnode1
= var_nodearraylist1
;
484 var_node_list
= var_pexprnode1
;
485 var3
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction365> */
487 var4
= nit___nit__Parser___go_to(var_p
, var3
);
490 nit___nit__Parser___push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
494 /* method parser#ReduceAction367#action for (self: ReduceAction367, Parser) */
495 void nit__parser___nit__parser__ReduceAction367___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
496 val
* var_p
/* var p: Parser */;
497 val
* var
/* : null */;
498 val
* var_node_list
/* var node_list: nullable Object */;
499 val
* var1
/* : nullable Object */;
500 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
501 val
* var2
/* : nullable Object */;
502 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
503 val
* var3
/* : nullable Object */;
504 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
505 val
* var4
/* : nullable Object */;
506 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
507 val
* var5
/* : nullable Object */;
508 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
509 val
* var6
/* : nullable Object */;
510 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
511 val
* var7
/* : nullable Object */;
512 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
513 val
* var_tkwifnode2
/* var tkwifnode2: nullable Object */;
514 short int var8
/* : Bool */;
517 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
518 short int var9
/* : Bool */;
521 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
522 short int var12
/* : Bool */;
525 val
* var15
/* : AIfExpr */;
526 val
* var16
/* : null */;
527 val
* var_pexprnode1
/* var pexprnode1: nullable AIfExpr */;
528 long var17
/* : Int */;
529 long var18
/* : Int */;
534 var1
= nit___nit__Parser___pop(var_p
);
536 var_nodearraylist7
= var1
;
538 var2
= nit___nit__Parser___pop(var_p
);
540 var_nodearraylist6
= var2
;
542 var3
= nit___nit__Parser___pop(var_p
);
544 var_nodearraylist5
= var3
;
546 var4
= nit___nit__Parser___pop(var_p
);
548 var_nodearraylist4
= var4
;
550 var5
= nit___nit__Parser___pop(var_p
);
552 var_nodearraylist3
= var5
;
554 var6
= nit___nit__Parser___pop(var_p
);
556 var_nodearraylist2
= var6
;
558 var7
= nit___nit__Parser___pop(var_p
);
560 var_nodearraylist1
= var7
;
561 var_tkwifnode2
= var_nodearraylist1
;
562 /* <var_tkwifnode2:nullable Object> isa nullable TKwif */
563 cltype
= type_nullable__nit__TKwif
.color
;
564 idtype
= type_nullable__nit__TKwif
.id
;
565 if(var_tkwifnode2
== NULL
) {
568 if(cltype
>= var_tkwifnode2
->type
->table_size
) {
571 var8
= var_tkwifnode2
->type
->type_table
[cltype
] == idtype
;
574 if (unlikely(!var8
)) {
575 PRINT_ERROR("Runtime error: %s", "Assert failed");
576 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9239);
579 var_pexprnode3
= var_nodearraylist3
;
580 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
581 cltype10
= type_nullable__nit__AExpr
.color
;
582 idtype11
= type_nullable__nit__AExpr
.id
;
583 if(var_pexprnode3
== NULL
) {
586 if(cltype10
>= var_pexprnode3
->type
->table_size
) {
589 var9
= var_pexprnode3
->type
->type_table
[cltype10
] == idtype11
;
592 if (unlikely(!var9
)) {
593 PRINT_ERROR("Runtime error: %s", "Assert failed");
594 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9241);
597 var_pexprnode4
= var_nodearraylist7
;
598 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
599 cltype13
= type_nullable__nit__AExpr
.color
;
600 idtype14
= type_nullable__nit__AExpr
.id
;
601 if(var_pexprnode4
== NULL
) {
604 if(cltype13
>= var_pexprnode4
->type
->table_size
) {
607 var12
= var_pexprnode4
->type
->type_table
[cltype13
] == idtype14
;
610 if (unlikely(!var12
)) {
611 PRINT_ERROR("Runtime error: %s", "Assert failed");
612 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9243);
615 var15
= NEW_nit__AIfExpr(&type_nit__AIfExpr
);
618 nit__parser_prod___AIfExpr___init_aifexpr(var15
, var_tkwifnode2
, var_pexprnode3
, var_pexprnode4
, var16
); /* Direct call parser_prod#AIfExpr#init_aifexpr on <var15:AIfExpr>*/
620 var_pexprnode1
= var15
;
621 var_node_list
= var_pexprnode1
;
622 var17
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction367> */
624 var18
= nit___nit__Parser___go_to(var_p
, var17
);
627 nit___nit__Parser___push(var_p
, var18
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
631 /* method parser#ReduceAction368#action for (self: ReduceAction368, Parser) */
632 void nit__parser___nit__parser__ReduceAction368___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
633 val
* var_p
/* var p: Parser */;
634 val
* var
/* : null */;
635 val
* var_node_list
/* var node_list: nullable Object */;
636 val
* var1
/* : nullable Object */;
637 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
638 val
* var2
/* : nullable Object */;
639 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
640 val
* var3
/* : nullable Object */;
641 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
642 val
* var4
/* : Array[Object] */;
643 val
* var_listnode4
/* var listnode4: Array[Object] */;
644 val
* var_listnode2
/* var listnode2: nullable Object */;
645 short int var5
/* : Bool */;
648 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
649 short int var6
/* : Bool */;
652 val
* var9
/* : Array[Object] */;
653 val
* var10
/* : null */;
654 short int var11
/* : Bool */;
655 short int var12
/* : Bool */;
656 val
* var_other
/* var other: nullable Object */;
657 short int var14
/* : Bool */;
658 short int var15
/* : Bool */;
659 val
* var_pannotationsnode5
/* var pannotationsnode5: nullable Object */;
660 short int var16
/* : Bool */;
663 val
* var19
/* : ASuperstringExpr */;
664 val
* var_pexprnode1
/* var pexprnode1: nullable ASuperstringExpr */;
665 long var20
/* : Int */;
666 long var21
/* : Int */;
671 var1
= nit___nit__Parser___pop(var_p
);
673 var_nodearraylist3
= var1
;
675 var2
= nit___nit__Parser___pop(var_p
);
677 var_nodearraylist2
= var2
;
679 var3
= nit___nit__Parser___pop(var_p
);
681 var_nodearraylist1
= var3
;
682 var4
= NEW_standard__Array(&type_standard__Array__standard__Object
);
684 standard___standard__Array___standard__kernel__Object__init(var4
); /* Direct call array#Array#init on <var4:Array[Object]>*/
686 var_listnode4
= var4
;
687 var_listnode2
= var_nodearraylist1
;
688 /* <var_listnode2:nullable Object> isa Array[Object] */
689 cltype
= type_standard__Array__standard__Object
.color
;
690 idtype
= type_standard__Array__standard__Object
.id
;
691 if(var_listnode2
== NULL
) {
694 if(cltype
>= var_listnode2
->type
->table_size
) {
697 var5
= var_listnode2
->type
->type_table
[cltype
] == idtype
;
700 if (unlikely(!var5
)) {
701 PRINT_ERROR("Runtime error: %s", "Assert failed");
702 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9264);
705 var_pexprnode3
= var_nodearraylist2
;
706 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
707 cltype7
= type_nullable__nit__AExpr
.color
;
708 idtype8
= type_nullable__nit__AExpr
.id
;
709 if(var_pexprnode3
== NULL
) {
712 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
715 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
718 if (unlikely(!var6
)) {
719 PRINT_ERROR("Runtime error: %s", "Assert failed");
720 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9266);
724 var9
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode4
, var_listnode2
);
726 var_listnode4
= var9
;
728 if (var_pexprnode3
== NULL
) {
729 var11
= 0; /* is null */
731 var11
= 1; /* arg is null and recv is not */
734 { /* Inline kernel#Object#!= (var_pexprnode3,var10) on <var_pexprnode3:nullable Object(nullable AExpr)> */
737 var14
= ((short int (*)(val
* self
, val
* p0
))(var_pexprnode3
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_pexprnode3
, var_other
) /* == on <var_pexprnode3:nullable AExpr(AExpr)>*/;
748 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode4
, var_pexprnode3
); /* Direct call array#Array#add on <var_listnode4:Array[Object]>*/
752 var_pannotationsnode5
= var_nodearraylist3
;
753 /* <var_pannotationsnode5:nullable Object> isa nullable AAnnotations */
754 cltype17
= type_nullable__nit__AAnnotations
.color
;
755 idtype18
= type_nullable__nit__AAnnotations
.id
;
756 if(var_pannotationsnode5
== NULL
) {
759 if(cltype17
>= var_pannotationsnode5
->type
->table_size
) {
762 var16
= var_pannotationsnode5
->type
->type_table
[cltype17
] == idtype18
;
765 if (unlikely(!var16
)) {
766 PRINT_ERROR("Runtime error: %s", "Assert failed");
767 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9272);
770 var19
= NEW_nit__ASuperstringExpr(&type_nit__ASuperstringExpr
);
772 nit__parser_prod___ASuperstringExpr___init_asuperstringexpr(var19
, var_listnode4
, var_pannotationsnode5
); /* Direct call parser_prod#ASuperstringExpr#init_asuperstringexpr on <var19:ASuperstringExpr>*/
774 var_pexprnode1
= var19
;
775 var_node_list
= var_pexprnode1
;
776 var20
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction368> */
778 var21
= nit___nit__Parser___go_to(var_p
, var20
);
781 nit___nit__Parser___push(var_p
, var21
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
785 /* method parser#ReduceAction369#action for (self: ReduceAction369, Parser) */
786 void nit__parser___nit__parser__ReduceAction369___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
787 val
* var_p
/* var p: Parser */;
788 val
* var
/* : null */;
789 val
* var_node_list
/* var node_list: nullable Object */;
790 val
* var1
/* : nullable Object */;
791 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
792 val
* var2
/* : nullable Object */;
793 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
794 val
* var3
/* : nullable Object */;
795 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
796 val
* var4
/* : nullable Object */;
797 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
798 val
* var5
/* : Array[Object] */;
799 val
* var_listnode5
/* var listnode5: Array[Object] */;
800 val
* var_listnode2
/* var listnode2: nullable Object */;
801 short int var6
/* : Bool */;
804 val
* var_listnode3
/* var listnode3: nullable Object */;
805 short int var7
/* : Bool */;
808 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
809 short int var10
/* : Bool */;
812 val
* var13
/* : Array[Object] */;
813 val
* var14
/* : Array[Object] */;
814 val
* var15
/* : null */;
815 short int var16
/* : Bool */;
816 short int var17
/* : Bool */;
817 val
* var_other
/* var other: nullable Object */;
818 short int var19
/* : Bool */;
819 short int var20
/* : Bool */;
820 val
* var_pannotationsnode6
/* var pannotationsnode6: nullable Object */;
821 short int var21
/* : Bool */;
824 val
* var24
/* : ASuperstringExpr */;
825 val
* var_pexprnode1
/* var pexprnode1: nullable ASuperstringExpr */;
826 long var25
/* : Int */;
827 long var26
/* : Int */;
832 var1
= nit___nit__Parser___pop(var_p
);
834 var_nodearraylist4
= var1
;
836 var2
= nit___nit__Parser___pop(var_p
);
838 var_nodearraylist3
= var2
;
840 var3
= nit___nit__Parser___pop(var_p
);
842 var_nodearraylist2
= var3
;
844 var4
= nit___nit__Parser___pop(var_p
);
846 var_nodearraylist1
= var4
;
847 var5
= NEW_standard__Array(&type_standard__Array__standard__Object
);
849 standard___standard__Array___standard__kernel__Object__init(var5
); /* Direct call array#Array#init on <var5:Array[Object]>*/
851 var_listnode5
= var5
;
852 var_listnode2
= var_nodearraylist1
;
853 /* <var_listnode2:nullable Object> isa Array[Object] */
854 cltype
= type_standard__Array__standard__Object
.color
;
855 idtype
= type_standard__Array__standard__Object
.id
;
856 if(var_listnode2
== NULL
) {
859 if(cltype
>= var_listnode2
->type
->table_size
) {
862 var6
= var_listnode2
->type
->type_table
[cltype
] == idtype
;
865 if (unlikely(!var6
)) {
866 PRINT_ERROR("Runtime error: %s", "Assert failed");
867 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9292);
870 var_listnode3
= var_nodearraylist2
;
871 /* <var_listnode3:nullable Object> isa Array[Object] */
872 cltype8
= type_standard__Array__standard__Object
.color
;
873 idtype9
= type_standard__Array__standard__Object
.id
;
874 if(var_listnode3
== NULL
) {
877 if(cltype8
>= var_listnode3
->type
->table_size
) {
880 var7
= var_listnode3
->type
->type_table
[cltype8
] == idtype9
;
883 if (unlikely(!var7
)) {
884 PRINT_ERROR("Runtime error: %s", "Assert failed");
885 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9294);
888 var_pexprnode4
= var_nodearraylist3
;
889 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
890 cltype11
= type_nullable__nit__AExpr
.color
;
891 idtype12
= type_nullable__nit__AExpr
.id
;
892 if(var_pexprnode4
== NULL
) {
895 if(cltype11
>= var_pexprnode4
->type
->table_size
) {
898 var10
= var_pexprnode4
->type
->type_table
[cltype11
] == idtype12
;
901 if (unlikely(!var10
)) {
902 PRINT_ERROR("Runtime error: %s", "Assert failed");
903 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9296);
907 var13
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode5
, var_listnode2
);
909 var_listnode5
= var13
;
911 var14
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode5
, var_listnode3
);
913 var_listnode5
= var14
;
915 if (var_pexprnode4
== NULL
) {
916 var16
= 0; /* is null */
918 var16
= 1; /* arg is null and recv is not */
921 { /* Inline kernel#Object#!= (var_pexprnode4,var15) on <var_pexprnode4:nullable Object(nullable AExpr)> */
924 var19
= ((short int (*)(val
* self
, val
* p0
))(var_pexprnode4
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_pexprnode4
, var_other
) /* == on <var_pexprnode4:nullable AExpr(AExpr)>*/;
935 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode5
, var_pexprnode4
); /* Direct call array#Array#add on <var_listnode5:Array[Object]>*/
939 var_pannotationsnode6
= var_nodearraylist4
;
940 /* <var_pannotationsnode6:nullable Object> isa nullable AAnnotations */
941 cltype22
= type_nullable__nit__AAnnotations
.color
;
942 idtype23
= type_nullable__nit__AAnnotations
.id
;
943 if(var_pannotationsnode6
== NULL
) {
946 if(cltype22
>= var_pannotationsnode6
->type
->table_size
) {
949 var21
= var_pannotationsnode6
->type
->type_table
[cltype22
] == idtype23
;
952 if (unlikely(!var21
)) {
953 PRINT_ERROR("Runtime error: %s", "Assert failed");
954 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9303);
957 var24
= NEW_nit__ASuperstringExpr(&type_nit__ASuperstringExpr
);
959 nit__parser_prod___ASuperstringExpr___init_asuperstringexpr(var24
, var_listnode5
, var_pannotationsnode6
); /* Direct call parser_prod#ASuperstringExpr#init_asuperstringexpr on <var24:ASuperstringExpr>*/
961 var_pexprnode1
= var24
;
962 var_node_list
= var_pexprnode1
;
963 var25
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction369> */
965 var26
= nit___nit__Parser___go_to(var_p
, var25
);
968 nit___nit__Parser___push(var_p
, var26
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
972 /* method parser#ReduceAction370#action for (self: ReduceAction370, Parser) */
973 void nit__parser___nit__parser__ReduceAction370___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
974 val
* var_p
/* var p: Parser */;
975 val
* var
/* : null */;
976 val
* var_node_list
/* var node_list: nullable Object */;
977 val
* var1
/* : nullable Object */;
978 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
979 val
* var2
/* : nullable Object */;
980 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
981 val
* var3
/* : nullable Object */;
982 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
983 val
* var4
/* : nullable Object */;
984 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
985 val
* var5
/* : Array[Object] */;
986 val
* var_listnode3
/* var listnode3: Array[Object] */;
987 val
* var_pexprnode1
/* var pexprnode1: nullable Object */;
988 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
989 val
* var6
/* : null */;
990 short int var7
/* : Bool */;
991 short int var8
/* : Bool */;
992 val
* var9
/* : null */;
993 short int var10
/* : Bool */;
994 short int var11
/* : Bool */;
995 long var12
/* : Int */;
996 long var13
/* : Int */;
1001 var1
= nit___nit__Parser___pop(var_p
);
1003 var_nodearraylist4
= var1
;
1005 var2
= nit___nit__Parser___pop(var_p
);
1007 var_nodearraylist3
= var2
;
1009 var3
= nit___nit__Parser___pop(var_p
);
1011 var_nodearraylist2
= var3
;
1013 var4
= nit___nit__Parser___pop(var_p
);
1015 var_nodearraylist1
= var4
;
1016 var5
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1018 standard___standard__Array___standard__kernel__Object__init(var5
); /* Direct call array#Array#init on <var5:Array[Object]>*/
1020 var_listnode3
= var5
;
1021 var_pexprnode1
= var_nodearraylist1
;
1022 var_pexprnode2
= var_nodearraylist3
;
1024 if (var_pexprnode1
== NULL
) {
1025 var7
= 0; /* is null */
1027 var7
= 1; /* arg is null and recv is not */
1030 var8
= ((short int (*)(val
* self
, val
* p0
))(var_pexprnode1
->class->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_pexprnode1
, var6
) /* != on <var_pexprnode1:nullable Object>*/;
1035 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3
, var_pexprnode1
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
1040 if (var_pexprnode2
== NULL
) {
1041 var10
= 0; /* is null */
1043 var10
= 1; /* arg is null and recv is not */
1046 var11
= ((short int (*)(val
* self
, val
* p0
))(var_pexprnode2
->class->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_pexprnode2
, var9
) /* != on <var_pexprnode2:nullable Object>*/;
1051 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3
, var_pexprnode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
1055 var_node_list
= var_listnode3
;
1056 var12
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction370> */
1058 var13
= nit___nit__Parser___go_to(var_p
, var12
);
1061 nit___nit__Parser___push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1065 /* method parser#ReduceAction371#action for (self: ReduceAction371, Parser) */
1066 void nit__parser___nit__parser__ReduceAction371___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1067 val
* var_p
/* var p: Parser */;
1068 val
* var
/* : null */;
1069 val
* var_node_list
/* var node_list: nullable Object */;
1070 val
* var1
/* : nullable Object */;
1071 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1072 val
* var2
/* : nullable Object */;
1073 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1074 val
* var3
/* : Array[Object] */;
1075 val
* var_listnode2
/* var listnode2: Array[Object] */;
1076 val
* var_pexprnode1
/* var pexprnode1: nullable Object */;
1077 val
* var4
/* : null */;
1078 short int var5
/* : Bool */;
1079 short int var6
/* : Bool */;
1080 long var7
/* : Int */;
1081 long var8
/* : Int */;
1084 var_node_list
= var
;
1086 var1
= nit___nit__Parser___pop(var_p
);
1088 var_nodearraylist2
= var1
;
1090 var2
= nit___nit__Parser___pop(var_p
);
1092 var_nodearraylist1
= var2
;
1093 var3
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1095 standard___standard__Array___standard__kernel__Object__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
1097 var_listnode2
= var3
;
1098 var_pexprnode1
= var_nodearraylist1
;
1100 if (var_pexprnode1
== NULL
) {
1101 var5
= 0; /* is null */
1103 var5
= 1; /* arg is null and recv is not */
1106 var6
= ((short int (*)(val
* self
, val
* p0
))(var_pexprnode1
->class->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_pexprnode1
, var4
) /* != on <var_pexprnode1:nullable Object>*/;
1111 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode2
, var_pexprnode1
); /* Direct call array#Array#add on <var_listnode2:Array[Object]>*/
1115 var_node_list
= var_listnode2
;
1116 var7
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction371> */
1118 var8
= nit___nit__Parser___go_to(var_p
, var7
);
1121 nit___nit__Parser___push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1125 /* method parser#ReduceAction372#action for (self: ReduceAction372, Parser) */
1126 void nit__parser___nit__parser__ReduceAction372___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1127 val
* var_p
/* var p: Parser */;
1128 val
* var
/* : null */;
1129 val
* var_node_list
/* var node_list: nullable Object */;
1130 val
* var1
/* : nullable Object */;
1131 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1132 val
* var_tstartstringnode2
/* var tstartstringnode2: nullable Object */;
1133 short int var2
/* : Bool */;
1136 val
* var3
/* : AStartStringExpr */;
1137 val
* var_pexprnode1
/* var pexprnode1: nullable AStartStringExpr */;
1138 long var4
/* : Int */;
1139 long var5
/* : Int */;
1142 var_node_list
= var
;
1144 var1
= nit___nit__Parser___pop(var_p
);
1146 var_nodearraylist1
= var1
;
1147 var_tstartstringnode2
= var_nodearraylist1
;
1148 /* <var_tstartstringnode2:nullable Object> isa nullable TStartString */
1149 cltype
= type_nullable__nit__TStartString
.color
;
1150 idtype
= type_nullable__nit__TStartString
.id
;
1151 if(var_tstartstringnode2
== NULL
) {
1154 if(cltype
>= var_tstartstringnode2
->type
->table_size
) {
1157 var2
= var_tstartstringnode2
->type
->type_table
[cltype
] == idtype
;
1160 if (unlikely(!var2
)) {
1161 PRINT_ERROR("Runtime error: %s", "Assert failed");
1162 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9357);
1165 var3
= NEW_nit__AStartStringExpr(&type_nit__AStartStringExpr
);
1167 nit__parser_prod___AStartStringExpr___init_astartstringexpr(var3
, var_tstartstringnode2
); /* Direct call parser_prod#AStartStringExpr#init_astartstringexpr on <var3:AStartStringExpr>*/
1169 var_pexprnode1
= var3
;
1170 var_node_list
= var_pexprnode1
;
1171 var4
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction372> */
1173 var5
= nit___nit__Parser___go_to(var_p
, var4
);
1176 nit___nit__Parser___push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1180 /* method parser#ReduceAction375#action for (self: ReduceAction375, Parser) */
1181 void nit__parser___nit__parser__ReduceAction375___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1182 val
* var_p
/* var p: Parser */;
1183 val
* var
/* : null */;
1184 val
* var_node_list
/* var node_list: nullable Object */;
1185 val
* var1
/* : nullable Object */;
1186 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1187 val
* var_tmidstringnode2
/* var tmidstringnode2: nullable Object */;
1188 short int var2
/* : Bool */;
1191 val
* var3
/* : AMidStringExpr */;
1192 val
* var_pexprnode1
/* var pexprnode1: nullable AMidStringExpr */;
1193 long var4
/* : Int */;
1194 long var5
/* : Int */;
1197 var_node_list
= var
;
1199 var1
= nit___nit__Parser___pop(var_p
);
1201 var_nodearraylist1
= var1
;
1202 var_tmidstringnode2
= var_nodearraylist1
;
1203 /* <var_tmidstringnode2:nullable Object> isa nullable TMidString */
1204 cltype
= type_nullable__nit__TMidString
.color
;
1205 idtype
= type_nullable__nit__TMidString
.id
;
1206 if(var_tmidstringnode2
== NULL
) {
1209 if(cltype
>= var_tmidstringnode2
->type
->table_size
) {
1212 var2
= var_tmidstringnode2
->type
->type_table
[cltype
] == idtype
;
1215 if (unlikely(!var2
)) {
1216 PRINT_ERROR("Runtime error: %s", "Assert failed");
1217 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9372);
1220 var3
= NEW_nit__AMidStringExpr(&type_nit__AMidStringExpr
);
1222 nit__parser_prod___AMidStringExpr___init_amidstringexpr(var3
, var_tmidstringnode2
); /* Direct call parser_prod#AMidStringExpr#init_amidstringexpr on <var3:AMidStringExpr>*/
1224 var_pexprnode1
= var3
;
1225 var_node_list
= var_pexprnode1
;
1226 var4
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction375> */
1228 var5
= nit___nit__Parser___go_to(var_p
, var4
);
1231 nit___nit__Parser___push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1235 /* method parser#ReduceAction376#action for (self: ReduceAction376, Parser) */
1236 void nit__parser___nit__parser__ReduceAction376___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1237 val
* var_p
/* var p: Parser */;
1238 val
* var
/* : null */;
1239 val
* var_node_list
/* var node_list: nullable Object */;
1240 val
* var1
/* : nullable Object */;
1241 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1242 val
* var_tendstringnode2
/* var tendstringnode2: nullable Object */;
1243 short int var2
/* : Bool */;
1246 val
* var3
/* : AEndStringExpr */;
1247 val
* var_pexprnode1
/* var pexprnode1: nullable AEndStringExpr */;
1248 long var4
/* : Int */;
1249 long var5
/* : Int */;
1252 var_node_list
= var
;
1254 var1
= nit___nit__Parser___pop(var_p
);
1256 var_nodearraylist1
= var1
;
1257 var_tendstringnode2
= var_nodearraylist1
;
1258 /* <var_tendstringnode2:nullable Object> isa nullable TEndString */
1259 cltype
= type_nullable__nit__TEndString
.color
;
1260 idtype
= type_nullable__nit__TEndString
.id
;
1261 if(var_tendstringnode2
== NULL
) {
1264 if(cltype
>= var_tendstringnode2
->type
->table_size
) {
1267 var2
= var_tendstringnode2
->type
->type_table
[cltype
] == idtype
;
1270 if (unlikely(!var2
)) {
1271 PRINT_ERROR("Runtime error: %s", "Assert failed");
1272 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9387);
1275 var3
= NEW_nit__AEndStringExpr(&type_nit__AEndStringExpr
);
1277 nit__parser_prod___AEndStringExpr___init_aendstringexpr(var3
, var_tendstringnode2
); /* Direct call parser_prod#AEndStringExpr#init_aendstringexpr on <var3:AEndStringExpr>*/
1279 var_pexprnode1
= var3
;
1280 var_node_list
= var_pexprnode1
;
1281 var4
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction376> */
1283 var5
= nit___nit__Parser___go_to(var_p
, var4
);
1286 nit___nit__Parser___push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1290 /* method parser#ReduceAction377#action for (self: ReduceAction377, Parser) */
1291 void nit__parser___nit__parser__ReduceAction377___nit__parser_work__ReduceAction__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_listnode5
/* var listnode5: Array[Object] */;
1301 val
* var_tatnode2
/* var tatnode2: nullable Object */;
1302 short int var4
/* : Bool */;
1305 val
* var_pannotationnode4
/* var pannotationnode4: nullable Object */;
1306 short int var5
/* : Bool */;
1309 val
* var8
/* : null */;
1310 short int var9
/* : Bool */;
1311 short int var10
/* : Bool */;
1312 val
* var_other
/* var other: nullable Object */;
1313 short int var12
/* : Bool */;
1314 short int var13
/* : Bool */;
1315 val
* var14
/* : AAnnotations */;
1316 val
* var15
/* : null */;
1317 val
* var16
/* : null */;
1318 val
* var_pannotationsnode1
/* var pannotationsnode1: nullable AAnnotations */;
1319 long var17
/* : Int */;
1320 long var18
/* : Int */;
1323 var_node_list
= var
;
1325 var1
= nit___nit__Parser___pop(var_p
);
1327 var_nodearraylist2
= var1
;
1329 var2
= nit___nit__Parser___pop(var_p
);
1331 var_nodearraylist1
= var2
;
1332 var3
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1334 standard___standard__Array___standard__kernel__Object__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
1336 var_listnode5
= var3
;
1337 var_tatnode2
= var_nodearraylist1
;
1338 /* <var_tatnode2:nullable Object> isa nullable TAt */
1339 cltype
= type_nullable__nit__TAt
.color
;
1340 idtype
= type_nullable__nit__TAt
.id
;
1341 if(var_tatnode2
== NULL
) {
1344 if(cltype
>= var_tatnode2
->type
->table_size
) {
1347 var4
= var_tatnode2
->type
->type_table
[cltype
] == idtype
;
1350 if (unlikely(!var4
)) {
1351 PRINT_ERROR("Runtime error: %s", "Assert failed");
1352 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9404);
1355 var_pannotationnode4
= var_nodearraylist2
;
1356 /* <var_pannotationnode4:nullable Object> isa nullable AAnnotation */
1357 cltype6
= type_nullable__nit__AAnnotation
.color
;
1358 idtype7
= type_nullable__nit__AAnnotation
.id
;
1359 if(var_pannotationnode4
== NULL
) {
1362 if(cltype6
>= var_pannotationnode4
->type
->table_size
) {
1365 var5
= var_pannotationnode4
->type
->type_table
[cltype6
] == idtype7
;
1368 if (unlikely(!var5
)) {
1369 PRINT_ERROR("Runtime error: %s", "Assert failed");
1370 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9406);
1374 if (var_pannotationnode4
== NULL
) {
1375 var9
= 0; /* is null */
1377 var9
= 1; /* arg is null and recv is not */
1380 { /* Inline kernel#Object#!= (var_pannotationnode4,var8) on <var_pannotationnode4:nullable Object(nullable AAnnotation)> */
1383 var12
= ((short int (*)(val
* self
, val
* p0
))(var_pannotationnode4
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_pannotationnode4
, var_other
) /* == on <var_pannotationnode4:nullable AAnnotation(AAnnotation)>*/;
1388 RET_LABEL11
:(void)0;
1394 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode5
, var_pannotationnode4
); /* Direct call array#Array#add on <var_listnode5:Array[Object]>*/
1398 var14
= NEW_nit__AAnnotations(&type_nit__AAnnotations
);
1402 nit__parser_prod___AAnnotations___init_aannotations(var14
, var_tatnode2
, var15
, var_listnode5
, var16
); /* Direct call parser_prod#AAnnotations#init_aannotations on <var14:AAnnotations>*/
1404 var_pannotationsnode1
= var14
;
1405 var_node_list
= var_pannotationsnode1
;
1406 var17
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction377> */
1408 var18
= nit___nit__Parser___go_to(var_p
, var17
);
1411 nit___nit__Parser___push(var_p
, var18
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1415 /* method parser#ReduceAction378#action for (self: ReduceAction378, Parser) */
1416 void nit__parser___nit__parser__ReduceAction378___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1417 val
* var_p
/* var p: Parser */;
1418 val
* var
/* : null */;
1419 val
* var_node_list
/* var node_list: nullable Object */;
1420 val
* var1
/* : nullable Object */;
1421 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
1422 val
* var2
/* : nullable Object */;
1423 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
1424 val
* var3
/* : nullable Object */;
1425 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1426 val
* var4
/* : nullable Object */;
1427 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1428 val
* var5
/* : nullable Object */;
1429 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1430 val
* var6
/* : nullable Object */;
1431 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1432 val
* var7
/* : Array[Object] */;
1433 val
* var_listnode5
/* var listnode5: Array[Object] */;
1434 val
* var_tatnode2
/* var tatnode2: nullable Object */;
1435 short int var8
/* : Bool */;
1438 val
* var_toparnode3
/* var toparnode3: nullable Object */;
1439 short int var9
/* : Bool */;
1442 val
* var_listnode4
/* var listnode4: nullable Object */;
1443 short int var12
/* : Bool */;
1446 val
* var15
/* : Array[Object] */;
1447 val
* var_tcparnode6
/* var tcparnode6: nullable Object */;
1448 short int var16
/* : Bool */;
1451 val
* var19
/* : AAnnotations */;
1452 val
* var_pannotationsnode1
/* var pannotationsnode1: nullable AAnnotations */;
1453 long var20
/* : Int */;
1454 long var21
/* : Int */;
1457 var_node_list
= var
;
1459 var1
= nit___nit__Parser___pop(var_p
);
1461 var_nodearraylist6
= var1
;
1463 var2
= nit___nit__Parser___pop(var_p
);
1465 var_nodearraylist5
= var2
;
1467 var3
= nit___nit__Parser___pop(var_p
);
1469 var_nodearraylist4
= var3
;
1471 var4
= nit___nit__Parser___pop(var_p
);
1473 var_nodearraylist3
= var4
;
1475 var5
= nit___nit__Parser___pop(var_p
);
1477 var_nodearraylist2
= var5
;
1479 var6
= nit___nit__Parser___pop(var_p
);
1481 var_nodearraylist1
= var6
;
1482 var7
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1484 standard___standard__Array___standard__kernel__Object__init(var7
); /* Direct call array#Array#init on <var7:Array[Object]>*/
1486 var_listnode5
= var7
;
1487 var_tatnode2
= var_nodearraylist1
;
1488 /* <var_tatnode2:nullable Object> isa nullable TAt */
1489 cltype
= type_nullable__nit__TAt
.color
;
1490 idtype
= type_nullable__nit__TAt
.id
;
1491 if(var_tatnode2
== NULL
) {
1494 if(cltype
>= var_tatnode2
->type
->table_size
) {
1497 var8
= var_tatnode2
->type
->type_table
[cltype
] == idtype
;
1500 if (unlikely(!var8
)) {
1501 PRINT_ERROR("Runtime error: %s", "Assert failed");
1502 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9433);
1505 var_toparnode3
= var_nodearraylist2
;
1506 /* <var_toparnode3:nullable Object> isa nullable TOpar */
1507 cltype10
= type_nullable__nit__TOpar
.color
;
1508 idtype11
= type_nullable__nit__TOpar
.id
;
1509 if(var_toparnode3
== NULL
) {
1512 if(cltype10
>= var_toparnode3
->type
->table_size
) {
1515 var9
= var_toparnode3
->type
->type_table
[cltype10
] == idtype11
;
1518 if (unlikely(!var9
)) {
1519 PRINT_ERROR("Runtime error: %s", "Assert failed");
1520 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9435);
1523 var_listnode4
= var_nodearraylist4
;
1524 /* <var_listnode4:nullable Object> isa Array[Object] */
1525 cltype13
= type_standard__Array__standard__Object
.color
;
1526 idtype14
= type_standard__Array__standard__Object
.id
;
1527 if(var_listnode4
== NULL
) {
1530 if(cltype13
>= var_listnode4
->type
->table_size
) {
1533 var12
= var_listnode4
->type
->type_table
[cltype13
] == idtype14
;
1536 if (unlikely(!var12
)) {
1537 PRINT_ERROR("Runtime error: %s", "Assert failed");
1538 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9437);
1542 var15
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode5
, var_listnode4
);
1544 var_listnode5
= var15
;
1545 var_tcparnode6
= var_nodearraylist6
;
1546 /* <var_tcparnode6:nullable Object> isa nullable TCpar */
1547 cltype17
= type_nullable__nit__TCpar
.color
;
1548 idtype18
= type_nullable__nit__TCpar
.id
;
1549 if(var_tcparnode6
== NULL
) {
1552 if(cltype17
>= var_tcparnode6
->type
->table_size
) {
1555 var16
= var_tcparnode6
->type
->type_table
[cltype17
] == idtype18
;
1558 if (unlikely(!var16
)) {
1559 PRINT_ERROR("Runtime error: %s", "Assert failed");
1560 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9440);
1563 var19
= NEW_nit__AAnnotations(&type_nit__AAnnotations
);
1565 nit__parser_prod___AAnnotations___init_aannotations(var19
, var_tatnode2
, var_toparnode3
, var_listnode5
, var_tcparnode6
); /* Direct call parser_prod#AAnnotations#init_aannotations on <var19:AAnnotations>*/
1567 var_pannotationsnode1
= var19
;
1568 var_node_list
= var_pannotationsnode1
;
1569 var20
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction378> */
1571 var21
= nit___nit__Parser___go_to(var_p
, var20
);
1574 nit___nit__Parser___push(var_p
, var21
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1578 /* method parser#ReduceAction379#action for (self: ReduceAction379, Parser) */
1579 void nit__parser___nit__parser__ReduceAction379___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1580 val
* var_p
/* var p: Parser */;
1581 val
* var
/* : null */;
1582 val
* var_node_list
/* var node_list: nullable Object */;
1583 val
* var1
/* : nullable Object */;
1584 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1585 val
* var_pannotationsnode1
/* var pannotationsnode1: nullable Object */;
1586 long var2
/* : Int */;
1587 long var3
/* : Int */;
1590 var_node_list
= var
;
1592 var1
= nit___nit__Parser___pop(var_p
);
1594 var_nodearraylist1
= var1
;
1595 var_pannotationsnode1
= var_nodearraylist1
;
1596 var_node_list
= var_pannotationsnode1
;
1597 var2
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction379> */
1599 var3
= nit___nit__Parser___go_to(var_p
, var2
);
1602 nit___nit__Parser___push(var_p
, var3
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1606 /* method parser#ReduceAction381#action for (self: ReduceAction381, Parser) */
1607 void nit__parser___nit__parser__ReduceAction381___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1608 val
* var_p
/* var p: Parser */;
1609 val
* var
/* : null */;
1610 val
* var_node_list
/* var node_list: nullable Object */;
1611 val
* var1
/* : nullable Object */;
1612 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1613 val
* var2
/* : nullable Object */;
1614 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1615 val
* var3
/* : nullable Object */;
1616 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1617 val
* var4
/* : nullable Object */;
1618 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1619 val
* var5
/* : Array[Object] */;
1620 val
* var_listnode7
/* var listnode7: Array[Object] */;
1621 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
1622 short int var6
/* : Bool */;
1625 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
1626 short int var7
/* : Bool */;
1629 val
* var_patidnode5
/* var patidnode5: nullable Object */;
1630 short int var10
/* : Bool */;
1633 val
* var_pannotationsnode9
/* var pannotationsnode9: nullable Object */;
1634 short int var13
/* : Bool */;
1637 val
* var16
/* : AAnnotation */;
1638 val
* var17
/* : null */;
1639 val
* var18
/* : null */;
1640 val
* var19
/* : null */;
1641 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
1642 long var20
/* : Int */;
1643 long var21
/* : Int */;
1646 var_node_list
= var
;
1648 var1
= nit___nit__Parser___pop(var_p
);
1650 var_nodearraylist4
= var1
;
1652 var2
= nit___nit__Parser___pop(var_p
);
1654 var_nodearraylist3
= var2
;
1656 var3
= nit___nit__Parser___pop(var_p
);
1658 var_nodearraylist2
= var3
;
1660 var4
= nit___nit__Parser___pop(var_p
);
1662 var_nodearraylist1
= var4
;
1663 var5
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1665 standard___standard__Array___standard__kernel__Object__init(var5
); /* Direct call array#Array#init on <var5:Array[Object]>*/
1667 var_listnode7
= var5
;
1668 var_tkwredefnode3
= var_nodearraylist1
;
1669 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1670 cltype
= type_nullable__nit__TKwredef
.color
;
1671 idtype
= type_nullable__nit__TKwredef
.id
;
1672 if(var_tkwredefnode3
== NULL
) {
1675 if(cltype
>= var_tkwredefnode3
->type
->table_size
) {
1678 var6
= var_tkwredefnode3
->type
->type_table
[cltype
] == idtype
;
1681 if (unlikely(!var6
)) {
1682 PRINT_ERROR("Runtime error: %s", "Assert failed");
1683 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9473);
1686 var_pvisibilitynode4
= var_nodearraylist2
;
1687 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1688 cltype8
= type_nullable__nit__AVisibility
.color
;
1689 idtype9
= type_nullable__nit__AVisibility
.id
;
1690 if(var_pvisibilitynode4
== NULL
) {
1693 if(cltype8
>= var_pvisibilitynode4
->type
->table_size
) {
1696 var7
= var_pvisibilitynode4
->type
->type_table
[cltype8
] == idtype9
;
1699 if (unlikely(!var7
)) {
1700 PRINT_ERROR("Runtime error: %s", "Assert failed");
1701 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9475);
1704 var_patidnode5
= var_nodearraylist3
;
1705 /* <var_patidnode5:nullable Object> isa nullable AAtid */
1706 cltype11
= type_nullable__nit__AAtid
.color
;
1707 idtype12
= type_nullable__nit__AAtid
.id
;
1708 if(var_patidnode5
== NULL
) {
1711 if(cltype11
>= var_patidnode5
->type
->table_size
) {
1714 var10
= var_patidnode5
->type
->type_table
[cltype11
] == idtype12
;
1717 if (unlikely(!var10
)) {
1718 PRINT_ERROR("Runtime error: %s", "Assert failed");
1719 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9477);
1722 var_pannotationsnode9
= var_nodearraylist4
;
1723 /* <var_pannotationsnode9:nullable Object> isa nullable AAnnotations */
1724 cltype14
= type_nullable__nit__AAnnotations
.color
;
1725 idtype15
= type_nullable__nit__AAnnotations
.id
;
1726 if(var_pannotationsnode9
== NULL
) {
1729 if(cltype14
>= var_pannotationsnode9
->type
->table_size
) {
1732 var13
= var_pannotationsnode9
->type
->type_table
[cltype14
] == idtype15
;
1735 if (unlikely(!var13
)) {
1736 PRINT_ERROR("Runtime error: %s", "Assert failed");
1737 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9479);
1740 var16
= NEW_nit__AAnnotation(&type_nit__AAnnotation
);
1745 nit__parser_prod___AAnnotation___init_aannotation(var16
, var17
, var_tkwredefnode3
, var_pvisibilitynode4
, var_patidnode5
, var18
, var_listnode7
, var19
, var_pannotationsnode9
); /* Direct call parser_prod#AAnnotation#init_aannotation on <var16:AAnnotation>*/
1747 var_pannotationnode1
= var16
;
1748 var_node_list
= var_pannotationnode1
;
1749 var20
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction381> */
1751 var21
= nit___nit__Parser___go_to(var_p
, var20
);
1754 nit___nit__Parser___push(var_p
, var21
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1758 /* method parser#ReduceAction382#action for (self: ReduceAction382, Parser) */
1759 void nit__parser___nit__parser__ReduceAction382___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1760 val
* var_p
/* var p: Parser */;
1761 val
* var
/* : null */;
1762 val
* var_node_list
/* var node_list: nullable Object */;
1763 val
* var1
/* : nullable Object */;
1764 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
1765 val
* var2
/* : nullable Object */;
1766 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
1767 val
* var3
/* : nullable Object */;
1768 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
1769 val
* var4
/* : nullable Object */;
1770 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
1771 val
* var5
/* : nullable Object */;
1772 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
1773 val
* var6
/* : nullable Object */;
1774 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1775 val
* var7
/* : nullable Object */;
1776 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1777 val
* var8
/* : nullable Object */;
1778 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1779 val
* var9
/* : nullable Object */;
1780 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1781 val
* var10
/* : Array[Object] */;
1782 val
* var_listnode8
/* var listnode8: Array[Object] */;
1783 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
1784 short int var11
/* : Bool */;
1787 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
1788 short int var12
/* : Bool */;
1791 val
* var_patidnode5
/* var patidnode5: nullable Object */;
1792 short int var15
/* : Bool */;
1795 val
* var_toparnode6
/* var toparnode6: nullable Object */;
1796 short int var18
/* : Bool */;
1799 val
* var_listnode7
/* var listnode7: nullable Object */;
1800 short int var21
/* : Bool */;
1803 val
* var24
/* : Array[Object] */;
1804 val
* var_tcparnode9
/* var tcparnode9: nullable Object */;
1805 short int var25
/* : Bool */;
1808 val
* var_pannotationsnode10
/* var pannotationsnode10: nullable Object */;
1809 short int var28
/* : Bool */;
1812 val
* var31
/* : AAnnotation */;
1813 val
* var32
/* : null */;
1814 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
1815 long var33
/* : Int */;
1816 long var34
/* : Int */;
1819 var_node_list
= var
;
1821 var1
= nit___nit__Parser___pop(var_p
);
1823 var_nodearraylist9
= var1
;
1825 var2
= nit___nit__Parser___pop(var_p
);
1827 var_nodearraylist8
= var2
;
1829 var3
= nit___nit__Parser___pop(var_p
);
1831 var_nodearraylist7
= var3
;
1833 var4
= nit___nit__Parser___pop(var_p
);
1835 var_nodearraylist6
= var4
;
1837 var5
= nit___nit__Parser___pop(var_p
);
1839 var_nodearraylist5
= var5
;
1841 var6
= nit___nit__Parser___pop(var_p
);
1843 var_nodearraylist4
= var6
;
1845 var7
= nit___nit__Parser___pop(var_p
);
1847 var_nodearraylist3
= var7
;
1849 var8
= nit___nit__Parser___pop(var_p
);
1851 var_nodearraylist2
= var8
;
1853 var9
= nit___nit__Parser___pop(var_p
);
1855 var_nodearraylist1
= var9
;
1856 var10
= NEW_standard__Array(&type_standard__Array__standard__Object
);
1858 standard___standard__Array___standard__kernel__Object__init(var10
); /* Direct call array#Array#init on <var10:Array[Object]>*/
1860 var_listnode8
= var10
;
1861 var_tkwredefnode3
= var_nodearraylist1
;
1862 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
1863 cltype
= type_nullable__nit__TKwredef
.color
;
1864 idtype
= type_nullable__nit__TKwredef
.id
;
1865 if(var_tkwredefnode3
== NULL
) {
1868 if(cltype
>= var_tkwredefnode3
->type
->table_size
) {
1871 var11
= var_tkwredefnode3
->type
->type_table
[cltype
] == idtype
;
1874 if (unlikely(!var11
)) {
1875 PRINT_ERROR("Runtime error: %s", "Assert failed");
1876 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9510);
1879 var_pvisibilitynode4
= var_nodearraylist2
;
1880 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
1881 cltype13
= type_nullable__nit__AVisibility
.color
;
1882 idtype14
= type_nullable__nit__AVisibility
.id
;
1883 if(var_pvisibilitynode4
== NULL
) {
1886 if(cltype13
>= var_pvisibilitynode4
->type
->table_size
) {
1889 var12
= var_pvisibilitynode4
->type
->type_table
[cltype13
] == idtype14
;
1892 if (unlikely(!var12
)) {
1893 PRINT_ERROR("Runtime error: %s", "Assert failed");
1894 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9512);
1897 var_patidnode5
= var_nodearraylist3
;
1898 /* <var_patidnode5:nullable Object> isa nullable AAtid */
1899 cltype16
= type_nullable__nit__AAtid
.color
;
1900 idtype17
= type_nullable__nit__AAtid
.id
;
1901 if(var_patidnode5
== NULL
) {
1904 if(cltype16
>= var_patidnode5
->type
->table_size
) {
1907 var15
= var_patidnode5
->type
->type_table
[cltype16
] == idtype17
;
1910 if (unlikely(!var15
)) {
1911 PRINT_ERROR("Runtime error: %s", "Assert failed");
1912 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9514);
1915 var_toparnode6
= var_nodearraylist4
;
1916 /* <var_toparnode6:nullable Object> isa nullable TOpar */
1917 cltype19
= type_nullable__nit__TOpar
.color
;
1918 idtype20
= type_nullable__nit__TOpar
.id
;
1919 if(var_toparnode6
== NULL
) {
1922 if(cltype19
>= var_toparnode6
->type
->table_size
) {
1925 var18
= var_toparnode6
->type
->type_table
[cltype19
] == idtype20
;
1928 if (unlikely(!var18
)) {
1929 PRINT_ERROR("Runtime error: %s", "Assert failed");
1930 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9516);
1933 var_listnode7
= var_nodearraylist6
;
1934 /* <var_listnode7:nullable Object> isa Array[Object] */
1935 cltype22
= type_standard__Array__standard__Object
.color
;
1936 idtype23
= type_standard__Array__standard__Object
.id
;
1937 if(var_listnode7
== NULL
) {
1940 if(cltype22
>= var_listnode7
->type
->table_size
) {
1943 var21
= var_listnode7
->type
->type_table
[cltype22
] == idtype23
;
1946 if (unlikely(!var21
)) {
1947 PRINT_ERROR("Runtime error: %s", "Assert failed");
1948 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9518);
1952 var24
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode8
, var_listnode7
);
1954 var_listnode8
= var24
;
1955 var_tcparnode9
= var_nodearraylist8
;
1956 /* <var_tcparnode9:nullable Object> isa nullable TCpar */
1957 cltype26
= type_nullable__nit__TCpar
.color
;
1958 idtype27
= type_nullable__nit__TCpar
.id
;
1959 if(var_tcparnode9
== NULL
) {
1962 if(cltype26
>= var_tcparnode9
->type
->table_size
) {
1965 var25
= var_tcparnode9
->type
->type_table
[cltype26
] == idtype27
;
1968 if (unlikely(!var25
)) {
1969 PRINT_ERROR("Runtime error: %s", "Assert failed");
1970 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9521);
1973 var_pannotationsnode10
= var_nodearraylist9
;
1974 /* <var_pannotationsnode10:nullable Object> isa nullable AAnnotations */
1975 cltype29
= type_nullable__nit__AAnnotations
.color
;
1976 idtype30
= type_nullable__nit__AAnnotations
.id
;
1977 if(var_pannotationsnode10
== NULL
) {
1980 if(cltype29
>= var_pannotationsnode10
->type
->table_size
) {
1983 var28
= var_pannotationsnode10
->type
->type_table
[cltype29
] == idtype30
;
1986 if (unlikely(!var28
)) {
1987 PRINT_ERROR("Runtime error: %s", "Assert failed");
1988 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9523);
1991 var31
= NEW_nit__AAnnotation(&type_nit__AAnnotation
);
1994 nit__parser_prod___AAnnotation___init_aannotation(var31
, var32
, var_tkwredefnode3
, var_pvisibilitynode4
, var_patidnode5
, var_toparnode6
, var_listnode8
, var_tcparnode9
, var_pannotationsnode10
); /* Direct call parser_prod#AAnnotation#init_aannotation on <var31:AAnnotation>*/
1996 var_pannotationnode1
= var31
;
1997 var_node_list
= var_pannotationnode1
;
1998 var33
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction382> */
2000 var34
= nit___nit__Parser___go_to(var_p
, var33
);
2003 nit___nit__Parser___push(var_p
, var34
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2007 /* method parser#ReduceAction383#action for (self: ReduceAction383, Parser) */
2008 void nit__parser___nit__parser__ReduceAction383___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2009 val
* var_p
/* var p: Parser */;
2010 val
* var
/* : null */;
2011 val
* var_node_list
/* var node_list: nullable Object */;
2012 val
* var1
/* : nullable Object */;
2013 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2014 val
* var2
/* : Array[Object] */;
2015 val
* var_listnode5
/* var listnode5: Array[Object] */;
2016 val
* var_listnode4
/* var listnode4: nullable Object */;
2017 short int var3
/* : Bool */;
2020 val
* var4
/* : Array[Object] */;
2021 val
* var5
/* : AAnnotations */;
2022 val
* var6
/* : null */;
2023 val
* var7
/* : null */;
2024 val
* var8
/* : null */;
2025 val
* var_pannotationsnode1
/* var pannotationsnode1: nullable AAnnotations */;
2026 long var9
/* : Int */;
2027 long var10
/* : Int */;
2030 var_node_list
= var
;
2032 var1
= nit___nit__Parser___pop(var_p
);
2034 var_nodearraylist1
= var1
;
2035 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2037 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
2039 var_listnode5
= var2
;
2040 var_listnode4
= var_nodearraylist1
;
2041 /* <var_listnode4:nullable Object> isa Array[Object] */
2042 cltype
= type_standard__Array__standard__Object
.color
;
2043 idtype
= type_standard__Array__standard__Object
.id
;
2044 if(var_listnode4
== NULL
) {
2047 if(cltype
>= var_listnode4
->type
->table_size
) {
2050 var3
= var_listnode4
->type
->type_table
[cltype
] == idtype
;
2053 if (unlikely(!var3
)) {
2054 PRINT_ERROR("Runtime error: %s", "Assert failed");
2055 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9546);
2059 var4
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode5
, var_listnode4
);
2061 var_listnode5
= var4
;
2062 var5
= NEW_nit__AAnnotations(&type_nit__AAnnotations
);
2067 nit__parser_prod___AAnnotations___init_aannotations(var5
, var6
, var7
, var_listnode5
, var8
); /* Direct call parser_prod#AAnnotations#init_aannotations on <var5:AAnnotations>*/
2069 var_pannotationsnode1
= var5
;
2070 var_node_list
= var_pannotationsnode1
;
2071 var9
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction383> */
2073 var10
= nit___nit__Parser___go_to(var_p
, var9
);
2076 nit___nit__Parser___push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2080 /* method parser#ReduceAction384#action for (self: ReduceAction384, Parser) */
2081 void nit__parser___nit__parser__ReduceAction384___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2082 val
* var_p
/* var p: Parser */;
2083 val
* var
/* : null */;
2084 val
* var_node_list
/* var node_list: nullable Object */;
2085 val
* var1
/* : nullable Object */;
2086 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2087 val
* var2
/* : Array[Object] */;
2088 val
* var_listnode2
/* var listnode2: Array[Object] */;
2089 val
* var_pannotationnode1
/* var pannotationnode1: nullable Object */;
2090 val
* var3
/* : null */;
2091 short int var4
/* : Bool */;
2092 short int var5
/* : Bool */;
2093 long var6
/* : Int */;
2094 long var7
/* : Int */;
2097 var_node_list
= var
;
2099 var1
= nit___nit__Parser___pop(var_p
);
2101 var_nodearraylist1
= var1
;
2102 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2104 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
2106 var_listnode2
= var2
;
2107 var_pannotationnode1
= var_nodearraylist1
;
2109 if (var_pannotationnode1
== NULL
) {
2110 var4
= 0; /* is null */
2112 var4
= 1; /* arg is null and recv is not */
2115 var5
= ((short int (*)(val
* self
, val
* p0
))(var_pannotationnode1
->class->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_pannotationnode1
, var3
) /* != on <var_pannotationnode1:nullable Object>*/;
2120 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode2
, var_pannotationnode1
); /* Direct call array#Array#add on <var_listnode2:Array[Object]>*/
2124 var_node_list
= var_listnode2
;
2125 var6
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction384> */
2127 var7
= nit___nit__Parser___go_to(var_p
, var6
);
2130 nit___nit__Parser___push(var_p
, var7
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2134 /* method parser#ReduceAction385#action for (self: ReduceAction385, Parser) */
2135 void nit__parser___nit__parser__ReduceAction385___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2136 val
* var_p
/* var p: Parser */;
2137 val
* var
/* : null */;
2138 val
* var_node_list
/* var node_list: nullable Object */;
2139 val
* var1
/* : nullable Object */;
2140 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2141 val
* var2
/* : nullable Object */;
2142 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2143 val
* var3
/* : Array[Object] */;
2144 val
* var_listnode3
/* var listnode3: Array[Object] */;
2145 val
* var_pannotationnode1
/* var pannotationnode1: nullable Object */;
2146 val
* var_listnode2
/* var listnode2: nullable Object */;
2147 short int var4
/* : Bool */;
2150 val
* var5
/* : null */;
2151 short int var6
/* : Bool */;
2152 short int var7
/* : Bool */;
2153 val
* var8
/* : Array[Object] */;
2154 long var9
/* : Int */;
2155 long var10
/* : Int */;
2158 var_node_list
= var
;
2160 var1
= nit___nit__Parser___pop(var_p
);
2162 var_nodearraylist2
= var1
;
2164 var2
= nit___nit__Parser___pop(var_p
);
2166 var_nodearraylist1
= var2
;
2167 var3
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2169 standard___standard__Array___standard__kernel__Object__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
2171 var_listnode3
= var3
;
2172 var_pannotationnode1
= var_nodearraylist1
;
2173 var_listnode2
= var_nodearraylist2
;
2174 /* <var_listnode2:nullable Object> isa Array[Object] */
2175 cltype
= type_standard__Array__standard__Object
.color
;
2176 idtype
= type_standard__Array__standard__Object
.id
;
2177 if(var_listnode2
== NULL
) {
2180 if(cltype
>= var_listnode2
->type
->table_size
) {
2183 var4
= var_listnode2
->type
->type_table
[cltype
] == idtype
;
2186 if (unlikely(!var4
)) {
2187 PRINT_ERROR("Runtime error: %s", "Assert failed");
2188 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9583);
2192 if (var_pannotationnode1
== NULL
) {
2193 var6
= 0; /* is null */
2195 var6
= 1; /* arg is null and recv is not */
2198 var7
= ((short int (*)(val
* self
, val
* p0
))(var_pannotationnode1
->class->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_pannotationnode1
, var5
) /* != on <var_pannotationnode1:nullable Object>*/;
2203 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3
, var_pannotationnode1
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
2208 var8
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode2
);
2210 var_listnode3
= var8
;
2211 var_node_list
= var_listnode3
;
2212 var9
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction385> */
2214 var10
= nit___nit__Parser___go_to(var_p
, var9
);
2217 nit___nit__Parser___push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2221 /* method parser#ReduceAction388#action for (self: ReduceAction388, Parser) */
2222 void nit__parser___nit__parser__ReduceAction388___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2223 val
* var_p
/* var p: Parser */;
2224 val
* var
/* : null */;
2225 val
* var_node_list
/* var node_list: nullable Object */;
2226 val
* var1
/* : nullable Object */;
2227 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2228 val
* var2
/* : nullable Object */;
2229 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2230 val
* var3
/* : nullable Object */;
2231 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2232 val
* var4
/* : nullable Object */;
2233 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2234 val
* var5
/* : Array[Object] */;
2235 val
* var_listnode8
/* var listnode8: Array[Object] */;
2236 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
2237 short int var6
/* : Bool */;
2240 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
2241 short int var7
/* : Bool */;
2244 val
* var_patidnode5
/* var patidnode5: nullable Object */;
2245 short int var10
/* : Bool */;
2248 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
2249 short int var13
/* : Bool */;
2252 val
* var16
/* : null */;
2253 short int var17
/* : Bool */;
2254 short int var18
/* : Bool */;
2255 val
* var_other
/* var other: nullable Object */;
2256 short int var20
/* : Bool */;
2257 short int var21
/* : Bool */;
2258 val
* var22
/* : AAnnotation */;
2259 val
* var23
/* : null */;
2260 val
* var24
/* : null */;
2261 val
* var25
/* : null */;
2262 val
* var26
/* : null */;
2263 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
2264 long var27
/* : Int */;
2265 long var28
/* : Int */;
2268 var_node_list
= var
;
2270 var1
= nit___nit__Parser___pop(var_p
);
2272 var_nodearraylist4
= var1
;
2274 var2
= nit___nit__Parser___pop(var_p
);
2276 var_nodearraylist3
= var2
;
2278 var3
= nit___nit__Parser___pop(var_p
);
2280 var_nodearraylist2
= var3
;
2282 var4
= nit___nit__Parser___pop(var_p
);
2284 var_nodearraylist1
= var4
;
2285 var5
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2287 standard___standard__Array___standard__kernel__Object__init(var5
); /* Direct call array#Array#init on <var5:Array[Object]>*/
2289 var_listnode8
= var5
;
2290 var_tkwredefnode3
= var_nodearraylist1
;
2291 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2292 cltype
= type_nullable__nit__TKwredef
.color
;
2293 idtype
= type_nullable__nit__TKwredef
.id
;
2294 if(var_tkwredefnode3
== NULL
) {
2297 if(cltype
>= var_tkwredefnode3
->type
->table_size
) {
2300 var6
= var_tkwredefnode3
->type
->type_table
[cltype
] == idtype
;
2303 if (unlikely(!var6
)) {
2304 PRINT_ERROR("Runtime error: %s", "Assert failed");
2305 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9603);
2308 var_pvisibilitynode4
= var_nodearraylist2
;
2309 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2310 cltype8
= type_nullable__nit__AVisibility
.color
;
2311 idtype9
= type_nullable__nit__AVisibility
.id
;
2312 if(var_pvisibilitynode4
== NULL
) {
2315 if(cltype8
>= var_pvisibilitynode4
->type
->table_size
) {
2318 var7
= var_pvisibilitynode4
->type
->type_table
[cltype8
] == idtype9
;
2321 if (unlikely(!var7
)) {
2322 PRINT_ERROR("Runtime error: %s", "Assert failed");
2323 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9605);
2326 var_patidnode5
= var_nodearraylist3
;
2327 /* <var_patidnode5:nullable Object> isa nullable AAtid */
2328 cltype11
= type_nullable__nit__AAtid
.color
;
2329 idtype12
= type_nullable__nit__AAtid
.id
;
2330 if(var_patidnode5
== NULL
) {
2333 if(cltype11
>= var_patidnode5
->type
->table_size
) {
2336 var10
= var_patidnode5
->type
->type_table
[cltype11
] == idtype12
;
2339 if (unlikely(!var10
)) {
2340 PRINT_ERROR("Runtime error: %s", "Assert failed");
2341 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9607);
2344 var_pexprnode7
= var_nodearraylist4
;
2345 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
2346 cltype14
= type_nullable__nit__AExpr
.color
;
2347 idtype15
= type_nullable__nit__AExpr
.id
;
2348 if(var_pexprnode7
== NULL
) {
2351 if(cltype14
>= var_pexprnode7
->type
->table_size
) {
2354 var13
= var_pexprnode7
->type
->type_table
[cltype14
] == idtype15
;
2357 if (unlikely(!var13
)) {
2358 PRINT_ERROR("Runtime error: %s", "Assert failed");
2359 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9609);
2363 if (var_pexprnode7
== NULL
) {
2364 var17
= 0; /* is null */
2366 var17
= 1; /* arg is null and recv is not */
2369 { /* Inline kernel#Object#!= (var_pexprnode7,var16) on <var_pexprnode7:nullable Object(nullable AExpr)> */
2372 var20
= ((short int (*)(val
* self
, val
* p0
))(var_pexprnode7
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_pexprnode7
, var_other
) /* == on <var_pexprnode7:nullable AExpr(AExpr)>*/;
2377 RET_LABEL19
:(void)0;
2383 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode8
, var_pexprnode7
); /* Direct call array#Array#add on <var_listnode8:Array[Object]>*/
2387 var22
= NEW_nit__AAnnotation(&type_nit__AAnnotation
);
2393 nit__parser_prod___AAnnotation___init_aannotation(var22
, var23
, var_tkwredefnode3
, var_pvisibilitynode4
, var_patidnode5
, var24
, var_listnode8
, var25
, var26
); /* Direct call parser_prod#AAnnotation#init_aannotation on <var22:AAnnotation>*/
2395 var_pannotationnode1
= var22
;
2396 var_node_list
= var_pannotationnode1
;
2397 var27
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction388> */
2399 var28
= nit___nit__Parser___go_to(var_p
, var27
);
2402 nit___nit__Parser___push(var_p
, var28
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2406 /* method parser#ReduceAction390#action for (self: ReduceAction390, Parser) */
2407 void nit__parser___nit__parser__ReduceAction390___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2408 val
* var_p
/* var p: Parser */;
2409 val
* var
/* : null */;
2410 val
* var_node_list
/* var node_list: nullable Object */;
2411 val
* var1
/* : nullable Object */;
2412 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2413 val
* var2
/* : nullable Object */;
2414 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2415 val
* var3
/* : nullable Object */;
2416 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2417 val
* var_pannotationnode1
/* var pannotationnode1: nullable Object */;
2418 long var4
/* : Int */;
2419 long var5
/* : Int */;
2422 var_node_list
= var
;
2424 var1
= nit___nit__Parser___pop(var_p
);
2426 var_nodearraylist3
= var1
;
2428 var2
= nit___nit__Parser___pop(var_p
);
2430 var_nodearraylist2
= var2
;
2432 var3
= nit___nit__Parser___pop(var_p
);
2434 var_nodearraylist1
= var3
;
2435 var_pannotationnode1
= var_nodearraylist3
;
2436 var_node_list
= var_pannotationnode1
;
2437 var4
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction390> */
2439 var5
= nit___nit__Parser___go_to(var_p
, var4
);
2442 nit___nit__Parser___push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2446 /* method parser#ReduceAction392#action for (self: ReduceAction392, Parser) */
2447 void nit__parser___nit__parser__ReduceAction392___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2448 val
* var_p
/* var p: Parser */;
2449 val
* var
/* : null */;
2450 val
* var_node_list
/* var node_list: nullable Object */;
2451 val
* var1
/* : nullable Object */;
2452 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2453 val
* var2
/* : nullable Object */;
2454 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2455 val
* var3
/* : nullable Object */;
2456 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2457 val
* var4
/* : nullable Object */;
2458 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2459 val
* var5
/* : nullable Object */;
2460 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2461 val
* var6
/* : Array[Object] */;
2462 val
* var_listnode7
/* var listnode7: Array[Object] */;
2463 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
2464 short int var7
/* : Bool */;
2467 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
2468 short int var8
/* : Bool */;
2471 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
2472 short int var11
/* : Bool */;
2475 val
* var_patidnode5
/* var patidnode5: nullable Object */;
2476 short int var14
/* : Bool */;
2479 val
* var17
/* : AAnnotation */;
2480 val
* var18
/* : null */;
2481 val
* var19
/* : null */;
2482 val
* var20
/* : null */;
2483 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
2484 long var21
/* : Int */;
2485 long var22
/* : Int */;
2488 var_node_list
= var
;
2490 var1
= nit___nit__Parser___pop(var_p
);
2492 var_nodearraylist5
= var1
;
2494 var2
= nit___nit__Parser___pop(var_p
);
2496 var_nodearraylist4
= var2
;
2498 var3
= nit___nit__Parser___pop(var_p
);
2500 var_nodearraylist3
= var3
;
2502 var4
= nit___nit__Parser___pop(var_p
);
2504 var_nodearraylist2
= var4
;
2506 var5
= nit___nit__Parser___pop(var_p
);
2508 var_nodearraylist1
= var5
;
2509 var6
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2511 standard___standard__Array___standard__kernel__Object__init(var6
); /* Direct call array#Array#init on <var6:Array[Object]>*/
2513 var_listnode7
= var6
;
2514 var_pdocnode2
= var_nodearraylist1
;
2515 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2516 cltype
= type_nullable__nit__ADoc
.color
;
2517 idtype
= type_nullable__nit__ADoc
.id
;
2518 if(var_pdocnode2
== NULL
) {
2521 if(cltype
>= var_pdocnode2
->type
->table_size
) {
2524 var7
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
2527 if (unlikely(!var7
)) {
2528 PRINT_ERROR("Runtime error: %s", "Assert failed");
2529 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9652);
2532 var_tkwredefnode3
= var_nodearraylist2
;
2533 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2534 cltype9
= type_nullable__nit__TKwredef
.color
;
2535 idtype10
= type_nullable__nit__TKwredef
.id
;
2536 if(var_tkwredefnode3
== NULL
) {
2539 if(cltype9
>= var_tkwredefnode3
->type
->table_size
) {
2542 var8
= var_tkwredefnode3
->type
->type_table
[cltype9
] == idtype10
;
2545 if (unlikely(!var8
)) {
2546 PRINT_ERROR("Runtime error: %s", "Assert failed");
2547 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9654);
2550 var_pvisibilitynode4
= var_nodearraylist3
;
2551 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2552 cltype12
= type_nullable__nit__AVisibility
.color
;
2553 idtype13
= type_nullable__nit__AVisibility
.id
;
2554 if(var_pvisibilitynode4
== NULL
) {
2557 if(cltype12
>= var_pvisibilitynode4
->type
->table_size
) {
2560 var11
= var_pvisibilitynode4
->type
->type_table
[cltype12
] == idtype13
;
2563 if (unlikely(!var11
)) {
2564 PRINT_ERROR("Runtime error: %s", "Assert failed");
2565 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9656);
2568 var_patidnode5
= var_nodearraylist4
;
2569 /* <var_patidnode5:nullable Object> isa nullable AAtid */
2570 cltype15
= type_nullable__nit__AAtid
.color
;
2571 idtype16
= type_nullable__nit__AAtid
.id
;
2572 if(var_patidnode5
== NULL
) {
2575 if(cltype15
>= var_patidnode5
->type
->table_size
) {
2578 var14
= var_patidnode5
->type
->type_table
[cltype15
] == idtype16
;
2581 if (unlikely(!var14
)) {
2582 PRINT_ERROR("Runtime error: %s", "Assert failed");
2583 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9658);
2586 var17
= NEW_nit__AAnnotation(&type_nit__AAnnotation
);
2591 nit__parser_prod___AAnnotation___init_aannotation(var17
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_patidnode5
, var18
, var_listnode7
, var19
, var20
); /* Direct call parser_prod#AAnnotation#init_aannotation on <var17:AAnnotation>*/
2593 var_pannotationnode1
= var17
;
2594 var_node_list
= var_pannotationnode1
;
2595 var21
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction392> */
2597 var22
= nit___nit__Parser___go_to(var_p
, var21
);
2600 nit___nit__Parser___push(var_p
, var22
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2604 /* method parser#ReduceAction393#action for (self: ReduceAction393, Parser) */
2605 void nit__parser___nit__parser__ReduceAction393___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2606 val
* var_p
/* var p: Parser */;
2607 val
* var
/* : null */;
2608 val
* var_node_list
/* var node_list: nullable Object */;
2609 val
* var1
/* : nullable Object */;
2610 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
2611 val
* var2
/* : nullable Object */;
2612 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2613 val
* var3
/* : nullable Object */;
2614 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2615 val
* var4
/* : nullable Object */;
2616 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2617 val
* var5
/* : nullable Object */;
2618 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2619 val
* var6
/* : nullable Object */;
2620 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2621 val
* var7
/* : Array[Object] */;
2622 val
* var_listnode7
/* var listnode7: Array[Object] */;
2623 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
2624 short int var8
/* : Bool */;
2627 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
2628 short int var9
/* : Bool */;
2631 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
2632 short int var12
/* : Bool */;
2635 val
* var_patidnode5
/* var patidnode5: nullable Object */;
2636 short int var15
/* : Bool */;
2639 val
* var_pannotationsnode9
/* var pannotationsnode9: nullable Object */;
2640 short int var18
/* : Bool */;
2643 val
* var21
/* : AAnnotation */;
2644 val
* var22
/* : null */;
2645 val
* var23
/* : null */;
2646 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
2647 long var24
/* : Int */;
2648 long var25
/* : Int */;
2651 var_node_list
= var
;
2653 var1
= nit___nit__Parser___pop(var_p
);
2655 var_nodearraylist6
= var1
;
2657 var2
= nit___nit__Parser___pop(var_p
);
2659 var_nodearraylist5
= var2
;
2661 var3
= nit___nit__Parser___pop(var_p
);
2663 var_nodearraylist4
= var3
;
2665 var4
= nit___nit__Parser___pop(var_p
);
2667 var_nodearraylist3
= var4
;
2669 var5
= nit___nit__Parser___pop(var_p
);
2671 var_nodearraylist2
= var5
;
2673 var6
= nit___nit__Parser___pop(var_p
);
2675 var_nodearraylist1
= var6
;
2676 var7
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2678 standard___standard__Array___standard__kernel__Object__init(var7
); /* Direct call array#Array#init on <var7:Array[Object]>*/
2680 var_listnode7
= var7
;
2681 var_pdocnode2
= var_nodearraylist1
;
2682 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2683 cltype
= type_nullable__nit__ADoc
.color
;
2684 idtype
= type_nullable__nit__ADoc
.id
;
2685 if(var_pdocnode2
== NULL
) {
2688 if(cltype
>= var_pdocnode2
->type
->table_size
) {
2691 var8
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
2694 if (unlikely(!var8
)) {
2695 PRINT_ERROR("Runtime error: %s", "Assert failed");
2696 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9686);
2699 var_tkwredefnode3
= var_nodearraylist2
;
2700 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2701 cltype10
= type_nullable__nit__TKwredef
.color
;
2702 idtype11
= type_nullable__nit__TKwredef
.id
;
2703 if(var_tkwredefnode3
== NULL
) {
2706 if(cltype10
>= var_tkwredefnode3
->type
->table_size
) {
2709 var9
= var_tkwredefnode3
->type
->type_table
[cltype10
] == idtype11
;
2712 if (unlikely(!var9
)) {
2713 PRINT_ERROR("Runtime error: %s", "Assert failed");
2714 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9688);
2717 var_pvisibilitynode4
= var_nodearraylist3
;
2718 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2719 cltype13
= type_nullable__nit__AVisibility
.color
;
2720 idtype14
= type_nullable__nit__AVisibility
.id
;
2721 if(var_pvisibilitynode4
== NULL
) {
2724 if(cltype13
>= var_pvisibilitynode4
->type
->table_size
) {
2727 var12
= var_pvisibilitynode4
->type
->type_table
[cltype13
] == idtype14
;
2730 if (unlikely(!var12
)) {
2731 PRINT_ERROR("Runtime error: %s", "Assert failed");
2732 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9690);
2735 var_patidnode5
= var_nodearraylist4
;
2736 /* <var_patidnode5:nullable Object> isa nullable AAtid */
2737 cltype16
= type_nullable__nit__AAtid
.color
;
2738 idtype17
= type_nullable__nit__AAtid
.id
;
2739 if(var_patidnode5
== NULL
) {
2742 if(cltype16
>= var_patidnode5
->type
->table_size
) {
2745 var15
= var_patidnode5
->type
->type_table
[cltype16
] == idtype17
;
2748 if (unlikely(!var15
)) {
2749 PRINT_ERROR("Runtime error: %s", "Assert failed");
2750 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9692);
2753 var_pannotationsnode9
= var_nodearraylist5
;
2754 /* <var_pannotationsnode9:nullable Object> isa nullable AAnnotations */
2755 cltype19
= type_nullable__nit__AAnnotations
.color
;
2756 idtype20
= type_nullable__nit__AAnnotations
.id
;
2757 if(var_pannotationsnode9
== NULL
) {
2760 if(cltype19
>= var_pannotationsnode9
->type
->table_size
) {
2763 var18
= var_pannotationsnode9
->type
->type_table
[cltype19
] == idtype20
;
2766 if (unlikely(!var18
)) {
2767 PRINT_ERROR("Runtime error: %s", "Assert failed");
2768 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9694);
2771 var21
= NEW_nit__AAnnotation(&type_nit__AAnnotation
);
2775 nit__parser_prod___AAnnotation___init_aannotation(var21
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_patidnode5
, var22
, var_listnode7
, var23
, var_pannotationsnode9
); /* Direct call parser_prod#AAnnotation#init_aannotation on <var21:AAnnotation>*/
2777 var_pannotationnode1
= var21
;
2778 var_node_list
= var_pannotationnode1
;
2779 var24
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction393> */
2781 var25
= nit___nit__Parser___go_to(var_p
, var24
);
2784 nit___nit__Parser___push(var_p
, var25
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2788 /* method parser#ReduceAction394#action for (self: ReduceAction394, Parser) */
2789 void nit__parser___nit__parser__ReduceAction394___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2790 val
* var_p
/* var p: Parser */;
2791 val
* var
/* : null */;
2792 val
* var_node_list
/* var node_list: nullable Object */;
2793 val
* var1
/* : nullable Object */;
2794 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
2795 val
* var2
/* : nullable Object */;
2796 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
2797 val
* var3
/* : nullable Object */;
2798 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
2799 val
* var4
/* : nullable Object */;
2800 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
2801 val
* var5
/* : nullable Object */;
2802 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
2803 val
* var6
/* : nullable Object */;
2804 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2805 val
* var7
/* : nullable Object */;
2806 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2807 val
* var8
/* : nullable Object */;
2808 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2809 val
* var9
/* : nullable Object */;
2810 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2811 val
* var10
/* : Array[Object] */;
2812 val
* var_listnode8
/* var listnode8: Array[Object] */;
2813 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
2814 short int var11
/* : Bool */;
2817 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
2818 short int var12
/* : Bool */;
2821 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
2822 short int var15
/* : Bool */;
2825 val
* var_patidnode5
/* var patidnode5: nullable Object */;
2826 short int var18
/* : Bool */;
2829 val
* var_toparnode6
/* var toparnode6: nullable Object */;
2830 short int var21
/* : Bool */;
2833 val
* var_listnode7
/* var listnode7: nullable Object */;
2834 short int var24
/* : Bool */;
2837 val
* var27
/* : Array[Object] */;
2838 val
* var_tcparnode9
/* var tcparnode9: nullable Object */;
2839 short int var28
/* : Bool */;
2842 val
* var31
/* : AAnnotation */;
2843 val
* var32
/* : null */;
2844 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
2845 long var33
/* : Int */;
2846 long var34
/* : Int */;
2849 var_node_list
= var
;
2851 var1
= nit___nit__Parser___pop(var_p
);
2853 var_nodearraylist9
= var1
;
2855 var2
= nit___nit__Parser___pop(var_p
);
2857 var_nodearraylist8
= var2
;
2859 var3
= nit___nit__Parser___pop(var_p
);
2861 var_nodearraylist7
= var3
;
2863 var4
= nit___nit__Parser___pop(var_p
);
2865 var_nodearraylist6
= var4
;
2867 var5
= nit___nit__Parser___pop(var_p
);
2869 var_nodearraylist5
= var5
;
2871 var6
= nit___nit__Parser___pop(var_p
);
2873 var_nodearraylist4
= var6
;
2875 var7
= nit___nit__Parser___pop(var_p
);
2877 var_nodearraylist3
= var7
;
2879 var8
= nit___nit__Parser___pop(var_p
);
2881 var_nodearraylist2
= var8
;
2883 var9
= nit___nit__Parser___pop(var_p
);
2885 var_nodearraylist1
= var9
;
2886 var10
= NEW_standard__Array(&type_standard__Array__standard__Object
);
2888 standard___standard__Array___standard__kernel__Object__init(var10
); /* Direct call array#Array#init on <var10:Array[Object]>*/
2890 var_listnode8
= var10
;
2891 var_pdocnode2
= var_nodearraylist1
;
2892 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
2893 cltype
= type_nullable__nit__ADoc
.color
;
2894 idtype
= type_nullable__nit__ADoc
.id
;
2895 if(var_pdocnode2
== NULL
) {
2898 if(cltype
>= var_pdocnode2
->type
->table_size
) {
2901 var11
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
2904 if (unlikely(!var11
)) {
2905 PRINT_ERROR("Runtime error: %s", "Assert failed");
2906 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9725);
2909 var_tkwredefnode3
= var_nodearraylist2
;
2910 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
2911 cltype13
= type_nullable__nit__TKwredef
.color
;
2912 idtype14
= type_nullable__nit__TKwredef
.id
;
2913 if(var_tkwredefnode3
== NULL
) {
2916 if(cltype13
>= var_tkwredefnode3
->type
->table_size
) {
2919 var12
= var_tkwredefnode3
->type
->type_table
[cltype13
] == idtype14
;
2922 if (unlikely(!var12
)) {
2923 PRINT_ERROR("Runtime error: %s", "Assert failed");
2924 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9727);
2927 var_pvisibilitynode4
= var_nodearraylist3
;
2928 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
2929 cltype16
= type_nullable__nit__AVisibility
.color
;
2930 idtype17
= type_nullable__nit__AVisibility
.id
;
2931 if(var_pvisibilitynode4
== NULL
) {
2934 if(cltype16
>= var_pvisibilitynode4
->type
->table_size
) {
2937 var15
= var_pvisibilitynode4
->type
->type_table
[cltype16
] == idtype17
;
2940 if (unlikely(!var15
)) {
2941 PRINT_ERROR("Runtime error: %s", "Assert failed");
2942 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9729);
2945 var_patidnode5
= var_nodearraylist4
;
2946 /* <var_patidnode5:nullable Object> isa nullable AAtid */
2947 cltype19
= type_nullable__nit__AAtid
.color
;
2948 idtype20
= type_nullable__nit__AAtid
.id
;
2949 if(var_patidnode5
== NULL
) {
2952 if(cltype19
>= var_patidnode5
->type
->table_size
) {
2955 var18
= var_patidnode5
->type
->type_table
[cltype19
] == idtype20
;
2958 if (unlikely(!var18
)) {
2959 PRINT_ERROR("Runtime error: %s", "Assert failed");
2960 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9731);
2963 var_toparnode6
= var_nodearraylist5
;
2964 /* <var_toparnode6:nullable Object> isa nullable TOpar */
2965 cltype22
= type_nullable__nit__TOpar
.color
;
2966 idtype23
= type_nullable__nit__TOpar
.id
;
2967 if(var_toparnode6
== NULL
) {
2970 if(cltype22
>= var_toparnode6
->type
->table_size
) {
2973 var21
= var_toparnode6
->type
->type_table
[cltype22
] == idtype23
;
2976 if (unlikely(!var21
)) {
2977 PRINT_ERROR("Runtime error: %s", "Assert failed");
2978 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9733);
2981 var_listnode7
= var_nodearraylist7
;
2982 /* <var_listnode7:nullable Object> isa Array[Object] */
2983 cltype25
= type_standard__Array__standard__Object
.color
;
2984 idtype26
= type_standard__Array__standard__Object
.id
;
2985 if(var_listnode7
== NULL
) {
2988 if(cltype25
>= var_listnode7
->type
->table_size
) {
2991 var24
= var_listnode7
->type
->type_table
[cltype25
] == idtype26
;
2994 if (unlikely(!var24
)) {
2995 PRINT_ERROR("Runtime error: %s", "Assert failed");
2996 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9735);
3000 var27
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode8
, var_listnode7
);
3002 var_listnode8
= var27
;
3003 var_tcparnode9
= var_nodearraylist8
;
3004 /* <var_tcparnode9:nullable Object> isa nullable TCpar */
3005 cltype29
= type_nullable__nit__TCpar
.color
;
3006 idtype30
= type_nullable__nit__TCpar
.id
;
3007 if(var_tcparnode9
== NULL
) {
3010 if(cltype29
>= var_tcparnode9
->type
->table_size
) {
3013 var28
= var_tcparnode9
->type
->type_table
[cltype29
] == idtype30
;
3016 if (unlikely(!var28
)) {
3017 PRINT_ERROR("Runtime error: %s", "Assert failed");
3018 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9738);
3021 var31
= NEW_nit__AAnnotation(&type_nit__AAnnotation
);
3024 nit__parser_prod___AAnnotation___init_aannotation(var31
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_patidnode5
, var_toparnode6
, var_listnode8
, var_tcparnode9
, var32
); /* Direct call parser_prod#AAnnotation#init_aannotation on <var31:AAnnotation>*/
3026 var_pannotationnode1
= var31
;
3027 var_node_list
= var_pannotationnode1
;
3028 var33
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction394> */
3030 var34
= nit___nit__Parser___go_to(var_p
, var33
);
3033 nit___nit__Parser___push(var_p
, var34
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3037 /* method parser#ReduceAction395#action for (self: ReduceAction395, Parser) */
3038 void nit__parser___nit__parser__ReduceAction395___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3039 val
* var_p
/* var p: Parser */;
3040 val
* var
/* : null */;
3041 val
* var_node_list
/* var node_list: nullable Object */;
3042 val
* var1
/* : nullable Object */;
3043 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
3044 val
* var2
/* : nullable Object */;
3045 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
3046 val
* var3
/* : nullable Object */;
3047 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
3048 val
* var4
/* : nullable Object */;
3049 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
3050 val
* var5
/* : nullable Object */;
3051 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
3052 val
* var6
/* : nullable Object */;
3053 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
3054 val
* var7
/* : nullable Object */;
3055 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3056 val
* var8
/* : nullable Object */;
3057 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3058 val
* var9
/* : nullable Object */;
3059 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3060 val
* var10
/* : nullable Object */;
3061 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3062 val
* var11
/* : Array[Object] */;
3063 val
* var_listnode8
/* var listnode8: Array[Object] */;
3064 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
3065 short int var12
/* : Bool */;
3068 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
3069 short int var13
/* : Bool */;
3072 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
3073 short int var16
/* : Bool */;
3076 val
* var_patidnode5
/* var patidnode5: nullable Object */;
3077 short int var19
/* : Bool */;
3080 val
* var_toparnode6
/* var toparnode6: nullable Object */;
3081 short int var22
/* : Bool */;
3084 val
* var_listnode7
/* var listnode7: nullable Object */;
3085 short int var25
/* : Bool */;
3088 val
* var28
/* : Array[Object] */;
3089 val
* var_tcparnode9
/* var tcparnode9: nullable Object */;
3090 short int var29
/* : Bool */;
3093 val
* var_pannotationsnode10
/* var pannotationsnode10: nullable Object */;
3094 short int var32
/* : Bool */;
3097 val
* var35
/* : AAnnotation */;
3098 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
3099 long var36
/* : Int */;
3100 long var37
/* : Int */;
3103 var_node_list
= var
;
3105 var1
= nit___nit__Parser___pop(var_p
);
3107 var_nodearraylist10
= var1
;
3109 var2
= nit___nit__Parser___pop(var_p
);
3111 var_nodearraylist9
= var2
;
3113 var3
= nit___nit__Parser___pop(var_p
);
3115 var_nodearraylist8
= var3
;
3117 var4
= nit___nit__Parser___pop(var_p
);
3119 var_nodearraylist7
= var4
;
3121 var5
= nit___nit__Parser___pop(var_p
);
3123 var_nodearraylist6
= var5
;
3125 var6
= nit___nit__Parser___pop(var_p
);
3127 var_nodearraylist5
= var6
;
3129 var7
= nit___nit__Parser___pop(var_p
);
3131 var_nodearraylist4
= var7
;
3133 var8
= nit___nit__Parser___pop(var_p
);
3135 var_nodearraylist3
= var8
;
3137 var9
= nit___nit__Parser___pop(var_p
);
3139 var_nodearraylist2
= var9
;
3141 var10
= nit___nit__Parser___pop(var_p
);
3143 var_nodearraylist1
= var10
;
3144 var11
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3146 standard___standard__Array___standard__kernel__Object__init(var11
); /* Direct call array#Array#init on <var11:Array[Object]>*/
3148 var_listnode8
= var11
;
3149 var_pdocnode2
= var_nodearraylist1
;
3150 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3151 cltype
= type_nullable__nit__ADoc
.color
;
3152 idtype
= type_nullable__nit__ADoc
.id
;
3153 if(var_pdocnode2
== NULL
) {
3156 if(cltype
>= var_pdocnode2
->type
->table_size
) {
3159 var12
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
3162 if (unlikely(!var12
)) {
3163 PRINT_ERROR("Runtime error: %s", "Assert failed");
3164 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9770);
3167 var_tkwredefnode3
= var_nodearraylist2
;
3168 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3169 cltype14
= type_nullable__nit__TKwredef
.color
;
3170 idtype15
= type_nullable__nit__TKwredef
.id
;
3171 if(var_tkwredefnode3
== NULL
) {
3174 if(cltype14
>= var_tkwredefnode3
->type
->table_size
) {
3177 var13
= var_tkwredefnode3
->type
->type_table
[cltype14
] == idtype15
;
3180 if (unlikely(!var13
)) {
3181 PRINT_ERROR("Runtime error: %s", "Assert failed");
3182 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9772);
3185 var_pvisibilitynode4
= var_nodearraylist3
;
3186 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3187 cltype17
= type_nullable__nit__AVisibility
.color
;
3188 idtype18
= type_nullable__nit__AVisibility
.id
;
3189 if(var_pvisibilitynode4
== NULL
) {
3192 if(cltype17
>= var_pvisibilitynode4
->type
->table_size
) {
3195 var16
= var_pvisibilitynode4
->type
->type_table
[cltype17
] == idtype18
;
3198 if (unlikely(!var16
)) {
3199 PRINT_ERROR("Runtime error: %s", "Assert failed");
3200 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9774);
3203 var_patidnode5
= var_nodearraylist4
;
3204 /* <var_patidnode5:nullable Object> isa nullable AAtid */
3205 cltype20
= type_nullable__nit__AAtid
.color
;
3206 idtype21
= type_nullable__nit__AAtid
.id
;
3207 if(var_patidnode5
== NULL
) {
3210 if(cltype20
>= var_patidnode5
->type
->table_size
) {
3213 var19
= var_patidnode5
->type
->type_table
[cltype20
] == idtype21
;
3216 if (unlikely(!var19
)) {
3217 PRINT_ERROR("Runtime error: %s", "Assert failed");
3218 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9776);
3221 var_toparnode6
= var_nodearraylist5
;
3222 /* <var_toparnode6:nullable Object> isa nullable TOpar */
3223 cltype23
= type_nullable__nit__TOpar
.color
;
3224 idtype24
= type_nullable__nit__TOpar
.id
;
3225 if(var_toparnode6
== NULL
) {
3228 if(cltype23
>= var_toparnode6
->type
->table_size
) {
3231 var22
= var_toparnode6
->type
->type_table
[cltype23
] == idtype24
;
3234 if (unlikely(!var22
)) {
3235 PRINT_ERROR("Runtime error: %s", "Assert failed");
3236 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9778);
3239 var_listnode7
= var_nodearraylist7
;
3240 /* <var_listnode7:nullable Object> isa Array[Object] */
3241 cltype26
= type_standard__Array__standard__Object
.color
;
3242 idtype27
= type_standard__Array__standard__Object
.id
;
3243 if(var_listnode7
== NULL
) {
3246 if(cltype26
>= var_listnode7
->type
->table_size
) {
3249 var25
= var_listnode7
->type
->type_table
[cltype26
] == idtype27
;
3252 if (unlikely(!var25
)) {
3253 PRINT_ERROR("Runtime error: %s", "Assert failed");
3254 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9780);
3258 var28
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode8
, var_listnode7
);
3260 var_listnode8
= var28
;
3261 var_tcparnode9
= var_nodearraylist8
;
3262 /* <var_tcparnode9:nullable Object> isa nullable TCpar */
3263 cltype30
= type_nullable__nit__TCpar
.color
;
3264 idtype31
= type_nullable__nit__TCpar
.id
;
3265 if(var_tcparnode9
== NULL
) {
3268 if(cltype30
>= var_tcparnode9
->type
->table_size
) {
3271 var29
= var_tcparnode9
->type
->type_table
[cltype30
] == idtype31
;
3274 if (unlikely(!var29
)) {
3275 PRINT_ERROR("Runtime error: %s", "Assert failed");
3276 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9783);
3279 var_pannotationsnode10
= var_nodearraylist9
;
3280 /* <var_pannotationsnode10:nullable Object> isa nullable AAnnotations */
3281 cltype33
= type_nullable__nit__AAnnotations
.color
;
3282 idtype34
= type_nullable__nit__AAnnotations
.id
;
3283 if(var_pannotationsnode10
== NULL
) {
3286 if(cltype33
>= var_pannotationsnode10
->type
->table_size
) {
3289 var32
= var_pannotationsnode10
->type
->type_table
[cltype33
] == idtype34
;
3292 if (unlikely(!var32
)) {
3293 PRINT_ERROR("Runtime error: %s", "Assert failed");
3294 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9785);
3297 var35
= NEW_nit__AAnnotation(&type_nit__AAnnotation
);
3299 nit__parser_prod___AAnnotation___init_aannotation(var35
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_patidnode5
, var_toparnode6
, var_listnode8
, var_tcparnode9
, var_pannotationsnode10
); /* Direct call parser_prod#AAnnotation#init_aannotation on <var35:AAnnotation>*/
3301 var_pannotationnode1
= var35
;
3302 var_node_list
= var_pannotationnode1
;
3303 var36
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction395> */
3305 var37
= nit___nit__Parser___go_to(var_p
, var36
);
3308 nit___nit__Parser___push(var_p
, var37
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3312 /* method parser#ReduceAction396#action for (self: ReduceAction396, Parser) */
3313 void nit__parser___nit__parser__ReduceAction396___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3314 val
* var_p
/* var p: Parser */;
3315 val
* var
/* : null */;
3316 val
* var_node_list
/* var node_list: nullable Object */;
3317 val
* var1
/* : nullable Object */;
3318 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
3319 val
* var2
/* : nullable Object */;
3320 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
3321 val
* var3
/* : nullable Object */;
3322 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3323 val
* var4
/* : nullable Object */;
3324 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3325 val
* var5
/* : nullable Object */;
3326 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3327 val
* var6
/* : nullable Object */;
3328 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3329 val
* var7
/* : Array[Object] */;
3330 val
* var_listnode8
/* var listnode8: Array[Object] */;
3331 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
3332 short int var8
/* : Bool */;
3335 val
* var_tkwredefnode3
/* var tkwredefnode3: nullable Object */;
3336 short int var9
/* : Bool */;
3339 val
* var_pvisibilitynode4
/* var pvisibilitynode4: nullable Object */;
3340 short int var12
/* : Bool */;
3343 val
* var_patidnode5
/* var patidnode5: nullable Object */;
3344 short int var15
/* : Bool */;
3347 val
* var_listnode7
/* var listnode7: nullable Object */;
3348 short int var18
/* : Bool */;
3351 val
* var21
/* : Array[Object] */;
3352 val
* var22
/* : AAnnotation */;
3353 val
* var23
/* : null */;
3354 val
* var24
/* : null */;
3355 val
* var25
/* : null */;
3356 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
3357 long var26
/* : Int */;
3358 long var27
/* : Int */;
3361 var_node_list
= var
;
3363 var1
= nit___nit__Parser___pop(var_p
);
3365 var_nodearraylist6
= var1
;
3367 var2
= nit___nit__Parser___pop(var_p
);
3369 var_nodearraylist5
= var2
;
3371 var3
= nit___nit__Parser___pop(var_p
);
3373 var_nodearraylist4
= var3
;
3375 var4
= nit___nit__Parser___pop(var_p
);
3377 var_nodearraylist3
= var4
;
3379 var5
= nit___nit__Parser___pop(var_p
);
3381 var_nodearraylist2
= var5
;
3383 var6
= nit___nit__Parser___pop(var_p
);
3385 var_nodearraylist1
= var6
;
3386 var7
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3388 standard___standard__Array___standard__kernel__Object__init(var7
); /* Direct call array#Array#init on <var7:Array[Object]>*/
3390 var_listnode8
= var7
;
3391 var_pdocnode2
= var_nodearraylist1
;
3392 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3393 cltype
= type_nullable__nit__ADoc
.color
;
3394 idtype
= type_nullable__nit__ADoc
.id
;
3395 if(var_pdocnode2
== NULL
) {
3398 if(cltype
>= var_pdocnode2
->type
->table_size
) {
3401 var8
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
3404 if (unlikely(!var8
)) {
3405 PRINT_ERROR("Runtime error: %s", "Assert failed");
3406 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9813);
3409 var_tkwredefnode3
= var_nodearraylist2
;
3410 /* <var_tkwredefnode3:nullable Object> isa nullable TKwredef */
3411 cltype10
= type_nullable__nit__TKwredef
.color
;
3412 idtype11
= type_nullable__nit__TKwredef
.id
;
3413 if(var_tkwredefnode3
== NULL
) {
3416 if(cltype10
>= var_tkwredefnode3
->type
->table_size
) {
3419 var9
= var_tkwredefnode3
->type
->type_table
[cltype10
] == idtype11
;
3422 if (unlikely(!var9
)) {
3423 PRINT_ERROR("Runtime error: %s", "Assert failed");
3424 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9815);
3427 var_pvisibilitynode4
= var_nodearraylist3
;
3428 /* <var_pvisibilitynode4:nullable Object> isa nullable AVisibility */
3429 cltype13
= type_nullable__nit__AVisibility
.color
;
3430 idtype14
= type_nullable__nit__AVisibility
.id
;
3431 if(var_pvisibilitynode4
== NULL
) {
3434 if(cltype13
>= var_pvisibilitynode4
->type
->table_size
) {
3437 var12
= var_pvisibilitynode4
->type
->type_table
[cltype13
] == idtype14
;
3440 if (unlikely(!var12
)) {
3441 PRINT_ERROR("Runtime error: %s", "Assert failed");
3442 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9817);
3445 var_patidnode5
= var_nodearraylist4
;
3446 /* <var_patidnode5:nullable Object> isa nullable AAtid */
3447 cltype16
= type_nullable__nit__AAtid
.color
;
3448 idtype17
= type_nullable__nit__AAtid
.id
;
3449 if(var_patidnode5
== NULL
) {
3452 if(cltype16
>= var_patidnode5
->type
->table_size
) {
3455 var15
= var_patidnode5
->type
->type_table
[cltype16
] == idtype17
;
3458 if (unlikely(!var15
)) {
3459 PRINT_ERROR("Runtime error: %s", "Assert failed");
3460 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9819);
3463 var_listnode7
= var_nodearraylist5
;
3464 /* <var_listnode7:nullable Object> isa Array[Object] */
3465 cltype19
= type_standard__Array__standard__Object
.color
;
3466 idtype20
= type_standard__Array__standard__Object
.id
;
3467 if(var_listnode7
== NULL
) {
3470 if(cltype19
>= var_listnode7
->type
->table_size
) {
3473 var18
= var_listnode7
->type
->type_table
[cltype19
] == idtype20
;
3476 if (unlikely(!var18
)) {
3477 PRINT_ERROR("Runtime error: %s", "Assert failed");
3478 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9821);
3482 var21
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode8
, var_listnode7
);
3484 var_listnode8
= var21
;
3485 var22
= NEW_nit__AAnnotation(&type_nit__AAnnotation
);
3490 nit__parser_prod___AAnnotation___init_aannotation(var22
, var_pdocnode2
, var_tkwredefnode3
, var_pvisibilitynode4
, var_patidnode5
, var23
, var_listnode8
, var24
, var25
); /* Direct call parser_prod#AAnnotation#init_aannotation on <var22:AAnnotation>*/
3492 var_pannotationnode1
= var22
;
3493 var_node_list
= var_pannotationnode1
;
3494 var26
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction396> */
3496 var27
= nit___nit__Parser___go_to(var_p
, var26
);
3499 nit___nit__Parser___push(var_p
, var27
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3503 /* method parser#ReduceAction397#action for (self: ReduceAction397, Parser) */
3504 void nit__parser___nit__parser__ReduceAction397___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3505 val
* var_p
/* var p: Parser */;
3506 val
* var
/* : null */;
3507 val
* var_node_list
/* var node_list: nullable Object */;
3508 val
* var1
/* : nullable Object */;
3509 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3510 val
* var2
/* : nullable Object */;
3511 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3512 val
* var3
/* : nullable Object */;
3513 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3514 val
* var4
/* : Array[Object] */;
3515 val
* var_listnode7
/* var listnode7: Array[Object] */;
3516 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
3517 short int var5
/* : Bool */;
3520 val
* var_patidnode5
/* var patidnode5: nullable Object */;
3521 short int var6
/* : Bool */;
3524 val
* var9
/* : AAnnotation */;
3525 val
* var10
/* : null */;
3526 val
* var11
/* : null */;
3527 val
* var12
/* : null */;
3528 val
* var13
/* : null */;
3529 val
* var14
/* : null */;
3530 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
3531 long var15
/* : Int */;
3532 long var16
/* : Int */;
3535 var_node_list
= var
;
3537 var1
= nit___nit__Parser___pop(var_p
);
3539 var_nodearraylist3
= var1
;
3541 var2
= nit___nit__Parser___pop(var_p
);
3543 var_nodearraylist2
= var2
;
3545 var3
= nit___nit__Parser___pop(var_p
);
3547 var_nodearraylist1
= var3
;
3548 var4
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3550 standard___standard__Array___standard__kernel__Object__init(var4
); /* Direct call array#Array#init on <var4:Array[Object]>*/
3552 var_listnode7
= var4
;
3553 var_pdocnode2
= var_nodearraylist1
;
3554 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3555 cltype
= type_nullable__nit__ADoc
.color
;
3556 idtype
= type_nullable__nit__ADoc
.id
;
3557 if(var_pdocnode2
== NULL
) {
3560 if(cltype
>= var_pdocnode2
->type
->table_size
) {
3563 var5
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
3566 if (unlikely(!var5
)) {
3567 PRINT_ERROR("Runtime error: %s", "Assert failed");
3568 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9847);
3571 var_patidnode5
= var_nodearraylist2
;
3572 /* <var_patidnode5:nullable Object> isa nullable AAtid */
3573 cltype7
= type_nullable__nit__AAtid
.color
;
3574 idtype8
= type_nullable__nit__AAtid
.id
;
3575 if(var_patidnode5
== NULL
) {
3578 if(cltype7
>= var_patidnode5
->type
->table_size
) {
3581 var6
= var_patidnode5
->type
->type_table
[cltype7
] == idtype8
;
3584 if (unlikely(!var6
)) {
3585 PRINT_ERROR("Runtime error: %s", "Assert failed");
3586 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9849);
3589 var9
= NEW_nit__AAnnotation(&type_nit__AAnnotation
);
3596 nit__parser_prod___AAnnotation___init_aannotation(var9
, var_pdocnode2
, var10
, var11
, var_patidnode5
, var12
, var_listnode7
, var13
, var14
); /* Direct call parser_prod#AAnnotation#init_aannotation on <var9:AAnnotation>*/
3598 var_pannotationnode1
= var9
;
3599 var_node_list
= var_pannotationnode1
;
3600 var15
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction397> */
3602 var16
= nit___nit__Parser___go_to(var_p
, var15
);
3605 nit___nit__Parser___push(var_p
, var16
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3609 /* method parser#ReduceAction398#action for (self: ReduceAction398, Parser) */
3610 void nit__parser___nit__parser__ReduceAction398___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3611 val
* var_p
/* var p: Parser */;
3612 val
* var
/* : null */;
3613 val
* var_node_list
/* var node_list: nullable Object */;
3614 val
* var1
/* : nullable Object */;
3615 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3616 val
* var2
/* : nullable Object */;
3617 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3618 val
* var3
/* : nullable Object */;
3619 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3620 val
* var4
/* : nullable Object */;
3621 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3622 val
* var5
/* : Array[Object] */;
3623 val
* var_listnode7
/* var listnode7: Array[Object] */;
3624 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
3625 short int var6
/* : Bool */;
3628 val
* var_patidnode5
/* var patidnode5: nullable Object */;
3629 short int var7
/* : Bool */;
3632 val
* var_pannotationsnode9
/* var pannotationsnode9: nullable Object */;
3633 short int var10
/* : Bool */;
3636 val
* var13
/* : AAnnotation */;
3637 val
* var14
/* : null */;
3638 val
* var15
/* : null */;
3639 val
* var16
/* : null */;
3640 val
* var17
/* : null */;
3641 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
3642 long var18
/* : Int */;
3643 long var19
/* : Int */;
3646 var_node_list
= var
;
3648 var1
= nit___nit__Parser___pop(var_p
);
3650 var_nodearraylist4
= var1
;
3652 var2
= nit___nit__Parser___pop(var_p
);
3654 var_nodearraylist3
= var2
;
3656 var3
= nit___nit__Parser___pop(var_p
);
3658 var_nodearraylist2
= var3
;
3660 var4
= nit___nit__Parser___pop(var_p
);
3662 var_nodearraylist1
= var4
;
3663 var5
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3665 standard___standard__Array___standard__kernel__Object__init(var5
); /* Direct call array#Array#init on <var5:Array[Object]>*/
3667 var_listnode7
= var5
;
3668 var_pdocnode2
= var_nodearraylist1
;
3669 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3670 cltype
= type_nullable__nit__ADoc
.color
;
3671 idtype
= type_nullable__nit__ADoc
.id
;
3672 if(var_pdocnode2
== NULL
) {
3675 if(cltype
>= var_pdocnode2
->type
->table_size
) {
3678 var6
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
3681 if (unlikely(!var6
)) {
3682 PRINT_ERROR("Runtime error: %s", "Assert failed");
3683 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9875);
3686 var_patidnode5
= var_nodearraylist2
;
3687 /* <var_patidnode5:nullable Object> isa nullable AAtid */
3688 cltype8
= type_nullable__nit__AAtid
.color
;
3689 idtype9
= type_nullable__nit__AAtid
.id
;
3690 if(var_patidnode5
== NULL
) {
3693 if(cltype8
>= var_patidnode5
->type
->table_size
) {
3696 var7
= var_patidnode5
->type
->type_table
[cltype8
] == idtype9
;
3699 if (unlikely(!var7
)) {
3700 PRINT_ERROR("Runtime error: %s", "Assert failed");
3701 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9877);
3704 var_pannotationsnode9
= var_nodearraylist3
;
3705 /* <var_pannotationsnode9:nullable Object> isa nullable AAnnotations */
3706 cltype11
= type_nullable__nit__AAnnotations
.color
;
3707 idtype12
= type_nullable__nit__AAnnotations
.id
;
3708 if(var_pannotationsnode9
== NULL
) {
3711 if(cltype11
>= var_pannotationsnode9
->type
->table_size
) {
3714 var10
= var_pannotationsnode9
->type
->type_table
[cltype11
] == idtype12
;
3717 if (unlikely(!var10
)) {
3718 PRINT_ERROR("Runtime error: %s", "Assert failed");
3719 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9879);
3722 var13
= NEW_nit__AAnnotation(&type_nit__AAnnotation
);
3728 nit__parser_prod___AAnnotation___init_aannotation(var13
, var_pdocnode2
, var14
, var15
, var_patidnode5
, var16
, var_listnode7
, var17
, var_pannotationsnode9
); /* Direct call parser_prod#AAnnotation#init_aannotation on <var13:AAnnotation>*/
3730 var_pannotationnode1
= var13
;
3731 var_node_list
= var_pannotationnode1
;
3732 var18
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction398> */
3734 var19
= nit___nit__Parser___go_to(var_p
, var18
);
3737 nit___nit__Parser___push(var_p
, var19
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3741 /* method parser#ReduceAction399#action for (self: ReduceAction399, Parser) */
3742 void nit__parser___nit__parser__ReduceAction399___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3743 val
* var_p
/* var p: Parser */;
3744 val
* var
/* : null */;
3745 val
* var_node_list
/* var node_list: nullable Object */;
3746 val
* var1
/* : nullable Object */;
3747 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
3748 val
* var2
/* : nullable Object */;
3749 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
3750 val
* var3
/* : nullable Object */;
3751 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
3752 val
* var4
/* : nullable Object */;
3753 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3754 val
* var5
/* : nullable Object */;
3755 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3756 val
* var6
/* : nullable Object */;
3757 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3758 val
* var7
/* : nullable Object */;
3759 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3760 val
* var8
/* : Array[Object] */;
3761 val
* var_listnode8
/* var listnode8: Array[Object] */;
3762 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
3763 short int var9
/* : Bool */;
3766 val
* var_patidnode5
/* var patidnode5: nullable Object */;
3767 short int var10
/* : Bool */;
3770 val
* var_toparnode6
/* var toparnode6: nullable Object */;
3771 short int var13
/* : Bool */;
3774 val
* var_listnode7
/* var listnode7: nullable Object */;
3775 short int var16
/* : Bool */;
3778 val
* var19
/* : Array[Object] */;
3779 val
* var_tcparnode9
/* var tcparnode9: nullable Object */;
3780 short int var20
/* : Bool */;
3783 val
* var23
/* : AAnnotation */;
3784 val
* var24
/* : null */;
3785 val
* var25
/* : null */;
3786 val
* var26
/* : null */;
3787 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
3788 long var27
/* : Int */;
3789 long var28
/* : Int */;
3792 var_node_list
= var
;
3794 var1
= nit___nit__Parser___pop(var_p
);
3796 var_nodearraylist7
= var1
;
3798 var2
= nit___nit__Parser___pop(var_p
);
3800 var_nodearraylist6
= var2
;
3802 var3
= nit___nit__Parser___pop(var_p
);
3804 var_nodearraylist5
= var3
;
3806 var4
= nit___nit__Parser___pop(var_p
);
3808 var_nodearraylist4
= var4
;
3810 var5
= nit___nit__Parser___pop(var_p
);
3812 var_nodearraylist3
= var5
;
3814 var6
= nit___nit__Parser___pop(var_p
);
3816 var_nodearraylist2
= var6
;
3818 var7
= nit___nit__Parser___pop(var_p
);
3820 var_nodearraylist1
= var7
;
3821 var8
= NEW_standard__Array(&type_standard__Array__standard__Object
);
3823 standard___standard__Array___standard__kernel__Object__init(var8
); /* Direct call array#Array#init on <var8:Array[Object]>*/
3825 var_listnode8
= var8
;
3826 var_pdocnode2
= var_nodearraylist1
;
3827 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
3828 cltype
= type_nullable__nit__ADoc
.color
;
3829 idtype
= type_nullable__nit__ADoc
.id
;
3830 if(var_pdocnode2
== NULL
) {
3833 if(cltype
>= var_pdocnode2
->type
->table_size
) {
3836 var9
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
3839 if (unlikely(!var9
)) {
3840 PRINT_ERROR("Runtime error: %s", "Assert failed");
3841 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9908);
3844 var_patidnode5
= var_nodearraylist2
;
3845 /* <var_patidnode5:nullable Object> isa nullable AAtid */
3846 cltype11
= type_nullable__nit__AAtid
.color
;
3847 idtype12
= type_nullable__nit__AAtid
.id
;
3848 if(var_patidnode5
== NULL
) {
3851 if(cltype11
>= var_patidnode5
->type
->table_size
) {
3854 var10
= var_patidnode5
->type
->type_table
[cltype11
] == idtype12
;
3857 if (unlikely(!var10
)) {
3858 PRINT_ERROR("Runtime error: %s", "Assert failed");
3859 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9910);
3862 var_toparnode6
= var_nodearraylist3
;
3863 /* <var_toparnode6:nullable Object> isa nullable TOpar */
3864 cltype14
= type_nullable__nit__TOpar
.color
;
3865 idtype15
= type_nullable__nit__TOpar
.id
;
3866 if(var_toparnode6
== NULL
) {
3869 if(cltype14
>= var_toparnode6
->type
->table_size
) {
3872 var13
= var_toparnode6
->type
->type_table
[cltype14
] == idtype15
;
3875 if (unlikely(!var13
)) {
3876 PRINT_ERROR("Runtime error: %s", "Assert failed");
3877 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9912);
3880 var_listnode7
= var_nodearraylist5
;
3881 /* <var_listnode7:nullable Object> isa Array[Object] */
3882 cltype17
= type_standard__Array__standard__Object
.color
;
3883 idtype18
= type_standard__Array__standard__Object
.id
;
3884 if(var_listnode7
== NULL
) {
3887 if(cltype17
>= var_listnode7
->type
->table_size
) {
3890 var16
= var_listnode7
->type
->type_table
[cltype17
] == idtype18
;
3893 if (unlikely(!var16
)) {
3894 PRINT_ERROR("Runtime error: %s", "Assert failed");
3895 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9914);
3899 var19
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode8
, var_listnode7
);
3901 var_listnode8
= var19
;
3902 var_tcparnode9
= var_nodearraylist6
;
3903 /* <var_tcparnode9:nullable Object> isa nullable TCpar */
3904 cltype21
= type_nullable__nit__TCpar
.color
;
3905 idtype22
= type_nullable__nit__TCpar
.id
;
3906 if(var_tcparnode9
== NULL
) {
3909 if(cltype21
>= var_tcparnode9
->type
->table_size
) {
3912 var20
= var_tcparnode9
->type
->type_table
[cltype21
] == idtype22
;
3915 if (unlikely(!var20
)) {
3916 PRINT_ERROR("Runtime error: %s", "Assert failed");
3917 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9917);
3920 var23
= NEW_nit__AAnnotation(&type_nit__AAnnotation
);
3925 nit__parser_prod___AAnnotation___init_aannotation(var23
, var_pdocnode2
, var24
, var25
, var_patidnode5
, var_toparnode6
, var_listnode8
, var_tcparnode9
, var26
); /* Direct call parser_prod#AAnnotation#init_aannotation on <var23:AAnnotation>*/
3927 var_pannotationnode1
= var23
;
3928 var_node_list
= var_pannotationnode1
;
3929 var27
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction399> */
3931 var28
= nit___nit__Parser___go_to(var_p
, var27
);
3934 nit___nit__Parser___push(var_p
, var28
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3938 /* method parser#ReduceAction400#action for (self: ReduceAction400, Parser) */
3939 void nit__parser___nit__parser__ReduceAction400___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3940 val
* var_p
/* var p: Parser */;
3941 val
* var
/* : null */;
3942 val
* var_node_list
/* var node_list: nullable Object */;
3943 val
* var1
/* : nullable Object */;
3944 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
3945 val
* var2
/* : nullable Object */;
3946 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
3947 val
* var3
/* : nullable Object */;
3948 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
3949 val
* var4
/* : nullable Object */;
3950 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
3951 val
* var5
/* : nullable Object */;
3952 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3953 val
* var6
/* : nullable Object */;
3954 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3955 val
* var7
/* : nullable Object */;
3956 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3957 val
* var8
/* : nullable Object */;
3958 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3959 val
* var9
/* : Array[Object] */;
3960 val
* var_listnode8
/* var listnode8: Array[Object] */;
3961 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
3962 short int var10
/* : Bool */;
3965 val
* var_patidnode5
/* var patidnode5: nullable Object */;
3966 short int var11
/* : Bool */;
3969 val
* var_toparnode6
/* var toparnode6: nullable Object */;
3970 short int var14
/* : Bool */;
3973 val
* var_listnode7
/* var listnode7: nullable Object */;
3974 short int var17
/* : Bool */;
3977 val
* var20
/* : Array[Object] */;
3978 val
* var_tcparnode9
/* var tcparnode9: nullable Object */;
3979 short int var21
/* : Bool */;
3982 val
* var_pannotationsnode10
/* var pannotationsnode10: nullable Object */;
3983 short int var24
/* : Bool */;
3986 val
* var27
/* : AAnnotation */;
3987 val
* var28
/* : null */;
3988 val
* var29
/* : null */;
3989 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
3990 long var30
/* : Int */;
3991 long var31
/* : Int */;
3994 var_node_list
= var
;
3996 var1
= nit___nit__Parser___pop(var_p
);
3998 var_nodearraylist8
= var1
;
4000 var2
= nit___nit__Parser___pop(var_p
);
4002 var_nodearraylist7
= var2
;
4004 var3
= nit___nit__Parser___pop(var_p
);
4006 var_nodearraylist6
= var3
;
4008 var4
= nit___nit__Parser___pop(var_p
);
4010 var_nodearraylist5
= var4
;
4012 var5
= nit___nit__Parser___pop(var_p
);
4014 var_nodearraylist4
= var5
;
4016 var6
= nit___nit__Parser___pop(var_p
);
4018 var_nodearraylist3
= var6
;
4020 var7
= nit___nit__Parser___pop(var_p
);
4022 var_nodearraylist2
= var7
;
4024 var8
= nit___nit__Parser___pop(var_p
);
4026 var_nodearraylist1
= var8
;
4027 var9
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4029 standard___standard__Array___standard__kernel__Object__init(var9
); /* Direct call array#Array#init on <var9:Array[Object]>*/
4031 var_listnode8
= var9
;
4032 var_pdocnode2
= var_nodearraylist1
;
4033 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4034 cltype
= type_nullable__nit__ADoc
.color
;
4035 idtype
= type_nullable__nit__ADoc
.id
;
4036 if(var_pdocnode2
== NULL
) {
4039 if(cltype
>= var_pdocnode2
->type
->table_size
) {
4042 var10
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
4045 if (unlikely(!var10
)) {
4046 PRINT_ERROR("Runtime error: %s", "Assert failed");
4047 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9947);
4050 var_patidnode5
= var_nodearraylist2
;
4051 /* <var_patidnode5:nullable Object> isa nullable AAtid */
4052 cltype12
= type_nullable__nit__AAtid
.color
;
4053 idtype13
= type_nullable__nit__AAtid
.id
;
4054 if(var_patidnode5
== NULL
) {
4057 if(cltype12
>= var_patidnode5
->type
->table_size
) {
4060 var11
= var_patidnode5
->type
->type_table
[cltype12
] == idtype13
;
4063 if (unlikely(!var11
)) {
4064 PRINT_ERROR("Runtime error: %s", "Assert failed");
4065 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9949);
4068 var_toparnode6
= var_nodearraylist3
;
4069 /* <var_toparnode6:nullable Object> isa nullable TOpar */
4070 cltype15
= type_nullable__nit__TOpar
.color
;
4071 idtype16
= type_nullable__nit__TOpar
.id
;
4072 if(var_toparnode6
== NULL
) {
4075 if(cltype15
>= var_toparnode6
->type
->table_size
) {
4078 var14
= var_toparnode6
->type
->type_table
[cltype15
] == idtype16
;
4081 if (unlikely(!var14
)) {
4082 PRINT_ERROR("Runtime error: %s", "Assert failed");
4083 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9951);
4086 var_listnode7
= var_nodearraylist5
;
4087 /* <var_listnode7:nullable Object> isa Array[Object] */
4088 cltype18
= type_standard__Array__standard__Object
.color
;
4089 idtype19
= type_standard__Array__standard__Object
.id
;
4090 if(var_listnode7
== NULL
) {
4093 if(cltype18
>= var_listnode7
->type
->table_size
) {
4096 var17
= var_listnode7
->type
->type_table
[cltype18
] == idtype19
;
4099 if (unlikely(!var17
)) {
4100 PRINT_ERROR("Runtime error: %s", "Assert failed");
4101 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9953);
4105 var20
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode8
, var_listnode7
);
4107 var_listnode8
= var20
;
4108 var_tcparnode9
= var_nodearraylist6
;
4109 /* <var_tcparnode9:nullable Object> isa nullable TCpar */
4110 cltype22
= type_nullable__nit__TCpar
.color
;
4111 idtype23
= type_nullable__nit__TCpar
.id
;
4112 if(var_tcparnode9
== NULL
) {
4115 if(cltype22
>= var_tcparnode9
->type
->table_size
) {
4118 var21
= var_tcparnode9
->type
->type_table
[cltype22
] == idtype23
;
4121 if (unlikely(!var21
)) {
4122 PRINT_ERROR("Runtime error: %s", "Assert failed");
4123 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9956);
4126 var_pannotationsnode10
= var_nodearraylist7
;
4127 /* <var_pannotationsnode10:nullable Object> isa nullable AAnnotations */
4128 cltype25
= type_nullable__nit__AAnnotations
.color
;
4129 idtype26
= type_nullable__nit__AAnnotations
.id
;
4130 if(var_pannotationsnode10
== NULL
) {
4133 if(cltype25
>= var_pannotationsnode10
->type
->table_size
) {
4136 var24
= var_pannotationsnode10
->type
->type_table
[cltype25
] == idtype26
;
4139 if (unlikely(!var24
)) {
4140 PRINT_ERROR("Runtime error: %s", "Assert failed");
4141 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9958);
4144 var27
= NEW_nit__AAnnotation(&type_nit__AAnnotation
);
4148 nit__parser_prod___AAnnotation___init_aannotation(var27
, var_pdocnode2
, var28
, var29
, var_patidnode5
, var_toparnode6
, var_listnode8
, var_tcparnode9
, var_pannotationsnode10
); /* Direct call parser_prod#AAnnotation#init_aannotation on <var27:AAnnotation>*/
4150 var_pannotationnode1
= var27
;
4151 var_node_list
= var_pannotationnode1
;
4152 var30
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction400> */
4154 var31
= nit___nit__Parser___go_to(var_p
, var30
);
4157 nit___nit__Parser___push(var_p
, var31
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4161 /* method parser#ReduceAction401#action for (self: ReduceAction401, Parser) */
4162 void nit__parser___nit__parser__ReduceAction401___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4163 val
* var_p
/* var p: Parser */;
4164 val
* var
/* : null */;
4165 val
* var_node_list
/* var node_list: nullable Object */;
4166 val
* var1
/* : nullable Object */;
4167 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4168 val
* var2
/* : nullable Object */;
4169 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4170 val
* var3
/* : nullable Object */;
4171 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4172 val
* var4
/* : nullable Object */;
4173 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4174 val
* var5
/* : Array[Object] */;
4175 val
* var_listnode8
/* var listnode8: Array[Object] */;
4176 val
* var_pdocnode2
/* var pdocnode2: nullable Object */;
4177 short int var6
/* : Bool */;
4180 val
* var_patidnode5
/* var patidnode5: nullable Object */;
4181 short int var7
/* : Bool */;
4184 val
* var_listnode7
/* var listnode7: nullable Object */;
4185 short int var10
/* : Bool */;
4188 val
* var13
/* : Array[Object] */;
4189 val
* var14
/* : AAnnotation */;
4190 val
* var15
/* : null */;
4191 val
* var16
/* : null */;
4192 val
* var17
/* : null */;
4193 val
* var18
/* : null */;
4194 val
* var19
/* : null */;
4195 val
* var_pannotationnode1
/* var pannotationnode1: nullable AAnnotation */;
4196 long var20
/* : Int */;
4197 long var21
/* : Int */;
4200 var_node_list
= var
;
4202 var1
= nit___nit__Parser___pop(var_p
);
4204 var_nodearraylist4
= var1
;
4206 var2
= nit___nit__Parser___pop(var_p
);
4208 var_nodearraylist3
= var2
;
4210 var3
= nit___nit__Parser___pop(var_p
);
4212 var_nodearraylist2
= var3
;
4214 var4
= nit___nit__Parser___pop(var_p
);
4216 var_nodearraylist1
= var4
;
4217 var5
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4219 standard___standard__Array___standard__kernel__Object__init(var5
); /* Direct call array#Array#init on <var5:Array[Object]>*/
4221 var_listnode8
= var5
;
4222 var_pdocnode2
= var_nodearraylist1
;
4223 /* <var_pdocnode2:nullable Object> isa nullable ADoc */
4224 cltype
= type_nullable__nit__ADoc
.color
;
4225 idtype
= type_nullable__nit__ADoc
.id
;
4226 if(var_pdocnode2
== NULL
) {
4229 if(cltype
>= var_pdocnode2
->type
->table_size
) {
4232 var6
= var_pdocnode2
->type
->type_table
[cltype
] == idtype
;
4235 if (unlikely(!var6
)) {
4236 PRINT_ERROR("Runtime error: %s", "Assert failed");
4237 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9984);
4240 var_patidnode5
= var_nodearraylist2
;
4241 /* <var_patidnode5:nullable Object> isa nullable AAtid */
4242 cltype8
= type_nullable__nit__AAtid
.color
;
4243 idtype9
= type_nullable__nit__AAtid
.id
;
4244 if(var_patidnode5
== NULL
) {
4247 if(cltype8
>= var_patidnode5
->type
->table_size
) {
4250 var7
= var_patidnode5
->type
->type_table
[cltype8
] == idtype9
;
4253 if (unlikely(!var7
)) {
4254 PRINT_ERROR("Runtime error: %s", "Assert failed");
4255 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9986);
4258 var_listnode7
= var_nodearraylist3
;
4259 /* <var_listnode7:nullable Object> isa Array[Object] */
4260 cltype11
= type_standard__Array__standard__Object
.color
;
4261 idtype12
= type_standard__Array__standard__Object
.id
;
4262 if(var_listnode7
== NULL
) {
4265 if(cltype11
>= var_listnode7
->type
->table_size
) {
4268 var10
= var_listnode7
->type
->type_table
[cltype11
] == idtype12
;
4271 if (unlikely(!var10
)) {
4272 PRINT_ERROR("Runtime error: %s", "Assert failed");
4273 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9988);
4277 var13
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode8
, var_listnode7
);
4279 var_listnode8
= var13
;
4280 var14
= NEW_nit__AAnnotation(&type_nit__AAnnotation
);
4287 nit__parser_prod___AAnnotation___init_aannotation(var14
, var_pdocnode2
, var15
, var16
, var_patidnode5
, var17
, var_listnode8
, var18
, var19
); /* Direct call parser_prod#AAnnotation#init_aannotation on <var14:AAnnotation>*/
4289 var_pannotationnode1
= var14
;
4290 var_node_list
= var_pannotationnode1
;
4291 var20
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction401> */
4293 var21
= nit___nit__Parser___go_to(var_p
, var20
);
4296 nit___nit__Parser___push(var_p
, var21
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4300 /* method parser#ReduceAction405#action for (self: ReduceAction405, Parser) */
4301 void nit__parser___nit__parser__ReduceAction405___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4302 val
* var_p
/* var p: Parser */;
4303 val
* var
/* : null */;
4304 val
* var_node_list
/* var node_list: nullable Object */;
4305 val
* var1
/* : nullable Object */;
4306 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4307 val
* var_ptypenode2
/* var ptypenode2: nullable Object */;
4308 short int var2
/* : Bool */;
4311 val
* var3
/* : ATypeExpr */;
4312 val
* var_pexprnode1
/* var pexprnode1: nullable ATypeExpr */;
4313 long var4
/* : Int */;
4314 long var5
/* : Int */;
4317 var_node_list
= var
;
4319 var1
= nit___nit__Parser___pop(var_p
);
4321 var_nodearraylist1
= var1
;
4322 var_ptypenode2
= var_nodearraylist1
;
4323 /* <var_ptypenode2:nullable Object> isa nullable AType */
4324 cltype
= type_nullable__nit__AType
.color
;
4325 idtype
= type_nullable__nit__AType
.id
;
4326 if(var_ptypenode2
== NULL
) {
4329 if(cltype
>= var_ptypenode2
->type
->table_size
) {
4332 var2
= var_ptypenode2
->type
->type_table
[cltype
] == idtype
;
4335 if (unlikely(!var2
)) {
4336 PRINT_ERROR("Runtime error: %s", "Assert failed");
4337 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10011);
4340 var3
= NEW_nit__ATypeExpr(&type_nit__ATypeExpr
);
4342 nit__parser_prod___ATypeExpr___init_atypeexpr(var3
, var_ptypenode2
); /* Direct call parser_prod#ATypeExpr#init_atypeexpr on <var3:ATypeExpr>*/
4344 var_pexprnode1
= var3
;
4345 var_node_list
= var_pexprnode1
;
4346 var4
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction405> */
4348 var5
= nit___nit__Parser___go_to(var_p
, var4
);
4351 nit___nit__Parser___push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4355 /* method parser#ReduceAction408#action for (self: ReduceAction408, Parser) */
4356 void nit__parser___nit__parser__ReduceAction408___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4357 val
* var_p
/* var p: Parser */;
4358 val
* var
/* : null */;
4359 val
* var_node_list
/* var node_list: nullable Object */;
4360 val
* var1
/* : nullable Object */;
4361 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4362 val
* var2
/* : nullable Object */;
4363 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4364 val
* var3
/* : nullable Object */;
4365 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4366 val
* var4
/* : nullable Object */;
4367 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4368 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
4369 short int var5
/* : Bool */;
4372 val
* var_pmethidnode3
/* var pmethidnode3: nullable Object */;
4373 short int var6
/* : Bool */;
4376 val
* var9
/* : AMethidExpr */;
4377 val
* var_pexprnode1
/* var pexprnode1: nullable AMethidExpr */;
4378 long var10
/* : Int */;
4379 long var11
/* : Int */;
4382 var_node_list
= var
;
4384 var1
= nit___nit__Parser___pop(var_p
);
4386 var_nodearraylist4
= var1
;
4388 var2
= nit___nit__Parser___pop(var_p
);
4390 var_nodearraylist3
= var2
;
4392 var3
= nit___nit__Parser___pop(var_p
);
4394 var_nodearraylist2
= var3
;
4396 var4
= nit___nit__Parser___pop(var_p
);
4398 var_nodearraylist1
= var4
;
4399 var_pexprnode2
= var_nodearraylist1
;
4400 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
4401 cltype
= type_nullable__nit__AExpr
.color
;
4402 idtype
= type_nullable__nit__AExpr
.id
;
4403 if(var_pexprnode2
== NULL
) {
4406 if(cltype
>= var_pexprnode2
->type
->table_size
) {
4409 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
4412 if (unlikely(!var5
)) {
4413 PRINT_ERROR("Runtime error: %s", "Assert failed");
4414 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10029);
4417 var_pmethidnode3
= var_nodearraylist4
;
4418 /* <var_pmethidnode3:nullable Object> isa nullable AMethid */
4419 cltype7
= type_nullable__nit__AMethid
.color
;
4420 idtype8
= type_nullable__nit__AMethid
.id
;
4421 if(var_pmethidnode3
== NULL
) {
4424 if(cltype7
>= var_pmethidnode3
->type
->table_size
) {
4427 var6
= var_pmethidnode3
->type
->type_table
[cltype7
] == idtype8
;
4430 if (unlikely(!var6
)) {
4431 PRINT_ERROR("Runtime error: %s", "Assert failed");
4432 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10031);
4435 var9
= NEW_nit__AMethidExpr(&type_nit__AMethidExpr
);
4437 nit__parser_prod___AMethidExpr___init_amethidexpr(var9
, var_pexprnode2
, var_pmethidnode3
); /* Direct call parser_prod#AMethidExpr#init_amethidexpr on <var9:AMethidExpr>*/
4439 var_pexprnode1
= var9
;
4440 var_node_list
= var_pexprnode1
;
4441 var10
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction408> */
4443 var11
= nit___nit__Parser___go_to(var_p
, var10
);
4446 nit___nit__Parser___push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4450 /* method parser#ReduceAction409#action for (self: ReduceAction409, Parser) */
4451 void nit__parser___nit__parser__ReduceAction409___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4452 val
* var_p
/* var p: Parser */;
4453 val
* var
/* : null */;
4454 val
* var_node_list
/* var node_list: nullable Object */;
4455 val
* var1
/* : nullable Object */;
4456 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4457 val
* var2
/* : AImplicitSelfExpr */;
4458 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
4459 val
* var_pmethidnode3
/* var pmethidnode3: nullable Object */;
4460 short int var4
/* : Bool */;
4463 val
* var5
/* : AMethidExpr */;
4464 val
* var_pexprnode1
/* var pexprnode1: nullable AMethidExpr */;
4465 long var6
/* : Int */;
4466 long var7
/* : Int */;
4469 var_node_list
= var
;
4471 var1
= nit___nit__Parser___pop(var_p
);
4473 var_nodearraylist1
= var1
;
4474 var2
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
4476 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var2) on <var2:AImplicitSelfExpr> */
4480 var_pexprnode2
= var2
;
4481 var_pmethidnode3
= var_nodearraylist1
;
4482 /* <var_pmethidnode3:nullable Object> isa nullable AMethid */
4483 cltype
= type_nullable__nit__AMethid
.color
;
4484 idtype
= type_nullable__nit__AMethid
.id
;
4485 if(var_pmethidnode3
== NULL
) {
4488 if(cltype
>= var_pmethidnode3
->type
->table_size
) {
4491 var4
= var_pmethidnode3
->type
->type_table
[cltype
] == idtype
;
4494 if (unlikely(!var4
)) {
4495 PRINT_ERROR("Runtime error: %s", "Assert failed");
4496 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10048);
4499 var5
= NEW_nit__AMethidExpr(&type_nit__AMethidExpr
);
4501 nit__parser_prod___AMethidExpr___init_amethidexpr(var5
, var_pexprnode2
, var_pmethidnode3
); /* Direct call parser_prod#AMethidExpr#init_amethidexpr on <var5:AMethidExpr>*/
4503 var_pexprnode1
= var5
;
4504 var_node_list
= var_pexprnode1
;
4505 var6
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction409> */
4507 var7
= nit___nit__Parser___go_to(var_p
, var6
);
4510 nit___nit__Parser___push(var_p
, var7
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4514 /* method parser#ReduceAction410#action for (self: ReduceAction410, Parser) */
4515 void nit__parser___nit__parser__ReduceAction410___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4516 val
* var_p
/* var p: Parser */;
4517 val
* var
/* : null */;
4518 val
* var_node_list
/* var node_list: nullable Object */;
4519 val
* var1
/* : nullable Object */;
4520 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4521 val
* var_pannotationsnode2
/* var pannotationsnode2: nullable Object */;
4522 short int var2
/* : Bool */;
4525 val
* var3
/* : AAtExpr */;
4526 val
* var_pexprnode1
/* var pexprnode1: nullable AAtExpr */;
4527 long var4
/* : Int */;
4528 long var5
/* : Int */;
4531 var_node_list
= var
;
4533 var1
= nit___nit__Parser___pop(var_p
);
4535 var_nodearraylist1
= var1
;
4536 var_pannotationsnode2
= var_nodearraylist1
;
4537 /* <var_pannotationsnode2:nullable Object> isa nullable AAnnotations */
4538 cltype
= type_nullable__nit__AAnnotations
.color
;
4539 idtype
= type_nullable__nit__AAnnotations
.id
;
4540 if(var_pannotationsnode2
== NULL
) {
4543 if(cltype
>= var_pannotationsnode2
->type
->table_size
) {
4546 var2
= var_pannotationsnode2
->type
->type_table
[cltype
] == idtype
;
4549 if (unlikely(!var2
)) {
4550 PRINT_ERROR("Runtime error: %s", "Assert failed");
4551 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10064);
4554 var3
= NEW_nit__AAtExpr(&type_nit__AAtExpr
);
4556 nit__parser_prod___AAtExpr___init_aatexpr(var3
, var_pannotationsnode2
); /* Direct call parser_prod#AAtExpr#init_aatexpr on <var3:AAtExpr>*/
4558 var_pexprnode1
= var3
;
4559 var_node_list
= var_pexprnode1
;
4560 var4
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction410> */
4562 var5
= nit___nit__Parser___go_to(var_p
, var4
);
4565 nit___nit__Parser___push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4569 /* method parser#ReduceAction411#action for (self: ReduceAction411, Parser) */
4570 void nit__parser___nit__parser__ReduceAction411___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4571 val
* var_p
/* var p: Parser */;
4572 val
* var
/* : null */;
4573 val
* var_node_list
/* var node_list: nullable Object */;
4574 val
* var1
/* : nullable Object */;
4575 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4576 val
* var_tidnode2
/* var tidnode2: nullable Object */;
4577 short int var2
/* : Bool */;
4580 val
* var3
/* : AIdAtid */;
4581 val
* var_patidnode1
/* var patidnode1: nullable AIdAtid */;
4582 long var4
/* : Int */;
4583 long var5
/* : Int */;
4586 var_node_list
= var
;
4588 var1
= nit___nit__Parser___pop(var_p
);
4590 var_nodearraylist1
= var1
;
4591 var_tidnode2
= var_nodearraylist1
;
4592 /* <var_tidnode2:nullable Object> isa nullable TId */
4593 cltype
= type_nullable__nit__TId
.color
;
4594 idtype
= type_nullable__nit__TId
.id
;
4595 if(var_tidnode2
== NULL
) {
4598 if(cltype
>= var_tidnode2
->type
->table_size
) {
4601 var2
= var_tidnode2
->type
->type_table
[cltype
] == idtype
;
4604 if (unlikely(!var2
)) {
4605 PRINT_ERROR("Runtime error: %s", "Assert failed");
4606 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10079);
4609 var3
= NEW_nit__AIdAtid(&type_nit__AIdAtid
);
4611 nit__parser_prod___AIdAtid___init_aidatid(var3
, var_tidnode2
); /* Direct call parser_prod#AIdAtid#init_aidatid on <var3:AIdAtid>*/
4613 var_patidnode1
= var3
;
4614 var_node_list
= var_patidnode1
;
4615 var4
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction411> */
4617 var5
= nit___nit__Parser___go_to(var_p
, var4
);
4620 nit___nit__Parser___push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4624 /* method parser#ReduceAction412#action for (self: ReduceAction412, Parser) */
4625 void nit__parser___nit__parser__ReduceAction412___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4626 val
* var_p
/* var p: Parser */;
4627 val
* var
/* : null */;
4628 val
* var_node_list
/* var node_list: nullable Object */;
4629 val
* var1
/* : nullable Object */;
4630 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4631 val
* var_tkwexternnode2
/* var tkwexternnode2: nullable Object */;
4632 short int var2
/* : Bool */;
4635 val
* var3
/* : AKwexternAtid */;
4636 val
* var_patidnode1
/* var patidnode1: nullable AKwexternAtid */;
4637 long var4
/* : Int */;
4638 long var5
/* : Int */;
4641 var_node_list
= var
;
4643 var1
= nit___nit__Parser___pop(var_p
);
4645 var_nodearraylist1
= var1
;
4646 var_tkwexternnode2
= var_nodearraylist1
;
4647 /* <var_tkwexternnode2:nullable Object> isa nullable TKwextern */
4648 cltype
= type_nullable__nit__TKwextern
.color
;
4649 idtype
= type_nullable__nit__TKwextern
.id
;
4650 if(var_tkwexternnode2
== NULL
) {
4653 if(cltype
>= var_tkwexternnode2
->type
->table_size
) {
4656 var2
= var_tkwexternnode2
->type
->type_table
[cltype
] == idtype
;
4659 if (unlikely(!var2
)) {
4660 PRINT_ERROR("Runtime error: %s", "Assert failed");
4661 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10094);
4664 var3
= NEW_nit__AKwexternAtid(&type_nit__AKwexternAtid
);
4666 nit__parser_prod___AKwexternAtid___init_akwexternatid(var3
, var_tkwexternnode2
); /* Direct call parser_prod#AKwexternAtid#init_akwexternatid on <var3:AKwexternAtid>*/
4668 var_patidnode1
= var3
;
4669 var_node_list
= var_patidnode1
;
4670 var4
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction412> */
4672 var5
= nit___nit__Parser___go_to(var_p
, var4
);
4675 nit___nit__Parser___push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4679 /* method parser#ReduceAction413#action for (self: ReduceAction413, Parser) */
4680 void nit__parser___nit__parser__ReduceAction413___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4681 val
* var_p
/* var p: Parser */;
4682 val
* var
/* : null */;
4683 val
* var_node_list
/* var node_list: nullable Object */;
4684 val
* var1
/* : nullable Object */;
4685 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4686 val
* var_tkwabstractnode2
/* var tkwabstractnode2: nullable Object */;
4687 short int var2
/* : Bool */;
4690 val
* var3
/* : AKwabstractAtid */;
4691 val
* var_patidnode1
/* var patidnode1: nullable AKwabstractAtid */;
4692 long var4
/* : Int */;
4693 long var5
/* : Int */;
4696 var_node_list
= var
;
4698 var1
= nit___nit__Parser___pop(var_p
);
4700 var_nodearraylist1
= var1
;
4701 var_tkwabstractnode2
= var_nodearraylist1
;
4702 /* <var_tkwabstractnode2:nullable Object> isa nullable TKwabstract */
4703 cltype
= type_nullable__nit__TKwabstract
.color
;
4704 idtype
= type_nullable__nit__TKwabstract
.id
;
4705 if(var_tkwabstractnode2
== NULL
) {
4708 if(cltype
>= var_tkwabstractnode2
->type
->table_size
) {
4711 var2
= var_tkwabstractnode2
->type
->type_table
[cltype
] == idtype
;
4714 if (unlikely(!var2
)) {
4715 PRINT_ERROR("Runtime error: %s", "Assert failed");
4716 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10109);
4719 var3
= NEW_nit__AKwabstractAtid(&type_nit__AKwabstractAtid
);
4721 nit__parser_prod___AKwabstractAtid___init_akwabstractatid(var3
, var_tkwabstractnode2
); /* Direct call parser_prod#AKwabstractAtid#init_akwabstractatid on <var3:AKwabstractAtid>*/
4723 var_patidnode1
= var3
;
4724 var_node_list
= var_patidnode1
;
4725 var4
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction413> */
4727 var5
= nit___nit__Parser___go_to(var_p
, var4
);
4730 nit___nit__Parser___push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4734 /* method parser#ReduceAction414#action for (self: ReduceAction414, Parser) */
4735 void nit__parser___nit__parser__ReduceAction414___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4736 val
* var_p
/* var p: Parser */;
4737 val
* var
/* : null */;
4738 val
* var_node_list
/* var node_list: nullable Object */;
4739 val
* var1
/* : nullable Object */;
4740 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4741 val
* var2
/* : nullable Object */;
4742 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4743 val
* var3
/* : nullable Object */;
4744 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4745 val
* var4
/* : nullable Object */;
4746 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4747 val
* var5
/* : Array[Object] */;
4748 val
* var_listnode4
/* var listnode4: Array[Object] */;
4749 val
* var_toparnode2
/* var toparnode2: nullable Object */;
4750 short int var6
/* : Bool */;
4753 val
* var_listnode3
/* var listnode3: nullable Object */;
4754 short int var7
/* : Bool */;
4757 val
* var10
/* : Array[Object] */;
4758 val
* var_tcparnode5
/* var tcparnode5: nullable Object */;
4759 short int var11
/* : Bool */;
4762 val
* var14
/* : AParExprs */;
4763 val
* var_pexprsnode1
/* var pexprsnode1: nullable AParExprs */;
4764 long var15
/* : Int */;
4765 long var16
/* : Int */;
4768 var_node_list
= var
;
4770 var1
= nit___nit__Parser___pop(var_p
);
4772 var_nodearraylist4
= var1
;
4774 var2
= nit___nit__Parser___pop(var_p
);
4776 var_nodearraylist3
= var2
;
4778 var3
= nit___nit__Parser___pop(var_p
);
4780 var_nodearraylist2
= var3
;
4782 var4
= nit___nit__Parser___pop(var_p
);
4784 var_nodearraylist1
= var4
;
4785 var5
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4787 standard___standard__Array___standard__kernel__Object__init(var5
); /* Direct call array#Array#init on <var5:Array[Object]>*/
4789 var_listnode4
= var5
;
4790 var_toparnode2
= var_nodearraylist1
;
4791 /* <var_toparnode2:nullable Object> isa nullable TOpar */
4792 cltype
= type_nullable__nit__TOpar
.color
;
4793 idtype
= type_nullable__nit__TOpar
.id
;
4794 if(var_toparnode2
== NULL
) {
4797 if(cltype
>= var_toparnode2
->type
->table_size
) {
4800 var6
= var_toparnode2
->type
->type_table
[cltype
] == idtype
;
4803 if (unlikely(!var6
)) {
4804 PRINT_ERROR("Runtime error: %s", "Assert failed");
4805 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10128);
4808 var_listnode3
= var_nodearraylist3
;
4809 /* <var_listnode3:nullable Object> isa Array[Object] */
4810 cltype8
= type_standard__Array__standard__Object
.color
;
4811 idtype9
= type_standard__Array__standard__Object
.id
;
4812 if(var_listnode3
== NULL
) {
4815 if(cltype8
>= var_listnode3
->type
->table_size
) {
4818 var7
= var_listnode3
->type
->type_table
[cltype8
] == idtype9
;
4821 if (unlikely(!var7
)) {
4822 PRINT_ERROR("Runtime error: %s", "Assert failed");
4823 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10130);
4827 var10
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode4
, var_listnode3
);
4829 var_listnode4
= var10
;
4830 var_tcparnode5
= var_nodearraylist4
;
4831 /* <var_tcparnode5:nullable Object> isa nullable TCpar */
4832 cltype12
= type_nullable__nit__TCpar
.color
;
4833 idtype13
= type_nullable__nit__TCpar
.id
;
4834 if(var_tcparnode5
== NULL
) {
4837 if(cltype12
>= var_tcparnode5
->type
->table_size
) {
4840 var11
= var_tcparnode5
->type
->type_table
[cltype12
] == idtype13
;
4843 if (unlikely(!var11
)) {
4844 PRINT_ERROR("Runtime error: %s", "Assert failed");
4845 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10133);
4848 var14
= NEW_nit__AParExprs(&type_nit__AParExprs
);
4850 nit__parser_prod___AParExprs___init_aparexprs(var14
, var_toparnode2
, var_listnode4
, var_tcparnode5
); /* Direct call parser_prod#AParExprs#init_aparexprs on <var14:AParExprs>*/
4852 var_pexprsnode1
= var14
;
4853 var_node_list
= var_pexprsnode1
;
4854 var15
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction414> */
4856 var16
= nit___nit__Parser___go_to(var_p
, var15
);
4859 nit___nit__Parser___push(var_p
, var16
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4863 /* method parser#ReduceAction415#action for (self: ReduceAction415, Parser) */
4864 void nit__parser___nit__parser__ReduceAction415___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4865 val
* var_p
/* var p: Parser */;
4866 val
* var
/* : null */;
4867 val
* var_node_list
/* var node_list: nullable Object */;
4868 val
* var1
/* : nullable Object */;
4869 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4870 val
* var2
/* : nullable Object */;
4871 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4872 val
* var3
/* : nullable Object */;
4873 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4874 val
* var4
/* : Array[Object] */;
4875 val
* var_listnode3
/* var listnode3: Array[Object] */;
4876 val
* var_toparnode2
/* var toparnode2: nullable Object */;
4877 short int var5
/* : Bool */;
4880 val
* var_tcparnode4
/* var tcparnode4: nullable Object */;
4881 short int var6
/* : Bool */;
4884 val
* var9
/* : AParExprs */;
4885 val
* var_pexprsnode1
/* var pexprsnode1: nullable AParExprs */;
4886 long var10
/* : Int */;
4887 long var11
/* : Int */;
4890 var_node_list
= var
;
4892 var1
= nit___nit__Parser___pop(var_p
);
4894 var_nodearraylist3
= var1
;
4896 var2
= nit___nit__Parser___pop(var_p
);
4898 var_nodearraylist2
= var2
;
4900 var3
= nit___nit__Parser___pop(var_p
);
4902 var_nodearraylist1
= var3
;
4903 var4
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4905 standard___standard__Array___standard__kernel__Object__init(var4
); /* Direct call array#Array#init on <var4:Array[Object]>*/
4907 var_listnode3
= var4
;
4908 var_toparnode2
= var_nodearraylist1
;
4909 /* <var_toparnode2:nullable Object> isa nullable TOpar */
4910 cltype
= type_nullable__nit__TOpar
.color
;
4911 idtype
= type_nullable__nit__TOpar
.id
;
4912 if(var_toparnode2
== NULL
) {
4915 if(cltype
>= var_toparnode2
->type
->table_size
) {
4918 var5
= var_toparnode2
->type
->type_table
[cltype
] == idtype
;
4921 if (unlikely(!var5
)) {
4922 PRINT_ERROR("Runtime error: %s", "Assert failed");
4923 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10153);
4926 var_tcparnode4
= var_nodearraylist3
;
4927 /* <var_tcparnode4:nullable Object> isa nullable TCpar */
4928 cltype7
= type_nullable__nit__TCpar
.color
;
4929 idtype8
= type_nullable__nit__TCpar
.id
;
4930 if(var_tcparnode4
== NULL
) {
4933 if(cltype7
>= var_tcparnode4
->type
->table_size
) {
4936 var6
= var_tcparnode4
->type
->type_table
[cltype7
] == idtype8
;
4939 if (unlikely(!var6
)) {
4940 PRINT_ERROR("Runtime error: %s", "Assert failed");
4941 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10155);
4944 var9
= NEW_nit__AParExprs(&type_nit__AParExprs
);
4946 nit__parser_prod___AParExprs___init_aparexprs(var9
, var_toparnode2
, var_listnode3
, var_tcparnode4
); /* Direct call parser_prod#AParExprs#init_aparexprs on <var9:AParExprs>*/
4948 var_pexprsnode1
= var9
;
4949 var_node_list
= var_pexprsnode1
;
4950 var10
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction415> */
4952 var11
= nit___nit__Parser___go_to(var_p
, var10
);
4955 nit___nit__Parser___push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4959 /* method parser#ReduceAction417#action for (self: ReduceAction417, Parser) */
4960 void nit__parser___nit__parser__ReduceAction417___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4961 val
* var_p
/* var p: Parser */;
4962 val
* var
/* : null */;
4963 val
* var_node_list
/* var node_list: nullable Object */;
4964 val
* var1
/* : nullable Object */;
4965 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4966 val
* var2
/* : Array[Object] */;
4967 val
* var_listnode3
/* var listnode3: Array[Object] */;
4968 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
4969 short int var3
/* : Bool */;
4972 val
* var4
/* : null */;
4973 short int var5
/* : Bool */;
4974 short int var6
/* : Bool */;
4975 val
* var_other
/* var other: nullable Object */;
4976 short int var8
/* : Bool */;
4977 short int var9
/* : Bool */;
4978 val
* var10
/* : AListExprs */;
4979 val
* var_pexprsnode1
/* var pexprsnode1: nullable AListExprs */;
4980 long var11
/* : Int */;
4981 long var12
/* : Int */;
4984 var_node_list
= var
;
4986 var1
= nit___nit__Parser___pop(var_p
);
4988 var_nodearraylist1
= var1
;
4989 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4991 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
4993 var_listnode3
= var2
;
4994 var_pexprnode2
= var_nodearraylist1
;
4995 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
4996 cltype
= type_nullable__nit__AExpr
.color
;
4997 idtype
= type_nullable__nit__AExpr
.id
;
4998 if(var_pexprnode2
== NULL
) {
5001 if(cltype
>= var_pexprnode2
->type
->table_size
) {
5004 var3
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
5007 if (unlikely(!var3
)) {
5008 PRINT_ERROR("Runtime error: %s", "Assert failed");
5009 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10173);
5013 if (var_pexprnode2
== NULL
) {
5014 var5
= 0; /* is null */
5016 var5
= 1; /* arg is null and recv is not */
5019 { /* Inline kernel#Object#!= (var_pexprnode2,var4) on <var_pexprnode2:nullable Object(nullable AExpr)> */
5022 var8
= ((short int (*)(val
* self
, val
* p0
))(var_pexprnode2
->class->vft
[COLOR_standard__kernel__Object___61d_61d
]))(var_pexprnode2
, var_other
) /* == on <var_pexprnode2:nullable AExpr(AExpr)>*/;
5033 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3
, var_pexprnode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
5037 var10
= NEW_nit__AListExprs(&type_nit__AListExprs
);
5039 nit__parser_prod___AListExprs___init_alistexprs(var10
, var_listnode3
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var10:AListExprs>*/
5041 var_pexprsnode1
= var10
;
5042 var_node_list
= var_pexprsnode1
;
5043 var11
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction417> */
5045 var12
= nit___nit__Parser___go_to(var_p
, var11
);
5048 nit___nit__Parser___push(var_p
, var12
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5052 /* method parser#ReduceAction419#action for (self: ReduceAction419, Parser) */
5053 void nit__parser___nit__parser__ReduceAction419___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5054 val
* var_p
/* var p: Parser */;
5055 val
* var
/* : null */;
5056 val
* var_node_list
/* var node_list: nullable Object */;
5057 val
* var1
/* : Array[Object] */;
5058 val
* var_listnode2
/* var listnode2: Array[Object] */;
5059 val
* var2
/* : AListExprs */;
5060 val
* var_pexprsnode1
/* var pexprsnode1: nullable AListExprs */;
5061 long var3
/* : Int */;
5062 long var4
/* : Int */;
5065 var_node_list
= var
;
5066 var1
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5068 standard___standard__Array___standard__kernel__Object__init(var1
); /* Direct call array#Array#init on <var1:Array[Object]>*/
5070 var_listnode2
= var1
;
5071 var2
= NEW_nit__AListExprs(&type_nit__AListExprs
);
5073 nit__parser_prod___AListExprs___init_alistexprs(var2
, var_listnode2
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var2:AListExprs>*/
5075 var_pexprsnode1
= var2
;
5076 var_node_list
= var_pexprsnode1
;
5077 var3
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction419> */
5079 var4
= nit___nit__Parser___go_to(var_p
, var3
);
5082 nit___nit__Parser___push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5086 /* method parser#ReduceAction420#action for (self: ReduceAction420, Parser) */
5087 void nit__parser___nit__parser__ReduceAction420___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5088 val
* var_p
/* var p: Parser */;
5089 val
* var
/* : null */;
5090 val
* var_node_list
/* var node_list: nullable Object */;
5091 val
* var1
/* : nullable Object */;
5092 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5093 val
* var2
/* : nullable Object */;
5094 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5095 val
* var3
/* : nullable Object */;
5096 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5097 val
* var4
/* : nullable Object */;
5098 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5099 val
* var5
/* : Array[Object] */;
5100 val
* var_listnode4
/* var listnode4: Array[Object] */;
5101 val
* var_tobranode2
/* var tobranode2: nullable Object */;
5102 short int var6
/* : Bool */;
5105 val
* var_listnode3
/* var listnode3: nullable Object */;
5106 short int var7
/* : Bool */;
5109 val
* var10
/* : Array[Object] */;
5110 val
* var_tcbranode5
/* var tcbranode5: nullable Object */;
5111 short int var11
/* : Bool */;
5114 val
* var14
/* : ABraExprs */;
5115 val
* var_pexprsnode1
/* var pexprsnode1: nullable ABraExprs */;
5116 long var15
/* : Int */;
5117 long var16
/* : Int */;
5120 var_node_list
= var
;
5122 var1
= nit___nit__Parser___pop(var_p
);
5124 var_nodearraylist4
= var1
;
5126 var2
= nit___nit__Parser___pop(var_p
);
5128 var_nodearraylist3
= var2
;
5130 var3
= nit___nit__Parser___pop(var_p
);
5132 var_nodearraylist2
= var3
;
5134 var4
= nit___nit__Parser___pop(var_p
);
5136 var_nodearraylist1
= var4
;
5137 var5
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5139 standard___standard__Array___standard__kernel__Object__init(var5
); /* Direct call array#Array#init on <var5:Array[Object]>*/
5141 var_listnode4
= var5
;
5142 var_tobranode2
= var_nodearraylist1
;
5143 /* <var_tobranode2:nullable Object> isa nullable TObra */
5144 cltype
= type_nullable__nit__TObra
.color
;
5145 idtype
= type_nullable__nit__TObra
.id
;
5146 if(var_tobranode2
== NULL
) {
5149 if(cltype
>= var_tobranode2
->type
->table_size
) {
5152 var6
= var_tobranode2
->type
->type_table
[cltype
] == idtype
;
5155 if (unlikely(!var6
)) {
5156 PRINT_ERROR("Runtime error: %s", "Assert failed");
5157 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10208);
5160 var_listnode3
= var_nodearraylist3
;
5161 /* <var_listnode3:nullable Object> isa Array[Object] */
5162 cltype8
= type_standard__Array__standard__Object
.color
;
5163 idtype9
= type_standard__Array__standard__Object
.id
;
5164 if(var_listnode3
== NULL
) {
5167 if(cltype8
>= var_listnode3
->type
->table_size
) {
5170 var7
= var_listnode3
->type
->type_table
[cltype8
] == idtype9
;
5173 if (unlikely(!var7
)) {
5174 PRINT_ERROR("Runtime error: %s", "Assert failed");
5175 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10210);
5179 var10
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode4
, var_listnode3
);
5181 var_listnode4
= var10
;
5182 var_tcbranode5
= var_nodearraylist4
;
5183 /* <var_tcbranode5:nullable Object> isa nullable TCbra */
5184 cltype12
= type_nullable__nit__TCbra
.color
;
5185 idtype13
= type_nullable__nit__TCbra
.id
;
5186 if(var_tcbranode5
== NULL
) {
5189 if(cltype12
>= var_tcbranode5
->type
->table_size
) {
5192 var11
= var_tcbranode5
->type
->type_table
[cltype12
] == idtype13
;
5195 if (unlikely(!var11
)) {
5196 PRINT_ERROR("Runtime error: %s", "Assert failed");
5197 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10213);
5200 var14
= NEW_nit__ABraExprs(&type_nit__ABraExprs
);
5202 nit__parser_prod___ABraExprs___init_abraexprs(var14
, var_tobranode2
, var_listnode4
, var_tcbranode5
); /* Direct call parser_prod#ABraExprs#init_abraexprs on <var14:ABraExprs>*/
5204 var_pexprsnode1
= var14
;
5205 var_node_list
= var_pexprsnode1
;
5206 var15
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction420> */
5208 var16
= nit___nit__Parser___go_to(var_p
, var15
);
5211 nit___nit__Parser___push(var_p
, var16
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5215 /* method parser#ReduceAction421#action for (self: ReduceAction421, Parser) */
5216 void nit__parser___nit__parser__ReduceAction421___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5217 val
* var_p
/* var p: Parser */;
5218 val
* var
/* : null */;
5219 val
* var_node_list
/* var node_list: nullable Object */;
5220 val
* var1
/* : nullable Object */;
5221 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5222 val
* var2
/* : Array[Object] */;
5223 val
* var_listnode3
/* var listnode3: Array[Object] */;
5224 val
* var_listnode2
/* var listnode2: nullable Object */;
5225 short int var3
/* : Bool */;
5228 val
* var4
/* : Array[Object] */;
5229 val
* var5
/* : AListExprs */;
5230 val
* var_pexprsnode1
/* var pexprsnode1: nullable AListExprs */;
5231 long var6
/* : Int */;
5232 long var7
/* : Int */;
5235 var_node_list
= var
;
5237 var1
= nit___nit__Parser___pop(var_p
);
5239 var_nodearraylist1
= var1
;
5240 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5242 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
5244 var_listnode3
= var2
;
5245 var_listnode2
= var_nodearraylist1
;
5246 /* <var_listnode2:nullable Object> isa Array[Object] */
5247 cltype
= type_standard__Array__standard__Object
.color
;
5248 idtype
= type_standard__Array__standard__Object
.id
;
5249 if(var_listnode2
== NULL
) {
5252 if(cltype
>= var_listnode2
->type
->table_size
) {
5255 var3
= var_listnode2
->type
->type_table
[cltype
] == idtype
;
5258 if (unlikely(!var3
)) {
5259 PRINT_ERROR("Runtime error: %s", "Assert failed");
5260 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10231);
5264 var4
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode2
);
5266 var_listnode3
= var4
;
5267 var5
= NEW_nit__AListExprs(&type_nit__AListExprs
);
5269 nit__parser_prod___AListExprs___init_alistexprs(var5
, var_listnode3
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var5:AListExprs>*/
5271 var_pexprsnode1
= var5
;
5272 var_node_list
= var_pexprsnode1
;
5273 var6
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction421> */
5275 var7
= nit___nit__Parser___go_to(var_p
, var6
);
5278 nit___nit__Parser___push(var_p
, var7
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5282 /* method parser#ReduceAction423#action for (self: ReduceAction423, Parser) */
5283 void nit__parser___nit__parser__ReduceAction423___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5284 val
* var_p
/* var p: Parser */;
5285 val
* var
/* : null */;
5286 val
* var_node_list
/* var node_list: nullable Object */;
5287 val
* var1
/* : nullable Object */;
5288 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5289 val
* var2
/* : nullable Object */;
5290 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5291 val
* var3
/* : nullable Object */;
5292 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5293 val
* var4
/* : Array[Object] */;
5294 val
* var_listnode3
/* var listnode3: Array[Object] */;
5295 val
* var_pexprnode1
/* var pexprnode1: nullable Object */;
5296 val
* var_listnode2
/* var listnode2: nullable Object */;
5297 short int var5
/* : Bool */;
5300 val
* var6
/* : null */;
5301 short int var7
/* : Bool */;
5302 short int var8
/* : Bool */;
5303 val
* var9
/* : Array[Object] */;
5304 long var10
/* : Int */;
5305 long var11
/* : Int */;
5308 var_node_list
= var
;
5310 var1
= nit___nit__Parser___pop(var_p
);
5312 var_nodearraylist3
= var1
;
5314 var2
= nit___nit__Parser___pop(var_p
);
5316 var_nodearraylist2
= var2
;
5318 var3
= nit___nit__Parser___pop(var_p
);
5320 var_nodearraylist1
= var3
;
5321 var4
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5323 standard___standard__Array___standard__kernel__Object__init(var4
); /* Direct call array#Array#init on <var4:Array[Object]>*/
5325 var_listnode3
= var4
;
5326 var_pexprnode1
= var_nodearraylist1
;
5327 var_listnode2
= var_nodearraylist3
;
5328 /* <var_listnode2:nullable Object> isa Array[Object] */
5329 cltype
= type_standard__Array__standard__Object
.color
;
5330 idtype
= type_standard__Array__standard__Object
.id
;
5331 if(var_listnode2
== NULL
) {
5334 if(cltype
>= var_listnode2
->type
->table_size
) {
5337 var5
= var_listnode2
->type
->type_table
[cltype
] == idtype
;
5340 if (unlikely(!var5
)) {
5341 PRINT_ERROR("Runtime error: %s", "Assert failed");
5342 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10251);
5346 if (var_pexprnode1
== NULL
) {
5347 var7
= 0; /* is null */
5349 var7
= 1; /* arg is null and recv is not */
5352 var8
= ((short int (*)(val
* self
, val
* p0
))(var_pexprnode1
->class->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_pexprnode1
, var6
) /* != on <var_pexprnode1:nullable Object>*/;
5357 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3
, var_pexprnode1
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
5362 var9
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode2
);
5364 var_listnode3
= var9
;
5365 var_node_list
= var_listnode3
;
5366 var10
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction423> */
5368 var11
= nit___nit__Parser___go_to(var_p
, var10
);
5371 nit___nit__Parser___push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5375 /* method parser#ReduceAction424#action for (self: ReduceAction424, Parser) */
5376 void nit__parser___nit__parser__ReduceAction424___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5377 val
* var_p
/* var p: Parser */;
5378 val
* var
/* : null */;
5379 val
* var_node_list
/* var node_list: nullable Object */;
5380 val
* var1
/* : nullable Object */;
5381 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5382 val
* var2
/* : nullable Object */;
5383 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5384 val
* var3
/* : nullable Object */;
5385 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5386 val
* var4
/* : nullable Object */;
5387 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5388 val
* var_pexprnode1
/* var pexprnode1: nullable Object */;
5389 long var5
/* : Int */;
5390 long var6
/* : Int */;
5393 var_node_list
= var
;
5395 var1
= nit___nit__Parser___pop(var_p
);
5397 var_nodearraylist4
= var1
;
5399 var2
= nit___nit__Parser___pop(var_p
);
5401 var_nodearraylist3
= var2
;
5403 var3
= nit___nit__Parser___pop(var_p
);
5405 var_nodearraylist2
= var3
;
5407 var4
= nit___nit__Parser___pop(var_p
);
5409 var_nodearraylist1
= var4
;
5410 var_pexprnode1
= var_nodearraylist3
;
5411 var_node_list
= var_pexprnode1
;
5412 var5
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction424> */
5414 var6
= nit___nit__Parser___go_to(var_p
, var5
);
5417 nit___nit__Parser___push(var_p
, var6
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5421 /* method parser#ReduceAction425#action for (self: ReduceAction425, Parser) */
5422 void nit__parser___nit__parser__ReduceAction425___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5423 val
* var_p
/* var p: Parser */;
5424 val
* var
/* : null */;
5425 val
* var_node_list
/* var node_list: nullable Object */;
5426 val
* var1
/* : nullable Object */;
5427 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
5428 val
* var2
/* : nullable Object */;
5429 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5430 val
* var3
/* : nullable Object */;
5431 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5432 val
* var4
/* : nullable Object */;
5433 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5434 val
* var5
/* : nullable Object */;
5435 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5436 val
* var6
/* : Array[Object] */;
5437 val
* var_listnode2
/* var listnode2: Array[Object] */;
5438 val
* var_listnode1
/* var listnode1: nullable Object */;
5439 short int var7
/* : Bool */;
5442 val
* var8
/* : Array[Object] */;
5443 long var9
/* : Int */;
5444 long var10
/* : Int */;
5447 var_node_list
= var
;
5449 var1
= nit___nit__Parser___pop(var_p
);
5451 var_nodearraylist5
= var1
;
5453 var2
= nit___nit__Parser___pop(var_p
);
5455 var_nodearraylist4
= var2
;
5457 var3
= nit___nit__Parser___pop(var_p
);
5459 var_nodearraylist3
= var3
;
5461 var4
= nit___nit__Parser___pop(var_p
);
5463 var_nodearraylist2
= var4
;
5465 var5
= nit___nit__Parser___pop(var_p
);
5467 var_nodearraylist1
= var5
;
5468 var6
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5470 standard___standard__Array___standard__kernel__Object__init(var6
); /* Direct call array#Array#init on <var6:Array[Object]>*/
5472 var_listnode2
= var6
;
5473 var_listnode1
= var_nodearraylist3
;
5474 /* <var_listnode1:nullable Object> isa Array[Object] */
5475 cltype
= type_standard__Array__standard__Object
.color
;
5476 idtype
= type_standard__Array__standard__Object
.id
;
5477 if(var_listnode1
== NULL
) {
5480 if(cltype
>= var_listnode1
->type
->table_size
) {
5483 var7
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
5486 if (unlikely(!var7
)) {
5487 PRINT_ERROR("Runtime error: %s", "Assert failed");
5488 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10286);
5492 var8
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode2
, var_listnode1
);
5494 var_listnode2
= var8
;
5495 var_node_list
= var_listnode2
;
5496 var9
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction425> */
5498 var10
= nit___nit__Parser___go_to(var_p
, var9
);
5501 nit___nit__Parser___push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5505 /* method parser#ReduceAction426#action for (self: ReduceAction426, Parser) */
5506 void nit__parser___nit__parser__ReduceAction426___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5507 val
* var_p
/* var p: Parser */;
5508 val
* var
/* : null */;
5509 val
* var_node_list
/* var node_list: nullable Object */;
5510 val
* var1
/* : nullable Object */;
5511 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5512 val
* var2
/* : Array[Object] */;
5513 val
* var_listnode2
/* var listnode2: Array[Object] */;
5514 val
* var_listnode1
/* var listnode1: nullable Object */;
5515 short int var3
/* : Bool */;
5518 val
* var4
/* : Array[Object] */;
5519 long var5
/* : Int */;
5520 long var6
/* : Int */;
5523 var_node_list
= var
;
5525 var1
= nit___nit__Parser___pop(var_p
);
5527 var_nodearraylist1
= var1
;
5528 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5530 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
5532 var_listnode2
= var2
;
5533 var_listnode1
= var_nodearraylist1
;
5534 /* <var_listnode1:nullable Object> isa Array[Object] */
5535 cltype
= type_standard__Array__standard__Object
.color
;
5536 idtype
= type_standard__Array__standard__Object
.id
;
5537 if(var_listnode1
== NULL
) {
5540 if(cltype
>= var_listnode1
->type
->table_size
) {
5543 var3
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
5546 if (unlikely(!var3
)) {
5547 PRINT_ERROR("Runtime error: %s", "Assert failed");
5548 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10300);
5552 var4
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode2
, var_listnode1
);
5554 var_listnode2
= var4
;
5555 var_node_list
= var_listnode2
;
5556 var5
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction426> */
5558 var6
= nit___nit__Parser___go_to(var_p
, var5
);
5561 nit___nit__Parser___push(var_p
, var6
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5565 /* method parser#ReduceAction427#action for (self: ReduceAction427, Parser) */
5566 void nit__parser___nit__parser__ReduceAction427___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5567 val
* var_p
/* var p: Parser */;
5568 val
* var
/* : null */;
5569 val
* var_node_list
/* var node_list: nullable Object */;
5570 val
* var1
/* : nullable Object */;
5571 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5572 val
* var2
/* : Array[Object] */;
5573 val
* var_listnode2
/* var listnode2: Array[Object] */;
5574 val
* var_tidnode1
/* var tidnode1: nullable Object */;
5575 val
* var3
/* : null */;
5576 short int var4
/* : Bool */;
5577 short int var5
/* : Bool */;
5578 long var6
/* : Int */;
5579 long var7
/* : Int */;
5582 var_node_list
= var
;
5584 var1
= nit___nit__Parser___pop(var_p
);
5586 var_nodearraylist1
= var1
;
5587 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5589 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
5591 var_listnode2
= var2
;
5592 var_tidnode1
= var_nodearraylist1
;
5594 if (var_tidnode1
== NULL
) {
5595 var4
= 0; /* is null */
5597 var4
= 1; /* arg is null and recv is not */
5600 var5
= ((short int (*)(val
* self
, val
* p0
))(var_tidnode1
->class->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_tidnode1
, var3
) /* != on <var_tidnode1:nullable Object>*/;
5605 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode2
, var_tidnode1
); /* Direct call array#Array#add on <var_listnode2:Array[Object]>*/
5609 var_node_list
= var_listnode2
;
5610 var6
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction427> */
5612 var7
= nit___nit__Parser___go_to(var_p
, var6
);
5615 nit___nit__Parser___push(var_p
, var7
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5619 /* method parser#ReduceAction428#action for (self: ReduceAction428, Parser) */
5620 void nit__parser___nit__parser__ReduceAction428___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5621 val
* var_p
/* var p: Parser */;
5622 val
* var
/* : null */;
5623 val
* var_node_list
/* var node_list: nullable Object */;
5624 val
* var1
/* : nullable Object */;
5625 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5626 val
* var2
/* : nullable Object */;
5627 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5628 val
* var3
/* : nullable Object */;
5629 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5630 val
* var4
/* : nullable Object */;
5631 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5632 val
* var5
/* : Array[Object] */;
5633 val
* var_listnode3
/* var listnode3: Array[Object] */;
5634 val
* var_listnode1
/* var listnode1: nullable Object */;
5635 short int var6
/* : Bool */;
5638 val
* var_tidnode2
/* var tidnode2: nullable Object */;
5639 val
* var7
/* : Array[Object] */;
5640 val
* var8
/* : null */;
5641 short int var9
/* : Bool */;
5642 short int var10
/* : Bool */;
5643 long var11
/* : Int */;
5644 long var12
/* : Int */;
5647 var_node_list
= var
;
5649 var1
= nit___nit__Parser___pop(var_p
);
5651 var_nodearraylist4
= var1
;
5653 var2
= nit___nit__Parser___pop(var_p
);
5655 var_nodearraylist3
= var2
;
5657 var3
= nit___nit__Parser___pop(var_p
);
5659 var_nodearraylist2
= var3
;
5661 var4
= nit___nit__Parser___pop(var_p
);
5663 var_nodearraylist1
= var4
;
5664 var5
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5666 standard___standard__Array___standard__kernel__Object__init(var5
); /* Direct call array#Array#init on <var5:Array[Object]>*/
5668 var_listnode3
= var5
;
5669 var_listnode1
= var_nodearraylist1
;
5670 /* <var_listnode1:nullable Object> isa Array[Object] */
5671 cltype
= type_standard__Array__standard__Object
.color
;
5672 idtype
= type_standard__Array__standard__Object
.id
;
5673 if(var_listnode1
== NULL
) {
5676 if(cltype
>= var_listnode1
->type
->table_size
) {
5679 var6
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
5682 if (unlikely(!var6
)) {
5683 PRINT_ERROR("Runtime error: %s", "Assert failed");
5684 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10332);
5687 var_tidnode2
= var_nodearraylist4
;
5689 var7
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode1
);
5691 var_listnode3
= var7
;
5693 if (var_tidnode2
== NULL
) {
5694 var9
= 0; /* is null */
5696 var9
= 1; /* arg is null and recv is not */
5699 var10
= ((short int (*)(val
* self
, val
* p0
))(var_tidnode2
->class->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_tidnode2
, var8
) /* != on <var_tidnode2:nullable Object>*/;
5704 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3
, var_tidnode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
5708 var_node_list
= var_listnode3
;
5709 var11
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction428> */
5711 var12
= nit___nit__Parser___go_to(var_p
, var11
);
5714 nit___nit__Parser___push(var_p
, var12
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5718 /* method parser#ReduceAction429#action for (self: ReduceAction429, Parser) */
5719 void nit__parser___nit__parser__ReduceAction429___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5720 val
* var_p
/* var p: Parser */;
5721 val
* var
/* : null */;
5722 val
* var_node_list
/* var node_list: nullable Object */;
5723 val
* var1
/* : nullable Object */;
5724 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5725 val
* var2
/* : Array[Object] */;
5726 val
* var_listnode3
/* var listnode3: Array[Object] */;
5727 val
* var_tidnode4
/* var tidnode4: nullable Object */;
5728 short int var3
/* : Bool */;
5731 val
* var4
/* : AModuleName */;
5732 val
* var5
/* : null */;
5733 val
* var_pmodulenamenode1
/* var pmodulenamenode1: nullable AModuleName */;
5734 long var6
/* : Int */;
5735 long var7
/* : Int */;
5738 var_node_list
= var
;
5740 var1
= nit___nit__Parser___pop(var_p
);
5742 var_nodearraylist1
= var1
;
5743 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5745 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
5747 var_listnode3
= var2
;
5748 var_tidnode4
= var_nodearraylist1
;
5749 /* <var_tidnode4:nullable Object> isa nullable TId */
5750 cltype
= type_nullable__nit__TId
.color
;
5751 idtype
= type_nullable__nit__TId
.id
;
5752 if(var_tidnode4
== NULL
) {
5755 if(cltype
>= var_tidnode4
->type
->table_size
) {
5758 var3
= var_tidnode4
->type
->type_table
[cltype
] == idtype
;
5761 if (unlikely(!var3
)) {
5762 PRINT_ERROR("Runtime error: %s", "Assert failed");
5763 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10350);
5766 var4
= NEW_nit__AModuleName(&type_nit__AModuleName
);
5769 nit__parser_prod___AModuleName___init_amodulename(var4
, var5
, var_listnode3
, var_tidnode4
); /* Direct call parser_prod#AModuleName#init_amodulename on <var4:AModuleName>*/
5771 var_pmodulenamenode1
= var4
;
5772 var_node_list
= var_pmodulenamenode1
;
5773 var6
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction429> */
5775 var7
= nit___nit__Parser___go_to(var_p
, var6
);
5778 nit___nit__Parser___push(var_p
, var7
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5782 /* method parser#ReduceAction430#action for (self: ReduceAction430, Parser) */
5783 void nit__parser___nit__parser__ReduceAction430___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5784 val
* var_p
/* var p: Parser */;
5785 val
* var
/* : null */;
5786 val
* var_node_list
/* var node_list: nullable Object */;
5787 val
* var1
/* : nullable Object */;
5788 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5789 val
* var2
/* : nullable Object */;
5790 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5791 val
* var3
/* : Array[Object] */;
5792 val
* var_listnode4
/* var listnode4: Array[Object] */;
5793 val
* var_listnode3
/* var listnode3: nullable Object */;
5794 short int var4
/* : Bool */;
5797 val
* var5
/* : Array[Object] */;
5798 val
* var_tidnode5
/* var tidnode5: nullable Object */;
5799 short int var6
/* : Bool */;
5802 val
* var9
/* : AModuleName */;
5803 val
* var10
/* : null */;
5804 val
* var_pmodulenamenode1
/* var pmodulenamenode1: nullable AModuleName */;
5805 long var11
/* : Int */;
5806 long var12
/* : Int */;
5809 var_node_list
= var
;
5811 var1
= nit___nit__Parser___pop(var_p
);
5813 var_nodearraylist2
= var1
;
5815 var2
= nit___nit__Parser___pop(var_p
);
5817 var_nodearraylist1
= var2
;
5818 var3
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5820 standard___standard__Array___standard__kernel__Object__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
5822 var_listnode4
= var3
;
5823 var_listnode3
= var_nodearraylist1
;
5824 /* <var_listnode3:nullable Object> isa Array[Object] */
5825 cltype
= type_standard__Array__standard__Object
.color
;
5826 idtype
= type_standard__Array__standard__Object
.id
;
5827 if(var_listnode3
== NULL
) {
5830 if(cltype
>= var_listnode3
->type
->table_size
) {
5833 var4
= var_listnode3
->type
->type_table
[cltype
] == idtype
;
5836 if (unlikely(!var4
)) {
5837 PRINT_ERROR("Runtime error: %s", "Assert failed");
5838 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10369);
5842 var5
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode4
, var_listnode3
);
5844 var_listnode4
= var5
;
5845 var_tidnode5
= var_nodearraylist2
;
5846 /* <var_tidnode5:nullable Object> isa nullable TId */
5847 cltype7
= type_nullable__nit__TId
.color
;
5848 idtype8
= type_nullable__nit__TId
.id
;
5849 if(var_tidnode5
== NULL
) {
5852 if(cltype7
>= var_tidnode5
->type
->table_size
) {
5855 var6
= var_tidnode5
->type
->type_table
[cltype7
] == idtype8
;
5858 if (unlikely(!var6
)) {
5859 PRINT_ERROR("Runtime error: %s", "Assert failed");
5860 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10372);
5863 var9
= NEW_nit__AModuleName(&type_nit__AModuleName
);
5866 nit__parser_prod___AModuleName___init_amodulename(var9
, var10
, var_listnode4
, var_tidnode5
); /* Direct call parser_prod#AModuleName#init_amodulename on <var9:AModuleName>*/
5868 var_pmodulenamenode1
= var9
;
5869 var_node_list
= var_pmodulenamenode1
;
5870 var11
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction430> */
5872 var12
= nit___nit__Parser___go_to(var_p
, var11
);
5875 nit___nit__Parser___push(var_p
, var12
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5879 /* method parser#ReduceAction431#action for (self: ReduceAction431, Parser) */
5880 void nit__parser___nit__parser__ReduceAction431___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5881 val
* var_p
/* var p: Parser */;
5882 val
* var
/* : null */;
5883 val
* var_node_list
/* var node_list: nullable Object */;
5884 val
* var1
/* : nullable Object */;
5885 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5886 val
* var2
/* : nullable Object */;
5887 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5888 val
* var3
/* : nullable Object */;
5889 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5890 val
* var4
/* : Array[Object] */;
5891 val
* var_listnode3
/* var listnode3: Array[Object] */;
5892 val
* var_tquadnode2
/* var tquadnode2: nullable Object */;
5893 short int var5
/* : Bool */;
5896 val
* var_tidnode4
/* var tidnode4: nullable Object */;
5897 short int var6
/* : Bool */;
5900 val
* var9
/* : AModuleName */;
5901 val
* var_pmodulenamenode1
/* var pmodulenamenode1: nullable AModuleName */;
5902 long var10
/* : Int */;
5903 long var11
/* : Int */;
5906 var_node_list
= var
;
5908 var1
= nit___nit__Parser___pop(var_p
);
5910 var_nodearraylist3
= var1
;
5912 var2
= nit___nit__Parser___pop(var_p
);
5914 var_nodearraylist2
= var2
;
5916 var3
= nit___nit__Parser___pop(var_p
);
5918 var_nodearraylist1
= var3
;
5919 var4
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5921 standard___standard__Array___standard__kernel__Object__init(var4
); /* Direct call array#Array#init on <var4:Array[Object]>*/
5923 var_listnode3
= var4
;
5924 var_tquadnode2
= var_nodearraylist1
;
5925 /* <var_tquadnode2:nullable Object> isa nullable TQuad */
5926 cltype
= type_nullable__nit__TQuad
.color
;
5927 idtype
= type_nullable__nit__TQuad
.id
;
5928 if(var_tquadnode2
== NULL
) {
5931 if(cltype
>= var_tquadnode2
->type
->table_size
) {
5934 var5
= var_tquadnode2
->type
->type_table
[cltype
] == idtype
;
5937 if (unlikely(!var5
)) {
5938 PRINT_ERROR("Runtime error: %s", "Assert failed");
5939 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10392);
5942 var_tidnode4
= var_nodearraylist3
;
5943 /* <var_tidnode4:nullable Object> isa nullable TId */
5944 cltype7
= type_nullable__nit__TId
.color
;
5945 idtype8
= type_nullable__nit__TId
.id
;
5946 if(var_tidnode4
== NULL
) {
5949 if(cltype7
>= var_tidnode4
->type
->table_size
) {
5952 var6
= var_tidnode4
->type
->type_table
[cltype7
] == idtype8
;
5955 if (unlikely(!var6
)) {
5956 PRINT_ERROR("Runtime error: %s", "Assert failed");
5957 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10394);
5960 var9
= NEW_nit__AModuleName(&type_nit__AModuleName
);
5962 nit__parser_prod___AModuleName___init_amodulename(var9
, var_tquadnode2
, var_listnode3
, var_tidnode4
); /* Direct call parser_prod#AModuleName#init_amodulename on <var9:AModuleName>*/
5964 var_pmodulenamenode1
= var9
;
5965 var_node_list
= var_pmodulenamenode1
;
5966 var10
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction431> */
5968 var11
= nit___nit__Parser___go_to(var_p
, var10
);
5971 nit___nit__Parser___push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5975 /* method parser#ReduceAction432#action for (self: ReduceAction432, Parser) */
5976 void nit__parser___nit__parser__ReduceAction432___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5977 val
* var_p
/* var p: Parser */;
5978 val
* var
/* : null */;
5979 val
* var_node_list
/* var node_list: nullable Object */;
5980 val
* var1
/* : nullable Object */;
5981 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5982 val
* var2
/* : nullable Object */;
5983 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5984 val
* var3
/* : nullable Object */;
5985 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5986 val
* var4
/* : nullable Object */;
5987 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5988 val
* var5
/* : Array[Object] */;
5989 val
* var_listnode4
/* var listnode4: Array[Object] */;
5990 val
* var_tquadnode2
/* var tquadnode2: nullable Object */;
5991 short int var6
/* : Bool */;
5994 val
* var_listnode3
/* var listnode3: nullable Object */;
5995 short int var7
/* : Bool */;
5998 val
* var10
/* : Array[Object] */;
5999 val
* var_tidnode5
/* var tidnode5: nullable Object */;
6000 short int var11
/* : Bool */;
6003 val
* var14
/* : AModuleName */;
6004 val
* var_pmodulenamenode1
/* var pmodulenamenode1: nullable AModuleName */;
6005 long var15
/* : Int */;
6006 long var16
/* : Int */;
6009 var_node_list
= var
;
6011 var1
= nit___nit__Parser___pop(var_p
);
6013 var_nodearraylist4
= var1
;
6015 var2
= nit___nit__Parser___pop(var_p
);
6017 var_nodearraylist3
= var2
;
6019 var3
= nit___nit__Parser___pop(var_p
);
6021 var_nodearraylist2
= var3
;
6023 var4
= nit___nit__Parser___pop(var_p
);
6025 var_nodearraylist1
= var4
;
6026 var5
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6028 standard___standard__Array___standard__kernel__Object__init(var5
); /* Direct call array#Array#init on <var5:Array[Object]>*/
6030 var_listnode4
= var5
;
6031 var_tquadnode2
= var_nodearraylist1
;
6032 /* <var_tquadnode2:nullable Object> isa nullable TQuad */
6033 cltype
= type_nullable__nit__TQuad
.color
;
6034 idtype
= type_nullable__nit__TQuad
.id
;
6035 if(var_tquadnode2
== NULL
) {
6038 if(cltype
>= var_tquadnode2
->type
->table_size
) {
6041 var6
= var_tquadnode2
->type
->type_table
[cltype
] == idtype
;
6044 if (unlikely(!var6
)) {
6045 PRINT_ERROR("Runtime error: %s", "Assert failed");
6046 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10415);
6049 var_listnode3
= var_nodearraylist3
;
6050 /* <var_listnode3:nullable Object> isa Array[Object] */
6051 cltype8
= type_standard__Array__standard__Object
.color
;
6052 idtype9
= type_standard__Array__standard__Object
.id
;
6053 if(var_listnode3
== NULL
) {
6056 if(cltype8
>= var_listnode3
->type
->table_size
) {
6059 var7
= var_listnode3
->type
->type_table
[cltype8
] == idtype9
;
6062 if (unlikely(!var7
)) {
6063 PRINT_ERROR("Runtime error: %s", "Assert failed");
6064 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10417);
6068 var10
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode4
, var_listnode3
);
6070 var_listnode4
= var10
;
6071 var_tidnode5
= var_nodearraylist4
;
6072 /* <var_tidnode5:nullable Object> isa nullable TId */
6073 cltype12
= type_nullable__nit__TId
.color
;
6074 idtype13
= type_nullable__nit__TId
.id
;
6075 if(var_tidnode5
== NULL
) {
6078 if(cltype12
>= var_tidnode5
->type
->table_size
) {
6081 var11
= var_tidnode5
->type
->type_table
[cltype12
] == idtype13
;
6084 if (unlikely(!var11
)) {
6085 PRINT_ERROR("Runtime error: %s", "Assert failed");
6086 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10420);
6089 var14
= NEW_nit__AModuleName(&type_nit__AModuleName
);
6091 nit__parser_prod___AModuleName___init_amodulename(var14
, var_tquadnode2
, var_listnode4
, var_tidnode5
); /* Direct call parser_prod#AModuleName#init_amodulename on <var14:AModuleName>*/
6093 var_pmodulenamenode1
= var14
;
6094 var_node_list
= var_pmodulenamenode1
;
6095 var15
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction432> */
6097 var16
= nit___nit__Parser___go_to(var_p
, var15
);
6100 nit___nit__Parser___push(var_p
, var16
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6104 /* method parser#ReduceAction433#action for (self: ReduceAction433, Parser) */
6105 void nit__parser___nit__parser__ReduceAction433___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6106 val
* var_p
/* var p: Parser */;
6107 val
* var
/* : null */;
6108 val
* var_node_list
/* var node_list: nullable Object */;
6109 val
* var1
/* : nullable Object */;
6110 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6111 val
* var2
/* : Array[Object] */;
6112 val
* var_listnode2
/* var listnode2: Array[Object] */;
6113 val
* var_tclassidnode3
/* var tclassidnode3: nullable Object */;
6114 short int var3
/* : Bool */;
6117 val
* var4
/* : AQualified */;
6118 val
* var_pqualifiednode1
/* var pqualifiednode1: nullable AQualified */;
6119 long var5
/* : Int */;
6120 long var6
/* : Int */;
6123 var_node_list
= var
;
6125 var1
= nit___nit__Parser___pop(var_p
);
6127 var_nodearraylist1
= var1
;
6128 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6130 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
6132 var_listnode2
= var2
;
6133 var_tclassidnode3
= var_nodearraylist1
;
6134 /* <var_tclassidnode3:nullable Object> isa nullable TClassid */
6135 cltype
= type_nullable__nit__TClassid
.color
;
6136 idtype
= type_nullable__nit__TClassid
.id
;
6137 if(var_tclassidnode3
== NULL
) {
6140 if(cltype
>= var_tclassidnode3
->type
->table_size
) {
6143 var3
= var_tclassidnode3
->type
->type_table
[cltype
] == idtype
;
6146 if (unlikely(!var3
)) {
6147 PRINT_ERROR("Runtime error: %s", "Assert failed");
6148 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10438);
6151 var4
= NEW_nit__AQualified(&type_nit__AQualified
);
6153 nit__parser_prod___AQualified___init_aqualified(var4
, var_listnode2
, var_tclassidnode3
); /* Direct call parser_prod#AQualified#init_aqualified on <var4:AQualified>*/
6155 var_pqualifiednode1
= var4
;
6156 var_node_list
= var_pqualifiednode1
;
6157 var5
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction433> */
6159 var6
= nit___nit__Parser___go_to(var_p
, var5
);
6162 nit___nit__Parser___push(var_p
, var6
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6166 /* method parser#ReduceAction434#action for (self: ReduceAction434, Parser) */
6167 void nit__parser___nit__parser__ReduceAction434___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6168 val
* var_p
/* var p: Parser */;
6169 val
* var
/* : null */;
6170 val
* var_node_list
/* var node_list: nullable Object */;
6171 val
* var1
/* : nullable Object */;
6172 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6173 val
* var2
/* : nullable Object */;
6174 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6175 val
* var3
/* : Array[Object] */;
6176 val
* var_listnode3
/* var listnode3: Array[Object] */;
6177 val
* var_listnode2
/* var listnode2: nullable Object */;
6178 short int var4
/* : Bool */;
6181 val
* var5
/* : Array[Object] */;
6182 val
* var_tclassidnode4
/* var tclassidnode4: nullable Object */;
6183 short int var6
/* : Bool */;
6186 val
* var9
/* : AQualified */;
6187 val
* var_pqualifiednode1
/* var pqualifiednode1: nullable AQualified */;
6188 long var10
/* : Int */;
6189 long var11
/* : Int */;
6192 var_node_list
= var
;
6194 var1
= nit___nit__Parser___pop(var_p
);
6196 var_nodearraylist2
= var1
;
6198 var2
= nit___nit__Parser___pop(var_p
);
6200 var_nodearraylist1
= var2
;
6201 var3
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6203 standard___standard__Array___standard__kernel__Object__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
6205 var_listnode3
= var3
;
6206 var_listnode2
= var_nodearraylist1
;
6207 /* <var_listnode2:nullable Object> isa Array[Object] */
6208 cltype
= type_standard__Array__standard__Object
.color
;
6209 idtype
= type_standard__Array__standard__Object
.id
;
6210 if(var_listnode2
== NULL
) {
6213 if(cltype
>= var_listnode2
->type
->table_size
) {
6216 var4
= var_listnode2
->type
->type_table
[cltype
] == idtype
;
6219 if (unlikely(!var4
)) {
6220 PRINT_ERROR("Runtime error: %s", "Assert failed");
6221 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10456);
6225 var5
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode2
);
6227 var_listnode3
= var5
;
6228 var_tclassidnode4
= var_nodearraylist2
;
6229 /* <var_tclassidnode4:nullable Object> isa nullable TClassid */
6230 cltype7
= type_nullable__nit__TClassid
.color
;
6231 idtype8
= type_nullable__nit__TClassid
.id
;
6232 if(var_tclassidnode4
== NULL
) {
6235 if(cltype7
>= var_tclassidnode4
->type
->table_size
) {
6238 var6
= var_tclassidnode4
->type
->type_table
[cltype7
] == idtype8
;
6241 if (unlikely(!var6
)) {
6242 PRINT_ERROR("Runtime error: %s", "Assert failed");
6243 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10459);
6246 var9
= NEW_nit__AQualified(&type_nit__AQualified
);
6248 nit__parser_prod___AQualified___init_aqualified(var9
, var_listnode3
, var_tclassidnode4
); /* Direct call parser_prod#AQualified#init_aqualified on <var9:AQualified>*/
6250 var_pqualifiednode1
= var9
;
6251 var_node_list
= var_pqualifiednode1
;
6252 var10
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction434> */
6254 var11
= nit___nit__Parser___go_to(var_p
, var10
);
6257 nit___nit__Parser___push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6261 /* method parser#ReduceAction435#action for (self: ReduceAction435, Parser) */
6262 void nit__parser___nit__parser__ReduceAction435___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6263 val
* var_p
/* var p: Parser */;
6264 val
* var
/* : null */;
6265 val
* var_node_list
/* var node_list: nullable Object */;
6266 val
* var1
/* : nullable Object */;
6267 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6268 val
* var2
/* : Array[Object] */;
6269 val
* var_listnode3
/* var listnode3: Array[Object] */;
6270 val
* var_listnode2
/* var listnode2: nullable Object */;
6271 short int var3
/* : Bool */;
6274 val
* var4
/* : Array[Object] */;
6275 val
* var5
/* : AQualified */;
6276 val
* var6
/* : null */;
6277 val
* var_pqualifiednode1
/* var pqualifiednode1: nullable AQualified */;
6278 long var7
/* : Int */;
6279 long var8
/* : Int */;
6282 var_node_list
= var
;
6284 var1
= nit___nit__Parser___pop(var_p
);
6286 var_nodearraylist1
= var1
;
6287 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6289 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
6291 var_listnode3
= var2
;
6292 var_listnode2
= var_nodearraylist1
;
6293 /* <var_listnode2:nullable Object> isa Array[Object] */
6294 cltype
= type_standard__Array__standard__Object
.color
;
6295 idtype
= type_standard__Array__standard__Object
.id
;
6296 if(var_listnode2
== NULL
) {
6299 if(cltype
>= var_listnode2
->type
->table_size
) {
6302 var3
= var_listnode2
->type
->type_table
[cltype
] == idtype
;
6305 if (unlikely(!var3
)) {
6306 PRINT_ERROR("Runtime error: %s", "Assert failed");
6307 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10476);
6311 var4
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode2
);
6313 var_listnode3
= var4
;
6314 var5
= NEW_nit__AQualified(&type_nit__AQualified
);
6317 nit__parser_prod___AQualified___init_aqualified(var5
, var_listnode3
, var6
); /* Direct call parser_prod#AQualified#init_aqualified on <var5:AQualified>*/
6319 var_pqualifiednode1
= var5
;
6320 var_node_list
= var_pqualifiednode1
;
6321 var7
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction435> */
6323 var8
= nit___nit__Parser___go_to(var_p
, var7
);
6326 nit___nit__Parser___push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6330 /* method parser#ReduceAction437#action for (self: ReduceAction437, Parser) */
6331 void nit__parser___nit__parser__ReduceAction437___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6332 val
* var_p
/* var p: Parser */;
6333 val
* var
/* : null */;
6334 val
* var_node_list
/* var node_list: nullable Object */;
6335 val
* var1
/* : nullable Object */;
6336 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6337 val
* var_tclassidnode1
/* var tclassidnode1: nullable Object */;
6338 long var2
/* : Int */;
6339 long var3
/* : Int */;
6342 var_node_list
= var
;
6344 var1
= nit___nit__Parser___pop(var_p
);
6346 var_nodearraylist1
= var1
;
6347 var_tclassidnode1
= var_nodearraylist1
;
6348 var_node_list
= var_tclassidnode1
;
6349 var2
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction437> */
6351 var3
= nit___nit__Parser___go_to(var_p
, var2
);
6354 nit___nit__Parser___push(var_p
, var3
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6358 /* method parser#ReduceAction438#action for (self: ReduceAction438, Parser) */
6359 void nit__parser___nit__parser__ReduceAction438___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6360 val
* var_p
/* var p: Parser */;
6361 val
* var
/* : null */;
6362 val
* var_node_list
/* var node_list: nullable Object */;
6363 val
* var1
/* : nullable Object */;
6364 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6365 val
* var2
/* : nullable Object */;
6366 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6367 val
* var_tclassidnode1
/* var tclassidnode1: nullable Object */;
6368 long var3
/* : Int */;
6369 long var4
/* : Int */;
6372 var_node_list
= var
;
6374 var1
= nit___nit__Parser___pop(var_p
);
6376 var_nodearraylist2
= var1
;
6378 var2
= nit___nit__Parser___pop(var_p
);
6380 var_nodearraylist1
= var2
;
6381 var_tclassidnode1
= var_nodearraylist2
;
6382 var_node_list
= var_tclassidnode1
;
6383 var3
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction438> */
6385 var4
= nit___nit__Parser___go_to(var_p
, var3
);
6388 nit___nit__Parser___push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6392 /* method parser#ReduceAction439#action for (self: ReduceAction439, Parser) */
6393 void nit__parser___nit__parser__ReduceAction439___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6394 val
* var_p
/* var p: Parser */;
6395 val
* var
/* : null */;
6396 val
* var_node_list
/* var node_list: nullable Object */;
6397 val
* var1
/* : nullable Object */;
6398 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6399 val
* var2
/* : nullable Object */;
6400 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6401 val
* var3
/* : nullable Object */;
6402 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6403 val
* var_tclassidnode1
/* var tclassidnode1: nullable Object */;
6404 long var4
/* : Int */;
6405 long var5
/* : Int */;
6408 var_node_list
= var
;
6410 var1
= nit___nit__Parser___pop(var_p
);
6412 var_nodearraylist3
= var1
;
6414 var2
= nit___nit__Parser___pop(var_p
);
6416 var_nodearraylist2
= var2
;
6418 var3
= nit___nit__Parser___pop(var_p
);
6420 var_nodearraylist1
= var3
;
6421 var_tclassidnode1
= var_nodearraylist3
;
6422 var_node_list
= var_tclassidnode1
;
6423 var4
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction439> */
6425 var5
= nit___nit__Parser___go_to(var_p
, var4
);
6428 nit___nit__Parser___push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6432 /* method parser#ReduceAction441#action for (self: ReduceAction441, Parser) */
6433 void nit__parser___nit__parser__ReduceAction441___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6434 val
* var_p
/* var p: Parser */;
6435 val
* var
/* : null */;
6436 val
* var_node_list
/* var node_list: nullable Object */;
6437 val
* var1
/* : nullable Object */;
6438 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6439 val
* var_pmethidnode1
/* var pmethidnode1: nullable Object */;
6440 long var2
/* : Int */;
6441 long var3
/* : Int */;
6444 var_node_list
= var
;
6446 var1
= nit___nit__Parser___pop(var_p
);
6448 var_nodearraylist1
= var1
;
6449 var_pmethidnode1
= var_nodearraylist1
;
6450 var_node_list
= var_pmethidnode1
;
6451 var2
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction441> */
6453 var3
= nit___nit__Parser___go_to(var_p
, var2
);
6456 nit___nit__Parser___push(var_p
, var3
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6460 /* method parser#ReduceAction442#action for (self: ReduceAction442, Parser) */
6461 void nit__parser___nit__parser__ReduceAction442___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6462 val
* var_p
/* var p: Parser */;
6463 val
* var
/* : null */;
6464 val
* var_node_list
/* var node_list: nullable Object */;
6465 val
* var1
/* : nullable Object */;
6466 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6467 val
* var2
/* : nullable Object */;
6468 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6469 val
* var_pmethidnode1
/* var pmethidnode1: nullable Object */;
6470 long var3
/* : Int */;
6471 long var4
/* : Int */;
6474 var_node_list
= var
;
6476 var1
= nit___nit__Parser___pop(var_p
);
6478 var_nodearraylist2
= var1
;
6480 var2
= nit___nit__Parser___pop(var_p
);
6482 var_nodearraylist1
= var2
;
6483 var_pmethidnode1
= var_nodearraylist2
;
6484 var_node_list
= var_pmethidnode1
;
6485 var3
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction442> */
6487 var4
= nit___nit__Parser___go_to(var_p
, var3
);
6490 nit___nit__Parser___push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6494 /* method parser#ReduceAction443#action for (self: ReduceAction443, Parser) */
6495 void nit__parser___nit__parser__ReduceAction443___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6496 val
* var_p
/* var p: Parser */;
6497 val
* var
/* : null */;
6498 val
* var_node_list
/* var node_list: nullable Object */;
6499 val
* var1
/* : nullable Object */;
6500 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6501 val
* var2
/* : nullable Object */;
6502 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6503 val
* var3
/* : nullable Object */;
6504 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6505 val
* var_pmethidnode1
/* var pmethidnode1: nullable Object */;
6506 long var4
/* : Int */;
6507 long var5
/* : Int */;
6510 var_node_list
= var
;
6512 var1
= nit___nit__Parser___pop(var_p
);
6514 var_nodearraylist3
= var1
;
6516 var2
= nit___nit__Parser___pop(var_p
);
6518 var_nodearraylist2
= var2
;
6520 var3
= nit___nit__Parser___pop(var_p
);
6522 var_nodearraylist1
= var3
;
6523 var_pmethidnode1
= var_nodearraylist3
;
6524 var_node_list
= var_pmethidnode1
;
6525 var4
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction443> */
6527 var5
= nit___nit__Parser___go_to(var_p
, var4
);
6530 nit___nit__Parser___push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6534 /* method parser#ReduceAction445#action for (self: ReduceAction445, Parser) */
6535 void nit__parser___nit__parser__ReduceAction445___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6536 val
* var_p
/* var p: Parser */;
6537 val
* var
/* : null */;
6538 val
* var_node_list
/* var node_list: nullable Object */;
6539 val
* var1
/* : nullable Object */;
6540 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6541 val
* var2
/* : nullable Object */;
6542 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6543 val
* var3
/* : nullable Object */;
6544 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6545 val
* var_tidnode1
/* var tidnode1: nullable Object */;
6546 long var4
/* : Int */;
6547 long var5
/* : Int */;
6550 var_node_list
= var
;
6552 var1
= nit___nit__Parser___pop(var_p
);
6554 var_nodearraylist3
= var1
;
6556 var2
= nit___nit__Parser___pop(var_p
);
6558 var_nodearraylist2
= var2
;
6560 var3
= nit___nit__Parser___pop(var_p
);
6562 var_nodearraylist1
= var3
;
6563 var_tidnode1
= var_nodearraylist1
;
6564 var_node_list
= var_tidnode1
;
6565 var4
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction445> */
6567 var5
= nit___nit__Parser___go_to(var_p
, var4
);
6570 nit___nit__Parser___push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6574 /* method parser#ReduceAction446#action for (self: ReduceAction446, Parser) */
6575 void nit__parser___nit__parser__ReduceAction446___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6576 val
* var_p
/* var p: Parser */;
6577 val
* var
/* : null */;
6578 val
* var_node_list
/* var node_list: nullable Object */;
6579 val
* var1
/* : nullable Object */;
6580 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6581 val
* var2
/* : nullable Object */;
6582 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6583 val
* var3
/* : nullable Object */;
6584 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6585 val
* var_tclassidnode1
/* var tclassidnode1: nullable Object */;
6586 long var4
/* : Int */;
6587 long var5
/* : Int */;
6590 var_node_list
= var
;
6592 var1
= nit___nit__Parser___pop(var_p
);
6594 var_nodearraylist3
= var1
;
6596 var2
= nit___nit__Parser___pop(var_p
);
6598 var_nodearraylist2
= var2
;
6600 var3
= nit___nit__Parser___pop(var_p
);
6602 var_nodearraylist1
= var3
;
6603 var_tclassidnode1
= var_nodearraylist1
;
6604 var_node_list
= var_tclassidnode1
;
6605 var4
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction446> */
6607 var5
= nit___nit__Parser___go_to(var_p
, var4
);
6610 nit___nit__Parser___push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6614 /* method parser#ReduceAction448#action for (self: ReduceAction448, Parser) */
6615 void nit__parser___nit__parser__ReduceAction448___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6616 val
* var_p
/* var p: Parser */;
6617 val
* var
/* : null */;
6618 val
* var_node_list
/* var node_list: nullable Object */;
6619 val
* var1
/* : nullable Object */;
6620 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6621 val
* var_tkwendnode1
/* var tkwendnode1: nullable Object */;
6622 long var2
/* : Int */;
6623 long var3
/* : Int */;
6626 var_node_list
= var
;
6628 var1
= nit___nit__Parser___pop(var_p
);
6630 var_nodearraylist1
= var1
;
6631 var_tkwendnode1
= var_nodearraylist1
;
6632 var_node_list
= var_tkwendnode1
;
6633 var2
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction448> */
6635 var3
= nit___nit__Parser___go_to(var_p
, var2
);
6638 nit___nit__Parser___push(var_p
, var3
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6642 /* method parser#ReduceAction449#action for (self: ReduceAction449, Parser) */
6643 void nit__parser___nit__parser__ReduceAction449___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6644 val
* var_p
/* var p: Parser */;
6645 val
* var
/* : null */;
6646 val
* var_node_list
/* var node_list: nullable Object */;
6647 val
* var1
/* : nullable Object */;
6648 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6649 long var2
/* : Int */;
6650 long var3
/* : Int */;
6653 var_node_list
= var
;
6655 var1
= nit___nit__Parser___pop(var_p
);
6657 var_nodearraylist1
= var1
;
6658 var2
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction449> */
6660 var3
= nit___nit__Parser___go_to(var_p
, var2
);
6663 nit___nit__Parser___push(var_p
, var3
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6667 /* method parser#ReduceAction451#action for (self: ReduceAction451, Parser) */
6668 void nit__parser___nit__parser__ReduceAction451___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6669 val
* var_p
/* var p: Parser */;
6670 val
* var
/* : null */;
6671 val
* var_node_list
/* var node_list: nullable Object */;
6672 val
* var1
/* : nullable Object */;
6673 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6674 val
* var2
/* : Array[Object] */;
6675 val
* var_listnode3
/* var listnode3: Array[Object] */;
6676 val
* var_listnode2
/* var listnode2: nullable Object */;
6677 short int var3
/* : Bool */;
6680 val
* var4
/* : Array[Object] */;
6681 val
* var5
/* : ADoc */;
6682 val
* var_pdocnode1
/* var pdocnode1: nullable ADoc */;
6683 long var6
/* : Int */;
6684 long var7
/* : Int */;
6687 var_node_list
= var
;
6689 var1
= nit___nit__Parser___pop(var_p
);
6691 var_nodearraylist1
= var1
;
6692 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6694 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
6696 var_listnode3
= var2
;
6697 var_listnode2
= var_nodearraylist1
;
6698 /* <var_listnode2:nullable Object> isa Array[Object] */
6699 cltype
= type_standard__Array__standard__Object
.color
;
6700 idtype
= type_standard__Array__standard__Object
.id
;
6701 if(var_listnode2
== NULL
) {
6704 if(cltype
>= var_listnode2
->type
->table_size
) {
6707 var3
= var_listnode2
->type
->type_table
[cltype
] == idtype
;
6710 if (unlikely(!var3
)) {
6711 PRINT_ERROR("Runtime error: %s", "Assert failed");
6712 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10612);
6716 var4
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode2
);
6718 var_listnode3
= var4
;
6719 var5
= NEW_nit__ADoc(&type_nit__ADoc
);
6721 nit__parser_prod___ADoc___init_adoc(var5
, var_listnode3
); /* Direct call parser_prod#ADoc#init_adoc on <var5:ADoc>*/
6723 var_pdocnode1
= var5
;
6724 var_node_list
= var_pdocnode1
;
6725 var6
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction451> */
6727 var7
= nit___nit__Parser___go_to(var_p
, var6
);
6730 nit___nit__Parser___push(var_p
, var7
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6734 /* method parser#ReduceAction452#action for (self: ReduceAction452, Parser) */
6735 void nit__parser___nit__parser__ReduceAction452___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6736 val
* var_p
/* var p: Parser */;
6737 val
* var
/* : null */;
6738 val
* var_node_list
/* var node_list: nullable Object */;
6739 val
* var1
/* : nullable Object */;
6740 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6741 val
* var2
/* : nullable Object */;
6742 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6743 val
* var3
/* : Array[Object] */;
6744 val
* var_listnode3
/* var listnode3: Array[Object] */;
6745 val
* var_listnode2
/* var listnode2: nullable Object */;
6746 short int var4
/* : Bool */;
6749 val
* var5
/* : Array[Object] */;
6750 val
* var6
/* : ADoc */;
6751 val
* var_pdocnode1
/* var pdocnode1: nullable ADoc */;
6752 long var7
/* : Int */;
6753 long var8
/* : Int */;
6756 var_node_list
= var
;
6758 var1
= nit___nit__Parser___pop(var_p
);
6760 var_nodearraylist2
= var1
;
6762 var2
= nit___nit__Parser___pop(var_p
);
6764 var_nodearraylist1
= var2
;
6765 var3
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6767 standard___standard__Array___standard__kernel__Object__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
6769 var_listnode3
= var3
;
6770 var_listnode2
= var_nodearraylist2
;
6771 /* <var_listnode2:nullable Object> isa Array[Object] */
6772 cltype
= type_standard__Array__standard__Object
.color
;
6773 idtype
= type_standard__Array__standard__Object
.id
;
6774 if(var_listnode2
== NULL
) {
6777 if(cltype
>= var_listnode2
->type
->table_size
) {
6780 var4
= var_listnode2
->type
->type_table
[cltype
] == idtype
;
6783 if (unlikely(!var4
)) {
6784 PRINT_ERROR("Runtime error: %s", "Assert failed");
6785 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10630);
6789 var5
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode2
);
6791 var_listnode3
= var5
;
6792 var6
= NEW_nit__ADoc(&type_nit__ADoc
);
6794 nit__parser_prod___ADoc___init_adoc(var6
, var_listnode3
); /* Direct call parser_prod#ADoc#init_adoc on <var6:ADoc>*/
6796 var_pdocnode1
= var6
;
6797 var_node_list
= var_pdocnode1
;
6798 var7
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction452> */
6800 var8
= nit___nit__Parser___go_to(var_p
, var7
);
6803 nit___nit__Parser___push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6807 /* method parser#ReduceAction455#action for (self: ReduceAction455, Parser) */
6808 void nit__parser___nit__parser__ReduceAction455___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6809 val
* var_p
/* var p: Parser */;
6810 val
* var
/* : null */;
6811 val
* var_node_list
/* var node_list: nullable Object */;
6812 val
* var1
/* : nullable Object */;
6813 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6814 val
* var_pdocnode1
/* var pdocnode1: nullable Object */;
6815 long var2
/* : Int */;
6816 long var3
/* : Int */;
6819 var_node_list
= var
;
6821 var1
= nit___nit__Parser___pop(var_p
);
6823 var_nodearraylist1
= var1
;
6824 var_pdocnode1
= var_nodearraylist1
;
6825 var_node_list
= var_pdocnode1
;
6826 var2
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction455> */
6828 var3
= nit___nit__Parser___go_to(var_p
, var2
);
6831 nit___nit__Parser___push(var_p
, var3
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6835 /* method parser#ReduceAction456#action for (self: ReduceAction456, Parser) */
6836 void nit__parser___nit__parser__ReduceAction456___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6837 val
* var_p
/* var p: Parser */;
6838 val
* var
/* : null */;
6839 val
* var_node_list
/* var node_list: nullable Object */;
6840 val
* var1
/* : nullable Object */;
6841 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6842 val
* var2
/* : nullable Object */;
6843 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6844 long var3
/* : Int */;
6845 long var4
/* : Int */;
6848 var_node_list
= var
;
6850 var1
= nit___nit__Parser___pop(var_p
);
6852 var_nodearraylist2
= var1
;
6854 var2
= nit___nit__Parser___pop(var_p
);
6856 var_nodearraylist1
= var2
;
6857 var3
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction456> */
6859 var4
= nit___nit__Parser___go_to(var_p
, var3
);
6862 nit___nit__Parser___push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6866 /* method parser#ReduceAction457#action for (self: ReduceAction457, Parser) */
6867 void nit__parser___nit__parser__ReduceAction457___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6868 val
* var_p
/* var p: Parser */;
6869 val
* var
/* : null */;
6870 val
* var_node_list
/* var node_list: nullable Object */;
6871 val
* var1
/* : nullable Object */;
6872 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6873 val
* var2
/* : nullable Object */;
6874 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6875 val
* var3
/* : nullable Object */;
6876 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6877 long var4
/* : Int */;
6878 long var5
/* : Int */;
6881 var_node_list
= var
;
6883 var1
= nit___nit__Parser___pop(var_p
);
6885 var_nodearraylist3
= var1
;
6887 var2
= nit___nit__Parser___pop(var_p
);
6889 var_nodearraylist2
= var2
;
6891 var3
= nit___nit__Parser___pop(var_p
);
6893 var_nodearraylist1
= var3
;
6894 var4
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction457> */
6896 var5
= nit___nit__Parser___go_to(var_p
, var4
);
6899 nit___nit__Parser___push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6903 /* method parser#ReduceAction786#action for (self: ReduceAction786, Parser) */
6904 void nit__parser___nit__parser__ReduceAction786___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6905 val
* var_p
/* var p: Parser */;
6906 val
* var
/* : null */;
6907 val
* var_node_list
/* var node_list: nullable Object */;
6908 val
* var1
/* : nullable Object */;
6909 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6910 val
* var2
/* : nullable Object */;
6911 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6912 val
* var3
/* : nullable Object */;
6913 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6914 val
* var4
/* : nullable Object */;
6915 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6916 val
* var_tkwissetnode2
/* var tkwissetnode2: nullable Object */;
6917 short int var5
/* : Bool */;
6920 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
6921 short int var6
/* : Bool */;
6924 val
* var_tattridnode4
/* var tattridnode4: nullable Object */;
6925 short int var9
/* : Bool */;
6928 val
* var12
/* : AIssetAttrExpr */;
6929 val
* var_pexprnode1
/* var pexprnode1: nullable AIssetAttrExpr */;
6930 long var13
/* : Int */;
6931 long var14
/* : Int */;
6934 var_node_list
= var
;
6936 var1
= nit___nit__Parser___pop(var_p
);
6938 var_nodearraylist4
= var1
;
6940 var2
= nit___nit__Parser___pop(var_p
);
6942 var_nodearraylist3
= var2
;
6944 var3
= nit___nit__Parser___pop(var_p
);
6946 var_nodearraylist2
= var3
;
6948 var4
= nit___nit__Parser___pop(var_p
);
6950 var_nodearraylist1
= var4
;
6951 var_tkwissetnode2
= var_nodearraylist1
;
6952 /* <var_tkwissetnode2:nullable Object> isa nullable TKwisset */
6953 cltype
= type_nullable__nit__TKwisset
.color
;
6954 idtype
= type_nullable__nit__TKwisset
.id
;
6955 if(var_tkwissetnode2
== NULL
) {
6958 if(cltype
>= var_tkwissetnode2
->type
->table_size
) {
6961 var5
= var_tkwissetnode2
->type
->type_table
[cltype
] == idtype
;
6964 if (unlikely(!var5
)) {
6965 PRINT_ERROR("Runtime error: %s", "Assert failed");
6966 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10681);
6969 var_pexprnode3
= var_nodearraylist2
;
6970 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
6971 cltype7
= type_nullable__nit__AExpr
.color
;
6972 idtype8
= type_nullable__nit__AExpr
.id
;
6973 if(var_pexprnode3
== NULL
) {
6976 if(cltype7
>= var_pexprnode3
->type
->table_size
) {
6979 var6
= var_pexprnode3
->type
->type_table
[cltype7
] == idtype8
;
6982 if (unlikely(!var6
)) {
6983 PRINT_ERROR("Runtime error: %s", "Assert failed");
6984 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10683);
6987 var_tattridnode4
= var_nodearraylist4
;
6988 /* <var_tattridnode4:nullable Object> isa nullable TAttrid */
6989 cltype10
= type_nullable__nit__TAttrid
.color
;
6990 idtype11
= type_nullable__nit__TAttrid
.id
;
6991 if(var_tattridnode4
== NULL
) {
6994 if(cltype10
>= var_tattridnode4
->type
->table_size
) {
6997 var9
= var_tattridnode4
->type
->type_table
[cltype10
] == idtype11
;
7000 if (unlikely(!var9
)) {
7001 PRINT_ERROR("Runtime error: %s", "Assert failed");
7002 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10685);
7005 var12
= NEW_nit__AIssetAttrExpr(&type_nit__AIssetAttrExpr
);
7007 nit__parser_prod___AIssetAttrExpr___init_aissetattrexpr(var12
, var_tkwissetnode2
, var_pexprnode3
, var_tattridnode4
); /* Direct call parser_prod#AIssetAttrExpr#init_aissetattrexpr on <var12:AIssetAttrExpr>*/
7009 var_pexprnode1
= var12
;
7010 var_node_list
= var_pexprnode1
;
7011 var13
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction786> */
7013 var14
= nit___nit__Parser___go_to(var_p
, var13
);
7016 nit___nit__Parser___push(var_p
, var14
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7020 /* method parser#ReduceAction788#action for (self: ReduceAction788, Parser) */
7021 void nit__parser___nit__parser__ReduceAction788___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7022 val
* var_p
/* var p: Parser */;
7023 val
* var
/* : null */;
7024 val
* var_node_list
/* var node_list: nullable Object */;
7025 val
* var1
/* : nullable Object */;
7026 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7027 val
* var2
/* : nullable Object */;
7028 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7029 val
* var3
/* : nullable Object */;
7030 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7031 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
7032 short int var4
/* : Bool */;
7035 val
* var_tattridnode3
/* var tattridnode3: nullable Object */;
7036 short int var5
/* : Bool */;
7039 val
* var8
/* : AAttrExpr */;
7040 val
* var_pexprnode1
/* var pexprnode1: nullable AAttrExpr */;
7041 long var9
/* : Int */;
7042 long var10
/* : Int */;
7045 var_node_list
= var
;
7047 var1
= nit___nit__Parser___pop(var_p
);
7049 var_nodearraylist3
= var1
;
7051 var2
= nit___nit__Parser___pop(var_p
);
7053 var_nodearraylist2
= var2
;
7055 var3
= nit___nit__Parser___pop(var_p
);
7057 var_nodearraylist1
= var3
;
7058 var_pexprnode2
= var_nodearraylist1
;
7059 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
7060 cltype
= type_nullable__nit__AExpr
.color
;
7061 idtype
= type_nullable__nit__AExpr
.id
;
7062 if(var_pexprnode2
== NULL
) {
7065 if(cltype
>= var_pexprnode2
->type
->table_size
) {
7068 var4
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
7071 if (unlikely(!var4
)) {
7072 PRINT_ERROR("Runtime error: %s", "Assert failed");
7073 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10704);
7076 var_tattridnode3
= var_nodearraylist3
;
7077 /* <var_tattridnode3:nullable Object> isa nullable TAttrid */
7078 cltype6
= type_nullable__nit__TAttrid
.color
;
7079 idtype7
= type_nullable__nit__TAttrid
.id
;
7080 if(var_tattridnode3
== NULL
) {
7083 if(cltype6
>= var_tattridnode3
->type
->table_size
) {
7086 var5
= var_tattridnode3
->type
->type_table
[cltype6
] == idtype7
;
7089 if (unlikely(!var5
)) {
7090 PRINT_ERROR("Runtime error: %s", "Assert failed");
7091 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10706);
7094 var8
= NEW_nit__AAttrExpr(&type_nit__AAttrExpr
);
7096 nit__parser_prod___AAttrExpr___init_aattrexpr(var8
, var_pexprnode2
, var_tattridnode3
); /* Direct call parser_prod#AAttrExpr#init_aattrexpr on <var8:AAttrExpr>*/
7098 var_pexprnode1
= var8
;
7099 var_node_list
= var_pexprnode1
;
7100 var9
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction788> */
7102 var10
= nit___nit__Parser___go_to(var_p
, var9
);
7105 nit___nit__Parser___push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7109 /* method parser#ReduceAction789#action for (self: ReduceAction789, Parser) */
7110 void nit__parser___nit__parser__ReduceAction789___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7111 val
* var_p
/* var p: Parser */;
7112 val
* var
/* : null */;
7113 val
* var_node_list
/* var node_list: nullable Object */;
7114 val
* var1
/* : nullable Object */;
7115 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7116 val
* var2
/* : nullable Object */;
7117 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7118 val
* var3
/* : nullable Object */;
7119 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7120 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
7121 short int var4
/* : Bool */;
7124 val
* var_tidnode3
/* var tidnode3: nullable Object */;
7125 short int var5
/* : Bool */;
7128 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
7129 short int var8
/* : Bool */;
7132 val
* var11
/* : ACallExpr */;
7133 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
7134 long var12
/* : Int */;
7135 long var13
/* : Int */;
7138 var_node_list
= var
;
7140 var1
= nit___nit__Parser___pop(var_p
);
7142 var_nodearraylist3
= var1
;
7144 var2
= nit___nit__Parser___pop(var_p
);
7146 var_nodearraylist2
= var2
;
7148 var3
= nit___nit__Parser___pop(var_p
);
7150 var_nodearraylist1
= var3
;
7151 var_pexprnode2
= var_nodearraylist1
;
7152 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
7153 cltype
= type_nullable__nit__AExpr
.color
;
7154 idtype
= type_nullable__nit__AExpr
.id
;
7155 if(var_pexprnode2
== NULL
) {
7158 if(cltype
>= var_pexprnode2
->type
->table_size
) {
7161 var4
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
7164 if (unlikely(!var4
)) {
7165 PRINT_ERROR("Runtime error: %s", "Assert failed");
7166 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10724);
7169 var_tidnode3
= var_nodearraylist2
;
7170 /* <var_tidnode3:nullable Object> isa nullable TId */
7171 cltype6
= type_nullable__nit__TId
.color
;
7172 idtype7
= type_nullable__nit__TId
.id
;
7173 if(var_tidnode3
== NULL
) {
7176 if(cltype6
>= var_tidnode3
->type
->table_size
) {
7179 var5
= var_tidnode3
->type
->type_table
[cltype6
] == idtype7
;
7182 if (unlikely(!var5
)) {
7183 PRINT_ERROR("Runtime error: %s", "Assert failed");
7184 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10726);
7187 var_pexprsnode4
= var_nodearraylist3
;
7188 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
7189 cltype9
= type_nullable__nit__AExprs
.color
;
7190 idtype10
= type_nullable__nit__AExprs
.id
;
7191 if(var_pexprsnode4
== NULL
) {
7194 if(cltype9
>= var_pexprsnode4
->type
->table_size
) {
7197 var8
= var_pexprsnode4
->type
->type_table
[cltype9
] == idtype10
;
7200 if (unlikely(!var8
)) {
7201 PRINT_ERROR("Runtime error: %s", "Assert failed");
7202 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10728);
7205 var11
= NEW_nit__ACallExpr(&type_nit__ACallExpr
);
7207 nit__parser_prod___ACallExpr___init_acallexpr(var11
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var11:ACallExpr>*/
7209 var_pexprnode1
= var11
;
7210 var_node_list
= var_pexprnode1
;
7211 var12
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction789> */
7213 var13
= nit___nit__Parser___go_to(var_p
, var12
);
7216 nit___nit__Parser___push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7220 /* method parser#ReduceAction790#action for (self: ReduceAction790, Parser) */
7221 void nit__parser___nit__parser__ReduceAction790___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7222 val
* var_p
/* var p: Parser */;
7223 val
* var
/* : null */;
7224 val
* var_node_list
/* var node_list: nullable Object */;
7225 val
* var1
/* : nullable Object */;
7226 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7227 val
* var2
/* : nullable Object */;
7228 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7229 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
7230 short int var3
/* : Bool */;
7233 val
* var_tidnode3
/* var tidnode3: nullable Object */;
7234 short int var4
/* : Bool */;
7237 val
* var7
/* : Array[Object] */;
7238 val
* var_listnode5
/* var listnode5: Array[Object] */;
7239 val
* var8
/* : AListExprs */;
7240 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
7241 val
* var9
/* : ACallExpr */;
7242 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
7243 long var10
/* : Int */;
7244 long var11
/* : Int */;
7247 var_node_list
= var
;
7249 var1
= nit___nit__Parser___pop(var_p
);
7251 var_nodearraylist2
= var1
;
7253 var2
= nit___nit__Parser___pop(var_p
);
7255 var_nodearraylist1
= var2
;
7256 var_pexprnode2
= var_nodearraylist1
;
7257 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
7258 cltype
= type_nullable__nit__AExpr
.color
;
7259 idtype
= type_nullable__nit__AExpr
.id
;
7260 if(var_pexprnode2
== NULL
) {
7263 if(cltype
>= var_pexprnode2
->type
->table_size
) {
7266 var3
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
7269 if (unlikely(!var3
)) {
7270 PRINT_ERROR("Runtime error: %s", "Assert failed");
7271 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10746);
7274 var_tidnode3
= var_nodearraylist2
;
7275 /* <var_tidnode3:nullable Object> isa nullable TId */
7276 cltype5
= type_nullable__nit__TId
.color
;
7277 idtype6
= type_nullable__nit__TId
.id
;
7278 if(var_tidnode3
== NULL
) {
7281 if(cltype5
>= var_tidnode3
->type
->table_size
) {
7284 var4
= var_tidnode3
->type
->type_table
[cltype5
] == idtype6
;
7287 if (unlikely(!var4
)) {
7288 PRINT_ERROR("Runtime error: %s", "Assert failed");
7289 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10748);
7292 var7
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7294 standard___standard__Array___standard__kernel__Object__init(var7
); /* Direct call array#Array#init on <var7:Array[Object]>*/
7296 var_listnode5
= var7
;
7297 var8
= NEW_nit__AListExprs(&type_nit__AListExprs
);
7299 nit__parser_prod___AListExprs___init_alistexprs(var8
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var8:AListExprs>*/
7301 var_pexprsnode4
= var8
;
7302 var9
= NEW_nit__ACallExpr(&type_nit__ACallExpr
);
7304 nit__parser_prod___ACallExpr___init_acallexpr(var9
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var9:ACallExpr>*/
7306 var_pexprnode1
= var9
;
7307 var_node_list
= var_pexprnode1
;
7308 var10
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction790> */
7310 var11
= nit___nit__Parser___go_to(var_p
, var10
);
7313 nit___nit__Parser___push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7317 /* method parser#ReduceAction791#action for (self: ReduceAction791, Parser) */
7318 void nit__parser___nit__parser__ReduceAction791___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7319 val
* var_p
/* var p: Parser */;
7320 val
* var
/* : null */;
7321 val
* var_node_list
/* var node_list: nullable Object */;
7322 val
* var1
/* : nullable Object */;
7323 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7324 val
* var2
/* : nullable Object */;
7325 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7326 val
* var3
/* : nullable Object */;
7327 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7328 val
* var4
/* : nullable Object */;
7329 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7330 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
7331 short int var5
/* : Bool */;
7334 val
* var_tidnode3
/* var tidnode3: nullable Object */;
7335 short int var6
/* : Bool */;
7338 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
7339 short int var9
/* : Bool */;
7342 val
* var12
/* : ACallExpr */;
7343 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
7344 long var13
/* : Int */;
7345 long var14
/* : Int */;
7348 var_node_list
= var
;
7350 var1
= nit___nit__Parser___pop(var_p
);
7352 var_nodearraylist4
= var1
;
7354 var2
= nit___nit__Parser___pop(var_p
);
7356 var_nodearraylist3
= var2
;
7358 var3
= nit___nit__Parser___pop(var_p
);
7360 var_nodearraylist2
= var3
;
7362 var4
= nit___nit__Parser___pop(var_p
);
7364 var_nodearraylist1
= var4
;
7365 var_pexprnode2
= var_nodearraylist1
;
7366 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
7367 cltype
= type_nullable__nit__AExpr
.color
;
7368 idtype
= type_nullable__nit__AExpr
.id
;
7369 if(var_pexprnode2
== NULL
) {
7372 if(cltype
>= var_pexprnode2
->type
->table_size
) {
7375 var5
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
7378 if (unlikely(!var5
)) {
7379 PRINT_ERROR("Runtime error: %s", "Assert failed");
7380 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10772);
7383 var_tidnode3
= var_nodearraylist3
;
7384 /* <var_tidnode3:nullable Object> isa nullable TId */
7385 cltype7
= type_nullable__nit__TId
.color
;
7386 idtype8
= type_nullable__nit__TId
.id
;
7387 if(var_tidnode3
== NULL
) {
7390 if(cltype7
>= var_tidnode3
->type
->table_size
) {
7393 var6
= var_tidnode3
->type
->type_table
[cltype7
] == idtype8
;
7396 if (unlikely(!var6
)) {
7397 PRINT_ERROR("Runtime error: %s", "Assert failed");
7398 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10774);
7401 var_pexprsnode4
= var_nodearraylist4
;
7402 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
7403 cltype10
= type_nullable__nit__AExprs
.color
;
7404 idtype11
= type_nullable__nit__AExprs
.id
;
7405 if(var_pexprsnode4
== NULL
) {
7408 if(cltype10
>= var_pexprsnode4
->type
->table_size
) {
7411 var9
= var_pexprsnode4
->type
->type_table
[cltype10
] == idtype11
;
7414 if (unlikely(!var9
)) {
7415 PRINT_ERROR("Runtime error: %s", "Assert failed");
7416 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10776);
7419 var12
= NEW_nit__ACallExpr(&type_nit__ACallExpr
);
7421 nit__parser_prod___ACallExpr___init_acallexpr(var12
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var12:ACallExpr>*/
7423 var_pexprnode1
= var12
;
7424 var_node_list
= var_pexprnode1
;
7425 var13
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction791> */
7427 var14
= nit___nit__Parser___go_to(var_p
, var13
);
7430 nit___nit__Parser___push(var_p
, var14
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7434 /* method parser#ReduceAction792#action for (self: ReduceAction792, Parser) */
7435 void nit__parser___nit__parser__ReduceAction792___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7436 val
* var_p
/* var p: Parser */;
7437 val
* var
/* : null */;
7438 val
* var_node_list
/* var node_list: nullable Object */;
7439 val
* var1
/* : nullable Object */;
7440 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7441 val
* var2
/* : nullable Object */;
7442 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7443 val
* var3
/* : nullable Object */;
7444 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7445 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
7446 short int var4
/* : Bool */;
7449 val
* var_tidnode3
/* var tidnode3: nullable Object */;
7450 short int var5
/* : Bool */;
7453 val
* var8
/* : Array[Object] */;
7454 val
* var_listnode5
/* var listnode5: Array[Object] */;
7455 val
* var9
/* : AListExprs */;
7456 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
7457 val
* var10
/* : ACallExpr */;
7458 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
7459 long var11
/* : Int */;
7460 long var12
/* : Int */;
7463 var_node_list
= var
;
7465 var1
= nit___nit__Parser___pop(var_p
);
7467 var_nodearraylist3
= var1
;
7469 var2
= nit___nit__Parser___pop(var_p
);
7471 var_nodearraylist2
= var2
;
7473 var3
= nit___nit__Parser___pop(var_p
);
7475 var_nodearraylist1
= var3
;
7476 var_pexprnode2
= var_nodearraylist1
;
7477 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
7478 cltype
= type_nullable__nit__AExpr
.color
;
7479 idtype
= type_nullable__nit__AExpr
.id
;
7480 if(var_pexprnode2
== NULL
) {
7483 if(cltype
>= var_pexprnode2
->type
->table_size
) {
7486 var4
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
7489 if (unlikely(!var4
)) {
7490 PRINT_ERROR("Runtime error: %s", "Assert failed");
7491 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10795);
7494 var_tidnode3
= var_nodearraylist3
;
7495 /* <var_tidnode3:nullable Object> isa nullable TId */
7496 cltype6
= type_nullable__nit__TId
.color
;
7497 idtype7
= type_nullable__nit__TId
.id
;
7498 if(var_tidnode3
== NULL
) {
7501 if(cltype6
>= var_tidnode3
->type
->table_size
) {
7504 var5
= var_tidnode3
->type
->type_table
[cltype6
] == idtype7
;
7507 if (unlikely(!var5
)) {
7508 PRINT_ERROR("Runtime error: %s", "Assert failed");
7509 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10797);
7512 var8
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7514 standard___standard__Array___standard__kernel__Object__init(var8
); /* Direct call array#Array#init on <var8:Array[Object]>*/
7516 var_listnode5
= var8
;
7517 var9
= NEW_nit__AListExprs(&type_nit__AListExprs
);
7519 nit__parser_prod___AListExprs___init_alistexprs(var9
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var9:AListExprs>*/
7521 var_pexprsnode4
= var9
;
7522 var10
= NEW_nit__ACallExpr(&type_nit__ACallExpr
);
7524 nit__parser_prod___ACallExpr___init_acallexpr(var10
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var10:ACallExpr>*/
7526 var_pexprnode1
= var10
;
7527 var_node_list
= var_pexprnode1
;
7528 var11
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction792> */
7530 var12
= nit___nit__Parser___go_to(var_p
, var11
);
7533 nit___nit__Parser___push(var_p
, var12
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7537 /* method parser#ReduceAction799#action for (self: ReduceAction799, Parser) */
7538 void nit__parser___nit__parser__ReduceAction799___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7539 val
* var_p
/* var p: Parser */;
7540 val
* var
/* : null */;
7541 val
* var_node_list
/* var node_list: nullable Object */;
7542 val
* var1
/* : nullable Object */;
7543 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7544 val
* var2
/* : nullable Object */;
7545 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7546 val
* var3
/* : nullable Object */;
7547 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7548 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
7549 short int var4
/* : Bool */;
7552 val
* var_tkwinitnode3
/* var tkwinitnode3: nullable Object */;
7553 short int var5
/* : Bool */;
7556 val
* var_pexprsnode4
/* var pexprsnode4: nullable Object */;
7557 short int var8
/* : Bool */;
7560 val
* var11
/* : AInitExpr */;
7561 val
* var_pexprnode1
/* var pexprnode1: nullable AInitExpr */;
7562 long var12
/* : Int */;
7563 long var13
/* : Int */;
7566 var_node_list
= var
;
7568 var1
= nit___nit__Parser___pop(var_p
);
7570 var_nodearraylist3
= var1
;
7572 var2
= nit___nit__Parser___pop(var_p
);
7574 var_nodearraylist2
= var2
;
7576 var3
= nit___nit__Parser___pop(var_p
);
7578 var_nodearraylist1
= var3
;
7579 var_pexprnode2
= var_nodearraylist1
;
7580 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
7581 cltype
= type_nullable__nit__AExpr
.color
;
7582 idtype
= type_nullable__nit__AExpr
.id
;
7583 if(var_pexprnode2
== NULL
) {
7586 if(cltype
>= var_pexprnode2
->type
->table_size
) {
7589 var4
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
7592 if (unlikely(!var4
)) {
7593 PRINT_ERROR("Runtime error: %s", "Assert failed");
7594 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10820);
7597 var_tkwinitnode3
= var_nodearraylist2
;
7598 /* <var_tkwinitnode3:nullable Object> isa nullable TKwinit */
7599 cltype6
= type_nullable__nit__TKwinit
.color
;
7600 idtype7
= type_nullable__nit__TKwinit
.id
;
7601 if(var_tkwinitnode3
== NULL
) {
7604 if(cltype6
>= var_tkwinitnode3
->type
->table_size
) {
7607 var5
= var_tkwinitnode3
->type
->type_table
[cltype6
] == idtype7
;
7610 if (unlikely(!var5
)) {
7611 PRINT_ERROR("Runtime error: %s", "Assert failed");
7612 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10822);
7615 var_pexprsnode4
= var_nodearraylist3
;
7616 /* <var_pexprsnode4:nullable Object> isa nullable AExprs */
7617 cltype9
= type_nullable__nit__AExprs
.color
;
7618 idtype10
= type_nullable__nit__AExprs
.id
;
7619 if(var_pexprsnode4
== NULL
) {
7622 if(cltype9
>= var_pexprsnode4
->type
->table_size
) {
7625 var8
= var_pexprsnode4
->type
->type_table
[cltype9
] == idtype10
;
7628 if (unlikely(!var8
)) {
7629 PRINT_ERROR("Runtime error: %s", "Assert failed");
7630 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10824);
7633 var11
= NEW_nit__AInitExpr(&type_nit__AInitExpr
);
7635 nit__parser_prod___AInitExpr___init_ainitexpr(var11
, var_pexprnode2
, var_tkwinitnode3
, var_pexprsnode4
); /* Direct call parser_prod#AInitExpr#init_ainitexpr on <var11:AInitExpr>*/
7637 var_pexprnode1
= var11
;
7638 var_node_list
= var_pexprnode1
;
7639 var12
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction799> */
7641 var13
= nit___nit__Parser___go_to(var_p
, var12
);
7644 nit___nit__Parser___push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7648 /* method parser#ReduceAction800#action for (self: ReduceAction800, Parser) */
7649 void nit__parser___nit__parser__ReduceAction800___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7650 val
* var_p
/* var p: Parser */;
7651 val
* var
/* : null */;
7652 val
* var_node_list
/* var node_list: nullable Object */;
7653 val
* var1
/* : nullable Object */;
7654 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7655 val
* var2
/* : nullable Object */;
7656 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7657 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
7658 short int var3
/* : Bool */;
7661 val
* var_tkwinitnode3
/* var tkwinitnode3: nullable Object */;
7662 short int var4
/* : Bool */;
7665 val
* var7
/* : Array[Object] */;
7666 val
* var_listnode5
/* var listnode5: Array[Object] */;
7667 val
* var8
/* : AListExprs */;
7668 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
7669 val
* var9
/* : AInitExpr */;
7670 val
* var_pexprnode1
/* var pexprnode1: nullable AInitExpr */;
7671 long var10
/* : Int */;
7672 long var11
/* : Int */;
7675 var_node_list
= var
;
7677 var1
= nit___nit__Parser___pop(var_p
);
7679 var_nodearraylist2
= var1
;
7681 var2
= nit___nit__Parser___pop(var_p
);
7683 var_nodearraylist1
= var2
;
7684 var_pexprnode2
= var_nodearraylist1
;
7685 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
7686 cltype
= type_nullable__nit__AExpr
.color
;
7687 idtype
= type_nullable__nit__AExpr
.id
;
7688 if(var_pexprnode2
== NULL
) {
7691 if(cltype
>= var_pexprnode2
->type
->table_size
) {
7694 var3
= var_pexprnode2
->type
->type_table
[cltype
] == idtype
;
7697 if (unlikely(!var3
)) {
7698 PRINT_ERROR("Runtime error: %s", "Assert failed");
7699 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10842);
7702 var_tkwinitnode3
= var_nodearraylist2
;
7703 /* <var_tkwinitnode3:nullable Object> isa nullable TKwinit */
7704 cltype5
= type_nullable__nit__TKwinit
.color
;
7705 idtype6
= type_nullable__nit__TKwinit
.id
;
7706 if(var_tkwinitnode3
== NULL
) {
7709 if(cltype5
>= var_tkwinitnode3
->type
->table_size
) {
7712 var4
= var_tkwinitnode3
->type
->type_table
[cltype5
] == idtype6
;
7715 if (unlikely(!var4
)) {
7716 PRINT_ERROR("Runtime error: %s", "Assert failed");
7717 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10844);
7720 var7
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7722 standard___standard__Array___standard__kernel__Object__init(var7
); /* Direct call array#Array#init on <var7:Array[Object]>*/
7724 var_listnode5
= var7
;
7725 var8
= NEW_nit__AListExprs(&type_nit__AListExprs
);
7727 nit__parser_prod___AListExprs___init_alistexprs(var8
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var8:AListExprs>*/
7729 var_pexprsnode4
= var8
;
7730 var9
= NEW_nit__AInitExpr(&type_nit__AInitExpr
);
7732 nit__parser_prod___AInitExpr___init_ainitexpr(var9
, var_pexprnode2
, var_tkwinitnode3
, var_pexprsnode4
); /* Direct call parser_prod#AInitExpr#init_ainitexpr on <var9:AInitExpr>*/
7734 var_pexprnode1
= var9
;
7735 var_node_list
= var_pexprnode1
;
7736 var10
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction800> */
7738 var11
= nit___nit__Parser___go_to(var_p
, var10
);
7741 nit___nit__Parser___push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7745 /* method parser#ReduceAction823#action for (self: ReduceAction823, Parser) */
7746 void nit__parser___nit__parser__ReduceAction823___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7747 val
* var_p
/* var p: Parser */;
7748 val
* var
/* : null */;
7749 val
* var_node_list
/* var node_list: nullable Object */;
7750 val
* var1
/* : nullable Object */;
7751 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7752 val
* var2
/* : nullable Object */;
7753 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7754 val
* var3
/* : nullable Object */;
7755 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7756 val
* var_pexprnode1
/* var pexprnode1: nullable Object */;
7757 long var4
/* : Int */;
7758 long var5
/* : Int */;
7761 var_node_list
= var
;
7763 var1
= nit___nit__Parser___pop(var_p
);
7765 var_nodearraylist3
= var1
;
7767 var2
= nit___nit__Parser___pop(var_p
);
7769 var_nodearraylist2
= var2
;
7771 var3
= nit___nit__Parser___pop(var_p
);
7773 var_nodearraylist1
= var3
;
7774 var_pexprnode1
= var_nodearraylist1
;
7775 var_node_list
= var_pexprnode1
;
7776 var4
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction823> */
7778 var5
= nit___nit__Parser___go_to(var_p
, var4
);
7781 nit___nit__Parser___push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7785 /* method parser#ReduceAction824#action for (self: ReduceAction824, Parser) */
7786 void nit__parser___nit__parser__ReduceAction824___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7787 val
* var_p
/* var p: Parser */;
7788 val
* var
/* : null */;
7789 val
* var_node_list
/* var node_list: nullable Object */;
7790 val
* var1
/* : AImplicitSelfExpr */;
7791 val
* var_pexprnode1
/* var pexprnode1: nullable AImplicitSelfExpr */;
7792 long var3
/* : Int */;
7793 long var4
/* : Int */;
7796 var_node_list
= var
;
7797 var1
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
7799 { /* Inline parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr (var1) on <var1:AImplicitSelfExpr> */
7803 var_pexprnode1
= var1
;
7804 var_node_list
= var_pexprnode1
;
7805 var3
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction824> */
7807 var4
= nit___nit__Parser___go_to(var_p
, var3
);
7810 nit___nit__Parser___push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7814 /* method parser#ReduceAction974#action for (self: ReduceAction974, Parser) */
7815 void nit__parser___nit__parser__ReduceAction974___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7816 val
* var_p
/* var p: Parser */;
7817 val
* var
/* : null */;
7818 val
* var_node_list
/* var node_list: nullable Object */;
7819 val
* var1
/* : nullable Object */;
7820 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7821 val
* var2
/* : Array[Object] */;
7822 val
* var_listnode2
/* var listnode2: Array[Object] */;
7823 val
* var_pimportnode1
/* var pimportnode1: nullable Object */;
7824 val
* var3
/* : null */;
7825 short int var4
/* : Bool */;
7826 short int var5
/* : Bool */;
7827 long var6
/* : Int */;
7828 long var7
/* : Int */;
7831 var_node_list
= var
;
7833 var1
= nit___nit__Parser___pop(var_p
);
7835 var_nodearraylist1
= var1
;
7836 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7838 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
7840 var_listnode2
= var2
;
7841 var_pimportnode1
= var_nodearraylist1
;
7843 if (var_pimportnode1
== NULL
) {
7844 var4
= 0; /* is null */
7846 var4
= 1; /* arg is null and recv is not */
7849 var5
= ((short int (*)(val
* self
, val
* p0
))(var_pimportnode1
->class->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_pimportnode1
, var3
) /* != on <var_pimportnode1:nullable Object>*/;
7854 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode2
, var_pimportnode1
); /* Direct call array#Array#add on <var_listnode2:Array[Object]>*/
7858 var_node_list
= var_listnode2
;
7859 var6
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction974> */
7861 var7
= nit___nit__Parser___go_to(var_p
, var6
);
7864 nit___nit__Parser___push(var_p
, var7
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7868 /* method parser#ReduceAction975#action for (self: ReduceAction975, Parser) */
7869 void nit__parser___nit__parser__ReduceAction975___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7870 val
* var_p
/* var p: Parser */;
7871 val
* var
/* : null */;
7872 val
* var_node_list
/* var node_list: nullable Object */;
7873 val
* var1
/* : nullable Object */;
7874 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7875 val
* var2
/* : nullable Object */;
7876 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7877 val
* var3
/* : Array[Object] */;
7878 val
* var_listnode3
/* var listnode3: Array[Object] */;
7879 val
* var_listnode1
/* var listnode1: nullable Object */;
7880 short int var4
/* : Bool */;
7883 val
* var_pimportnode2
/* var pimportnode2: nullable Object */;
7884 val
* var5
/* : Array[Object] */;
7885 val
* var6
/* : null */;
7886 short int var7
/* : Bool */;
7887 short int var8
/* : Bool */;
7888 long var9
/* : Int */;
7889 long var10
/* : Int */;
7892 var_node_list
= var
;
7894 var1
= nit___nit__Parser___pop(var_p
);
7896 var_nodearraylist2
= var1
;
7898 var2
= nit___nit__Parser___pop(var_p
);
7900 var_nodearraylist1
= var2
;
7901 var3
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7903 standard___standard__Array___standard__kernel__Object__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
7905 var_listnode3
= var3
;
7906 var_listnode1
= var_nodearraylist1
;
7907 /* <var_listnode1:nullable Object> isa Array[Object] */
7908 cltype
= type_standard__Array__standard__Object
.color
;
7909 idtype
= type_standard__Array__standard__Object
.id
;
7910 if(var_listnode1
== NULL
) {
7913 if(cltype
>= var_listnode1
->type
->table_size
) {
7916 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
7919 if (unlikely(!var4
)) {
7920 PRINT_ERROR("Runtime error: %s", "Assert failed");
7921 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10905);
7924 var_pimportnode2
= var_nodearraylist2
;
7926 var5
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode1
);
7928 var_listnode3
= var5
;
7930 if (var_pimportnode2
== NULL
) {
7931 var7
= 0; /* is null */
7933 var7
= 1; /* arg is null and recv is not */
7936 var8
= ((short int (*)(val
* self
, val
* p0
))(var_pimportnode2
->class->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_pimportnode2
, var6
) /* != on <var_pimportnode2:nullable Object>*/;
7941 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3
, var_pimportnode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
7945 var_node_list
= var_listnode3
;
7946 var9
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction975> */
7948 var10
= nit___nit__Parser___go_to(var_p
, var9
);
7951 nit___nit__Parser___push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7955 /* method parser#ReduceAction976#action for (self: ReduceAction976, Parser) */
7956 void nit__parser___nit__parser__ReduceAction976___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7957 val
* var_p
/* var p: Parser */;
7958 val
* var
/* : null */;
7959 val
* var_node_list
/* var node_list: nullable Object */;
7960 val
* var1
/* : nullable Object */;
7961 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7962 val
* var2
/* : Array[Object] */;
7963 val
* var_listnode2
/* var listnode2: Array[Object] */;
7964 val
* var_pexterncodeblocknode1
/* var pexterncodeblocknode1: nullable Object */;
7965 val
* var3
/* : null */;
7966 short int var4
/* : Bool */;
7967 short int var5
/* : Bool */;
7968 long var6
/* : Int */;
7969 long var7
/* : Int */;
7972 var_node_list
= var
;
7974 var1
= nit___nit__Parser___pop(var_p
);
7976 var_nodearraylist1
= var1
;
7977 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
7979 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
7981 var_listnode2
= var2
;
7982 var_pexterncodeblocknode1
= var_nodearraylist1
;
7984 if (var_pexterncodeblocknode1
== NULL
) {
7985 var4
= 0; /* is null */
7987 var4
= 1; /* arg is null and recv is not */
7990 var5
= ((short int (*)(val
* self
, val
* p0
))(var_pexterncodeblocknode1
->class->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_pexterncodeblocknode1
, var3
) /* != on <var_pexterncodeblocknode1:nullable Object>*/;
7995 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode2
, var_pexterncodeblocknode1
); /* Direct call array#Array#add on <var_listnode2:Array[Object]>*/
7999 var_node_list
= var_listnode2
;
8000 var6
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction976> */
8002 var7
= nit___nit__Parser___go_to(var_p
, var6
);
8005 nit___nit__Parser___push(var_p
, var7
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8009 /* method parser#ReduceAction977#action for (self: ReduceAction977, Parser) */
8010 void nit__parser___nit__parser__ReduceAction977___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8011 val
* var_p
/* var p: Parser */;
8012 val
* var
/* : null */;
8013 val
* var_node_list
/* var node_list: nullable Object */;
8014 val
* var1
/* : nullable Object */;
8015 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8016 val
* var2
/* : nullable Object */;
8017 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8018 val
* var3
/* : Array[Object] */;
8019 val
* var_listnode3
/* var listnode3: Array[Object] */;
8020 val
* var_listnode1
/* var listnode1: nullable Object */;
8021 short int var4
/* : Bool */;
8024 val
* var_pexterncodeblocknode2
/* var pexterncodeblocknode2: nullable Object */;
8025 val
* var5
/* : Array[Object] */;
8026 val
* var6
/* : null */;
8027 short int var7
/* : Bool */;
8028 short int var8
/* : Bool */;
8029 long var9
/* : Int */;
8030 long var10
/* : Int */;
8033 var_node_list
= var
;
8035 var1
= nit___nit__Parser___pop(var_p
);
8037 var_nodearraylist2
= var1
;
8039 var2
= nit___nit__Parser___pop(var_p
);
8041 var_nodearraylist1
= var2
;
8042 var3
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8044 standard___standard__Array___standard__kernel__Object__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
8046 var_listnode3
= var3
;
8047 var_listnode1
= var_nodearraylist1
;
8048 /* <var_listnode1:nullable Object> isa Array[Object] */
8049 cltype
= type_standard__Array__standard__Object
.color
;
8050 idtype
= type_standard__Array__standard__Object
.id
;
8051 if(var_listnode1
== NULL
) {
8054 if(cltype
>= var_listnode1
->type
->table_size
) {
8057 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
8060 if (unlikely(!var4
)) {
8061 PRINT_ERROR("Runtime error: %s", "Assert failed");
8062 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10939);
8065 var_pexterncodeblocknode2
= var_nodearraylist2
;
8067 var5
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode1
);
8069 var_listnode3
= var5
;
8071 if (var_pexterncodeblocknode2
== NULL
) {
8072 var7
= 0; /* is null */
8074 var7
= 1; /* arg is null and recv is not */
8077 var8
= ((short int (*)(val
* self
, val
* p0
))(var_pexterncodeblocknode2
->class->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_pexterncodeblocknode2
, var6
) /* != on <var_pexterncodeblocknode2:nullable Object>*/;
8082 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3
, var_pexterncodeblocknode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
8086 var_node_list
= var_listnode3
;
8087 var9
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction977> */
8089 var10
= nit___nit__Parser___go_to(var_p
, var9
);
8092 nit___nit__Parser___push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8096 /* method parser#ReduceAction978#action for (self: ReduceAction978, Parser) */
8097 void nit__parser___nit__parser__ReduceAction978___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8098 val
* var_p
/* var p: Parser */;
8099 val
* var
/* : null */;
8100 val
* var_node_list
/* var node_list: nullable Object */;
8101 val
* var1
/* : nullable Object */;
8102 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8103 val
* var2
/* : Array[Object] */;
8104 val
* var_listnode2
/* var listnode2: Array[Object] */;
8105 val
* var_pclassdefnode1
/* var pclassdefnode1: nullable Object */;
8106 val
* var3
/* : null */;
8107 short int var4
/* : Bool */;
8108 short int var5
/* : Bool */;
8109 long var6
/* : Int */;
8110 long var7
/* : Int */;
8113 var_node_list
= var
;
8115 var1
= nit___nit__Parser___pop(var_p
);
8117 var_nodearraylist1
= var1
;
8118 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8120 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
8122 var_listnode2
= var2
;
8123 var_pclassdefnode1
= var_nodearraylist1
;
8125 if (var_pclassdefnode1
== NULL
) {
8126 var4
= 0; /* is null */
8128 var4
= 1; /* arg is null and recv is not */
8131 var5
= ((short int (*)(val
* self
, val
* p0
))(var_pclassdefnode1
->class->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_pclassdefnode1
, var3
) /* != on <var_pclassdefnode1:nullable Object>*/;
8136 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode2
, var_pclassdefnode1
); /* Direct call array#Array#add on <var_listnode2:Array[Object]>*/
8140 var_node_list
= var_listnode2
;
8141 var6
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction978> */
8143 var7
= nit___nit__Parser___go_to(var_p
, var6
);
8146 nit___nit__Parser___push(var_p
, var7
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8150 /* method parser#ReduceAction979#action for (self: ReduceAction979, Parser) */
8151 void nit__parser___nit__parser__ReduceAction979___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8152 val
* var_p
/* var p: Parser */;
8153 val
* var
/* : null */;
8154 val
* var_node_list
/* var node_list: nullable Object */;
8155 val
* var1
/* : nullable Object */;
8156 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8157 val
* var2
/* : nullable Object */;
8158 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8159 val
* var3
/* : Array[Object] */;
8160 val
* var_listnode3
/* var listnode3: Array[Object] */;
8161 val
* var_listnode1
/* var listnode1: nullable Object */;
8162 short int var4
/* : Bool */;
8165 val
* var_pclassdefnode2
/* var pclassdefnode2: nullable Object */;
8166 val
* var5
/* : Array[Object] */;
8167 val
* var6
/* : null */;
8168 short int var7
/* : Bool */;
8169 short int var8
/* : Bool */;
8170 long var9
/* : Int */;
8171 long var10
/* : Int */;
8174 var_node_list
= var
;
8176 var1
= nit___nit__Parser___pop(var_p
);
8178 var_nodearraylist2
= var1
;
8180 var2
= nit___nit__Parser___pop(var_p
);
8182 var_nodearraylist1
= var2
;
8183 var3
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8185 standard___standard__Array___standard__kernel__Object__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
8187 var_listnode3
= var3
;
8188 var_listnode1
= var_nodearraylist1
;
8189 /* <var_listnode1:nullable Object> isa Array[Object] */
8190 cltype
= type_standard__Array__standard__Object
.color
;
8191 idtype
= type_standard__Array__standard__Object
.id
;
8192 if(var_listnode1
== NULL
) {
8195 if(cltype
>= var_listnode1
->type
->table_size
) {
8198 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
8201 if (unlikely(!var4
)) {
8202 PRINT_ERROR("Runtime error: %s", "Assert failed");
8203 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 10973);
8206 var_pclassdefnode2
= var_nodearraylist2
;
8208 var5
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode1
);
8210 var_listnode3
= var5
;
8212 if (var_pclassdefnode2
== NULL
) {
8213 var7
= 0; /* is null */
8215 var7
= 1; /* arg is null and recv is not */
8218 var8
= ((short int (*)(val
* self
, val
* p0
))(var_pclassdefnode2
->class->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_pclassdefnode2
, var6
) /* != on <var_pclassdefnode2:nullable Object>*/;
8223 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3
, var_pclassdefnode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
8227 var_node_list
= var_listnode3
;
8228 var9
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction979> */
8230 var10
= nit___nit__Parser___go_to(var_p
, var9
);
8233 nit___nit__Parser___push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8237 /* method parser#ReduceAction980#action for (self: ReduceAction980, Parser) */
8238 void nit__parser___nit__parser__ReduceAction980___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8239 val
* var_p
/* var p: Parser */;
8240 val
* var
/* : null */;
8241 val
* var_node_list
/* var node_list: nullable Object */;
8242 val
* var1
/* : nullable Object */;
8243 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8244 val
* var2
/* : Array[Object] */;
8245 val
* var_listnode2
/* var listnode2: Array[Object] */;
8246 val
* var_psuperclassnode1
/* var psuperclassnode1: nullable Object */;
8247 val
* var3
/* : null */;
8248 short int var4
/* : Bool */;
8249 short int var5
/* : Bool */;
8250 long var6
/* : Int */;
8251 long var7
/* : Int */;
8254 var_node_list
= var
;
8256 var1
= nit___nit__Parser___pop(var_p
);
8258 var_nodearraylist1
= var1
;
8259 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8261 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
8263 var_listnode2
= var2
;
8264 var_psuperclassnode1
= var_nodearraylist1
;
8266 if (var_psuperclassnode1
== NULL
) {
8267 var4
= 0; /* is null */
8269 var4
= 1; /* arg is null and recv is not */
8272 var5
= ((short int (*)(val
* self
, val
* p0
))(var_psuperclassnode1
->class->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_psuperclassnode1
, var3
) /* != on <var_psuperclassnode1:nullable Object>*/;
8277 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode2
, var_psuperclassnode1
); /* Direct call array#Array#add on <var_listnode2:Array[Object]>*/
8281 var_node_list
= var_listnode2
;
8282 var6
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction980> */
8284 var7
= nit___nit__Parser___go_to(var_p
, var6
);
8287 nit___nit__Parser___push(var_p
, var7
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8291 /* method parser#ReduceAction981#action for (self: ReduceAction981, Parser) */
8292 void nit__parser___nit__parser__ReduceAction981___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8293 val
* var_p
/* var p: Parser */;
8294 val
* var
/* : null */;
8295 val
* var_node_list
/* var node_list: nullable Object */;
8296 val
* var1
/* : nullable Object */;
8297 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8298 val
* var2
/* : nullable Object */;
8299 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8300 val
* var3
/* : Array[Object] */;
8301 val
* var_listnode3
/* var listnode3: Array[Object] */;
8302 val
* var_listnode1
/* var listnode1: nullable Object */;
8303 short int var4
/* : Bool */;
8306 val
* var_psuperclassnode2
/* var psuperclassnode2: nullable Object */;
8307 val
* var5
/* : Array[Object] */;
8308 val
* var6
/* : null */;
8309 short int var7
/* : Bool */;
8310 short int var8
/* : Bool */;
8311 long var9
/* : Int */;
8312 long var10
/* : Int */;
8315 var_node_list
= var
;
8317 var1
= nit___nit__Parser___pop(var_p
);
8319 var_nodearraylist2
= var1
;
8321 var2
= nit___nit__Parser___pop(var_p
);
8323 var_nodearraylist1
= var2
;
8324 var3
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8326 standard___standard__Array___standard__kernel__Object__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
8328 var_listnode3
= var3
;
8329 var_listnode1
= var_nodearraylist1
;
8330 /* <var_listnode1:nullable Object> isa Array[Object] */
8331 cltype
= type_standard__Array__standard__Object
.color
;
8332 idtype
= type_standard__Array__standard__Object
.id
;
8333 if(var_listnode1
== NULL
) {
8336 if(cltype
>= var_listnode1
->type
->table_size
) {
8339 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
8342 if (unlikely(!var4
)) {
8343 PRINT_ERROR("Runtime error: %s", "Assert failed");
8344 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11007);
8347 var_psuperclassnode2
= var_nodearraylist2
;
8349 var5
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode1
);
8351 var_listnode3
= var5
;
8353 if (var_psuperclassnode2
== NULL
) {
8354 var7
= 0; /* is null */
8356 var7
= 1; /* arg is null and recv is not */
8359 var8
= ((short int (*)(val
* self
, val
* p0
))(var_psuperclassnode2
->class->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_psuperclassnode2
, var6
) /* != on <var_psuperclassnode2:nullable Object>*/;
8364 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3
, var_psuperclassnode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
8368 var_node_list
= var_listnode3
;
8369 var9
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction981> */
8371 var10
= nit___nit__Parser___go_to(var_p
, var9
);
8374 nit___nit__Parser___push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8378 /* method parser#ReduceAction982#action for (self: ReduceAction982, Parser) */
8379 void nit__parser___nit__parser__ReduceAction982___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8380 val
* var_p
/* var p: Parser */;
8381 val
* var
/* : null */;
8382 val
* var_node_list
/* var node_list: nullable Object */;
8383 val
* var1
/* : nullable Object */;
8384 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8385 val
* var2
/* : Array[Object] */;
8386 val
* var_listnode2
/* var listnode2: Array[Object] */;
8387 val
* var_ppropdefnode1
/* var ppropdefnode1: nullable Object */;
8388 val
* var3
/* : null */;
8389 short int var4
/* : Bool */;
8390 short int var5
/* : Bool */;
8391 long var6
/* : Int */;
8392 long var7
/* : Int */;
8395 var_node_list
= var
;
8397 var1
= nit___nit__Parser___pop(var_p
);
8399 var_nodearraylist1
= var1
;
8400 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8402 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
8404 var_listnode2
= var2
;
8405 var_ppropdefnode1
= var_nodearraylist1
;
8407 if (var_ppropdefnode1
== NULL
) {
8408 var4
= 0; /* is null */
8410 var4
= 1; /* arg is null and recv is not */
8413 var5
= ((short int (*)(val
* self
, val
* p0
))(var_ppropdefnode1
->class->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_ppropdefnode1
, var3
) /* != on <var_ppropdefnode1:nullable Object>*/;
8418 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode2
, var_ppropdefnode1
); /* Direct call array#Array#add on <var_listnode2:Array[Object]>*/
8422 var_node_list
= var_listnode2
;
8423 var6
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction982> */
8425 var7
= nit___nit__Parser___go_to(var_p
, var6
);
8428 nit___nit__Parser___push(var_p
, var7
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8432 /* method parser#ReduceAction983#action for (self: ReduceAction983, Parser) */
8433 void nit__parser___nit__parser__ReduceAction983___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8434 val
* var_p
/* var p: Parser */;
8435 val
* var
/* : null */;
8436 val
* var_node_list
/* var node_list: nullable Object */;
8437 val
* var1
/* : nullable Object */;
8438 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8439 val
* var2
/* : nullable Object */;
8440 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8441 val
* var3
/* : Array[Object] */;
8442 val
* var_listnode3
/* var listnode3: Array[Object] */;
8443 val
* var_listnode1
/* var listnode1: nullable Object */;
8444 short int var4
/* : Bool */;
8447 val
* var_ppropdefnode2
/* var ppropdefnode2: nullable Object */;
8448 val
* var5
/* : Array[Object] */;
8449 val
* var6
/* : null */;
8450 short int var7
/* : Bool */;
8451 short int var8
/* : Bool */;
8452 long var9
/* : Int */;
8453 long var10
/* : Int */;
8456 var_node_list
= var
;
8458 var1
= nit___nit__Parser___pop(var_p
);
8460 var_nodearraylist2
= var1
;
8462 var2
= nit___nit__Parser___pop(var_p
);
8464 var_nodearraylist1
= var2
;
8465 var3
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8467 standard___standard__Array___standard__kernel__Object__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
8469 var_listnode3
= var3
;
8470 var_listnode1
= var_nodearraylist1
;
8471 /* <var_listnode1:nullable Object> isa Array[Object] */
8472 cltype
= type_standard__Array__standard__Object
.color
;
8473 idtype
= type_standard__Array__standard__Object
.id
;
8474 if(var_listnode1
== NULL
) {
8477 if(cltype
>= var_listnode1
->type
->table_size
) {
8480 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
8483 if (unlikely(!var4
)) {
8484 PRINT_ERROR("Runtime error: %s", "Assert failed");
8485 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11041);
8488 var_ppropdefnode2
= var_nodearraylist2
;
8490 var5
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode1
);
8492 var_listnode3
= var5
;
8494 if (var_ppropdefnode2
== NULL
) {
8495 var7
= 0; /* is null */
8497 var7
= 1; /* arg is null and recv is not */
8500 var8
= ((short int (*)(val
* self
, val
* p0
))(var_ppropdefnode2
->class->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_ppropdefnode2
, var6
) /* != on <var_ppropdefnode2:nullable Object>*/;
8505 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3
, var_ppropdefnode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
8509 var_node_list
= var_listnode3
;
8510 var9
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction983> */
8512 var10
= nit___nit__Parser___go_to(var_p
, var9
);
8515 nit___nit__Parser___push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8519 /* method parser#ReduceAction984#action for (self: ReduceAction984, Parser) */
8520 void nit__parser___nit__parser__ReduceAction984___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8521 val
* var_p
/* var p: Parser */;
8522 val
* var
/* : null */;
8523 val
* var_node_list
/* var node_list: nullable Object */;
8524 val
* var1
/* : nullable Object */;
8525 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8526 val
* var2
/* : Array[Object] */;
8527 val
* var_listnode2
/* var listnode2: Array[Object] */;
8528 val
* var_pformaldefnode1
/* var pformaldefnode1: nullable Object */;
8529 val
* var3
/* : null */;
8530 short int var4
/* : Bool */;
8531 short int var5
/* : Bool */;
8532 long var6
/* : Int */;
8533 long var7
/* : Int */;
8536 var_node_list
= var
;
8538 var1
= nit___nit__Parser___pop(var_p
);
8540 var_nodearraylist1
= var1
;
8541 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8543 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
8545 var_listnode2
= var2
;
8546 var_pformaldefnode1
= var_nodearraylist1
;
8548 if (var_pformaldefnode1
== NULL
) {
8549 var4
= 0; /* is null */
8551 var4
= 1; /* arg is null and recv is not */
8554 var5
= ((short int (*)(val
* self
, val
* p0
))(var_pformaldefnode1
->class->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_pformaldefnode1
, var3
) /* != on <var_pformaldefnode1:nullable Object>*/;
8559 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode2
, var_pformaldefnode1
); /* Direct call array#Array#add on <var_listnode2:Array[Object]>*/
8563 var_node_list
= var_listnode2
;
8564 var6
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction984> */
8566 var7
= nit___nit__Parser___go_to(var_p
, var6
);
8569 nit___nit__Parser___push(var_p
, var7
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8573 /* method parser#ReduceAction985#action for (self: ReduceAction985, Parser) */
8574 void nit__parser___nit__parser__ReduceAction985___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8575 val
* var_p
/* var p: Parser */;
8576 val
* var
/* : null */;
8577 val
* var_node_list
/* var node_list: nullable Object */;
8578 val
* var1
/* : nullable Object */;
8579 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8580 val
* var2
/* : nullable Object */;
8581 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8582 val
* var3
/* : Array[Object] */;
8583 val
* var_listnode3
/* var listnode3: Array[Object] */;
8584 val
* var_listnode1
/* var listnode1: nullable Object */;
8585 short int var4
/* : Bool */;
8588 val
* var_pformaldefnode2
/* var pformaldefnode2: nullable Object */;
8589 val
* var5
/* : Array[Object] */;
8590 val
* var6
/* : null */;
8591 short int var7
/* : Bool */;
8592 short int var8
/* : Bool */;
8593 long var9
/* : Int */;
8594 long var10
/* : Int */;
8597 var_node_list
= var
;
8599 var1
= nit___nit__Parser___pop(var_p
);
8601 var_nodearraylist2
= var1
;
8603 var2
= nit___nit__Parser___pop(var_p
);
8605 var_nodearraylist1
= var2
;
8606 var3
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8608 standard___standard__Array___standard__kernel__Object__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
8610 var_listnode3
= var3
;
8611 var_listnode1
= var_nodearraylist1
;
8612 /* <var_listnode1:nullable Object> isa Array[Object] */
8613 cltype
= type_standard__Array__standard__Object
.color
;
8614 idtype
= type_standard__Array__standard__Object
.id
;
8615 if(var_listnode1
== NULL
) {
8618 if(cltype
>= var_listnode1
->type
->table_size
) {
8621 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
8624 if (unlikely(!var4
)) {
8625 PRINT_ERROR("Runtime error: %s", "Assert failed");
8626 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11075);
8629 var_pformaldefnode2
= var_nodearraylist2
;
8631 var5
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode1
);
8633 var_listnode3
= var5
;
8635 if (var_pformaldefnode2
== NULL
) {
8636 var7
= 0; /* is null */
8638 var7
= 1; /* arg is null and recv is not */
8641 var8
= ((short int (*)(val
* self
, val
* p0
))(var_pformaldefnode2
->class->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_pformaldefnode2
, var6
) /* != on <var_pformaldefnode2:nullable Object>*/;
8646 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3
, var_pformaldefnode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
8650 var_node_list
= var_listnode3
;
8651 var9
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction985> */
8653 var10
= nit___nit__Parser___go_to(var_p
, var9
);
8656 nit___nit__Parser___push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8660 /* method parser#ReduceAction986#action for (self: ReduceAction986, Parser) */
8661 void nit__parser___nit__parser__ReduceAction986___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8662 val
* var_p
/* var p: Parser */;
8663 val
* var
/* : null */;
8664 val
* var_node_list
/* var node_list: nullable Object */;
8665 val
* var1
/* : nullable Object */;
8666 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8667 val
* var2
/* : Array[Object] */;
8668 val
* var_listnode2
/* var listnode2: Array[Object] */;
8669 val
* var_pparamnode1
/* var pparamnode1: nullable Object */;
8670 val
* var3
/* : null */;
8671 short int var4
/* : Bool */;
8672 short int var5
/* : Bool */;
8673 long var6
/* : Int */;
8674 long var7
/* : Int */;
8677 var_node_list
= var
;
8679 var1
= nit___nit__Parser___pop(var_p
);
8681 var_nodearraylist1
= var1
;
8682 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8684 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
8686 var_listnode2
= var2
;
8687 var_pparamnode1
= var_nodearraylist1
;
8689 if (var_pparamnode1
== NULL
) {
8690 var4
= 0; /* is null */
8692 var4
= 1; /* arg is null and recv is not */
8695 var5
= ((short int (*)(val
* self
, val
* p0
))(var_pparamnode1
->class->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_pparamnode1
, var3
) /* != on <var_pparamnode1:nullable Object>*/;
8700 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode2
, var_pparamnode1
); /* Direct call array#Array#add on <var_listnode2:Array[Object]>*/
8704 var_node_list
= var_listnode2
;
8705 var6
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction986> */
8707 var7
= nit___nit__Parser___go_to(var_p
, var6
);
8710 nit___nit__Parser___push(var_p
, var7
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8714 /* method parser#ReduceAction987#action for (self: ReduceAction987, Parser) */
8715 void nit__parser___nit__parser__ReduceAction987___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8716 val
* var_p
/* var p: Parser */;
8717 val
* var
/* : null */;
8718 val
* var_node_list
/* var node_list: nullable Object */;
8719 val
* var1
/* : nullable Object */;
8720 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8721 val
* var2
/* : nullable Object */;
8722 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8723 val
* var3
/* : Array[Object] */;
8724 val
* var_listnode3
/* var listnode3: Array[Object] */;
8725 val
* var_listnode1
/* var listnode1: nullable Object */;
8726 short int var4
/* : Bool */;
8729 val
* var_pparamnode2
/* var pparamnode2: nullable Object */;
8730 val
* var5
/* : Array[Object] */;
8731 val
* var6
/* : null */;
8732 short int var7
/* : Bool */;
8733 short int var8
/* : Bool */;
8734 long var9
/* : Int */;
8735 long var10
/* : Int */;
8738 var_node_list
= var
;
8740 var1
= nit___nit__Parser___pop(var_p
);
8742 var_nodearraylist2
= var1
;
8744 var2
= nit___nit__Parser___pop(var_p
);
8746 var_nodearraylist1
= var2
;
8747 var3
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8749 standard___standard__Array___standard__kernel__Object__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
8751 var_listnode3
= var3
;
8752 var_listnode1
= var_nodearraylist1
;
8753 /* <var_listnode1:nullable Object> isa Array[Object] */
8754 cltype
= type_standard__Array__standard__Object
.color
;
8755 idtype
= type_standard__Array__standard__Object
.id
;
8756 if(var_listnode1
== NULL
) {
8759 if(cltype
>= var_listnode1
->type
->table_size
) {
8762 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
8765 if (unlikely(!var4
)) {
8766 PRINT_ERROR("Runtime error: %s", "Assert failed");
8767 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11109);
8770 var_pparamnode2
= var_nodearraylist2
;
8772 var5
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode1
);
8774 var_listnode3
= var5
;
8776 if (var_pparamnode2
== NULL
) {
8777 var7
= 0; /* is null */
8779 var7
= 1; /* arg is null and recv is not */
8782 var8
= ((short int (*)(val
* self
, val
* p0
))(var_pparamnode2
->class->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_pparamnode2
, var6
) /* != on <var_pparamnode2:nullable Object>*/;
8787 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3
, var_pparamnode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
8791 var_node_list
= var_listnode3
;
8792 var9
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction987> */
8794 var10
= nit___nit__Parser___go_to(var_p
, var9
);
8797 nit___nit__Parser___push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8801 /* method parser#ReduceAction988#action for (self: ReduceAction988, Parser) */
8802 void nit__parser___nit__parser__ReduceAction988___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8803 val
* var_p
/* var p: Parser */;
8804 val
* var
/* : null */;
8805 val
* var_node_list
/* var node_list: nullable Object */;
8806 val
* var1
/* : nullable Object */;
8807 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8808 val
* var2
/* : Array[Object] */;
8809 val
* var_listnode2
/* var listnode2: Array[Object] */;
8810 val
* var_pexterncallnode1
/* var pexterncallnode1: nullable Object */;
8811 val
* var3
/* : null */;
8812 short int var4
/* : Bool */;
8813 short int var5
/* : Bool */;
8814 long var6
/* : Int */;
8815 long var7
/* : Int */;
8818 var_node_list
= var
;
8820 var1
= nit___nit__Parser___pop(var_p
);
8822 var_nodearraylist1
= var1
;
8823 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8825 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
8827 var_listnode2
= var2
;
8828 var_pexterncallnode1
= var_nodearraylist1
;
8830 if (var_pexterncallnode1
== NULL
) {
8831 var4
= 0; /* is null */
8833 var4
= 1; /* arg is null and recv is not */
8836 var5
= ((short int (*)(val
* self
, val
* p0
))(var_pexterncallnode1
->class->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_pexterncallnode1
, var3
) /* != on <var_pexterncallnode1:nullable Object>*/;
8841 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode2
, var_pexterncallnode1
); /* Direct call array#Array#add on <var_listnode2:Array[Object]>*/
8845 var_node_list
= var_listnode2
;
8846 var6
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction988> */
8848 var7
= nit___nit__Parser___go_to(var_p
, var6
);
8851 nit___nit__Parser___push(var_p
, var7
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8855 /* method parser#ReduceAction989#action for (self: ReduceAction989, Parser) */
8856 void nit__parser___nit__parser__ReduceAction989___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8857 val
* var_p
/* var p: Parser */;
8858 val
* var
/* : null */;
8859 val
* var_node_list
/* var node_list: nullable Object */;
8860 val
* var1
/* : nullable Object */;
8861 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8862 val
* var2
/* : nullable Object */;
8863 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8864 val
* var3
/* : Array[Object] */;
8865 val
* var_listnode3
/* var listnode3: Array[Object] */;
8866 val
* var_listnode1
/* var listnode1: nullable Object */;
8867 short int var4
/* : Bool */;
8870 val
* var_pexterncallnode2
/* var pexterncallnode2: nullable Object */;
8871 val
* var5
/* : Array[Object] */;
8872 val
* var6
/* : null */;
8873 short int var7
/* : Bool */;
8874 short int var8
/* : Bool */;
8875 long var9
/* : Int */;
8876 long var10
/* : Int */;
8879 var_node_list
= var
;
8881 var1
= nit___nit__Parser___pop(var_p
);
8883 var_nodearraylist2
= var1
;
8885 var2
= nit___nit__Parser___pop(var_p
);
8887 var_nodearraylist1
= var2
;
8888 var3
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8890 standard___standard__Array___standard__kernel__Object__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
8892 var_listnode3
= var3
;
8893 var_listnode1
= var_nodearraylist1
;
8894 /* <var_listnode1:nullable Object> isa Array[Object] */
8895 cltype
= type_standard__Array__standard__Object
.color
;
8896 idtype
= type_standard__Array__standard__Object
.id
;
8897 if(var_listnode1
== NULL
) {
8900 if(cltype
>= var_listnode1
->type
->table_size
) {
8903 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
8906 if (unlikely(!var4
)) {
8907 PRINT_ERROR("Runtime error: %s", "Assert failed");
8908 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11143);
8911 var_pexterncallnode2
= var_nodearraylist2
;
8913 var5
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode1
);
8915 var_listnode3
= var5
;
8917 if (var_pexterncallnode2
== NULL
) {
8918 var7
= 0; /* is null */
8920 var7
= 1; /* arg is null and recv is not */
8923 var8
= ((short int (*)(val
* self
, val
* p0
))(var_pexterncallnode2
->class->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_pexterncallnode2
, var6
) /* != on <var_pexterncallnode2:nullable Object>*/;
8928 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3
, var_pexterncallnode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
8932 var_node_list
= var_listnode3
;
8933 var9
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction989> */
8935 var10
= nit___nit__Parser___go_to(var_p
, var9
);
8938 nit___nit__Parser___push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8942 /* method parser#ReduceAction991#action for (self: ReduceAction991, Parser) */
8943 void nit__parser___nit__parser__ReduceAction991___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8944 val
* var_p
/* var p: Parser */;
8945 val
* var
/* : null */;
8946 val
* var_node_list
/* var node_list: nullable Object */;
8947 val
* var1
/* : nullable Object */;
8948 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8949 val
* var2
/* : nullable Object */;
8950 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8951 val
* var3
/* : Array[Object] */;
8952 val
* var_listnode3
/* var listnode3: Array[Object] */;
8953 val
* var_listnode1
/* var listnode1: nullable Object */;
8954 short int var4
/* : Bool */;
8957 val
* var_ptypenode2
/* var ptypenode2: nullable Object */;
8958 val
* var5
/* : Array[Object] */;
8959 val
* var6
/* : null */;
8960 short int var7
/* : Bool */;
8961 short int var8
/* : Bool */;
8962 long var9
/* : Int */;
8963 long var10
/* : Int */;
8966 var_node_list
= var
;
8968 var1
= nit___nit__Parser___pop(var_p
);
8970 var_nodearraylist2
= var1
;
8972 var2
= nit___nit__Parser___pop(var_p
);
8974 var_nodearraylist1
= var2
;
8975 var3
= NEW_standard__Array(&type_standard__Array__standard__Object
);
8977 standard___standard__Array___standard__kernel__Object__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
8979 var_listnode3
= var3
;
8980 var_listnode1
= var_nodearraylist1
;
8981 /* <var_listnode1:nullable Object> isa Array[Object] */
8982 cltype
= type_standard__Array__standard__Object
.color
;
8983 idtype
= type_standard__Array__standard__Object
.id
;
8984 if(var_listnode1
== NULL
) {
8987 if(cltype
>= var_listnode1
->type
->table_size
) {
8990 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
8993 if (unlikely(!var4
)) {
8994 PRINT_ERROR("Runtime error: %s", "Assert failed");
8995 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11162);
8998 var_ptypenode2
= var_nodearraylist2
;
9000 var5
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode1
);
9002 var_listnode3
= var5
;
9004 if (var_ptypenode2
== NULL
) {
9005 var7
= 0; /* is null */
9007 var7
= 1; /* arg is null and recv is not */
9010 var8
= ((short int (*)(val
* self
, val
* p0
))(var_ptypenode2
->class->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_ptypenode2
, var6
) /* != on <var_ptypenode2:nullable Object>*/;
9015 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3
, var_ptypenode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
9019 var_node_list
= var_listnode3
;
9020 var9
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction991> */
9022 var10
= nit___nit__Parser___go_to(var_p
, var9
);
9025 nit___nit__Parser___push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9029 /* method parser#ReduceAction993#action for (self: ReduceAction993, Parser) */
9030 void nit__parser___nit__parser__ReduceAction993___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
9031 val
* var_p
/* var p: Parser */;
9032 val
* var
/* : null */;
9033 val
* var_node_list
/* var node_list: nullable Object */;
9034 val
* var1
/* : nullable Object */;
9035 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9036 val
* var2
/* : nullable Object */;
9037 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9038 val
* var3
/* : Array[Object] */;
9039 val
* var_listnode3
/* var listnode3: Array[Object] */;
9040 val
* var_listnode1
/* var listnode1: nullable Object */;
9041 short int var4
/* : Bool */;
9044 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
9045 val
* var5
/* : Array[Object] */;
9046 val
* var6
/* : null */;
9047 short int var7
/* : Bool */;
9048 short int var8
/* : Bool */;
9049 long var9
/* : Int */;
9050 long var10
/* : Int */;
9053 var_node_list
= var
;
9055 var1
= nit___nit__Parser___pop(var_p
);
9057 var_nodearraylist2
= var1
;
9059 var2
= nit___nit__Parser___pop(var_p
);
9061 var_nodearraylist1
= var2
;
9062 var3
= NEW_standard__Array(&type_standard__Array__standard__Object
);
9064 standard___standard__Array___standard__kernel__Object__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
9066 var_listnode3
= var3
;
9067 var_listnode1
= var_nodearraylist1
;
9068 /* <var_listnode1:nullable Object> isa Array[Object] */
9069 cltype
= type_standard__Array__standard__Object
.color
;
9070 idtype
= type_standard__Array__standard__Object
.id
;
9071 if(var_listnode1
== NULL
) {
9074 if(cltype
>= var_listnode1
->type
->table_size
) {
9077 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
9080 if (unlikely(!var4
)) {
9081 PRINT_ERROR("Runtime error: %s", "Assert failed");
9082 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11181);
9085 var_pexprnode2
= var_nodearraylist2
;
9087 var5
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode1
);
9089 var_listnode3
= var5
;
9091 if (var_pexprnode2
== NULL
) {
9092 var7
= 0; /* is null */
9094 var7
= 1; /* arg is null and recv is not */
9097 var8
= ((short int (*)(val
* self
, val
* p0
))(var_pexprnode2
->class->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_pexprnode2
, var6
) /* != on <var_pexprnode2:nullable Object>*/;
9102 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3
, var_pexprnode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
9106 var_node_list
= var_listnode3
;
9107 var9
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction993> */
9109 var10
= nit___nit__Parser___go_to(var_p
, var9
);
9112 nit___nit__Parser___push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9116 /* method parser#ReduceAction999#action for (self: ReduceAction999, Parser) */
9117 void nit__parser___nit__parser__ReduceAction999___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
9118 val
* var_p
/* var p: Parser */;
9119 val
* var
/* : null */;
9120 val
* var_node_list
/* var node_list: nullable Object */;
9121 val
* var1
/* : nullable Object */;
9122 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9123 val
* var2
/* : nullable Object */;
9124 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9125 val
* var3
/* : Array[Object] */;
9126 val
* var_listnode3
/* var listnode3: Array[Object] */;
9127 val
* var_listnode1
/* var listnode1: nullable Object */;
9128 short int var4
/* : Bool */;
9131 val
* var_listnode2
/* var listnode2: nullable Object */;
9132 short int var5
/* : Bool */;
9135 val
* var8
/* : Array[Object] */;
9136 val
* var9
/* : Array[Object] */;
9137 long var10
/* : Int */;
9138 long var11
/* : Int */;
9141 var_node_list
= var
;
9143 var1
= nit___nit__Parser___pop(var_p
);
9145 var_nodearraylist2
= var1
;
9147 var2
= nit___nit__Parser___pop(var_p
);
9149 var_nodearraylist1
= var2
;
9150 var3
= NEW_standard__Array(&type_standard__Array__standard__Object
);
9152 standard___standard__Array___standard__kernel__Object__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
9154 var_listnode3
= var3
;
9155 var_listnode1
= var_nodearraylist1
;
9156 /* <var_listnode1:nullable Object> isa Array[Object] */
9157 cltype
= type_standard__Array__standard__Object
.color
;
9158 idtype
= type_standard__Array__standard__Object
.id
;
9159 if(var_listnode1
== NULL
) {
9162 if(cltype
>= var_listnode1
->type
->table_size
) {
9165 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
9168 if (unlikely(!var4
)) {
9169 PRINT_ERROR("Runtime error: %s", "Assert failed");
9170 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11200);
9173 var_listnode2
= var_nodearraylist2
;
9174 /* <var_listnode2:nullable Object> isa Array[Object] */
9175 cltype6
= type_standard__Array__standard__Object
.color
;
9176 idtype7
= type_standard__Array__standard__Object
.id
;
9177 if(var_listnode2
== NULL
) {
9180 if(cltype6
>= var_listnode2
->type
->table_size
) {
9183 var5
= var_listnode2
->type
->type_table
[cltype6
] == idtype7
;
9186 if (unlikely(!var5
)) {
9187 PRINT_ERROR("Runtime error: %s", "Assert failed");
9188 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11202);
9192 var8
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode1
);
9194 var_listnode3
= var8
;
9196 var9
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode2
);
9198 var_listnode3
= var9
;
9199 var_node_list
= var_listnode3
;
9200 var10
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction999> */
9202 var11
= nit___nit__Parser___go_to(var_p
, var10
);
9205 nit___nit__Parser___push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9209 /* method parser#ReduceAction1001#action for (self: ReduceAction1001, Parser) */
9210 void nit__parser___nit__parser__ReduceAction1001___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
9211 val
* var_p
/* var p: Parser */;
9212 val
* var
/* : null */;
9213 val
* var_node_list
/* var node_list: nullable Object */;
9214 val
* var1
/* : nullable Object */;
9215 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9216 val
* var2
/* : nullable Object */;
9217 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9218 val
* var3
/* : Array[Object] */;
9219 val
* var_listnode3
/* var listnode3: Array[Object] */;
9220 val
* var_listnode1
/* var listnode1: nullable Object */;
9221 short int var4
/* : Bool */;
9224 val
* var_pannotationnode2
/* var pannotationnode2: nullable Object */;
9225 val
* var5
/* : Array[Object] */;
9226 val
* var6
/* : null */;
9227 short int var7
/* : Bool */;
9228 short int var8
/* : Bool */;
9229 long var9
/* : Int */;
9230 long var10
/* : Int */;
9233 var_node_list
= var
;
9235 var1
= nit___nit__Parser___pop(var_p
);
9237 var_nodearraylist2
= var1
;
9239 var2
= nit___nit__Parser___pop(var_p
);
9241 var_nodearraylist1
= var2
;
9242 var3
= NEW_standard__Array(&type_standard__Array__standard__Object
);
9244 standard___standard__Array___standard__kernel__Object__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
9246 var_listnode3
= var3
;
9247 var_listnode1
= var_nodearraylist1
;
9248 /* <var_listnode1:nullable Object> isa Array[Object] */
9249 cltype
= type_standard__Array__standard__Object
.color
;
9250 idtype
= type_standard__Array__standard__Object
.id
;
9251 if(var_listnode1
== NULL
) {
9254 if(cltype
>= var_listnode1
->type
->table_size
) {
9257 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
9260 if (unlikely(!var4
)) {
9261 PRINT_ERROR("Runtime error: %s", "Assert failed");
9262 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11218);
9265 var_pannotationnode2
= var_nodearraylist2
;
9267 var5
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode1
);
9269 var_listnode3
= var5
;
9271 if (var_pannotationnode2
== NULL
) {
9272 var7
= 0; /* is null */
9274 var7
= 1; /* arg is null and recv is not */
9277 var8
= ((short int (*)(val
* self
, val
* p0
))(var_pannotationnode2
->class->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_pannotationnode2
, var6
) /* != on <var_pannotationnode2:nullable Object>*/;
9282 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3
, var_pannotationnode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
9286 var_node_list
= var_listnode3
;
9287 var9
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1001> */
9289 var10
= nit___nit__Parser___go_to(var_p
, var9
);
9292 nit___nit__Parser___push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9296 /* method parser#ReduceAction1011#action for (self: ReduceAction1011, Parser) */
9297 void nit__parser___nit__parser__ReduceAction1011___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
9298 val
* var_p
/* var p: Parser */;
9299 val
* var
/* : null */;
9300 val
* var_node_list
/* var node_list: nullable Object */;
9301 val
* var1
/* : nullable Object */;
9302 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9303 val
* var2
/* : nullable Object */;
9304 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9305 val
* var3
/* : Array[Object] */;
9306 val
* var_listnode3
/* var listnode3: Array[Object] */;
9307 val
* var_listnode1
/* var listnode1: nullable Object */;
9308 short int var4
/* : Bool */;
9311 val
* var_tidnode2
/* var tidnode2: nullable Object */;
9312 val
* var5
/* : Array[Object] */;
9313 val
* var6
/* : null */;
9314 short int var7
/* : Bool */;
9315 short int var8
/* : Bool */;
9316 long var9
/* : Int */;
9317 long var10
/* : Int */;
9320 var_node_list
= var
;
9322 var1
= nit___nit__Parser___pop(var_p
);
9324 var_nodearraylist2
= var1
;
9326 var2
= nit___nit__Parser___pop(var_p
);
9328 var_nodearraylist1
= var2
;
9329 var3
= NEW_standard__Array(&type_standard__Array__standard__Object
);
9331 standard___standard__Array___standard__kernel__Object__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
9333 var_listnode3
= var3
;
9334 var_listnode1
= var_nodearraylist1
;
9335 /* <var_listnode1:nullable Object> isa Array[Object] */
9336 cltype
= type_standard__Array__standard__Object
.color
;
9337 idtype
= type_standard__Array__standard__Object
.id
;
9338 if(var_listnode1
== NULL
) {
9341 if(cltype
>= var_listnode1
->type
->table_size
) {
9344 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
9347 if (unlikely(!var4
)) {
9348 PRINT_ERROR("Runtime error: %s", "Assert failed");
9349 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11237);
9352 var_tidnode2
= var_nodearraylist2
;
9354 var5
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode1
);
9356 var_listnode3
= var5
;
9358 if (var_tidnode2
== NULL
) {
9359 var7
= 0; /* is null */
9361 var7
= 1; /* arg is null and recv is not */
9364 var8
= ((short int (*)(val
* self
, val
* p0
))(var_tidnode2
->class->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_tidnode2
, var6
) /* != on <var_tidnode2:nullable Object>*/;
9369 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3
, var_tidnode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
9373 var_node_list
= var_listnode3
;
9374 var9
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1011> */
9376 var10
= nit___nit__Parser___go_to(var_p
, var9
);
9379 nit___nit__Parser___push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9383 /* method parser#ReduceAction1012#action for (self: ReduceAction1012, Parser) */
9384 void nit__parser___nit__parser__ReduceAction1012___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
9385 val
* var_p
/* var p: Parser */;
9386 val
* var
/* : null */;
9387 val
* var_node_list
/* var node_list: nullable Object */;
9388 val
* var1
/* : nullable Object */;
9389 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9390 val
* var2
/* : Array[Object] */;
9391 val
* var_listnode2
/* var listnode2: Array[Object] */;
9392 val
* var_tcommentnode1
/* var tcommentnode1: nullable Object */;
9393 val
* var3
/* : null */;
9394 short int var4
/* : Bool */;
9395 short int var5
/* : Bool */;
9396 long var6
/* : Int */;
9397 long var7
/* : Int */;
9400 var_node_list
= var
;
9402 var1
= nit___nit__Parser___pop(var_p
);
9404 var_nodearraylist1
= var1
;
9405 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
9407 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
9409 var_listnode2
= var2
;
9410 var_tcommentnode1
= var_nodearraylist1
;
9412 if (var_tcommentnode1
== NULL
) {
9413 var4
= 0; /* is null */
9415 var4
= 1; /* arg is null and recv is not */
9418 var5
= ((short int (*)(val
* self
, val
* p0
))(var_tcommentnode1
->class->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_tcommentnode1
, var3
) /* != on <var_tcommentnode1:nullable Object>*/;
9423 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode2
, var_tcommentnode1
); /* Direct call array#Array#add on <var_listnode2:Array[Object]>*/
9427 var_node_list
= var_listnode2
;
9428 var6
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1012> */
9430 var7
= nit___nit__Parser___go_to(var_p
, var6
);
9433 nit___nit__Parser___push(var_p
, var7
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9437 /* method parser#ReduceAction1013#action for (self: ReduceAction1013, Parser) */
9438 void nit__parser___nit__parser__ReduceAction1013___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
9439 val
* var_p
/* var p: Parser */;
9440 val
* var
/* : null */;
9441 val
* var_node_list
/* var node_list: nullable Object */;
9442 val
* var1
/* : nullable Object */;
9443 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9444 val
* var2
/* : nullable Object */;
9445 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9446 val
* var3
/* : Array[Object] */;
9447 val
* var_listnode3
/* var listnode3: Array[Object] */;
9448 val
* var_listnode1
/* var listnode1: nullable Object */;
9449 short int var4
/* : Bool */;
9452 val
* var_tcommentnode2
/* var tcommentnode2: nullable Object */;
9453 val
* var5
/* : Array[Object] */;
9454 val
* var6
/* : null */;
9455 short int var7
/* : Bool */;
9456 short int var8
/* : Bool */;
9457 long var9
/* : Int */;
9458 long var10
/* : Int */;
9461 var_node_list
= var
;
9463 var1
= nit___nit__Parser___pop(var_p
);
9465 var_nodearraylist2
= var1
;
9467 var2
= nit___nit__Parser___pop(var_p
);
9469 var_nodearraylist1
= var2
;
9470 var3
= NEW_standard__Array(&type_standard__Array__standard__Object
);
9472 standard___standard__Array___standard__kernel__Object__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
9474 var_listnode3
= var3
;
9475 var_listnode1
= var_nodearraylist1
;
9476 /* <var_listnode1:nullable Object> isa Array[Object] */
9477 cltype
= type_standard__Array__standard__Object
.color
;
9478 idtype
= type_standard__Array__standard__Object
.id
;
9479 if(var_listnode1
== NULL
) {
9482 if(cltype
>= var_listnode1
->type
->table_size
) {
9485 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
9488 if (unlikely(!var4
)) {
9489 PRINT_ERROR("Runtime error: %s", "Assert failed");
9490 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11271);
9493 var_tcommentnode2
= var_nodearraylist2
;
9495 var5
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode1
);
9497 var_listnode3
= var5
;
9499 if (var_tcommentnode2
== NULL
) {
9500 var7
= 0; /* is null */
9502 var7
= 1; /* arg is null and recv is not */
9505 var8
= ((short int (*)(val
* self
, val
* p0
))(var_tcommentnode2
->class->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_tcommentnode2
, var6
) /* != on <var_tcommentnode2:nullable Object>*/;
9510 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3
, var_tcommentnode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
9514 var_node_list
= var_listnode3
;
9515 var9
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1013> */
9517 var10
= nit___nit__Parser___go_to(var_p
, var9
);
9520 nit___nit__Parser___push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9524 /* method parser#ReduceAction1014#action for (self: ReduceAction1014, Parser) */
9525 void nit__parser___nit__parser__ReduceAction1014___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
9526 val
* var_p
/* var p: Parser */;
9527 val
* var
/* : null */;
9528 val
* var_node_list
/* var node_list: nullable Object */;
9529 val
* var1
/* : nullable Object */;
9530 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9531 val
* var2
/* : Array[Object] */;
9532 val
* var_listnode2
/* var listnode2: Array[Object] */;
9533 val
* var_teolnode1
/* var teolnode1: nullable Object */;
9534 val
* var3
/* : null */;
9535 short int var4
/* : Bool */;
9536 short int var5
/* : Bool */;
9537 long var6
/* : Int */;
9538 long var7
/* : Int */;
9541 var_node_list
= var
;
9543 var1
= nit___nit__Parser___pop(var_p
);
9545 var_nodearraylist1
= var1
;
9546 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
9548 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
9550 var_listnode2
= var2
;
9551 var_teolnode1
= var_nodearraylist1
;
9553 if (var_teolnode1
== NULL
) {
9554 var4
= 0; /* is null */
9556 var4
= 1; /* arg is null and recv is not */
9559 var5
= ((short int (*)(val
* self
, val
* p0
))(var_teolnode1
->class->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_teolnode1
, var3
) /* != on <var_teolnode1:nullable Object>*/;
9564 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode2
, var_teolnode1
); /* Direct call array#Array#add on <var_listnode2:Array[Object]>*/
9568 var_node_list
= var_listnode2
;
9569 var6
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1014> */
9571 var7
= nit___nit__Parser___go_to(var_p
, var6
);
9574 nit___nit__Parser___push(var_p
, var7
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9578 /* method parser#ReduceAction1015#action for (self: ReduceAction1015, Parser) */
9579 void nit__parser___nit__parser__ReduceAction1015___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
9580 val
* var_p
/* var p: Parser */;
9581 val
* var
/* : null */;
9582 val
* var_node_list
/* var node_list: nullable Object */;
9583 val
* var1
/* : nullable Object */;
9584 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9585 val
* var2
/* : nullable Object */;
9586 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9587 val
* var3
/* : Array[Object] */;
9588 val
* var_listnode3
/* var listnode3: Array[Object] */;
9589 val
* var_listnode1
/* var listnode1: nullable Object */;
9590 short int var4
/* : Bool */;
9593 val
* var_teolnode2
/* var teolnode2: nullable Object */;
9594 val
* var5
/* : Array[Object] */;
9595 val
* var6
/* : null */;
9596 short int var7
/* : Bool */;
9597 short int var8
/* : Bool */;
9598 long var9
/* : Int */;
9599 long var10
/* : Int */;
9602 var_node_list
= var
;
9604 var1
= nit___nit__Parser___pop(var_p
);
9606 var_nodearraylist2
= var1
;
9608 var2
= nit___nit__Parser___pop(var_p
);
9610 var_nodearraylist1
= var2
;
9611 var3
= NEW_standard__Array(&type_standard__Array__standard__Object
);
9613 standard___standard__Array___standard__kernel__Object__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
9615 var_listnode3
= var3
;
9616 var_listnode1
= var_nodearraylist1
;
9617 /* <var_listnode1:nullable Object> isa Array[Object] */
9618 cltype
= type_standard__Array__standard__Object
.color
;
9619 idtype
= type_standard__Array__standard__Object
.id
;
9620 if(var_listnode1
== NULL
) {
9623 if(cltype
>= var_listnode1
->type
->table_size
) {
9626 var4
= var_listnode1
->type
->type_table
[cltype
] == idtype
;
9629 if (unlikely(!var4
)) {
9630 PRINT_ERROR("Runtime error: %s", "Assert failed");
9631 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 11305);
9634 var_teolnode2
= var_nodearraylist2
;
9636 var5
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode1
);
9638 var_listnode3
= var5
;
9640 if (var_teolnode2
== NULL
) {
9641 var7
= 0; /* is null */
9643 var7
= 1; /* arg is null and recv is not */
9646 var8
= ((short int (*)(val
* self
, val
* p0
))(var_teolnode2
->class->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_teolnode2
, var6
) /* != on <var_teolnode2:nullable Object>*/;
9651 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3
, var_teolnode2
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
9655 var_node_list
= var_listnode3
;
9656 var9
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction1015> */
9658 var10
= nit___nit__Parser___go_to(var_p
, var9
);
9661 nit___nit__Parser___push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/