1 #include "nit__parser.sep.0.h"
2 /* method parser#ReduceAction273#action for (self: ReduceAction273, Parser) */
3 void nit__parser___nit__parser__ReduceAction273___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4 val
* var_p
/* var p: Parser */;
5 val
* var_node_list
/* var node_list: nullable Object */;
6 val
* var
/* : nullable Object */;
7 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
8 val
* var1
/* : nullable Object */;
9 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
10 val
* var2
/* : nullable Object */;
11 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
12 val
* var3
/* : nullable Object */;
13 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
14 val
* var4
/* : nullable Object */;
15 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
16 val
* var5
/* : nullable Object */;
17 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
18 val
* var6
/* : nullable Object */;
19 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
20 val
* var_tkwwithnode2
/* var tkwwithnode2: nullable Object */;
21 short int var7
/* : Bool */;
24 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
25 short int var8
/* : Bool */;
28 val
* var_tkwdonode4
/* var tkwdonode4: nullable Object */;
29 short int var11
/* : Bool */;
32 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
33 short int var14
/* : Bool */;
36 val
* var_plabelnode6
/* var plabelnode6: nullable Object */;
37 short int var17
/* : Bool */;
40 val
* var20
/* : AWithExpr */;
41 val
* var_pexprnode1
/* var pexprnode1: nullable AWithExpr */;
42 long var21
/* : Int */;
43 long var22
/* : Int */;
45 var_node_list
= ((val
*)NULL
);
47 var
= nit___nit__Parser___pop(var_p
);
49 var_nodearraylist7
= var
;
51 var1
= nit___nit__Parser___pop(var_p
);
53 var_nodearraylist6
= var1
;
55 var2
= nit___nit__Parser___pop(var_p
);
57 var_nodearraylist5
= var2
;
59 var3
= nit___nit__Parser___pop(var_p
);
61 var_nodearraylist4
= var3
;
63 var4
= nit___nit__Parser___pop(var_p
);
65 var_nodearraylist3
= var4
;
67 var5
= nit___nit__Parser___pop(var_p
);
69 var_nodearraylist2
= var5
;
71 var6
= nit___nit__Parser___pop(var_p
);
73 var_nodearraylist1
= var6
;
74 var_tkwwithnode2
= var_nodearraylist1
;
75 /* <var_tkwwithnode2:nullable Object> isa nullable TKwwith */
76 cltype
= type_nullable__nit__TKwwith
.color
;
77 idtype
= type_nullable__nit__TKwwith
.id
;
78 if(var_tkwwithnode2
== NULL
) {
81 if(cltype
>= (((long)var_tkwwithnode2
&3)?type_info
[((long)var_tkwwithnode2
&3)]:var_tkwwithnode2
->type
)->table_size
) {
84 var7
= (((long)var_tkwwithnode2
&3)?type_info
[((long)var_tkwwithnode2
&3)]:var_tkwwithnode2
->type
)->type_table
[cltype
] == idtype
;
87 if (unlikely(!var7
)) {
88 PRINT_ERROR("Runtime error: %s", "Assert failed");
89 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7434);
92 var_pexprnode3
= var_nodearraylist3
;
93 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
94 cltype9
= type_nullable__nit__AExpr
.color
;
95 idtype10
= type_nullable__nit__AExpr
.id
;
96 if(var_pexprnode3
== NULL
) {
99 if(cltype9
>= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->table_size
) {
102 var8
= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->type_table
[cltype9
] == idtype10
;
105 if (unlikely(!var8
)) {
106 PRINT_ERROR("Runtime error: %s", "Assert failed");
107 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7436);
110 var_tkwdonode4
= var_nodearraylist5
;
111 /* <var_tkwdonode4:nullable Object> isa nullable TKwdo */
112 cltype12
= type_nullable__nit__TKwdo
.color
;
113 idtype13
= type_nullable__nit__TKwdo
.id
;
114 if(var_tkwdonode4
== NULL
) {
117 if(cltype12
>= (((long)var_tkwdonode4
&3)?type_info
[((long)var_tkwdonode4
&3)]:var_tkwdonode4
->type
)->table_size
) {
120 var11
= (((long)var_tkwdonode4
&3)?type_info
[((long)var_tkwdonode4
&3)]:var_tkwdonode4
->type
)->type_table
[cltype12
] == idtype13
;
123 if (unlikely(!var11
)) {
124 PRINT_ERROR("Runtime error: %s", "Assert failed");
125 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7438);
128 var_pexprnode5
= var_nodearraylist6
;
129 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
130 cltype15
= type_nullable__nit__AExpr
.color
;
131 idtype16
= type_nullable__nit__AExpr
.id
;
132 if(var_pexprnode5
== NULL
) {
135 if(cltype15
>= (((long)var_pexprnode5
&3)?type_info
[((long)var_pexprnode5
&3)]:var_pexprnode5
->type
)->table_size
) {
138 var14
= (((long)var_pexprnode5
&3)?type_info
[((long)var_pexprnode5
&3)]:var_pexprnode5
->type
)->type_table
[cltype15
] == idtype16
;
141 if (unlikely(!var14
)) {
142 PRINT_ERROR("Runtime error: %s", "Assert failed");
143 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7440);
146 var_plabelnode6
= var_nodearraylist7
;
147 /* <var_plabelnode6:nullable Object> isa nullable ALabel */
148 cltype18
= type_nullable__nit__ALabel
.color
;
149 idtype19
= type_nullable__nit__ALabel
.id
;
150 if(var_plabelnode6
== NULL
) {
153 if(cltype18
>= (((long)var_plabelnode6
&3)?type_info
[((long)var_plabelnode6
&3)]:var_plabelnode6
->type
)->table_size
) {
156 var17
= (((long)var_plabelnode6
&3)?type_info
[((long)var_plabelnode6
&3)]:var_plabelnode6
->type
)->type_table
[cltype18
] == idtype19
;
159 if (unlikely(!var17
)) {
160 PRINT_ERROR("Runtime error: %s", "Assert failed");
161 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7442);
164 var20
= NEW_nit__AWithExpr(&type_nit__AWithExpr
);
166 nit__parser_prod___AWithExpr___init_awithexpr(var20
, var_tkwwithnode2
, var_pexprnode3
, var_tkwdonode4
, var_pexprnode5
, var_plabelnode6
); /* Direct call parser_prod#AWithExpr#init_awithexpr on <var20:AWithExpr>*/
168 var_pexprnode1
= var20
;
169 var_node_list
= var_pexprnode1
;
170 var21
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction273> */
172 var22
= nit___nit__Parser___go_to(var_p
, var21
);
175 nit___nit__Parser___push(var_p
, var22
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
179 /* method parser#ReduceAction274#action for (self: ReduceAction274, Parser) */
180 void nit__parser___nit__parser__ReduceAction274___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
181 val
* var_p
/* var p: Parser */;
182 val
* var_node_list
/* var node_list: nullable Object */;
183 val
* var
/* : nullable Object */;
184 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
185 val
* var1
/* : nullable Object */;
186 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
187 val
* var2
/* : nullable Object */;
188 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
189 val
* var3
/* : nullable Object */;
190 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
191 val
* var4
/* : nullable Object */;
192 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
193 val
* var5
/* : nullable Object */;
194 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
195 val
* var_tkwwithnode2
/* var tkwwithnode2: nullable Object */;
196 short int var6
/* : Bool */;
199 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
200 short int var7
/* : Bool */;
203 val
* var_tkwdonode4
/* var tkwdonode4: nullable Object */;
204 short int var10
/* : Bool */;
207 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
208 short int var13
/* : Bool */;
211 val
* var16
/* : AWithExpr */;
212 val
* var_pexprnode1
/* var pexprnode1: nullable AWithExpr */;
213 long var17
/* : Int */;
214 long var18
/* : Int */;
216 var_node_list
= ((val
*)NULL
);
218 var
= nit___nit__Parser___pop(var_p
);
220 var_nodearraylist6
= var
;
222 var1
= nit___nit__Parser___pop(var_p
);
224 var_nodearraylist5
= var1
;
226 var2
= nit___nit__Parser___pop(var_p
);
228 var_nodearraylist4
= var2
;
230 var3
= nit___nit__Parser___pop(var_p
);
232 var_nodearraylist3
= var3
;
234 var4
= nit___nit__Parser___pop(var_p
);
236 var_nodearraylist2
= var4
;
238 var5
= nit___nit__Parser___pop(var_p
);
240 var_nodearraylist1
= var5
;
241 var_tkwwithnode2
= var_nodearraylist1
;
242 /* <var_tkwwithnode2:nullable Object> isa nullable TKwwith */
243 cltype
= type_nullable__nit__TKwwith
.color
;
244 idtype
= type_nullable__nit__TKwwith
.id
;
245 if(var_tkwwithnode2
== NULL
) {
248 if(cltype
>= (((long)var_tkwwithnode2
&3)?type_info
[((long)var_tkwwithnode2
&3)]:var_tkwwithnode2
->type
)->table_size
) {
251 var6
= (((long)var_tkwwithnode2
&3)?type_info
[((long)var_tkwwithnode2
&3)]:var_tkwwithnode2
->type
)->type_table
[cltype
] == idtype
;
254 if (unlikely(!var6
)) {
255 PRINT_ERROR("Runtime error: %s", "Assert failed");
256 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7466);
259 var_pexprnode3
= var_nodearraylist3
;
260 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
261 cltype8
= type_nullable__nit__AExpr
.color
;
262 idtype9
= type_nullable__nit__AExpr
.id
;
263 if(var_pexprnode3
== NULL
) {
266 if(cltype8
>= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->table_size
) {
269 var7
= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->type_table
[cltype8
] == idtype9
;
272 if (unlikely(!var7
)) {
273 PRINT_ERROR("Runtime error: %s", "Assert failed");
274 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7468);
277 var_tkwdonode4
= var_nodearraylist5
;
278 /* <var_tkwdonode4:nullable Object> isa nullable TKwdo */
279 cltype11
= type_nullable__nit__TKwdo
.color
;
280 idtype12
= type_nullable__nit__TKwdo
.id
;
281 if(var_tkwdonode4
== NULL
) {
284 if(cltype11
>= (((long)var_tkwdonode4
&3)?type_info
[((long)var_tkwdonode4
&3)]:var_tkwdonode4
->type
)->table_size
) {
287 var10
= (((long)var_tkwdonode4
&3)?type_info
[((long)var_tkwdonode4
&3)]:var_tkwdonode4
->type
)->type_table
[cltype11
] == idtype12
;
290 if (unlikely(!var10
)) {
291 PRINT_ERROR("Runtime error: %s", "Assert failed");
292 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7470);
295 var_pexprnode5
= var_nodearraylist6
;
296 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
297 cltype14
= type_nullable__nit__AExpr
.color
;
298 idtype15
= type_nullable__nit__AExpr
.id
;
299 if(var_pexprnode5
== NULL
) {
302 if(cltype14
>= (((long)var_pexprnode5
&3)?type_info
[((long)var_pexprnode5
&3)]:var_pexprnode5
->type
)->table_size
) {
305 var13
= (((long)var_pexprnode5
&3)?type_info
[((long)var_pexprnode5
&3)]:var_pexprnode5
->type
)->type_table
[cltype14
] == idtype15
;
308 if (unlikely(!var13
)) {
309 PRINT_ERROR("Runtime error: %s", "Assert failed");
310 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7472);
313 var16
= NEW_nit__AWithExpr(&type_nit__AWithExpr
);
315 nit__parser_prod___AWithExpr___init_awithexpr(var16
, var_tkwwithnode2
, var_pexprnode3
, var_tkwdonode4
, var_pexprnode5
, ((val
*)NULL
)); /* Direct call parser_prod#AWithExpr#init_awithexpr on <var16:AWithExpr>*/
317 var_pexprnode1
= var16
;
318 var_node_list
= var_pexprnode1
;
319 var17
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction274> */
321 var18
= nit___nit__Parser___go_to(var_p
, var17
);
324 nit___nit__Parser___push(var_p
, var18
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
328 /* method parser#ReduceAction275#action for (self: ReduceAction275, Parser) */
329 void nit__parser___nit__parser__ReduceAction275___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
330 val
* var_p
/* var p: Parser */;
331 val
* var_node_list
/* var node_list: nullable Object */;
332 val
* var
/* : nullable Object */;
333 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
334 val
* var1
/* : nullable Object */;
335 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
336 val
* var2
/* : nullable Object */;
337 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
338 val
* var3
/* : nullable Object */;
339 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
340 val
* var4
/* : nullable Object */;
341 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
342 val
* var_tidnode3
/* var tidnode3: nullable Object */;
343 short int var5
/* : Bool */;
346 val
* var_ptypenode4
/* var ptypenode4: nullable Object */;
347 short int var6
/* : Bool */;
350 val
* var_tassignnode5
/* var tassignnode5: nullable Object */;
351 short int var9
/* : Bool */;
354 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
355 short int var12
/* : Bool */;
358 val
* var15
/* : AVardeclExpr */;
359 val
* var_pexprnode1
/* var pexprnode1: nullable AVardeclExpr */;
360 long var16
/* : Int */;
361 long var17
/* : Int */;
363 var_node_list
= ((val
*)NULL
);
365 var
= nit___nit__Parser___pop(var_p
);
367 var_nodearraylist5
= var
;
369 var1
= nit___nit__Parser___pop(var_p
);
371 var_nodearraylist4
= var1
;
373 var2
= nit___nit__Parser___pop(var_p
);
375 var_nodearraylist3
= var2
;
377 var3
= nit___nit__Parser___pop(var_p
);
379 var_nodearraylist2
= var3
;
381 var4
= nit___nit__Parser___pop(var_p
);
383 var_nodearraylist1
= var4
;
384 var_tidnode3
= var_nodearraylist1
;
385 /* <var_tidnode3:nullable Object> isa nullable TId */
386 cltype
= type_nullable__nit__TId
.color
;
387 idtype
= type_nullable__nit__TId
.id
;
388 if(var_tidnode3
== NULL
) {
391 if(cltype
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
394 var5
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype
] == idtype
;
397 if (unlikely(!var5
)) {
398 PRINT_ERROR("Runtime error: %s", "Assert failed");
399 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7495);
402 var_ptypenode4
= var_nodearraylist2
;
403 /* <var_ptypenode4:nullable Object> isa nullable AType */
404 cltype7
= type_nullable__nit__AType
.color
;
405 idtype8
= type_nullable__nit__AType
.id
;
406 if(var_ptypenode4
== NULL
) {
409 if(cltype7
>= (((long)var_ptypenode4
&3)?type_info
[((long)var_ptypenode4
&3)]:var_ptypenode4
->type
)->table_size
) {
412 var6
= (((long)var_ptypenode4
&3)?type_info
[((long)var_ptypenode4
&3)]:var_ptypenode4
->type
)->type_table
[cltype7
] == idtype8
;
415 if (unlikely(!var6
)) {
416 PRINT_ERROR("Runtime error: %s", "Assert failed");
417 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7497);
420 var_tassignnode5
= var_nodearraylist3
;
421 /* <var_tassignnode5:nullable Object> isa nullable TAssign */
422 cltype10
= type_nullable__nit__TAssign
.color
;
423 idtype11
= type_nullable__nit__TAssign
.id
;
424 if(var_tassignnode5
== NULL
) {
427 if(cltype10
>= (((long)var_tassignnode5
&3)?type_info
[((long)var_tassignnode5
&3)]:var_tassignnode5
->type
)->table_size
) {
430 var9
= (((long)var_tassignnode5
&3)?type_info
[((long)var_tassignnode5
&3)]:var_tassignnode5
->type
)->type_table
[cltype10
] == idtype11
;
433 if (unlikely(!var9
)) {
434 PRINT_ERROR("Runtime error: %s", "Assert failed");
435 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7499);
438 var_pexprnode6
= var_nodearraylist5
;
439 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
440 cltype13
= type_nullable__nit__AExpr
.color
;
441 idtype14
= type_nullable__nit__AExpr
.id
;
442 if(var_pexprnode6
== NULL
) {
445 if(cltype13
>= (((long)var_pexprnode6
&3)?type_info
[((long)var_pexprnode6
&3)]:var_pexprnode6
->type
)->table_size
) {
448 var12
= (((long)var_pexprnode6
&3)?type_info
[((long)var_pexprnode6
&3)]:var_pexprnode6
->type
)->type_table
[cltype13
] == idtype14
;
451 if (unlikely(!var12
)) {
452 PRINT_ERROR("Runtime error: %s", "Assert failed");
453 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7501);
456 var15
= NEW_nit__AVardeclExpr(&type_nit__AVardeclExpr
);
458 nit__parser_prod___AVardeclExpr___init_avardeclexpr(var15
, ((val
*)NULL
), var_tidnode3
, var_ptypenode4
, var_tassignnode5
, var_pexprnode6
, ((val
*)NULL
)); /* Direct call parser_prod#AVardeclExpr#init_avardeclexpr on <var15:AVardeclExpr>*/
460 var_pexprnode1
= var15
;
461 var_node_list
= var_pexprnode1
;
462 var16
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction275> */
464 var17
= nit___nit__Parser___go_to(var_p
, var16
);
467 nit___nit__Parser___push(var_p
, var17
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
471 /* method parser#ReduceAction276#action for (self: ReduceAction276, Parser) */
472 void nit__parser___nit__parser__ReduceAction276___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
473 val
* var_p
/* var p: Parser */;
474 val
* var_node_list
/* var node_list: nullable Object */;
475 val
* var
/* : nullable Object */;
476 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
477 val
* var1
/* : nullable Object */;
478 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
479 val
* var2
/* : nullable Object */;
480 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
481 val
* var3
/* : nullable Object */;
482 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
483 val
* var4
/* : nullable Object */;
484 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
485 val
* var5
/* : nullable Object */;
486 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
487 val
* var_tidnode3
/* var tidnode3: nullable Object */;
488 short int var6
/* : Bool */;
491 val
* var_ptypenode4
/* var ptypenode4: nullable Object */;
492 short int var7
/* : Bool */;
495 val
* var_tassignnode5
/* var tassignnode5: nullable Object */;
496 short int var10
/* : Bool */;
499 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
500 short int var13
/* : Bool */;
503 val
* var_pannotationsnode7
/* var pannotationsnode7: nullable Object */;
504 short int var16
/* : Bool */;
507 val
* var19
/* : AVardeclExpr */;
508 val
* var_pexprnode1
/* var pexprnode1: nullable AVardeclExpr */;
509 long var20
/* : Int */;
510 long var21
/* : Int */;
512 var_node_list
= ((val
*)NULL
);
514 var
= nit___nit__Parser___pop(var_p
);
516 var_nodearraylist6
= var
;
518 var1
= nit___nit__Parser___pop(var_p
);
520 var_nodearraylist5
= var1
;
522 var2
= nit___nit__Parser___pop(var_p
);
524 var_nodearraylist4
= var2
;
526 var3
= nit___nit__Parser___pop(var_p
);
528 var_nodearraylist3
= var3
;
530 var4
= nit___nit__Parser___pop(var_p
);
532 var_nodearraylist2
= var4
;
534 var5
= nit___nit__Parser___pop(var_p
);
536 var_nodearraylist1
= var5
;
537 var_tidnode3
= var_nodearraylist1
;
538 /* <var_tidnode3:nullable Object> isa nullable TId */
539 cltype
= type_nullable__nit__TId
.color
;
540 idtype
= type_nullable__nit__TId
.id
;
541 if(var_tidnode3
== NULL
) {
544 if(cltype
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
547 var6
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype
] == idtype
;
550 if (unlikely(!var6
)) {
551 PRINT_ERROR("Runtime error: %s", "Assert failed");
552 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7526);
555 var_ptypenode4
= var_nodearraylist3
;
556 /* <var_ptypenode4:nullable Object> isa nullable AType */
557 cltype8
= type_nullable__nit__AType
.color
;
558 idtype9
= type_nullable__nit__AType
.id
;
559 if(var_ptypenode4
== NULL
) {
562 if(cltype8
>= (((long)var_ptypenode4
&3)?type_info
[((long)var_ptypenode4
&3)]:var_ptypenode4
->type
)->table_size
) {
565 var7
= (((long)var_ptypenode4
&3)?type_info
[((long)var_ptypenode4
&3)]:var_ptypenode4
->type
)->type_table
[cltype8
] == idtype9
;
568 if (unlikely(!var7
)) {
569 PRINT_ERROR("Runtime error: %s", "Assert failed");
570 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7528);
573 var_tassignnode5
= var_nodearraylist4
;
574 /* <var_tassignnode5:nullable Object> isa nullable TAssign */
575 cltype11
= type_nullable__nit__TAssign
.color
;
576 idtype12
= type_nullable__nit__TAssign
.id
;
577 if(var_tassignnode5
== NULL
) {
580 if(cltype11
>= (((long)var_tassignnode5
&3)?type_info
[((long)var_tassignnode5
&3)]:var_tassignnode5
->type
)->table_size
) {
583 var10
= (((long)var_tassignnode5
&3)?type_info
[((long)var_tassignnode5
&3)]:var_tassignnode5
->type
)->type_table
[cltype11
] == idtype12
;
586 if (unlikely(!var10
)) {
587 PRINT_ERROR("Runtime error: %s", "Assert failed");
588 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7530);
591 var_pexprnode6
= var_nodearraylist6
;
592 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
593 cltype14
= type_nullable__nit__AExpr
.color
;
594 idtype15
= type_nullable__nit__AExpr
.id
;
595 if(var_pexprnode6
== NULL
) {
598 if(cltype14
>= (((long)var_pexprnode6
&3)?type_info
[((long)var_pexprnode6
&3)]:var_pexprnode6
->type
)->table_size
) {
601 var13
= (((long)var_pexprnode6
&3)?type_info
[((long)var_pexprnode6
&3)]:var_pexprnode6
->type
)->type_table
[cltype14
] == idtype15
;
604 if (unlikely(!var13
)) {
605 PRINT_ERROR("Runtime error: %s", "Assert failed");
606 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7532);
609 var_pannotationsnode7
= var_nodearraylist2
;
610 /* <var_pannotationsnode7:nullable Object> isa nullable AAnnotations */
611 cltype17
= type_nullable__nit__AAnnotations
.color
;
612 idtype18
= type_nullable__nit__AAnnotations
.id
;
613 if(var_pannotationsnode7
== NULL
) {
616 if(cltype17
>= (((long)var_pannotationsnode7
&3)?type_info
[((long)var_pannotationsnode7
&3)]:var_pannotationsnode7
->type
)->table_size
) {
619 var16
= (((long)var_pannotationsnode7
&3)?type_info
[((long)var_pannotationsnode7
&3)]:var_pannotationsnode7
->type
)->type_table
[cltype17
] == idtype18
;
622 if (unlikely(!var16
)) {
623 PRINT_ERROR("Runtime error: %s", "Assert failed");
624 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7534);
627 var19
= NEW_nit__AVardeclExpr(&type_nit__AVardeclExpr
);
629 nit__parser_prod___AVardeclExpr___init_avardeclexpr(var19
, ((val
*)NULL
), var_tidnode3
, var_ptypenode4
, var_tassignnode5
, var_pexprnode6
, var_pannotationsnode7
); /* Direct call parser_prod#AVardeclExpr#init_avardeclexpr on <var19:AVardeclExpr>*/
631 var_pexprnode1
= var19
;
632 var_node_list
= var_pexprnode1
;
633 var20
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction276> */
635 var21
= nit___nit__Parser___go_to(var_p
, var20
);
638 nit___nit__Parser___push(var_p
, var21
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
642 /* method parser#ReduceAction278#action for (self: ReduceAction278, Parser) */
643 void nit__parser___nit__parser__ReduceAction278___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
644 val
* var_p
/* var p: Parser */;
645 val
* var_node_list
/* var node_list: nullable Object */;
646 val
* var
/* : nullable Object */;
647 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
648 val
* var1
/* : nullable Object */;
649 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
650 val
* var2
/* : nullable Object */;
651 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
652 val
* var3
/* : nullable Object */;
653 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
654 val
* var_tkwassertnode2
/* var tkwassertnode2: nullable Object */;
655 short int var4
/* : Bool */;
658 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
659 short int var5
/* : Bool */;
662 val
* var_tkwelsenode5
/* var tkwelsenode5: nullable Object */;
663 short int var8
/* : Bool */;
666 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
667 short int var11
/* : Bool */;
670 val
* var14
/* : AAssertExpr */;
671 val
* var_pexprnode1
/* var pexprnode1: nullable AAssertExpr */;
672 long var15
/* : Int */;
673 long var16
/* : Int */;
675 var_node_list
= ((val
*)NULL
);
677 var
= nit___nit__Parser___pop(var_p
);
679 var_nodearraylist4
= var
;
681 var1
= nit___nit__Parser___pop(var_p
);
683 var_nodearraylist3
= var1
;
685 var2
= nit___nit__Parser___pop(var_p
);
687 var_nodearraylist2
= var2
;
689 var3
= nit___nit__Parser___pop(var_p
);
691 var_nodearraylist1
= var3
;
692 var_tkwassertnode2
= var_nodearraylist1
;
693 /* <var_tkwassertnode2:nullable Object> isa nullable TKwassert */
694 cltype
= type_nullable__nit__TKwassert
.color
;
695 idtype
= type_nullable__nit__TKwassert
.id
;
696 if(var_tkwassertnode2
== NULL
) {
699 if(cltype
>= (((long)var_tkwassertnode2
&3)?type_info
[((long)var_tkwassertnode2
&3)]:var_tkwassertnode2
->type
)->table_size
) {
702 var4
= (((long)var_tkwassertnode2
&3)?type_info
[((long)var_tkwassertnode2
&3)]:var_tkwassertnode2
->type
)->type_table
[cltype
] == idtype
;
705 if (unlikely(!var4
)) {
706 PRINT_ERROR("Runtime error: %s", "Assert failed");
707 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7557);
710 var_pexprnode4
= var_nodearraylist2
;
711 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
712 cltype6
= type_nullable__nit__AExpr
.color
;
713 idtype7
= type_nullable__nit__AExpr
.id
;
714 if(var_pexprnode4
== NULL
) {
717 if(cltype6
>= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->table_size
) {
720 var5
= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->type_table
[cltype6
] == idtype7
;
723 if (unlikely(!var5
)) {
724 PRINT_ERROR("Runtime error: %s", "Assert failed");
725 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7559);
728 var_tkwelsenode5
= var_nodearraylist3
;
729 /* <var_tkwelsenode5:nullable Object> isa nullable TKwelse */
730 cltype9
= type_nullable__nit__TKwelse
.color
;
731 idtype10
= type_nullable__nit__TKwelse
.id
;
732 if(var_tkwelsenode5
== NULL
) {
735 if(cltype9
>= (((long)var_tkwelsenode5
&3)?type_info
[((long)var_tkwelsenode5
&3)]:var_tkwelsenode5
->type
)->table_size
) {
738 var8
= (((long)var_tkwelsenode5
&3)?type_info
[((long)var_tkwelsenode5
&3)]:var_tkwelsenode5
->type
)->type_table
[cltype9
] == idtype10
;
741 if (unlikely(!var8
)) {
742 PRINT_ERROR("Runtime error: %s", "Assert failed");
743 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7561);
746 var_pexprnode6
= var_nodearraylist4
;
747 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
748 cltype12
= type_nullable__nit__AExpr
.color
;
749 idtype13
= type_nullable__nit__AExpr
.id
;
750 if(var_pexprnode6
== NULL
) {
753 if(cltype12
>= (((long)var_pexprnode6
&3)?type_info
[((long)var_pexprnode6
&3)]:var_pexprnode6
->type
)->table_size
) {
756 var11
= (((long)var_pexprnode6
&3)?type_info
[((long)var_pexprnode6
&3)]:var_pexprnode6
->type
)->type_table
[cltype12
] == idtype13
;
759 if (unlikely(!var11
)) {
760 PRINT_ERROR("Runtime error: %s", "Assert failed");
761 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7563);
764 var14
= NEW_nit__AAssertExpr(&type_nit__AAssertExpr
);
766 nit__parser_prod___AAssertExpr___init_aassertexpr(var14
, var_tkwassertnode2
, ((val
*)NULL
), var_pexprnode4
, var_tkwelsenode5
, var_pexprnode6
); /* Direct call parser_prod#AAssertExpr#init_aassertexpr on <var14:AAssertExpr>*/
768 var_pexprnode1
= var14
;
769 var_node_list
= var_pexprnode1
;
770 var15
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction278> */
772 var16
= nit___nit__Parser___go_to(var_p
, var15
);
775 nit___nit__Parser___push(var_p
, var16
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
779 /* method parser#ReduceAction279#action for (self: ReduceAction279, Parser) */
780 void nit__parser___nit__parser__ReduceAction279___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
781 val
* var_p
/* var p: Parser */;
782 val
* var_node_list
/* var node_list: nullable Object */;
783 val
* var
/* : nullable Object */;
784 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
785 val
* var1
/* : nullable Object */;
786 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
787 val
* var2
/* : nullable Object */;
788 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
789 val
* var3
/* : nullable Object */;
790 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
791 val
* var4
/* : nullable Object */;
792 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
793 val
* var_tkwassertnode2
/* var tkwassertnode2: nullable Object */;
794 short int var5
/* : Bool */;
797 val
* var_tidnode3
/* var tidnode3: nullable Object */;
798 short int var6
/* : Bool */;
801 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
802 short int var9
/* : Bool */;
805 val
* var_tkwelsenode5
/* var tkwelsenode5: nullable Object */;
806 short int var12
/* : Bool */;
809 val
* var_pexprnode6
/* var pexprnode6: nullable Object */;
810 short int var15
/* : Bool */;
813 val
* var18
/* : AAssertExpr */;
814 val
* var_pexprnode1
/* var pexprnode1: nullable AAssertExpr */;
815 long var19
/* : Int */;
816 long var20
/* : Int */;
818 var_node_list
= ((val
*)NULL
);
820 var
= nit___nit__Parser___pop(var_p
);
822 var_nodearraylist5
= var
;
824 var1
= nit___nit__Parser___pop(var_p
);
826 var_nodearraylist4
= var1
;
828 var2
= nit___nit__Parser___pop(var_p
);
830 var_nodearraylist3
= var2
;
832 var3
= nit___nit__Parser___pop(var_p
);
834 var_nodearraylist2
= var3
;
836 var4
= nit___nit__Parser___pop(var_p
);
838 var_nodearraylist1
= var4
;
839 var_tkwassertnode2
= var_nodearraylist1
;
840 /* <var_tkwassertnode2:nullable Object> isa nullable TKwassert */
841 cltype
= type_nullable__nit__TKwassert
.color
;
842 idtype
= type_nullable__nit__TKwassert
.id
;
843 if(var_tkwassertnode2
== NULL
) {
846 if(cltype
>= (((long)var_tkwassertnode2
&3)?type_info
[((long)var_tkwassertnode2
&3)]:var_tkwassertnode2
->type
)->table_size
) {
849 var5
= (((long)var_tkwassertnode2
&3)?type_info
[((long)var_tkwassertnode2
&3)]:var_tkwassertnode2
->type
)->type_table
[cltype
] == idtype
;
852 if (unlikely(!var5
)) {
853 PRINT_ERROR("Runtime error: %s", "Assert failed");
854 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7586);
857 var_tidnode3
= var_nodearraylist2
;
858 /* <var_tidnode3:nullable Object> isa nullable TId */
859 cltype7
= type_nullable__nit__TId
.color
;
860 idtype8
= type_nullable__nit__TId
.id
;
861 if(var_tidnode3
== NULL
) {
864 if(cltype7
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
867 var6
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype7
] == idtype8
;
870 if (unlikely(!var6
)) {
871 PRINT_ERROR("Runtime error: %s", "Assert failed");
872 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7588);
875 var_pexprnode4
= var_nodearraylist3
;
876 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
877 cltype10
= type_nullable__nit__AExpr
.color
;
878 idtype11
= type_nullable__nit__AExpr
.id
;
879 if(var_pexprnode4
== NULL
) {
882 if(cltype10
>= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->table_size
) {
885 var9
= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->type_table
[cltype10
] == idtype11
;
888 if (unlikely(!var9
)) {
889 PRINT_ERROR("Runtime error: %s", "Assert failed");
890 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7590);
893 var_tkwelsenode5
= var_nodearraylist4
;
894 /* <var_tkwelsenode5:nullable Object> isa nullable TKwelse */
895 cltype13
= type_nullable__nit__TKwelse
.color
;
896 idtype14
= type_nullable__nit__TKwelse
.id
;
897 if(var_tkwelsenode5
== NULL
) {
900 if(cltype13
>= (((long)var_tkwelsenode5
&3)?type_info
[((long)var_tkwelsenode5
&3)]:var_tkwelsenode5
->type
)->table_size
) {
903 var12
= (((long)var_tkwelsenode5
&3)?type_info
[((long)var_tkwelsenode5
&3)]:var_tkwelsenode5
->type
)->type_table
[cltype13
] == idtype14
;
906 if (unlikely(!var12
)) {
907 PRINT_ERROR("Runtime error: %s", "Assert failed");
908 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7592);
911 var_pexprnode6
= var_nodearraylist5
;
912 /* <var_pexprnode6:nullable Object> isa nullable AExpr */
913 cltype16
= type_nullable__nit__AExpr
.color
;
914 idtype17
= type_nullable__nit__AExpr
.id
;
915 if(var_pexprnode6
== NULL
) {
918 if(cltype16
>= (((long)var_pexprnode6
&3)?type_info
[((long)var_pexprnode6
&3)]:var_pexprnode6
->type
)->table_size
) {
921 var15
= (((long)var_pexprnode6
&3)?type_info
[((long)var_pexprnode6
&3)]:var_pexprnode6
->type
)->type_table
[cltype16
] == idtype17
;
924 if (unlikely(!var15
)) {
925 PRINT_ERROR("Runtime error: %s", "Assert failed");
926 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7594);
929 var18
= NEW_nit__AAssertExpr(&type_nit__AAssertExpr
);
931 nit__parser_prod___AAssertExpr___init_aassertexpr(var18
, var_tkwassertnode2
, var_tidnode3
, var_pexprnode4
, var_tkwelsenode5
, var_pexprnode6
); /* Direct call parser_prod#AAssertExpr#init_aassertexpr on <var18:AAssertExpr>*/
933 var_pexprnode1
= var18
;
934 var_node_list
= var_pexprnode1
;
935 var19
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction279> */
937 var20
= nit___nit__Parser___go_to(var_p
, var19
);
940 nit___nit__Parser___push(var_p
, var20
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
944 /* method parser#ReduceAction280#action for (self: ReduceAction280, Parser) */
945 void nit__parser___nit__parser__ReduceAction280___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
946 val
* var_p
/* var p: Parser */;
947 val
* var_node_list
/* var node_list: nullable Object */;
948 val
* var
/* : nullable Object */;
949 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
950 val
* var1
/* : nullable Object */;
951 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
952 val
* var_tkwassertnode2
/* var tkwassertnode2: nullable Object */;
953 short int var2
/* : Bool */;
956 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
957 short int var3
/* : Bool */;
960 val
* var6
/* : AAssertExpr */;
961 val
* var_pexprnode1
/* var pexprnode1: nullable AAssertExpr */;
962 long var7
/* : Int */;
963 long var8
/* : Int */;
965 var_node_list
= ((val
*)NULL
);
967 var
= nit___nit__Parser___pop(var_p
);
969 var_nodearraylist2
= var
;
971 var1
= nit___nit__Parser___pop(var_p
);
973 var_nodearraylist1
= var1
;
974 var_tkwassertnode2
= var_nodearraylist1
;
975 /* <var_tkwassertnode2:nullable Object> isa nullable TKwassert */
976 cltype
= type_nullable__nit__TKwassert
.color
;
977 idtype
= type_nullable__nit__TKwassert
.id
;
978 if(var_tkwassertnode2
== NULL
) {
981 if(cltype
>= (((long)var_tkwassertnode2
&3)?type_info
[((long)var_tkwassertnode2
&3)]:var_tkwassertnode2
->type
)->table_size
) {
984 var2
= (((long)var_tkwassertnode2
&3)?type_info
[((long)var_tkwassertnode2
&3)]:var_tkwassertnode2
->type
)->type_table
[cltype
] == idtype
;
987 if (unlikely(!var2
)) {
988 PRINT_ERROR("Runtime error: %s", "Assert failed");
989 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7614);
992 var_pexprnode4
= var_nodearraylist2
;
993 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
994 cltype4
= type_nullable__nit__AExpr
.color
;
995 idtype5
= type_nullable__nit__AExpr
.id
;
996 if(var_pexprnode4
== NULL
) {
999 if(cltype4
>= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->table_size
) {
1002 var3
= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->type_table
[cltype4
] == idtype5
;
1005 if (unlikely(!var3
)) {
1006 PRINT_ERROR("Runtime error: %s", "Assert failed");
1007 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7616);
1010 var6
= NEW_nit__AAssertExpr(&type_nit__AAssertExpr
);
1012 nit__parser_prod___AAssertExpr___init_aassertexpr(var6
, var_tkwassertnode2
, ((val
*)NULL
), var_pexprnode4
, ((val
*)NULL
), ((val
*)NULL
)); /* Direct call parser_prod#AAssertExpr#init_aassertexpr on <var6:AAssertExpr>*/
1014 var_pexprnode1
= var6
;
1015 var_node_list
= var_pexprnode1
;
1016 var7
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction280> */
1018 var8
= nit___nit__Parser___go_to(var_p
, var7
);
1021 nit___nit__Parser___push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1025 /* method parser#ReduceAction281#action for (self: ReduceAction281, Parser) */
1026 void nit__parser___nit__parser__ReduceAction281___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1027 val
* var_p
/* var p: Parser */;
1028 val
* var_node_list
/* var node_list: nullable Object */;
1029 val
* var
/* : nullable Object */;
1030 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1031 val
* var1
/* : nullable Object */;
1032 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1033 val
* var2
/* : nullable Object */;
1034 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1035 val
* var_tkwassertnode2
/* var tkwassertnode2: nullable Object */;
1036 short int var3
/* : Bool */;
1039 val
* var_tidnode3
/* var tidnode3: nullable Object */;
1040 short int var4
/* : Bool */;
1043 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
1044 short int var7
/* : Bool */;
1047 val
* var10
/* : AAssertExpr */;
1048 val
* var_pexprnode1
/* var pexprnode1: nullable AAssertExpr */;
1049 long var11
/* : Int */;
1050 long var12
/* : Int */;
1052 var_node_list
= ((val
*)NULL
);
1054 var
= nit___nit__Parser___pop(var_p
);
1056 var_nodearraylist3
= var
;
1058 var1
= nit___nit__Parser___pop(var_p
);
1060 var_nodearraylist2
= var1
;
1062 var2
= nit___nit__Parser___pop(var_p
);
1064 var_nodearraylist1
= var2
;
1065 var_tkwassertnode2
= var_nodearraylist1
;
1066 /* <var_tkwassertnode2:nullable Object> isa nullable TKwassert */
1067 cltype
= type_nullable__nit__TKwassert
.color
;
1068 idtype
= type_nullable__nit__TKwassert
.id
;
1069 if(var_tkwassertnode2
== NULL
) {
1072 if(cltype
>= (((long)var_tkwassertnode2
&3)?type_info
[((long)var_tkwassertnode2
&3)]:var_tkwassertnode2
->type
)->table_size
) {
1075 var3
= (((long)var_tkwassertnode2
&3)?type_info
[((long)var_tkwassertnode2
&3)]:var_tkwassertnode2
->type
)->type_table
[cltype
] == idtype
;
1078 if (unlikely(!var3
)) {
1079 PRINT_ERROR("Runtime error: %s", "Assert failed");
1080 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7637);
1083 var_tidnode3
= var_nodearraylist2
;
1084 /* <var_tidnode3:nullable Object> isa nullable TId */
1085 cltype5
= type_nullable__nit__TId
.color
;
1086 idtype6
= type_nullable__nit__TId
.id
;
1087 if(var_tidnode3
== NULL
) {
1090 if(cltype5
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
1093 var4
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype5
] == idtype6
;
1096 if (unlikely(!var4
)) {
1097 PRINT_ERROR("Runtime error: %s", "Assert failed");
1098 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7639);
1101 var_pexprnode4
= var_nodearraylist3
;
1102 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
1103 cltype8
= type_nullable__nit__AExpr
.color
;
1104 idtype9
= type_nullable__nit__AExpr
.id
;
1105 if(var_pexprnode4
== NULL
) {
1108 if(cltype8
>= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->table_size
) {
1111 var7
= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->type_table
[cltype8
] == idtype9
;
1114 if (unlikely(!var7
)) {
1115 PRINT_ERROR("Runtime error: %s", "Assert failed");
1116 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7641);
1119 var10
= NEW_nit__AAssertExpr(&type_nit__AAssertExpr
);
1121 nit__parser_prod___AAssertExpr___init_aassertexpr(var10
, var_tkwassertnode2
, var_tidnode3
, var_pexprnode4
, ((val
*)NULL
), ((val
*)NULL
)); /* Direct call parser_prod#AAssertExpr#init_aassertexpr on <var10:AAssertExpr>*/
1123 var_pexprnode1
= var10
;
1124 var_node_list
= var_pexprnode1
;
1125 var11
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction281> */
1127 var12
= nit___nit__Parser___go_to(var_p
, var11
);
1130 nit___nit__Parser___push(var_p
, var12
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1134 /* method parser#ReduceAction282#action for (self: ReduceAction282, Parser) */
1135 void nit__parser___nit__parser__ReduceAction282___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1136 val
* var_p
/* var p: Parser */;
1137 val
* var_node_list
/* var node_list: nullable Object */;
1138 val
* var
/* : nullable Object */;
1139 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1140 val
* var1
/* : nullable Object */;
1141 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1142 val
* var_tidnode1
/* var tidnode1: nullable Object */;
1143 long var2
/* : Int */;
1144 long var3
/* : Int */;
1146 var_node_list
= ((val
*)NULL
);
1148 var
= nit___nit__Parser___pop(var_p
);
1150 var_nodearraylist2
= var
;
1152 var1
= nit___nit__Parser___pop(var_p
);
1154 var_nodearraylist1
= var1
;
1155 var_tidnode1
= var_nodearraylist1
;
1156 var_node_list
= var_tidnode1
;
1157 var2
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction282> */
1159 var3
= nit___nit__Parser___go_to(var_p
, var2
);
1162 nit___nit__Parser___push(var_p
, var3
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1166 /* method parser#ReduceAction284#action for (self: ReduceAction284, Parser) */
1167 void nit__parser___nit__parser__ReduceAction284___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1168 val
* var_p
/* var p: Parser */;
1169 val
* var_node_list
/* var node_list: nullable Object */;
1170 val
* var
/* : nullable Object */;
1171 val
* var_nodearraylist11
/* var nodearraylist11: nullable Object */;
1172 val
* var1
/* : nullable Object */;
1173 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
1174 val
* var2
/* : nullable Object */;
1175 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
1176 val
* var3
/* : nullable Object */;
1177 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
1178 val
* var4
/* : nullable Object */;
1179 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
1180 val
* var5
/* : nullable Object */;
1181 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
1182 val
* var6
/* : nullable Object */;
1183 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
1184 val
* var7
/* : nullable Object */;
1185 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1186 val
* var8
/* : nullable Object */;
1187 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1188 val
* var9
/* : nullable Object */;
1189 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1190 val
* var10
/* : nullable Object */;
1191 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1192 val
* var_tkwifnode2
/* var tkwifnode2: nullable Object */;
1193 short int var11
/* : Bool */;
1196 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
1197 short int var12
/* : Bool */;
1200 val
* var_tkwthennode4
/* var tkwthennode4: nullable Object */;
1201 short int var15
/* : Bool */;
1204 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
1205 short int var18
/* : Bool */;
1208 val
* var_tkwelsenode6
/* var tkwelsenode6: nullable Object */;
1209 short int var21
/* : Bool */;
1212 val
* var_pexprnode7
/* var pexprnode7: nullable Object */;
1213 short int var24
/* : Bool */;
1216 val
* var27
/* : AIfexprExpr */;
1217 val
* var_pexprnode1
/* var pexprnode1: nullable AIfexprExpr */;
1218 long var28
/* : Int */;
1219 long var29
/* : Int */;
1221 var_node_list
= ((val
*)NULL
);
1223 var
= nit___nit__Parser___pop(var_p
);
1225 var_nodearraylist11
= var
;
1227 var1
= nit___nit__Parser___pop(var_p
);
1229 var_nodearraylist10
= var1
;
1231 var2
= nit___nit__Parser___pop(var_p
);
1233 var_nodearraylist9
= var2
;
1235 var3
= nit___nit__Parser___pop(var_p
);
1237 var_nodearraylist8
= var3
;
1239 var4
= nit___nit__Parser___pop(var_p
);
1241 var_nodearraylist7
= var4
;
1243 var5
= nit___nit__Parser___pop(var_p
);
1245 var_nodearraylist6
= var5
;
1247 var6
= nit___nit__Parser___pop(var_p
);
1249 var_nodearraylist5
= var6
;
1251 var7
= nit___nit__Parser___pop(var_p
);
1253 var_nodearraylist4
= var7
;
1255 var8
= nit___nit__Parser___pop(var_p
);
1257 var_nodearraylist3
= var8
;
1259 var9
= nit___nit__Parser___pop(var_p
);
1261 var_nodearraylist2
= var9
;
1263 var10
= nit___nit__Parser___pop(var_p
);
1265 var_nodearraylist1
= var10
;
1266 var_tkwifnode2
= var_nodearraylist1
;
1267 /* <var_tkwifnode2:nullable Object> isa nullable TKwif */
1268 cltype
= type_nullable__nit__TKwif
.color
;
1269 idtype
= type_nullable__nit__TKwif
.id
;
1270 if(var_tkwifnode2
== NULL
) {
1273 if(cltype
>= (((long)var_tkwifnode2
&3)?type_info
[((long)var_tkwifnode2
&3)]:var_tkwifnode2
->type
)->table_size
) {
1276 var11
= (((long)var_tkwifnode2
&3)?type_info
[((long)var_tkwifnode2
&3)]:var_tkwifnode2
->type
)->type_table
[cltype
] == idtype
;
1279 if (unlikely(!var11
)) {
1280 PRINT_ERROR("Runtime error: %s", "Assert failed");
1281 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7682);
1284 var_pexprnode3
= var_nodearraylist3
;
1285 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
1286 cltype13
= type_nullable__nit__AExpr
.color
;
1287 idtype14
= type_nullable__nit__AExpr
.id
;
1288 if(var_pexprnode3
== NULL
) {
1291 if(cltype13
>= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->table_size
) {
1294 var12
= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->type_table
[cltype13
] == idtype14
;
1297 if (unlikely(!var12
)) {
1298 PRINT_ERROR("Runtime error: %s", "Assert failed");
1299 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7684);
1302 var_tkwthennode4
= var_nodearraylist5
;
1303 /* <var_tkwthennode4:nullable Object> isa nullable TKwthen */
1304 cltype16
= type_nullable__nit__TKwthen
.color
;
1305 idtype17
= type_nullable__nit__TKwthen
.id
;
1306 if(var_tkwthennode4
== NULL
) {
1309 if(cltype16
>= (((long)var_tkwthennode4
&3)?type_info
[((long)var_tkwthennode4
&3)]:var_tkwthennode4
->type
)->table_size
) {
1312 var15
= (((long)var_tkwthennode4
&3)?type_info
[((long)var_tkwthennode4
&3)]:var_tkwthennode4
->type
)->type_table
[cltype16
] == idtype17
;
1315 if (unlikely(!var15
)) {
1316 PRINT_ERROR("Runtime error: %s", "Assert failed");
1317 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7686);
1320 var_pexprnode5
= var_nodearraylist7
;
1321 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
1322 cltype19
= type_nullable__nit__AExpr
.color
;
1323 idtype20
= type_nullable__nit__AExpr
.id
;
1324 if(var_pexprnode5
== NULL
) {
1327 if(cltype19
>= (((long)var_pexprnode5
&3)?type_info
[((long)var_pexprnode5
&3)]:var_pexprnode5
->type
)->table_size
) {
1330 var18
= (((long)var_pexprnode5
&3)?type_info
[((long)var_pexprnode5
&3)]:var_pexprnode5
->type
)->type_table
[cltype19
] == idtype20
;
1333 if (unlikely(!var18
)) {
1334 PRINT_ERROR("Runtime error: %s", "Assert failed");
1335 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7688);
1338 var_tkwelsenode6
= var_nodearraylist9
;
1339 /* <var_tkwelsenode6:nullable Object> isa nullable TKwelse */
1340 cltype22
= type_nullable__nit__TKwelse
.color
;
1341 idtype23
= type_nullable__nit__TKwelse
.id
;
1342 if(var_tkwelsenode6
== NULL
) {
1345 if(cltype22
>= (((long)var_tkwelsenode6
&3)?type_info
[((long)var_tkwelsenode6
&3)]:var_tkwelsenode6
->type
)->table_size
) {
1348 var21
= (((long)var_tkwelsenode6
&3)?type_info
[((long)var_tkwelsenode6
&3)]:var_tkwelsenode6
->type
)->type_table
[cltype22
] == idtype23
;
1351 if (unlikely(!var21
)) {
1352 PRINT_ERROR("Runtime error: %s", "Assert failed");
1353 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7690);
1356 var_pexprnode7
= var_nodearraylist11
;
1357 /* <var_pexprnode7:nullable Object> isa nullable AExpr */
1358 cltype25
= type_nullable__nit__AExpr
.color
;
1359 idtype26
= type_nullable__nit__AExpr
.id
;
1360 if(var_pexprnode7
== NULL
) {
1363 if(cltype25
>= (((long)var_pexprnode7
&3)?type_info
[((long)var_pexprnode7
&3)]:var_pexprnode7
->type
)->table_size
) {
1366 var24
= (((long)var_pexprnode7
&3)?type_info
[((long)var_pexprnode7
&3)]:var_pexprnode7
->type
)->type_table
[cltype25
] == idtype26
;
1369 if (unlikely(!var24
)) {
1370 PRINT_ERROR("Runtime error: %s", "Assert failed");
1371 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7692);
1374 var27
= NEW_nit__AIfexprExpr(&type_nit__AIfexprExpr
);
1376 nit__parser_prod___AIfexprExpr___init_aifexprexpr(var27
, var_tkwifnode2
, var_pexprnode3
, var_tkwthennode4
, var_pexprnode5
, var_tkwelsenode6
, var_pexprnode7
); /* Direct call parser_prod#AIfexprExpr#init_aifexprexpr on <var27:AIfexprExpr>*/
1378 var_pexprnode1
= var27
;
1379 var_node_list
= var_pexprnode1
;
1380 var28
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction284> */
1382 var29
= nit___nit__Parser___go_to(var_p
, var28
);
1385 nit___nit__Parser___push(var_p
, var29
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1389 /* method parser#ReduceAction286#action for (self: ReduceAction286, Parser) */
1390 void nit__parser___nit__parser__ReduceAction286___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1391 val
* var_p
/* var p: Parser */;
1392 val
* var_node_list
/* var node_list: nullable Object */;
1393 val
* var
/* : nullable Object */;
1394 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1395 val
* var1
/* : nullable Object */;
1396 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1397 val
* var2
/* : nullable Object */;
1398 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1399 val
* var3
/* : nullable Object */;
1400 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1401 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
1402 short int var4
/* : Bool */;
1405 val
* var_tkwornode3
/* var tkwornode3: nullable Object */;
1406 short int var5
/* : Bool */;
1409 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
1410 short int var8
/* : Bool */;
1413 val
* var11
/* : AOrExpr */;
1414 val
* var_pexprnode1
/* var pexprnode1: nullable AOrExpr */;
1415 long var12
/* : Int */;
1416 long var13
/* : Int */;
1418 var_node_list
= ((val
*)NULL
);
1420 var
= nit___nit__Parser___pop(var_p
);
1422 var_nodearraylist4
= var
;
1424 var1
= nit___nit__Parser___pop(var_p
);
1426 var_nodearraylist3
= var1
;
1428 var2
= nit___nit__Parser___pop(var_p
);
1430 var_nodearraylist2
= var2
;
1432 var3
= nit___nit__Parser___pop(var_p
);
1434 var_nodearraylist1
= var3
;
1435 var_pexprnode2
= var_nodearraylist1
;
1436 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
1437 cltype
= type_nullable__nit__AExpr
.color
;
1438 idtype
= type_nullable__nit__AExpr
.id
;
1439 if(var_pexprnode2
== NULL
) {
1442 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
1445 var4
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
1448 if (unlikely(!var4
)) {
1449 PRINT_ERROR("Runtime error: %s", "Assert failed");
1450 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7715);
1453 var_tkwornode3
= var_nodearraylist2
;
1454 /* <var_tkwornode3:nullable Object> isa nullable TKwor */
1455 cltype6
= type_nullable__nit__TKwor
.color
;
1456 idtype7
= type_nullable__nit__TKwor
.id
;
1457 if(var_tkwornode3
== NULL
) {
1460 if(cltype6
>= (((long)var_tkwornode3
&3)?type_info
[((long)var_tkwornode3
&3)]:var_tkwornode3
->type
)->table_size
) {
1463 var5
= (((long)var_tkwornode3
&3)?type_info
[((long)var_tkwornode3
&3)]:var_tkwornode3
->type
)->type_table
[cltype6
] == idtype7
;
1466 if (unlikely(!var5
)) {
1467 PRINT_ERROR("Runtime error: %s", "Assert failed");
1468 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7717);
1471 var_pexprnode4
= var_nodearraylist4
;
1472 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
1473 cltype9
= type_nullable__nit__AExpr
.color
;
1474 idtype10
= type_nullable__nit__AExpr
.id
;
1475 if(var_pexprnode4
== NULL
) {
1478 if(cltype9
>= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->table_size
) {
1481 var8
= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->type_table
[cltype9
] == idtype10
;
1484 if (unlikely(!var8
)) {
1485 PRINT_ERROR("Runtime error: %s", "Assert failed");
1486 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7719);
1489 var11
= NEW_nit__AOrExpr(&type_nit__AOrExpr
);
1491 nit__parser_prod___AOrExpr___init_aorexpr(var11
, var_pexprnode2
, var_tkwornode3
, var_pexprnode4
); /* Direct call parser_prod#AOrExpr#init_aorexpr on <var11:AOrExpr>*/
1493 var_pexprnode1
= var11
;
1494 var_node_list
= var_pexprnode1
;
1495 var12
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction286> */
1497 var13
= nit___nit__Parser___go_to(var_p
, var12
);
1500 nit___nit__Parser___push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1504 /* method parser#ReduceAction287#action for (self: ReduceAction287, Parser) */
1505 void nit__parser___nit__parser__ReduceAction287___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1506 val
* var_p
/* var p: Parser */;
1507 val
* var_node_list
/* var node_list: nullable Object */;
1508 val
* var
/* : nullable Object */;
1509 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1510 val
* var1
/* : nullable Object */;
1511 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1512 val
* var2
/* : nullable Object */;
1513 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1514 val
* var3
/* : nullable Object */;
1515 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1516 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
1517 short int var4
/* : Bool */;
1520 val
* var_tkwandnode3
/* var tkwandnode3: nullable Object */;
1521 short int var5
/* : Bool */;
1524 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
1525 short int var8
/* : Bool */;
1528 val
* var11
/* : AAndExpr */;
1529 val
* var_pexprnode1
/* var pexprnode1: nullable AAndExpr */;
1530 long var12
/* : Int */;
1531 long var13
/* : Int */;
1533 var_node_list
= ((val
*)NULL
);
1535 var
= nit___nit__Parser___pop(var_p
);
1537 var_nodearraylist4
= var
;
1539 var1
= nit___nit__Parser___pop(var_p
);
1541 var_nodearraylist3
= var1
;
1543 var2
= nit___nit__Parser___pop(var_p
);
1545 var_nodearraylist2
= var2
;
1547 var3
= nit___nit__Parser___pop(var_p
);
1549 var_nodearraylist1
= var3
;
1550 var_pexprnode2
= var_nodearraylist1
;
1551 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
1552 cltype
= type_nullable__nit__AExpr
.color
;
1553 idtype
= type_nullable__nit__AExpr
.id
;
1554 if(var_pexprnode2
== NULL
) {
1557 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
1560 var4
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
1563 if (unlikely(!var4
)) {
1564 PRINT_ERROR("Runtime error: %s", "Assert failed");
1565 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7739);
1568 var_tkwandnode3
= var_nodearraylist2
;
1569 /* <var_tkwandnode3:nullable Object> isa nullable TKwand */
1570 cltype6
= type_nullable__nit__TKwand
.color
;
1571 idtype7
= type_nullable__nit__TKwand
.id
;
1572 if(var_tkwandnode3
== NULL
) {
1575 if(cltype6
>= (((long)var_tkwandnode3
&3)?type_info
[((long)var_tkwandnode3
&3)]:var_tkwandnode3
->type
)->table_size
) {
1578 var5
= (((long)var_tkwandnode3
&3)?type_info
[((long)var_tkwandnode3
&3)]:var_tkwandnode3
->type
)->type_table
[cltype6
] == idtype7
;
1581 if (unlikely(!var5
)) {
1582 PRINT_ERROR("Runtime error: %s", "Assert failed");
1583 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7741);
1586 var_pexprnode4
= var_nodearraylist4
;
1587 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
1588 cltype9
= type_nullable__nit__AExpr
.color
;
1589 idtype10
= type_nullable__nit__AExpr
.id
;
1590 if(var_pexprnode4
== NULL
) {
1593 if(cltype9
>= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->table_size
) {
1596 var8
= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->type_table
[cltype9
] == idtype10
;
1599 if (unlikely(!var8
)) {
1600 PRINT_ERROR("Runtime error: %s", "Assert failed");
1601 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7743);
1604 var11
= NEW_nit__AAndExpr(&type_nit__AAndExpr
);
1606 nit__parser_prod___AAndExpr___init_aandexpr(var11
, var_pexprnode2
, var_tkwandnode3
, var_pexprnode4
); /* Direct call parser_prod#AAndExpr#init_aandexpr on <var11:AAndExpr>*/
1608 var_pexprnode1
= var11
;
1609 var_node_list
= var_pexprnode1
;
1610 var12
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction287> */
1612 var13
= nit___nit__Parser___go_to(var_p
, var12
);
1615 nit___nit__Parser___push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1619 /* method parser#ReduceAction288#action for (self: ReduceAction288, Parser) */
1620 void nit__parser___nit__parser__ReduceAction288___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1621 val
* var_p
/* var p: Parser */;
1622 val
* var_node_list
/* var node_list: nullable Object */;
1623 val
* var
/* : nullable Object */;
1624 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
1625 val
* var1
/* : nullable Object */;
1626 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1627 val
* var2
/* : nullable Object */;
1628 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1629 val
* var3
/* : nullable Object */;
1630 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1631 val
* var4
/* : nullable Object */;
1632 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1633 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
1634 short int var5
/* : Bool */;
1637 val
* var_tkwornode3
/* var tkwornode3: nullable Object */;
1638 short int var6
/* : Bool */;
1641 val
* var_tkwelsenode4
/* var tkwelsenode4: nullable Object */;
1642 short int var9
/* : Bool */;
1645 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
1646 short int var12
/* : Bool */;
1649 val
* var15
/* : AOrElseExpr */;
1650 val
* var_pexprnode1
/* var pexprnode1: nullable AOrElseExpr */;
1651 long var16
/* : Int */;
1652 long var17
/* : Int */;
1654 var_node_list
= ((val
*)NULL
);
1656 var
= nit___nit__Parser___pop(var_p
);
1658 var_nodearraylist5
= var
;
1660 var1
= nit___nit__Parser___pop(var_p
);
1662 var_nodearraylist4
= var1
;
1664 var2
= nit___nit__Parser___pop(var_p
);
1666 var_nodearraylist3
= var2
;
1668 var3
= nit___nit__Parser___pop(var_p
);
1670 var_nodearraylist2
= var3
;
1672 var4
= nit___nit__Parser___pop(var_p
);
1674 var_nodearraylist1
= var4
;
1675 var_pexprnode2
= var_nodearraylist1
;
1676 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
1677 cltype
= type_nullable__nit__AExpr
.color
;
1678 idtype
= type_nullable__nit__AExpr
.id
;
1679 if(var_pexprnode2
== NULL
) {
1682 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
1685 var5
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
1688 if (unlikely(!var5
)) {
1689 PRINT_ERROR("Runtime error: %s", "Assert failed");
1690 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7764);
1693 var_tkwornode3
= var_nodearraylist2
;
1694 /* <var_tkwornode3:nullable Object> isa nullable TKwor */
1695 cltype7
= type_nullable__nit__TKwor
.color
;
1696 idtype8
= type_nullable__nit__TKwor
.id
;
1697 if(var_tkwornode3
== NULL
) {
1700 if(cltype7
>= (((long)var_tkwornode3
&3)?type_info
[((long)var_tkwornode3
&3)]:var_tkwornode3
->type
)->table_size
) {
1703 var6
= (((long)var_tkwornode3
&3)?type_info
[((long)var_tkwornode3
&3)]:var_tkwornode3
->type
)->type_table
[cltype7
] == idtype8
;
1706 if (unlikely(!var6
)) {
1707 PRINT_ERROR("Runtime error: %s", "Assert failed");
1708 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7766);
1711 var_tkwelsenode4
= var_nodearraylist3
;
1712 /* <var_tkwelsenode4:nullable Object> isa nullable TKwelse */
1713 cltype10
= type_nullable__nit__TKwelse
.color
;
1714 idtype11
= type_nullable__nit__TKwelse
.id
;
1715 if(var_tkwelsenode4
== NULL
) {
1718 if(cltype10
>= (((long)var_tkwelsenode4
&3)?type_info
[((long)var_tkwelsenode4
&3)]:var_tkwelsenode4
->type
)->table_size
) {
1721 var9
= (((long)var_tkwelsenode4
&3)?type_info
[((long)var_tkwelsenode4
&3)]:var_tkwelsenode4
->type
)->type_table
[cltype10
] == idtype11
;
1724 if (unlikely(!var9
)) {
1725 PRINT_ERROR("Runtime error: %s", "Assert failed");
1726 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7768);
1729 var_pexprnode5
= var_nodearraylist5
;
1730 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
1731 cltype13
= type_nullable__nit__AExpr
.color
;
1732 idtype14
= type_nullable__nit__AExpr
.id
;
1733 if(var_pexprnode5
== NULL
) {
1736 if(cltype13
>= (((long)var_pexprnode5
&3)?type_info
[((long)var_pexprnode5
&3)]:var_pexprnode5
->type
)->table_size
) {
1739 var12
= (((long)var_pexprnode5
&3)?type_info
[((long)var_pexprnode5
&3)]:var_pexprnode5
->type
)->type_table
[cltype13
] == idtype14
;
1742 if (unlikely(!var12
)) {
1743 PRINT_ERROR("Runtime error: %s", "Assert failed");
1744 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7770);
1747 var15
= NEW_nit__AOrElseExpr(&type_nit__AOrElseExpr
);
1749 nit__parser_prod___AOrElseExpr___init_aorelseexpr(var15
, var_pexprnode2
, var_tkwornode3
, var_tkwelsenode4
, var_pexprnode5
); /* Direct call parser_prod#AOrElseExpr#init_aorelseexpr on <var15:AOrElseExpr>*/
1751 var_pexprnode1
= var15
;
1752 var_node_list
= var_pexprnode1
;
1753 var16
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction288> */
1755 var17
= nit___nit__Parser___go_to(var_p
, var16
);
1758 nit___nit__Parser___push(var_p
, var17
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1762 /* method parser#ReduceAction289#action for (self: ReduceAction289, Parser) */
1763 void nit__parser___nit__parser__ReduceAction289___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1764 val
* var_p
/* var p: Parser */;
1765 val
* var_node_list
/* var node_list: nullable Object */;
1766 val
* var
/* : nullable Object */;
1767 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1768 val
* var1
/* : nullable Object */;
1769 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1770 val
* var2
/* : nullable Object */;
1771 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1772 val
* var3
/* : nullable Object */;
1773 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1774 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
1775 short int var4
/* : Bool */;
1778 val
* var_tkwimpliesnode3
/* var tkwimpliesnode3: nullable Object */;
1779 short int var5
/* : Bool */;
1782 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
1783 short int var8
/* : Bool */;
1786 val
* var11
/* : AImpliesExpr */;
1787 val
* var_pexprnode1
/* var pexprnode1: nullable AImpliesExpr */;
1788 long var12
/* : Int */;
1789 long var13
/* : Int */;
1791 var_node_list
= ((val
*)NULL
);
1793 var
= nit___nit__Parser___pop(var_p
);
1795 var_nodearraylist4
= var
;
1797 var1
= nit___nit__Parser___pop(var_p
);
1799 var_nodearraylist3
= var1
;
1801 var2
= nit___nit__Parser___pop(var_p
);
1803 var_nodearraylist2
= var2
;
1805 var3
= nit___nit__Parser___pop(var_p
);
1807 var_nodearraylist1
= var3
;
1808 var_pexprnode2
= var_nodearraylist1
;
1809 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
1810 cltype
= type_nullable__nit__AExpr
.color
;
1811 idtype
= type_nullable__nit__AExpr
.id
;
1812 if(var_pexprnode2
== NULL
) {
1815 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
1818 var4
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
1821 if (unlikely(!var4
)) {
1822 PRINT_ERROR("Runtime error: %s", "Assert failed");
1823 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7791);
1826 var_tkwimpliesnode3
= var_nodearraylist2
;
1827 /* <var_tkwimpliesnode3:nullable Object> isa nullable TKwimplies */
1828 cltype6
= type_nullable__nit__TKwimplies
.color
;
1829 idtype7
= type_nullable__nit__TKwimplies
.id
;
1830 if(var_tkwimpliesnode3
== NULL
) {
1833 if(cltype6
>= (((long)var_tkwimpliesnode3
&3)?type_info
[((long)var_tkwimpliesnode3
&3)]:var_tkwimpliesnode3
->type
)->table_size
) {
1836 var5
= (((long)var_tkwimpliesnode3
&3)?type_info
[((long)var_tkwimpliesnode3
&3)]:var_tkwimpliesnode3
->type
)->type_table
[cltype6
] == idtype7
;
1839 if (unlikely(!var5
)) {
1840 PRINT_ERROR("Runtime error: %s", "Assert failed");
1841 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7793);
1844 var_pexprnode4
= var_nodearraylist4
;
1845 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
1846 cltype9
= type_nullable__nit__AExpr
.color
;
1847 idtype10
= type_nullable__nit__AExpr
.id
;
1848 if(var_pexprnode4
== NULL
) {
1851 if(cltype9
>= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->table_size
) {
1854 var8
= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->type_table
[cltype9
] == idtype10
;
1857 if (unlikely(!var8
)) {
1858 PRINT_ERROR("Runtime error: %s", "Assert failed");
1859 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7795);
1862 var11
= NEW_nit__AImpliesExpr(&type_nit__AImpliesExpr
);
1864 nit__parser_prod___AImpliesExpr___init_aimpliesexpr(var11
, var_pexprnode2
, var_tkwimpliesnode3
, var_pexprnode4
); /* Direct call parser_prod#AImpliesExpr#init_aimpliesexpr on <var11:AImpliesExpr>*/
1866 var_pexprnode1
= var11
;
1867 var_node_list
= var_pexprnode1
;
1868 var12
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction289> */
1870 var13
= nit___nit__Parser___go_to(var_p
, var12
);
1873 nit___nit__Parser___push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1877 /* method parser#ReduceAction291#action for (self: ReduceAction291, Parser) */
1878 void nit__parser___nit__parser__ReduceAction291___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1879 val
* var_p
/* var p: Parser */;
1880 val
* var_node_list
/* var node_list: nullable Object */;
1881 val
* var
/* : nullable Object */;
1882 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1883 val
* var1
/* : nullable Object */;
1884 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1885 val
* var2
/* : nullable Object */;
1886 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1887 val
* var_tkwnotnode2
/* var tkwnotnode2: nullable Object */;
1888 short int var3
/* : Bool */;
1891 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
1892 short int var4
/* : Bool */;
1895 val
* var7
/* : ANotExpr */;
1896 val
* var_pexprnode1
/* var pexprnode1: nullable ANotExpr */;
1897 long var8
/* : Int */;
1898 long var9
/* : Int */;
1900 var_node_list
= ((val
*)NULL
);
1902 var
= nit___nit__Parser___pop(var_p
);
1904 var_nodearraylist3
= var
;
1906 var1
= nit___nit__Parser___pop(var_p
);
1908 var_nodearraylist2
= var1
;
1910 var2
= nit___nit__Parser___pop(var_p
);
1912 var_nodearraylist1
= var2
;
1913 var_tkwnotnode2
= var_nodearraylist1
;
1914 /* <var_tkwnotnode2:nullable Object> isa nullable TKwnot */
1915 cltype
= type_nullable__nit__TKwnot
.color
;
1916 idtype
= type_nullable__nit__TKwnot
.id
;
1917 if(var_tkwnotnode2
== NULL
) {
1920 if(cltype
>= (((long)var_tkwnotnode2
&3)?type_info
[((long)var_tkwnotnode2
&3)]:var_tkwnotnode2
->type
)->table_size
) {
1923 var3
= (((long)var_tkwnotnode2
&3)?type_info
[((long)var_tkwnotnode2
&3)]:var_tkwnotnode2
->type
)->type_table
[cltype
] == idtype
;
1926 if (unlikely(!var3
)) {
1927 PRINT_ERROR("Runtime error: %s", "Assert failed");
1928 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7814);
1931 var_pexprnode3
= var_nodearraylist3
;
1932 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
1933 cltype5
= type_nullable__nit__AExpr
.color
;
1934 idtype6
= type_nullable__nit__AExpr
.id
;
1935 if(var_pexprnode3
== NULL
) {
1938 if(cltype5
>= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->table_size
) {
1941 var4
= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->type_table
[cltype5
] == idtype6
;
1944 if (unlikely(!var4
)) {
1945 PRINT_ERROR("Runtime error: %s", "Assert failed");
1946 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7816);
1949 var7
= NEW_nit__ANotExpr(&type_nit__ANotExpr
);
1951 nit__parser_prod___ANotExpr___init_anotexpr(var7
, var_tkwnotnode2
, var_pexprnode3
); /* Direct call parser_prod#ANotExpr#init_anotexpr on <var7:ANotExpr>*/
1953 var_pexprnode1
= var7
;
1954 var_node_list
= var_pexprnode1
;
1955 var8
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction291> */
1957 var9
= nit___nit__Parser___go_to(var_p
, var8
);
1960 nit___nit__Parser___push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
1964 /* method parser#ReduceAction293#action for (self: ReduceAction293, Parser) */
1965 void nit__parser___nit__parser__ReduceAction293___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
1966 val
* var_p
/* var p: Parser */;
1967 val
* var_node_list
/* var node_list: nullable Object */;
1968 val
* var
/* : nullable Object */;
1969 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
1970 val
* var1
/* : nullable Object */;
1971 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
1972 val
* var2
/* : nullable Object */;
1973 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
1974 val
* var3
/* : nullable Object */;
1975 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
1976 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
1977 short int var4
/* : Bool */;
1980 val
* var_teqnode3
/* var teqnode3: nullable Object */;
1981 short int var5
/* : Bool */;
1984 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
1985 short int var8
/* : Bool */;
1988 val
* var11
/* : AEqExpr */;
1989 val
* var_pexprnode1
/* var pexprnode1: nullable AEqExpr */;
1990 long var12
/* : Int */;
1991 long var13
/* : Int */;
1993 var_node_list
= ((val
*)NULL
);
1995 var
= nit___nit__Parser___pop(var_p
);
1997 var_nodearraylist4
= var
;
1999 var1
= nit___nit__Parser___pop(var_p
);
2001 var_nodearraylist3
= var1
;
2003 var2
= nit___nit__Parser___pop(var_p
);
2005 var_nodearraylist2
= var2
;
2007 var3
= nit___nit__Parser___pop(var_p
);
2009 var_nodearraylist1
= var3
;
2010 var_pexprnode2
= var_nodearraylist1
;
2011 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
2012 cltype
= type_nullable__nit__AExpr
.color
;
2013 idtype
= type_nullable__nit__AExpr
.id
;
2014 if(var_pexprnode2
== NULL
) {
2017 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
2020 var4
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
2023 if (unlikely(!var4
)) {
2024 PRINT_ERROR("Runtime error: %s", "Assert failed");
2025 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7835);
2028 var_teqnode3
= var_nodearraylist2
;
2029 /* <var_teqnode3:nullable Object> isa nullable TEq */
2030 cltype6
= type_nullable__nit__TEq
.color
;
2031 idtype7
= type_nullable__nit__TEq
.id
;
2032 if(var_teqnode3
== NULL
) {
2035 if(cltype6
>= (((long)var_teqnode3
&3)?type_info
[((long)var_teqnode3
&3)]:var_teqnode3
->type
)->table_size
) {
2038 var5
= (((long)var_teqnode3
&3)?type_info
[((long)var_teqnode3
&3)]:var_teqnode3
->type
)->type_table
[cltype6
] == idtype7
;
2041 if (unlikely(!var5
)) {
2042 PRINT_ERROR("Runtime error: %s", "Assert failed");
2043 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7837);
2046 var_pexprnode4
= var_nodearraylist4
;
2047 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
2048 cltype9
= type_nullable__nit__AExpr
.color
;
2049 idtype10
= type_nullable__nit__AExpr
.id
;
2050 if(var_pexprnode4
== NULL
) {
2053 if(cltype9
>= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->table_size
) {
2056 var8
= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->type_table
[cltype9
] == idtype10
;
2059 if (unlikely(!var8
)) {
2060 PRINT_ERROR("Runtime error: %s", "Assert failed");
2061 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7839);
2064 var11
= NEW_nit__AEqExpr(&type_nit__AEqExpr
);
2066 nit__parser_prod___AEqExpr___init_aeqexpr(var11
, var_pexprnode2
, var_teqnode3
, var_pexprnode4
); /* Direct call parser_prod#AEqExpr#init_aeqexpr on <var11:AEqExpr>*/
2068 var_pexprnode1
= var11
;
2069 var_node_list
= var_pexprnode1
;
2070 var12
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction293> */
2072 var13
= nit___nit__Parser___go_to(var_p
, var12
);
2075 nit___nit__Parser___push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2079 /* method parser#ReduceAction294#action for (self: ReduceAction294, Parser) */
2080 void nit__parser___nit__parser__ReduceAction294___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2081 val
* var_p
/* var p: Parser */;
2082 val
* var_node_list
/* var node_list: nullable Object */;
2083 val
* var
/* : nullable Object */;
2084 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2085 val
* var1
/* : nullable Object */;
2086 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2087 val
* var2
/* : nullable Object */;
2088 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2089 val
* var3
/* : nullable Object */;
2090 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2091 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
2092 short int var4
/* : Bool */;
2095 val
* var_tnenode3
/* var tnenode3: nullable Object */;
2096 short int var5
/* : Bool */;
2099 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
2100 short int var8
/* : Bool */;
2103 val
* var11
/* : ANeExpr */;
2104 val
* var_pexprnode1
/* var pexprnode1: nullable ANeExpr */;
2105 long var12
/* : Int */;
2106 long var13
/* : Int */;
2108 var_node_list
= ((val
*)NULL
);
2110 var
= nit___nit__Parser___pop(var_p
);
2112 var_nodearraylist4
= var
;
2114 var1
= nit___nit__Parser___pop(var_p
);
2116 var_nodearraylist3
= var1
;
2118 var2
= nit___nit__Parser___pop(var_p
);
2120 var_nodearraylist2
= var2
;
2122 var3
= nit___nit__Parser___pop(var_p
);
2124 var_nodearraylist1
= var3
;
2125 var_pexprnode2
= var_nodearraylist1
;
2126 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
2127 cltype
= type_nullable__nit__AExpr
.color
;
2128 idtype
= type_nullable__nit__AExpr
.id
;
2129 if(var_pexprnode2
== NULL
) {
2132 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
2135 var4
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
2138 if (unlikely(!var4
)) {
2139 PRINT_ERROR("Runtime error: %s", "Assert failed");
2140 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7859);
2143 var_tnenode3
= var_nodearraylist2
;
2144 /* <var_tnenode3:nullable Object> isa nullable TNe */
2145 cltype6
= type_nullable__nit__TNe
.color
;
2146 idtype7
= type_nullable__nit__TNe
.id
;
2147 if(var_tnenode3
== NULL
) {
2150 if(cltype6
>= (((long)var_tnenode3
&3)?type_info
[((long)var_tnenode3
&3)]:var_tnenode3
->type
)->table_size
) {
2153 var5
= (((long)var_tnenode3
&3)?type_info
[((long)var_tnenode3
&3)]:var_tnenode3
->type
)->type_table
[cltype6
] == idtype7
;
2156 if (unlikely(!var5
)) {
2157 PRINT_ERROR("Runtime error: %s", "Assert failed");
2158 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7861);
2161 var_pexprnode4
= var_nodearraylist4
;
2162 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
2163 cltype9
= type_nullable__nit__AExpr
.color
;
2164 idtype10
= type_nullable__nit__AExpr
.id
;
2165 if(var_pexprnode4
== NULL
) {
2168 if(cltype9
>= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->table_size
) {
2171 var8
= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->type_table
[cltype9
] == idtype10
;
2174 if (unlikely(!var8
)) {
2175 PRINT_ERROR("Runtime error: %s", "Assert failed");
2176 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7863);
2179 var11
= NEW_nit__ANeExpr(&type_nit__ANeExpr
);
2181 nit__parser_prod___ANeExpr___init_aneexpr(var11
, var_pexprnode2
, var_tnenode3
, var_pexprnode4
); /* Direct call parser_prod#ANeExpr#init_aneexpr on <var11:ANeExpr>*/
2183 var_pexprnode1
= var11
;
2184 var_node_list
= var_pexprnode1
;
2185 var12
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction294> */
2187 var13
= nit___nit__Parser___go_to(var_p
, var12
);
2190 nit___nit__Parser___push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2194 /* method parser#ReduceAction295#action for (self: ReduceAction295, Parser) */
2195 void nit__parser___nit__parser__ReduceAction295___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2196 val
* var_p
/* var p: Parser */;
2197 val
* var_node_list
/* var node_list: nullable Object */;
2198 val
* var
/* : nullable Object */;
2199 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2200 val
* var1
/* : nullable Object */;
2201 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2202 val
* var2
/* : nullable Object */;
2203 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2204 val
* var3
/* : nullable Object */;
2205 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2206 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
2207 short int var4
/* : Bool */;
2210 val
* var_tltnode3
/* var tltnode3: nullable Object */;
2211 short int var5
/* : Bool */;
2214 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
2215 short int var8
/* : Bool */;
2218 val
* var11
/* : ALtExpr */;
2219 val
* var_pexprnode1
/* var pexprnode1: nullable ALtExpr */;
2220 long var12
/* : Int */;
2221 long var13
/* : Int */;
2223 var_node_list
= ((val
*)NULL
);
2225 var
= nit___nit__Parser___pop(var_p
);
2227 var_nodearraylist4
= var
;
2229 var1
= nit___nit__Parser___pop(var_p
);
2231 var_nodearraylist3
= var1
;
2233 var2
= nit___nit__Parser___pop(var_p
);
2235 var_nodearraylist2
= var2
;
2237 var3
= nit___nit__Parser___pop(var_p
);
2239 var_nodearraylist1
= var3
;
2240 var_pexprnode2
= var_nodearraylist1
;
2241 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
2242 cltype
= type_nullable__nit__AExpr
.color
;
2243 idtype
= type_nullable__nit__AExpr
.id
;
2244 if(var_pexprnode2
== NULL
) {
2247 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
2250 var4
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
2253 if (unlikely(!var4
)) {
2254 PRINT_ERROR("Runtime error: %s", "Assert failed");
2255 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7883);
2258 var_tltnode3
= var_nodearraylist2
;
2259 /* <var_tltnode3:nullable Object> isa nullable TLt */
2260 cltype6
= type_nullable__nit__TLt
.color
;
2261 idtype7
= type_nullable__nit__TLt
.id
;
2262 if(var_tltnode3
== NULL
) {
2265 if(cltype6
>= (((long)var_tltnode3
&3)?type_info
[((long)var_tltnode3
&3)]:var_tltnode3
->type
)->table_size
) {
2268 var5
= (((long)var_tltnode3
&3)?type_info
[((long)var_tltnode3
&3)]:var_tltnode3
->type
)->type_table
[cltype6
] == idtype7
;
2271 if (unlikely(!var5
)) {
2272 PRINT_ERROR("Runtime error: %s", "Assert failed");
2273 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7885);
2276 var_pexprnode4
= var_nodearraylist4
;
2277 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
2278 cltype9
= type_nullable__nit__AExpr
.color
;
2279 idtype10
= type_nullable__nit__AExpr
.id
;
2280 if(var_pexprnode4
== NULL
) {
2283 if(cltype9
>= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->table_size
) {
2286 var8
= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->type_table
[cltype9
] == idtype10
;
2289 if (unlikely(!var8
)) {
2290 PRINT_ERROR("Runtime error: %s", "Assert failed");
2291 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7887);
2294 var11
= NEW_nit__ALtExpr(&type_nit__ALtExpr
);
2296 nit__parser_prod___ALtExpr___init_altexpr(var11
, var_pexprnode2
, var_tltnode3
, var_pexprnode4
); /* Direct call parser_prod#ALtExpr#init_altexpr on <var11:ALtExpr>*/
2298 var_pexprnode1
= var11
;
2299 var_node_list
= var_pexprnode1
;
2300 var12
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction295> */
2302 var13
= nit___nit__Parser___go_to(var_p
, var12
);
2305 nit___nit__Parser___push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2309 /* method parser#ReduceAction296#action for (self: ReduceAction296, Parser) */
2310 void nit__parser___nit__parser__ReduceAction296___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2311 val
* var_p
/* var p: Parser */;
2312 val
* var_node_list
/* var node_list: nullable Object */;
2313 val
* var
/* : nullable Object */;
2314 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2315 val
* var1
/* : nullable Object */;
2316 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2317 val
* var2
/* : nullable Object */;
2318 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2319 val
* var3
/* : nullable Object */;
2320 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2321 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
2322 short int var4
/* : Bool */;
2325 val
* var_tlenode3
/* var tlenode3: nullable Object */;
2326 short int var5
/* : Bool */;
2329 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
2330 short int var8
/* : Bool */;
2333 val
* var11
/* : ALeExpr */;
2334 val
* var_pexprnode1
/* var pexprnode1: nullable ALeExpr */;
2335 long var12
/* : Int */;
2336 long var13
/* : Int */;
2338 var_node_list
= ((val
*)NULL
);
2340 var
= nit___nit__Parser___pop(var_p
);
2342 var_nodearraylist4
= var
;
2344 var1
= nit___nit__Parser___pop(var_p
);
2346 var_nodearraylist3
= var1
;
2348 var2
= nit___nit__Parser___pop(var_p
);
2350 var_nodearraylist2
= var2
;
2352 var3
= nit___nit__Parser___pop(var_p
);
2354 var_nodearraylist1
= var3
;
2355 var_pexprnode2
= var_nodearraylist1
;
2356 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
2357 cltype
= type_nullable__nit__AExpr
.color
;
2358 idtype
= type_nullable__nit__AExpr
.id
;
2359 if(var_pexprnode2
== NULL
) {
2362 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
2365 var4
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
2368 if (unlikely(!var4
)) {
2369 PRINT_ERROR("Runtime error: %s", "Assert failed");
2370 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7907);
2373 var_tlenode3
= var_nodearraylist2
;
2374 /* <var_tlenode3:nullable Object> isa nullable TLe */
2375 cltype6
= type_nullable__nit__TLe
.color
;
2376 idtype7
= type_nullable__nit__TLe
.id
;
2377 if(var_tlenode3
== NULL
) {
2380 if(cltype6
>= (((long)var_tlenode3
&3)?type_info
[((long)var_tlenode3
&3)]:var_tlenode3
->type
)->table_size
) {
2383 var5
= (((long)var_tlenode3
&3)?type_info
[((long)var_tlenode3
&3)]:var_tlenode3
->type
)->type_table
[cltype6
] == idtype7
;
2386 if (unlikely(!var5
)) {
2387 PRINT_ERROR("Runtime error: %s", "Assert failed");
2388 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7909);
2391 var_pexprnode4
= var_nodearraylist4
;
2392 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
2393 cltype9
= type_nullable__nit__AExpr
.color
;
2394 idtype10
= type_nullable__nit__AExpr
.id
;
2395 if(var_pexprnode4
== NULL
) {
2398 if(cltype9
>= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->table_size
) {
2401 var8
= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->type_table
[cltype9
] == idtype10
;
2404 if (unlikely(!var8
)) {
2405 PRINT_ERROR("Runtime error: %s", "Assert failed");
2406 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7911);
2409 var11
= NEW_nit__ALeExpr(&type_nit__ALeExpr
);
2411 nit__parser_prod___ALeExpr___init_aleexpr(var11
, var_pexprnode2
, var_tlenode3
, var_pexprnode4
); /* Direct call parser_prod#ALeExpr#init_aleexpr on <var11:ALeExpr>*/
2413 var_pexprnode1
= var11
;
2414 var_node_list
= var_pexprnode1
;
2415 var12
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction296> */
2417 var13
= nit___nit__Parser___go_to(var_p
, var12
);
2420 nit___nit__Parser___push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2424 /* method parser#ReduceAction297#action for (self: ReduceAction297, Parser) */
2425 void nit__parser___nit__parser__ReduceAction297___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2426 val
* var_p
/* var p: Parser */;
2427 val
* var_node_list
/* var node_list: nullable Object */;
2428 val
* var
/* : nullable Object */;
2429 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2430 val
* var1
/* : nullable Object */;
2431 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2432 val
* var2
/* : nullable Object */;
2433 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2434 val
* var3
/* : nullable Object */;
2435 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2436 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
2437 short int var4
/* : Bool */;
2440 val
* var_tgtnode3
/* var tgtnode3: nullable Object */;
2441 short int var5
/* : Bool */;
2444 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
2445 short int var8
/* : Bool */;
2448 val
* var11
/* : AGtExpr */;
2449 val
* var_pexprnode1
/* var pexprnode1: nullable AGtExpr */;
2450 long var12
/* : Int */;
2451 long var13
/* : Int */;
2453 var_node_list
= ((val
*)NULL
);
2455 var
= nit___nit__Parser___pop(var_p
);
2457 var_nodearraylist4
= var
;
2459 var1
= nit___nit__Parser___pop(var_p
);
2461 var_nodearraylist3
= var1
;
2463 var2
= nit___nit__Parser___pop(var_p
);
2465 var_nodearraylist2
= var2
;
2467 var3
= nit___nit__Parser___pop(var_p
);
2469 var_nodearraylist1
= var3
;
2470 var_pexprnode2
= var_nodearraylist1
;
2471 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
2472 cltype
= type_nullable__nit__AExpr
.color
;
2473 idtype
= type_nullable__nit__AExpr
.id
;
2474 if(var_pexprnode2
== NULL
) {
2477 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
2480 var4
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
2483 if (unlikely(!var4
)) {
2484 PRINT_ERROR("Runtime error: %s", "Assert failed");
2485 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7931);
2488 var_tgtnode3
= var_nodearraylist2
;
2489 /* <var_tgtnode3:nullable Object> isa nullable TGt */
2490 cltype6
= type_nullable__nit__TGt
.color
;
2491 idtype7
= type_nullable__nit__TGt
.id
;
2492 if(var_tgtnode3
== NULL
) {
2495 if(cltype6
>= (((long)var_tgtnode3
&3)?type_info
[((long)var_tgtnode3
&3)]:var_tgtnode3
->type
)->table_size
) {
2498 var5
= (((long)var_tgtnode3
&3)?type_info
[((long)var_tgtnode3
&3)]:var_tgtnode3
->type
)->type_table
[cltype6
] == idtype7
;
2501 if (unlikely(!var5
)) {
2502 PRINT_ERROR("Runtime error: %s", "Assert failed");
2503 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7933);
2506 var_pexprnode4
= var_nodearraylist4
;
2507 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
2508 cltype9
= type_nullable__nit__AExpr
.color
;
2509 idtype10
= type_nullable__nit__AExpr
.id
;
2510 if(var_pexprnode4
== NULL
) {
2513 if(cltype9
>= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->table_size
) {
2516 var8
= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->type_table
[cltype9
] == idtype10
;
2519 if (unlikely(!var8
)) {
2520 PRINT_ERROR("Runtime error: %s", "Assert failed");
2521 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7935);
2524 var11
= NEW_nit__AGtExpr(&type_nit__AGtExpr
);
2526 nit__parser_prod___AGtExpr___init_agtexpr(var11
, var_pexprnode2
, var_tgtnode3
, var_pexprnode4
); /* Direct call parser_prod#AGtExpr#init_agtexpr on <var11:AGtExpr>*/
2528 var_pexprnode1
= var11
;
2529 var_node_list
= var_pexprnode1
;
2530 var12
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction297> */
2532 var13
= nit___nit__Parser___go_to(var_p
, var12
);
2535 nit___nit__Parser___push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2539 /* method parser#ReduceAction298#action for (self: ReduceAction298, Parser) */
2540 void nit__parser___nit__parser__ReduceAction298___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2541 val
* var_p
/* var p: Parser */;
2542 val
* var_node_list
/* var node_list: nullable Object */;
2543 val
* var
/* : nullable Object */;
2544 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2545 val
* var1
/* : nullable Object */;
2546 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2547 val
* var2
/* : nullable Object */;
2548 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2549 val
* var3
/* : nullable Object */;
2550 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2551 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
2552 short int var4
/* : Bool */;
2555 val
* var_tgenode3
/* var tgenode3: nullable Object */;
2556 short int var5
/* : Bool */;
2559 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
2560 short int var8
/* : Bool */;
2563 val
* var11
/* : AGeExpr */;
2564 val
* var_pexprnode1
/* var pexprnode1: nullable AGeExpr */;
2565 long var12
/* : Int */;
2566 long var13
/* : Int */;
2568 var_node_list
= ((val
*)NULL
);
2570 var
= nit___nit__Parser___pop(var_p
);
2572 var_nodearraylist4
= var
;
2574 var1
= nit___nit__Parser___pop(var_p
);
2576 var_nodearraylist3
= var1
;
2578 var2
= nit___nit__Parser___pop(var_p
);
2580 var_nodearraylist2
= var2
;
2582 var3
= nit___nit__Parser___pop(var_p
);
2584 var_nodearraylist1
= var3
;
2585 var_pexprnode2
= var_nodearraylist1
;
2586 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
2587 cltype
= type_nullable__nit__AExpr
.color
;
2588 idtype
= type_nullable__nit__AExpr
.id
;
2589 if(var_pexprnode2
== NULL
) {
2592 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
2595 var4
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
2598 if (unlikely(!var4
)) {
2599 PRINT_ERROR("Runtime error: %s", "Assert failed");
2600 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7955);
2603 var_tgenode3
= var_nodearraylist2
;
2604 /* <var_tgenode3:nullable Object> isa nullable TGe */
2605 cltype6
= type_nullable__nit__TGe
.color
;
2606 idtype7
= type_nullable__nit__TGe
.id
;
2607 if(var_tgenode3
== NULL
) {
2610 if(cltype6
>= (((long)var_tgenode3
&3)?type_info
[((long)var_tgenode3
&3)]:var_tgenode3
->type
)->table_size
) {
2613 var5
= (((long)var_tgenode3
&3)?type_info
[((long)var_tgenode3
&3)]:var_tgenode3
->type
)->type_table
[cltype6
] == idtype7
;
2616 if (unlikely(!var5
)) {
2617 PRINT_ERROR("Runtime error: %s", "Assert failed");
2618 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7957);
2621 var_pexprnode4
= var_nodearraylist4
;
2622 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
2623 cltype9
= type_nullable__nit__AExpr
.color
;
2624 idtype10
= type_nullable__nit__AExpr
.id
;
2625 if(var_pexprnode4
== NULL
) {
2628 if(cltype9
>= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->table_size
) {
2631 var8
= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->type_table
[cltype9
] == idtype10
;
2634 if (unlikely(!var8
)) {
2635 PRINT_ERROR("Runtime error: %s", "Assert failed");
2636 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7959);
2639 var11
= NEW_nit__AGeExpr(&type_nit__AGeExpr
);
2641 nit__parser_prod___AGeExpr___init_ageexpr(var11
, var_pexprnode2
, var_tgenode3
, var_pexprnode4
); /* Direct call parser_prod#AGeExpr#init_ageexpr on <var11:AGeExpr>*/
2643 var_pexprnode1
= var11
;
2644 var_node_list
= var_pexprnode1
;
2645 var12
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction298> */
2647 var13
= nit___nit__Parser___go_to(var_p
, var12
);
2650 nit___nit__Parser___push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2654 /* method parser#ReduceAction299#action for (self: ReduceAction299, Parser) */
2655 void nit__parser___nit__parser__ReduceAction299___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2656 val
* var_p
/* var p: Parser */;
2657 val
* var_node_list
/* var node_list: nullable Object */;
2658 val
* var
/* : nullable Object */;
2659 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2660 val
* var1
/* : nullable Object */;
2661 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2662 val
* var2
/* : nullable Object */;
2663 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2664 val
* var3
/* : nullable Object */;
2665 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2666 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
2667 short int var4
/* : Bool */;
2670 val
* var_tstarshipnode3
/* var tstarshipnode3: nullable Object */;
2671 short int var5
/* : Bool */;
2674 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
2675 short int var8
/* : Bool */;
2678 val
* var11
/* : AStarshipExpr */;
2679 val
* var_pexprnode1
/* var pexprnode1: nullable AStarshipExpr */;
2680 long var12
/* : Int */;
2681 long var13
/* : Int */;
2683 var_node_list
= ((val
*)NULL
);
2685 var
= nit___nit__Parser___pop(var_p
);
2687 var_nodearraylist4
= var
;
2689 var1
= nit___nit__Parser___pop(var_p
);
2691 var_nodearraylist3
= var1
;
2693 var2
= nit___nit__Parser___pop(var_p
);
2695 var_nodearraylist2
= var2
;
2697 var3
= nit___nit__Parser___pop(var_p
);
2699 var_nodearraylist1
= var3
;
2700 var_pexprnode2
= var_nodearraylist1
;
2701 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
2702 cltype
= type_nullable__nit__AExpr
.color
;
2703 idtype
= type_nullable__nit__AExpr
.id
;
2704 if(var_pexprnode2
== NULL
) {
2707 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
2710 var4
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
2713 if (unlikely(!var4
)) {
2714 PRINT_ERROR("Runtime error: %s", "Assert failed");
2715 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7979);
2718 var_tstarshipnode3
= var_nodearraylist2
;
2719 /* <var_tstarshipnode3:nullable Object> isa nullable TStarship */
2720 cltype6
= type_nullable__nit__TStarship
.color
;
2721 idtype7
= type_nullable__nit__TStarship
.id
;
2722 if(var_tstarshipnode3
== NULL
) {
2725 if(cltype6
>= (((long)var_tstarshipnode3
&3)?type_info
[((long)var_tstarshipnode3
&3)]:var_tstarshipnode3
->type
)->table_size
) {
2728 var5
= (((long)var_tstarshipnode3
&3)?type_info
[((long)var_tstarshipnode3
&3)]:var_tstarshipnode3
->type
)->type_table
[cltype6
] == idtype7
;
2731 if (unlikely(!var5
)) {
2732 PRINT_ERROR("Runtime error: %s", "Assert failed");
2733 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7981);
2736 var_pexprnode4
= var_nodearraylist4
;
2737 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
2738 cltype9
= type_nullable__nit__AExpr
.color
;
2739 idtype10
= type_nullable__nit__AExpr
.id
;
2740 if(var_pexprnode4
== NULL
) {
2743 if(cltype9
>= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->table_size
) {
2746 var8
= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->type_table
[cltype9
] == idtype10
;
2749 if (unlikely(!var8
)) {
2750 PRINT_ERROR("Runtime error: %s", "Assert failed");
2751 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 7983);
2754 var11
= NEW_nit__AStarshipExpr(&type_nit__AStarshipExpr
);
2756 nit__parser_prod___AStarshipExpr___init_astarshipexpr(var11
, var_pexprnode2
, var_tstarshipnode3
, var_pexprnode4
); /* Direct call parser_prod#AStarshipExpr#init_astarshipexpr on <var11:AStarshipExpr>*/
2758 var_pexprnode1
= var11
;
2759 var_node_list
= var_pexprnode1
;
2760 var12
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction299> */
2762 var13
= nit___nit__Parser___go_to(var_p
, var12
);
2765 nit___nit__Parser___push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2769 /* method parser#ReduceAction300#action for (self: ReduceAction300, Parser) */
2770 void nit__parser___nit__parser__ReduceAction300___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2771 val
* var_p
/* var p: Parser */;
2772 val
* var_node_list
/* var node_list: nullable Object */;
2773 val
* var
/* : nullable Object */;
2774 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2775 val
* var1
/* : nullable Object */;
2776 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2777 val
* var2
/* : nullable Object */;
2778 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2779 val
* var3
/* : nullable Object */;
2780 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2781 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
2782 short int var4
/* : Bool */;
2785 val
* var_tkwisanode3
/* var tkwisanode3: nullable Object */;
2786 short int var5
/* : Bool */;
2789 val
* var_ptypenode4
/* var ptypenode4: nullable Object */;
2790 short int var8
/* : Bool */;
2793 val
* var11
/* : AIsaExpr */;
2794 val
* var_pexprnode1
/* var pexprnode1: nullable AIsaExpr */;
2795 long var12
/* : Int */;
2796 long var13
/* : Int */;
2798 var_node_list
= ((val
*)NULL
);
2800 var
= nit___nit__Parser___pop(var_p
);
2802 var_nodearraylist4
= var
;
2804 var1
= nit___nit__Parser___pop(var_p
);
2806 var_nodearraylist3
= var1
;
2808 var2
= nit___nit__Parser___pop(var_p
);
2810 var_nodearraylist2
= var2
;
2812 var3
= nit___nit__Parser___pop(var_p
);
2814 var_nodearraylist1
= var3
;
2815 var_pexprnode2
= var_nodearraylist1
;
2816 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
2817 cltype
= type_nullable__nit__AExpr
.color
;
2818 idtype
= type_nullable__nit__AExpr
.id
;
2819 if(var_pexprnode2
== NULL
) {
2822 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
2825 var4
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
2828 if (unlikely(!var4
)) {
2829 PRINT_ERROR("Runtime error: %s", "Assert failed");
2830 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8003);
2833 var_tkwisanode3
= var_nodearraylist2
;
2834 /* <var_tkwisanode3:nullable Object> isa nullable TKwisa */
2835 cltype6
= type_nullable__nit__TKwisa
.color
;
2836 idtype7
= type_nullable__nit__TKwisa
.id
;
2837 if(var_tkwisanode3
== NULL
) {
2840 if(cltype6
>= (((long)var_tkwisanode3
&3)?type_info
[((long)var_tkwisanode3
&3)]:var_tkwisanode3
->type
)->table_size
) {
2843 var5
= (((long)var_tkwisanode3
&3)?type_info
[((long)var_tkwisanode3
&3)]:var_tkwisanode3
->type
)->type_table
[cltype6
] == idtype7
;
2846 if (unlikely(!var5
)) {
2847 PRINT_ERROR("Runtime error: %s", "Assert failed");
2848 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8005);
2851 var_ptypenode4
= var_nodearraylist4
;
2852 /* <var_ptypenode4:nullable Object> isa nullable AType */
2853 cltype9
= type_nullable__nit__AType
.color
;
2854 idtype10
= type_nullable__nit__AType
.id
;
2855 if(var_ptypenode4
== NULL
) {
2858 if(cltype9
>= (((long)var_ptypenode4
&3)?type_info
[((long)var_ptypenode4
&3)]:var_ptypenode4
->type
)->table_size
) {
2861 var8
= (((long)var_ptypenode4
&3)?type_info
[((long)var_ptypenode4
&3)]:var_ptypenode4
->type
)->type_table
[cltype9
] == idtype10
;
2864 if (unlikely(!var8
)) {
2865 PRINT_ERROR("Runtime error: %s", "Assert failed");
2866 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8007);
2869 var11
= NEW_nit__AIsaExpr(&type_nit__AIsaExpr
);
2871 nit__parser_prod___AIsaExpr___init_aisaexpr(var11
, var_pexprnode2
, var_tkwisanode3
, var_ptypenode4
); /* Direct call parser_prod#AIsaExpr#init_aisaexpr on <var11:AIsaExpr>*/
2873 var_pexprnode1
= var11
;
2874 var_node_list
= var_pexprnode1
;
2875 var12
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction300> */
2877 var13
= nit___nit__Parser___go_to(var_p
, var12
);
2880 nit___nit__Parser___push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2884 /* method parser#ReduceAction302#action for (self: ReduceAction302, Parser) */
2885 void nit__parser___nit__parser__ReduceAction302___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
2886 val
* var_p
/* var p: Parser */;
2887 val
* var_node_list
/* var node_list: nullable Object */;
2888 val
* var
/* : nullable Object */;
2889 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
2890 val
* var1
/* : nullable Object */;
2891 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
2892 val
* var2
/* : nullable Object */;
2893 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
2894 val
* var3
/* : nullable Object */;
2895 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
2896 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
2897 short int var4
/* : Bool */;
2900 val
* var_tpipenode3
/* var tpipenode3: nullable Object */;
2901 short int var5
/* : Bool */;
2904 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
2905 short int var8
/* : Bool */;
2908 val
* var11
/* : APipeExpr */;
2909 val
* var_pexprnode1
/* var pexprnode1: nullable APipeExpr */;
2910 long var12
/* : Int */;
2911 long var13
/* : Int */;
2913 var_node_list
= ((val
*)NULL
);
2915 var
= nit___nit__Parser___pop(var_p
);
2917 var_nodearraylist4
= var
;
2919 var1
= nit___nit__Parser___pop(var_p
);
2921 var_nodearraylist3
= var1
;
2923 var2
= nit___nit__Parser___pop(var_p
);
2925 var_nodearraylist2
= var2
;
2927 var3
= nit___nit__Parser___pop(var_p
);
2929 var_nodearraylist1
= var3
;
2930 var_pexprnode2
= var_nodearraylist1
;
2931 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
2932 cltype
= type_nullable__nit__AExpr
.color
;
2933 idtype
= type_nullable__nit__AExpr
.id
;
2934 if(var_pexprnode2
== NULL
) {
2937 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
2940 var4
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
2943 if (unlikely(!var4
)) {
2944 PRINT_ERROR("Runtime error: %s", "Assert failed");
2945 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8027);
2948 var_tpipenode3
= var_nodearraylist2
;
2949 /* <var_tpipenode3:nullable Object> isa nullable TPipe */
2950 cltype6
= type_nullable__nit__TPipe
.color
;
2951 idtype7
= type_nullable__nit__TPipe
.id
;
2952 if(var_tpipenode3
== NULL
) {
2955 if(cltype6
>= (((long)var_tpipenode3
&3)?type_info
[((long)var_tpipenode3
&3)]:var_tpipenode3
->type
)->table_size
) {
2958 var5
= (((long)var_tpipenode3
&3)?type_info
[((long)var_tpipenode3
&3)]:var_tpipenode3
->type
)->type_table
[cltype6
] == idtype7
;
2961 if (unlikely(!var5
)) {
2962 PRINT_ERROR("Runtime error: %s", "Assert failed");
2963 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8029);
2966 var_pexprnode4
= var_nodearraylist4
;
2967 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
2968 cltype9
= type_nullable__nit__AExpr
.color
;
2969 idtype10
= type_nullable__nit__AExpr
.id
;
2970 if(var_pexprnode4
== NULL
) {
2973 if(cltype9
>= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->table_size
) {
2976 var8
= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->type_table
[cltype9
] == idtype10
;
2979 if (unlikely(!var8
)) {
2980 PRINT_ERROR("Runtime error: %s", "Assert failed");
2981 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8031);
2984 var11
= NEW_nit__APipeExpr(&type_nit__APipeExpr
);
2986 nit__parser_prod___APipeExpr___init_apipeexpr(var11
, var_pexprnode2
, var_tpipenode3
, var_pexprnode4
); /* Direct call parser_prod#APipeExpr#init_apipeexpr on <var11:APipeExpr>*/
2988 var_pexprnode1
= var11
;
2989 var_node_list
= var_pexprnode1
;
2990 var12
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction302> */
2992 var13
= nit___nit__Parser___go_to(var_p
, var12
);
2995 nit___nit__Parser___push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
2999 /* method parser#ReduceAction304#action for (self: ReduceAction304, Parser) */
3000 void nit__parser___nit__parser__ReduceAction304___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3001 val
* var_p
/* var p: Parser */;
3002 val
* var_node_list
/* var node_list: nullable Object */;
3003 val
* var
/* : nullable Object */;
3004 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3005 val
* var1
/* : nullable Object */;
3006 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3007 val
* var2
/* : nullable Object */;
3008 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3009 val
* var3
/* : nullable Object */;
3010 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3011 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
3012 short int var4
/* : Bool */;
3015 val
* var_tcaretnode3
/* var tcaretnode3: nullable Object */;
3016 short int var5
/* : Bool */;
3019 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
3020 short int var8
/* : Bool */;
3023 val
* var11
/* : ACaretExpr */;
3024 val
* var_pexprnode1
/* var pexprnode1: nullable ACaretExpr */;
3025 long var12
/* : Int */;
3026 long var13
/* : Int */;
3028 var_node_list
= ((val
*)NULL
);
3030 var
= nit___nit__Parser___pop(var_p
);
3032 var_nodearraylist4
= var
;
3034 var1
= nit___nit__Parser___pop(var_p
);
3036 var_nodearraylist3
= var1
;
3038 var2
= nit___nit__Parser___pop(var_p
);
3040 var_nodearraylist2
= var2
;
3042 var3
= nit___nit__Parser___pop(var_p
);
3044 var_nodearraylist1
= var3
;
3045 var_pexprnode2
= var_nodearraylist1
;
3046 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
3047 cltype
= type_nullable__nit__AExpr
.color
;
3048 idtype
= type_nullable__nit__AExpr
.id
;
3049 if(var_pexprnode2
== NULL
) {
3052 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
3055 var4
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
3058 if (unlikely(!var4
)) {
3059 PRINT_ERROR("Runtime error: %s", "Assert failed");
3060 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8051);
3063 var_tcaretnode3
= var_nodearraylist2
;
3064 /* <var_tcaretnode3:nullable Object> isa nullable TCaret */
3065 cltype6
= type_nullable__nit__TCaret
.color
;
3066 idtype7
= type_nullable__nit__TCaret
.id
;
3067 if(var_tcaretnode3
== NULL
) {
3070 if(cltype6
>= (((long)var_tcaretnode3
&3)?type_info
[((long)var_tcaretnode3
&3)]:var_tcaretnode3
->type
)->table_size
) {
3073 var5
= (((long)var_tcaretnode3
&3)?type_info
[((long)var_tcaretnode3
&3)]:var_tcaretnode3
->type
)->type_table
[cltype6
] == idtype7
;
3076 if (unlikely(!var5
)) {
3077 PRINT_ERROR("Runtime error: %s", "Assert failed");
3078 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8053);
3081 var_pexprnode4
= var_nodearraylist4
;
3082 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
3083 cltype9
= type_nullable__nit__AExpr
.color
;
3084 idtype10
= type_nullable__nit__AExpr
.id
;
3085 if(var_pexprnode4
== NULL
) {
3088 if(cltype9
>= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->table_size
) {
3091 var8
= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->type_table
[cltype9
] == idtype10
;
3094 if (unlikely(!var8
)) {
3095 PRINT_ERROR("Runtime error: %s", "Assert failed");
3096 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8055);
3099 var11
= NEW_nit__ACaretExpr(&type_nit__ACaretExpr
);
3101 nit__parser_prod___ACaretExpr___init_acaretexpr(var11
, var_pexprnode2
, var_tcaretnode3
, var_pexprnode4
); /* Direct call parser_prod#ACaretExpr#init_acaretexpr on <var11:ACaretExpr>*/
3103 var_pexprnode1
= var11
;
3104 var_node_list
= var_pexprnode1
;
3105 var12
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction304> */
3107 var13
= nit___nit__Parser___go_to(var_p
, var12
);
3110 nit___nit__Parser___push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3114 /* method parser#ReduceAction306#action for (self: ReduceAction306, Parser) */
3115 void nit__parser___nit__parser__ReduceAction306___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3116 val
* var_p
/* var p: Parser */;
3117 val
* var_node_list
/* var node_list: nullable Object */;
3118 val
* var
/* : nullable Object */;
3119 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3120 val
* var1
/* : nullable Object */;
3121 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3122 val
* var2
/* : nullable Object */;
3123 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3124 val
* var3
/* : nullable Object */;
3125 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3126 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
3127 short int var4
/* : Bool */;
3130 val
* var_tampnode3
/* var tampnode3: nullable Object */;
3131 short int var5
/* : Bool */;
3134 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
3135 short int var8
/* : Bool */;
3138 val
* var11
/* : AAmpExpr */;
3139 val
* var_pexprnode1
/* var pexprnode1: nullable AAmpExpr */;
3140 long var12
/* : Int */;
3141 long var13
/* : Int */;
3143 var_node_list
= ((val
*)NULL
);
3145 var
= nit___nit__Parser___pop(var_p
);
3147 var_nodearraylist4
= var
;
3149 var1
= nit___nit__Parser___pop(var_p
);
3151 var_nodearraylist3
= var1
;
3153 var2
= nit___nit__Parser___pop(var_p
);
3155 var_nodearraylist2
= var2
;
3157 var3
= nit___nit__Parser___pop(var_p
);
3159 var_nodearraylist1
= var3
;
3160 var_pexprnode2
= var_nodearraylist1
;
3161 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
3162 cltype
= type_nullable__nit__AExpr
.color
;
3163 idtype
= type_nullable__nit__AExpr
.id
;
3164 if(var_pexprnode2
== NULL
) {
3167 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
3170 var4
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
3173 if (unlikely(!var4
)) {
3174 PRINT_ERROR("Runtime error: %s", "Assert failed");
3175 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8075);
3178 var_tampnode3
= var_nodearraylist2
;
3179 /* <var_tampnode3:nullable Object> isa nullable TAmp */
3180 cltype6
= type_nullable__nit__TAmp
.color
;
3181 idtype7
= type_nullable__nit__TAmp
.id
;
3182 if(var_tampnode3
== NULL
) {
3185 if(cltype6
>= (((long)var_tampnode3
&3)?type_info
[((long)var_tampnode3
&3)]:var_tampnode3
->type
)->table_size
) {
3188 var5
= (((long)var_tampnode3
&3)?type_info
[((long)var_tampnode3
&3)]:var_tampnode3
->type
)->type_table
[cltype6
] == idtype7
;
3191 if (unlikely(!var5
)) {
3192 PRINT_ERROR("Runtime error: %s", "Assert failed");
3193 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8077);
3196 var_pexprnode4
= var_nodearraylist4
;
3197 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
3198 cltype9
= type_nullable__nit__AExpr
.color
;
3199 idtype10
= type_nullable__nit__AExpr
.id
;
3200 if(var_pexprnode4
== NULL
) {
3203 if(cltype9
>= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->table_size
) {
3206 var8
= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->type_table
[cltype9
] == idtype10
;
3209 if (unlikely(!var8
)) {
3210 PRINT_ERROR("Runtime error: %s", "Assert failed");
3211 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8079);
3214 var11
= NEW_nit__AAmpExpr(&type_nit__AAmpExpr
);
3216 nit__parser_prod___AAmpExpr___init_aampexpr(var11
, var_pexprnode2
, var_tampnode3
, var_pexprnode4
); /* Direct call parser_prod#AAmpExpr#init_aampexpr on <var11:AAmpExpr>*/
3218 var_pexprnode1
= var11
;
3219 var_node_list
= var_pexprnode1
;
3220 var12
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction306> */
3222 var13
= nit___nit__Parser___go_to(var_p
, var12
);
3225 nit___nit__Parser___push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3229 /* method parser#ReduceAction308#action for (self: ReduceAction308, Parser) */
3230 void nit__parser___nit__parser__ReduceAction308___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3231 val
* var_p
/* var p: Parser */;
3232 val
* var_node_list
/* var node_list: nullable Object */;
3233 val
* var
/* : nullable Object */;
3234 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3235 val
* var1
/* : nullable Object */;
3236 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3237 val
* var2
/* : nullable Object */;
3238 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3239 val
* var3
/* : nullable Object */;
3240 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3241 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
3242 short int var4
/* : Bool */;
3245 val
* var_tllnode3
/* var tllnode3: nullable Object */;
3246 short int var5
/* : Bool */;
3249 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
3250 short int var8
/* : Bool */;
3253 val
* var11
/* : ALlExpr */;
3254 val
* var_pexprnode1
/* var pexprnode1: nullable ALlExpr */;
3255 long var12
/* : Int */;
3256 long var13
/* : Int */;
3258 var_node_list
= ((val
*)NULL
);
3260 var
= nit___nit__Parser___pop(var_p
);
3262 var_nodearraylist4
= var
;
3264 var1
= nit___nit__Parser___pop(var_p
);
3266 var_nodearraylist3
= var1
;
3268 var2
= nit___nit__Parser___pop(var_p
);
3270 var_nodearraylist2
= var2
;
3272 var3
= nit___nit__Parser___pop(var_p
);
3274 var_nodearraylist1
= var3
;
3275 var_pexprnode2
= var_nodearraylist1
;
3276 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
3277 cltype
= type_nullable__nit__AExpr
.color
;
3278 idtype
= type_nullable__nit__AExpr
.id
;
3279 if(var_pexprnode2
== NULL
) {
3282 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
3285 var4
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
3288 if (unlikely(!var4
)) {
3289 PRINT_ERROR("Runtime error: %s", "Assert failed");
3290 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8099);
3293 var_tllnode3
= var_nodearraylist2
;
3294 /* <var_tllnode3:nullable Object> isa nullable TLl */
3295 cltype6
= type_nullable__nit__TLl
.color
;
3296 idtype7
= type_nullable__nit__TLl
.id
;
3297 if(var_tllnode3
== NULL
) {
3300 if(cltype6
>= (((long)var_tllnode3
&3)?type_info
[((long)var_tllnode3
&3)]:var_tllnode3
->type
)->table_size
) {
3303 var5
= (((long)var_tllnode3
&3)?type_info
[((long)var_tllnode3
&3)]:var_tllnode3
->type
)->type_table
[cltype6
] == idtype7
;
3306 if (unlikely(!var5
)) {
3307 PRINT_ERROR("Runtime error: %s", "Assert failed");
3308 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8101);
3311 var_pexprnode4
= var_nodearraylist4
;
3312 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
3313 cltype9
= type_nullable__nit__AExpr
.color
;
3314 idtype10
= type_nullable__nit__AExpr
.id
;
3315 if(var_pexprnode4
== NULL
) {
3318 if(cltype9
>= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->table_size
) {
3321 var8
= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->type_table
[cltype9
] == idtype10
;
3324 if (unlikely(!var8
)) {
3325 PRINT_ERROR("Runtime error: %s", "Assert failed");
3326 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8103);
3329 var11
= NEW_nit__ALlExpr(&type_nit__ALlExpr
);
3331 nit__parser_prod___ALlExpr___init_allexpr(var11
, var_pexprnode2
, var_tllnode3
, var_pexprnode4
); /* Direct call parser_prod#ALlExpr#init_allexpr on <var11:ALlExpr>*/
3333 var_pexprnode1
= var11
;
3334 var_node_list
= var_pexprnode1
;
3335 var12
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction308> */
3337 var13
= nit___nit__Parser___go_to(var_p
, var12
);
3340 nit___nit__Parser___push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3344 /* method parser#ReduceAction309#action for (self: ReduceAction309, Parser) */
3345 void nit__parser___nit__parser__ReduceAction309___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3346 val
* var_p
/* var p: Parser */;
3347 val
* var_node_list
/* var node_list: nullable Object */;
3348 val
* var
/* : nullable Object */;
3349 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3350 val
* var1
/* : nullable Object */;
3351 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3352 val
* var2
/* : nullable Object */;
3353 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3354 val
* var3
/* : nullable Object */;
3355 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3356 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
3357 short int var4
/* : Bool */;
3360 val
* var_tggnode3
/* var tggnode3: nullable Object */;
3361 short int var5
/* : Bool */;
3364 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
3365 short int var8
/* : Bool */;
3368 val
* var11
/* : AGgExpr */;
3369 val
* var_pexprnode1
/* var pexprnode1: nullable AGgExpr */;
3370 long var12
/* : Int */;
3371 long var13
/* : Int */;
3373 var_node_list
= ((val
*)NULL
);
3375 var
= nit___nit__Parser___pop(var_p
);
3377 var_nodearraylist4
= var
;
3379 var1
= nit___nit__Parser___pop(var_p
);
3381 var_nodearraylist3
= var1
;
3383 var2
= nit___nit__Parser___pop(var_p
);
3385 var_nodearraylist2
= var2
;
3387 var3
= nit___nit__Parser___pop(var_p
);
3389 var_nodearraylist1
= var3
;
3390 var_pexprnode2
= var_nodearraylist1
;
3391 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
3392 cltype
= type_nullable__nit__AExpr
.color
;
3393 idtype
= type_nullable__nit__AExpr
.id
;
3394 if(var_pexprnode2
== NULL
) {
3397 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
3400 var4
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
3403 if (unlikely(!var4
)) {
3404 PRINT_ERROR("Runtime error: %s", "Assert failed");
3405 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8123);
3408 var_tggnode3
= var_nodearraylist2
;
3409 /* <var_tggnode3:nullable Object> isa nullable TGg */
3410 cltype6
= type_nullable__nit__TGg
.color
;
3411 idtype7
= type_nullable__nit__TGg
.id
;
3412 if(var_tggnode3
== NULL
) {
3415 if(cltype6
>= (((long)var_tggnode3
&3)?type_info
[((long)var_tggnode3
&3)]:var_tggnode3
->type
)->table_size
) {
3418 var5
= (((long)var_tggnode3
&3)?type_info
[((long)var_tggnode3
&3)]:var_tggnode3
->type
)->type_table
[cltype6
] == idtype7
;
3421 if (unlikely(!var5
)) {
3422 PRINT_ERROR("Runtime error: %s", "Assert failed");
3423 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8125);
3426 var_pexprnode4
= var_nodearraylist4
;
3427 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
3428 cltype9
= type_nullable__nit__AExpr
.color
;
3429 idtype10
= type_nullable__nit__AExpr
.id
;
3430 if(var_pexprnode4
== NULL
) {
3433 if(cltype9
>= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->table_size
) {
3436 var8
= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->type_table
[cltype9
] == idtype10
;
3439 if (unlikely(!var8
)) {
3440 PRINT_ERROR("Runtime error: %s", "Assert failed");
3441 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8127);
3444 var11
= NEW_nit__AGgExpr(&type_nit__AGgExpr
);
3446 nit__parser_prod___AGgExpr___init_aggexpr(var11
, var_pexprnode2
, var_tggnode3
, var_pexprnode4
); /* Direct call parser_prod#AGgExpr#init_aggexpr on <var11:AGgExpr>*/
3448 var_pexprnode1
= var11
;
3449 var_node_list
= var_pexprnode1
;
3450 var12
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction309> */
3452 var13
= nit___nit__Parser___go_to(var_p
, var12
);
3455 nit___nit__Parser___push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3459 /* method parser#ReduceAction311#action for (self: ReduceAction311, Parser) */
3460 void nit__parser___nit__parser__ReduceAction311___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3461 val
* var_p
/* var p: Parser */;
3462 val
* var_node_list
/* var node_list: nullable Object */;
3463 val
* var
/* : nullable Object */;
3464 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3465 val
* var1
/* : nullable Object */;
3466 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3467 val
* var2
/* : nullable Object */;
3468 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3469 val
* var3
/* : nullable Object */;
3470 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3471 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
3472 short int var4
/* : Bool */;
3475 val
* var_tplusnode3
/* var tplusnode3: nullable Object */;
3476 short int var5
/* : Bool */;
3479 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
3480 short int var8
/* : Bool */;
3483 val
* var11
/* : APlusExpr */;
3484 val
* var_pexprnode1
/* var pexprnode1: nullable APlusExpr */;
3485 long var12
/* : Int */;
3486 long var13
/* : Int */;
3488 var_node_list
= ((val
*)NULL
);
3490 var
= nit___nit__Parser___pop(var_p
);
3492 var_nodearraylist4
= var
;
3494 var1
= nit___nit__Parser___pop(var_p
);
3496 var_nodearraylist3
= var1
;
3498 var2
= nit___nit__Parser___pop(var_p
);
3500 var_nodearraylist2
= var2
;
3502 var3
= nit___nit__Parser___pop(var_p
);
3504 var_nodearraylist1
= var3
;
3505 var_pexprnode2
= var_nodearraylist1
;
3506 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
3507 cltype
= type_nullable__nit__AExpr
.color
;
3508 idtype
= type_nullable__nit__AExpr
.id
;
3509 if(var_pexprnode2
== NULL
) {
3512 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
3515 var4
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
3518 if (unlikely(!var4
)) {
3519 PRINT_ERROR("Runtime error: %s", "Assert failed");
3520 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8147);
3523 var_tplusnode3
= var_nodearraylist2
;
3524 /* <var_tplusnode3:nullable Object> isa nullable TPlus */
3525 cltype6
= type_nullable__nit__TPlus
.color
;
3526 idtype7
= type_nullable__nit__TPlus
.id
;
3527 if(var_tplusnode3
== NULL
) {
3530 if(cltype6
>= (((long)var_tplusnode3
&3)?type_info
[((long)var_tplusnode3
&3)]:var_tplusnode3
->type
)->table_size
) {
3533 var5
= (((long)var_tplusnode3
&3)?type_info
[((long)var_tplusnode3
&3)]:var_tplusnode3
->type
)->type_table
[cltype6
] == idtype7
;
3536 if (unlikely(!var5
)) {
3537 PRINT_ERROR("Runtime error: %s", "Assert failed");
3538 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8149);
3541 var_pexprnode4
= var_nodearraylist4
;
3542 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
3543 cltype9
= type_nullable__nit__AExpr
.color
;
3544 idtype10
= type_nullable__nit__AExpr
.id
;
3545 if(var_pexprnode4
== NULL
) {
3548 if(cltype9
>= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->table_size
) {
3551 var8
= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->type_table
[cltype9
] == idtype10
;
3554 if (unlikely(!var8
)) {
3555 PRINT_ERROR("Runtime error: %s", "Assert failed");
3556 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8151);
3559 var11
= NEW_nit__APlusExpr(&type_nit__APlusExpr
);
3561 nit__parser_prod___APlusExpr___init_aplusexpr(var11
, var_pexprnode2
, var_tplusnode3
, var_pexprnode4
); /* Direct call parser_prod#APlusExpr#init_aplusexpr on <var11:APlusExpr>*/
3563 var_pexprnode1
= var11
;
3564 var_node_list
= var_pexprnode1
;
3565 var12
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction311> */
3567 var13
= nit___nit__Parser___go_to(var_p
, var12
);
3570 nit___nit__Parser___push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3574 /* method parser#ReduceAction312#action for (self: ReduceAction312, Parser) */
3575 void nit__parser___nit__parser__ReduceAction312___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3576 val
* var_p
/* var p: Parser */;
3577 val
* var_node_list
/* var node_list: nullable Object */;
3578 val
* var
/* : nullable Object */;
3579 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3580 val
* var1
/* : nullable Object */;
3581 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3582 val
* var2
/* : nullable Object */;
3583 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3584 val
* var3
/* : nullable Object */;
3585 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3586 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
3587 short int var4
/* : Bool */;
3590 val
* var_tminusnode3
/* var tminusnode3: nullable Object */;
3591 short int var5
/* : Bool */;
3594 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
3595 short int var8
/* : Bool */;
3598 val
* var11
/* : AMinusExpr */;
3599 val
* var_pexprnode1
/* var pexprnode1: nullable AMinusExpr */;
3600 long var12
/* : Int */;
3601 long var13
/* : Int */;
3603 var_node_list
= ((val
*)NULL
);
3605 var
= nit___nit__Parser___pop(var_p
);
3607 var_nodearraylist4
= var
;
3609 var1
= nit___nit__Parser___pop(var_p
);
3611 var_nodearraylist3
= var1
;
3613 var2
= nit___nit__Parser___pop(var_p
);
3615 var_nodearraylist2
= var2
;
3617 var3
= nit___nit__Parser___pop(var_p
);
3619 var_nodearraylist1
= var3
;
3620 var_pexprnode2
= var_nodearraylist1
;
3621 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
3622 cltype
= type_nullable__nit__AExpr
.color
;
3623 idtype
= type_nullable__nit__AExpr
.id
;
3624 if(var_pexprnode2
== NULL
) {
3627 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
3630 var4
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
3633 if (unlikely(!var4
)) {
3634 PRINT_ERROR("Runtime error: %s", "Assert failed");
3635 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8171);
3638 var_tminusnode3
= var_nodearraylist2
;
3639 /* <var_tminusnode3:nullable Object> isa nullable TMinus */
3640 cltype6
= type_nullable__nit__TMinus
.color
;
3641 idtype7
= type_nullable__nit__TMinus
.id
;
3642 if(var_tminusnode3
== NULL
) {
3645 if(cltype6
>= (((long)var_tminusnode3
&3)?type_info
[((long)var_tminusnode3
&3)]:var_tminusnode3
->type
)->table_size
) {
3648 var5
= (((long)var_tminusnode3
&3)?type_info
[((long)var_tminusnode3
&3)]:var_tminusnode3
->type
)->type_table
[cltype6
] == idtype7
;
3651 if (unlikely(!var5
)) {
3652 PRINT_ERROR("Runtime error: %s", "Assert failed");
3653 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8173);
3656 var_pexprnode4
= var_nodearraylist4
;
3657 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
3658 cltype9
= type_nullable__nit__AExpr
.color
;
3659 idtype10
= type_nullable__nit__AExpr
.id
;
3660 if(var_pexprnode4
== NULL
) {
3663 if(cltype9
>= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->table_size
) {
3666 var8
= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->type_table
[cltype9
] == idtype10
;
3669 if (unlikely(!var8
)) {
3670 PRINT_ERROR("Runtime error: %s", "Assert failed");
3671 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8175);
3674 var11
= NEW_nit__AMinusExpr(&type_nit__AMinusExpr
);
3676 nit__parser_prod___AMinusExpr___init_aminusexpr(var11
, var_pexprnode2
, var_tminusnode3
, var_pexprnode4
); /* Direct call parser_prod#AMinusExpr#init_aminusexpr on <var11:AMinusExpr>*/
3678 var_pexprnode1
= var11
;
3679 var_node_list
= var_pexprnode1
;
3680 var12
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction312> */
3682 var13
= nit___nit__Parser___go_to(var_p
, var12
);
3685 nit___nit__Parser___push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3689 /* method parser#ReduceAction314#action for (self: ReduceAction314, Parser) */
3690 void nit__parser___nit__parser__ReduceAction314___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3691 val
* var_p
/* var p: Parser */;
3692 val
* var_node_list
/* var node_list: nullable Object */;
3693 val
* var
/* : nullable Object */;
3694 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3695 val
* var1
/* : nullable Object */;
3696 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3697 val
* var2
/* : nullable Object */;
3698 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3699 val
* var3
/* : nullable Object */;
3700 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3701 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
3702 short int var4
/* : Bool */;
3705 val
* var_tstarnode3
/* var tstarnode3: nullable Object */;
3706 short int var5
/* : Bool */;
3709 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
3710 short int var8
/* : Bool */;
3713 val
* var11
/* : AStarExpr */;
3714 val
* var_pexprnode1
/* var pexprnode1: nullable AStarExpr */;
3715 long var12
/* : Int */;
3716 long var13
/* : Int */;
3718 var_node_list
= ((val
*)NULL
);
3720 var
= nit___nit__Parser___pop(var_p
);
3722 var_nodearraylist4
= var
;
3724 var1
= nit___nit__Parser___pop(var_p
);
3726 var_nodearraylist3
= var1
;
3728 var2
= nit___nit__Parser___pop(var_p
);
3730 var_nodearraylist2
= var2
;
3732 var3
= nit___nit__Parser___pop(var_p
);
3734 var_nodearraylist1
= var3
;
3735 var_pexprnode2
= var_nodearraylist1
;
3736 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
3737 cltype
= type_nullable__nit__AExpr
.color
;
3738 idtype
= type_nullable__nit__AExpr
.id
;
3739 if(var_pexprnode2
== NULL
) {
3742 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
3745 var4
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
3748 if (unlikely(!var4
)) {
3749 PRINT_ERROR("Runtime error: %s", "Assert failed");
3750 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8195);
3753 var_tstarnode3
= var_nodearraylist2
;
3754 /* <var_tstarnode3:nullable Object> isa nullable TStar */
3755 cltype6
= type_nullable__nit__TStar
.color
;
3756 idtype7
= type_nullable__nit__TStar
.id
;
3757 if(var_tstarnode3
== NULL
) {
3760 if(cltype6
>= (((long)var_tstarnode3
&3)?type_info
[((long)var_tstarnode3
&3)]:var_tstarnode3
->type
)->table_size
) {
3763 var5
= (((long)var_tstarnode3
&3)?type_info
[((long)var_tstarnode3
&3)]:var_tstarnode3
->type
)->type_table
[cltype6
] == idtype7
;
3766 if (unlikely(!var5
)) {
3767 PRINT_ERROR("Runtime error: %s", "Assert failed");
3768 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8197);
3771 var_pexprnode4
= var_nodearraylist4
;
3772 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
3773 cltype9
= type_nullable__nit__AExpr
.color
;
3774 idtype10
= type_nullable__nit__AExpr
.id
;
3775 if(var_pexprnode4
== NULL
) {
3778 if(cltype9
>= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->table_size
) {
3781 var8
= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->type_table
[cltype9
] == idtype10
;
3784 if (unlikely(!var8
)) {
3785 PRINT_ERROR("Runtime error: %s", "Assert failed");
3786 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8199);
3789 var11
= NEW_nit__AStarExpr(&type_nit__AStarExpr
);
3791 nit__parser_prod___AStarExpr___init_astarexpr(var11
, var_pexprnode2
, var_tstarnode3
, var_pexprnode4
); /* Direct call parser_prod#AStarExpr#init_astarexpr on <var11:AStarExpr>*/
3793 var_pexprnode1
= var11
;
3794 var_node_list
= var_pexprnode1
;
3795 var12
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction314> */
3797 var13
= nit___nit__Parser___go_to(var_p
, var12
);
3800 nit___nit__Parser___push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3804 /* method parser#ReduceAction315#action for (self: ReduceAction315, Parser) */
3805 void nit__parser___nit__parser__ReduceAction315___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3806 val
* var_p
/* var p: Parser */;
3807 val
* var_node_list
/* var node_list: nullable Object */;
3808 val
* var
/* : nullable Object */;
3809 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3810 val
* var1
/* : nullable Object */;
3811 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3812 val
* var2
/* : nullable Object */;
3813 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3814 val
* var3
/* : nullable Object */;
3815 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3816 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
3817 short int var4
/* : Bool */;
3820 val
* var_tslashnode3
/* var tslashnode3: nullable Object */;
3821 short int var5
/* : Bool */;
3824 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
3825 short int var8
/* : Bool */;
3828 val
* var11
/* : ASlashExpr */;
3829 val
* var_pexprnode1
/* var pexprnode1: nullable ASlashExpr */;
3830 long var12
/* : Int */;
3831 long var13
/* : Int */;
3833 var_node_list
= ((val
*)NULL
);
3835 var
= nit___nit__Parser___pop(var_p
);
3837 var_nodearraylist4
= var
;
3839 var1
= nit___nit__Parser___pop(var_p
);
3841 var_nodearraylist3
= var1
;
3843 var2
= nit___nit__Parser___pop(var_p
);
3845 var_nodearraylist2
= var2
;
3847 var3
= nit___nit__Parser___pop(var_p
);
3849 var_nodearraylist1
= var3
;
3850 var_pexprnode2
= var_nodearraylist1
;
3851 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
3852 cltype
= type_nullable__nit__AExpr
.color
;
3853 idtype
= type_nullable__nit__AExpr
.id
;
3854 if(var_pexprnode2
== NULL
) {
3857 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
3860 var4
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
3863 if (unlikely(!var4
)) {
3864 PRINT_ERROR("Runtime error: %s", "Assert failed");
3865 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8219);
3868 var_tslashnode3
= var_nodearraylist2
;
3869 /* <var_tslashnode3:nullable Object> isa nullable TSlash */
3870 cltype6
= type_nullable__nit__TSlash
.color
;
3871 idtype7
= type_nullable__nit__TSlash
.id
;
3872 if(var_tslashnode3
== NULL
) {
3875 if(cltype6
>= (((long)var_tslashnode3
&3)?type_info
[((long)var_tslashnode3
&3)]:var_tslashnode3
->type
)->table_size
) {
3878 var5
= (((long)var_tslashnode3
&3)?type_info
[((long)var_tslashnode3
&3)]:var_tslashnode3
->type
)->type_table
[cltype6
] == idtype7
;
3881 if (unlikely(!var5
)) {
3882 PRINT_ERROR("Runtime error: %s", "Assert failed");
3883 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8221);
3886 var_pexprnode4
= var_nodearraylist4
;
3887 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
3888 cltype9
= type_nullable__nit__AExpr
.color
;
3889 idtype10
= type_nullable__nit__AExpr
.id
;
3890 if(var_pexprnode4
== NULL
) {
3893 if(cltype9
>= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->table_size
) {
3896 var8
= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->type_table
[cltype9
] == idtype10
;
3899 if (unlikely(!var8
)) {
3900 PRINT_ERROR("Runtime error: %s", "Assert failed");
3901 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8223);
3904 var11
= NEW_nit__ASlashExpr(&type_nit__ASlashExpr
);
3906 nit__parser_prod___ASlashExpr___init_aslashexpr(var11
, var_pexprnode2
, var_tslashnode3
, var_pexprnode4
); /* Direct call parser_prod#ASlashExpr#init_aslashexpr on <var11:ASlashExpr>*/
3908 var_pexprnode1
= var11
;
3909 var_node_list
= var_pexprnode1
;
3910 var12
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction315> */
3912 var13
= nit___nit__Parser___go_to(var_p
, var12
);
3915 nit___nit__Parser___push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
3919 /* method parser#ReduceAction316#action for (self: ReduceAction316, Parser) */
3920 void nit__parser___nit__parser__ReduceAction316___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
3921 val
* var_p
/* var p: Parser */;
3922 val
* var_node_list
/* var node_list: nullable Object */;
3923 val
* var
/* : nullable Object */;
3924 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
3925 val
* var1
/* : nullable Object */;
3926 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
3927 val
* var2
/* : nullable Object */;
3928 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
3929 val
* var3
/* : nullable Object */;
3930 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
3931 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
3932 short int var4
/* : Bool */;
3935 val
* var_tpercentnode3
/* var tpercentnode3: nullable Object */;
3936 short int var5
/* : Bool */;
3939 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
3940 short int var8
/* : Bool */;
3943 val
* var11
/* : APercentExpr */;
3944 val
* var_pexprnode1
/* var pexprnode1: nullable APercentExpr */;
3945 long var12
/* : Int */;
3946 long var13
/* : Int */;
3948 var_node_list
= ((val
*)NULL
);
3950 var
= nit___nit__Parser___pop(var_p
);
3952 var_nodearraylist4
= var
;
3954 var1
= nit___nit__Parser___pop(var_p
);
3956 var_nodearraylist3
= var1
;
3958 var2
= nit___nit__Parser___pop(var_p
);
3960 var_nodearraylist2
= var2
;
3962 var3
= nit___nit__Parser___pop(var_p
);
3964 var_nodearraylist1
= var3
;
3965 var_pexprnode2
= var_nodearraylist1
;
3966 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
3967 cltype
= type_nullable__nit__AExpr
.color
;
3968 idtype
= type_nullable__nit__AExpr
.id
;
3969 if(var_pexprnode2
== NULL
) {
3972 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
3975 var4
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
3978 if (unlikely(!var4
)) {
3979 PRINT_ERROR("Runtime error: %s", "Assert failed");
3980 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8243);
3983 var_tpercentnode3
= var_nodearraylist2
;
3984 /* <var_tpercentnode3:nullable Object> isa nullable TPercent */
3985 cltype6
= type_nullable__nit__TPercent
.color
;
3986 idtype7
= type_nullable__nit__TPercent
.id
;
3987 if(var_tpercentnode3
== NULL
) {
3990 if(cltype6
>= (((long)var_tpercentnode3
&3)?type_info
[((long)var_tpercentnode3
&3)]:var_tpercentnode3
->type
)->table_size
) {
3993 var5
= (((long)var_tpercentnode3
&3)?type_info
[((long)var_tpercentnode3
&3)]:var_tpercentnode3
->type
)->type_table
[cltype6
] == idtype7
;
3996 if (unlikely(!var5
)) {
3997 PRINT_ERROR("Runtime error: %s", "Assert failed");
3998 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8245);
4001 var_pexprnode4
= var_nodearraylist4
;
4002 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
4003 cltype9
= type_nullable__nit__AExpr
.color
;
4004 idtype10
= type_nullable__nit__AExpr
.id
;
4005 if(var_pexprnode4
== NULL
) {
4008 if(cltype9
>= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->table_size
) {
4011 var8
= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->type_table
[cltype9
] == idtype10
;
4014 if (unlikely(!var8
)) {
4015 PRINT_ERROR("Runtime error: %s", "Assert failed");
4016 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8247);
4019 var11
= NEW_nit__APercentExpr(&type_nit__APercentExpr
);
4021 nit__parser_prod___APercentExpr___init_apercentexpr(var11
, var_pexprnode2
, var_tpercentnode3
, var_pexprnode4
); /* Direct call parser_prod#APercentExpr#init_apercentexpr on <var11:APercentExpr>*/
4023 var_pexprnode1
= var11
;
4024 var_node_list
= var_pexprnode1
;
4025 var12
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction316> */
4027 var13
= nit___nit__Parser___go_to(var_p
, var12
);
4030 nit___nit__Parser___push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4034 /* method parser#ReduceAction318#action for (self: ReduceAction318, Parser) */
4035 void nit__parser___nit__parser__ReduceAction318___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4036 val
* var_p
/* var p: Parser */;
4037 val
* var_node_list
/* var node_list: nullable Object */;
4038 val
* var
/* : nullable Object */;
4039 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4040 val
* var1
/* : nullable Object */;
4041 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4042 val
* var2
/* : nullable Object */;
4043 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4044 val
* var3
/* : nullable Object */;
4045 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4046 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
4047 short int var4
/* : Bool */;
4050 val
* var_tstarstarnode3
/* var tstarstarnode3: nullable Object */;
4051 short int var5
/* : Bool */;
4054 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
4055 short int var8
/* : Bool */;
4058 val
* var11
/* : AStarstarExpr */;
4059 val
* var_pexprnode1
/* var pexprnode1: nullable AStarstarExpr */;
4060 long var12
/* : Int */;
4061 long var13
/* : Int */;
4063 var_node_list
= ((val
*)NULL
);
4065 var
= nit___nit__Parser___pop(var_p
);
4067 var_nodearraylist4
= var
;
4069 var1
= nit___nit__Parser___pop(var_p
);
4071 var_nodearraylist3
= var1
;
4073 var2
= nit___nit__Parser___pop(var_p
);
4075 var_nodearraylist2
= var2
;
4077 var3
= nit___nit__Parser___pop(var_p
);
4079 var_nodearraylist1
= var3
;
4080 var_pexprnode2
= var_nodearraylist1
;
4081 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
4082 cltype
= type_nullable__nit__AExpr
.color
;
4083 idtype
= type_nullable__nit__AExpr
.id
;
4084 if(var_pexprnode2
== NULL
) {
4087 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
4090 var4
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
4093 if (unlikely(!var4
)) {
4094 PRINT_ERROR("Runtime error: %s", "Assert failed");
4095 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8267);
4098 var_tstarstarnode3
= var_nodearraylist2
;
4099 /* <var_tstarstarnode3:nullable Object> isa nullable TStarstar */
4100 cltype6
= type_nullable__nit__TStarstar
.color
;
4101 idtype7
= type_nullable__nit__TStarstar
.id
;
4102 if(var_tstarstarnode3
== NULL
) {
4105 if(cltype6
>= (((long)var_tstarstarnode3
&3)?type_info
[((long)var_tstarstarnode3
&3)]:var_tstarstarnode3
->type
)->table_size
) {
4108 var5
= (((long)var_tstarstarnode3
&3)?type_info
[((long)var_tstarstarnode3
&3)]:var_tstarstarnode3
->type
)->type_table
[cltype6
] == idtype7
;
4111 if (unlikely(!var5
)) {
4112 PRINT_ERROR("Runtime error: %s", "Assert failed");
4113 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8269);
4116 var_pexprnode4
= var_nodearraylist4
;
4117 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
4118 cltype9
= type_nullable__nit__AExpr
.color
;
4119 idtype10
= type_nullable__nit__AExpr
.id
;
4120 if(var_pexprnode4
== NULL
) {
4123 if(cltype9
>= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->table_size
) {
4126 var8
= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->type_table
[cltype9
] == idtype10
;
4129 if (unlikely(!var8
)) {
4130 PRINT_ERROR("Runtime error: %s", "Assert failed");
4131 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8271);
4134 var11
= NEW_nit__AStarstarExpr(&type_nit__AStarstarExpr
);
4136 nit__parser_prod___AStarstarExpr___init_astarstarexpr(var11
, var_pexprnode2
, var_tstarstarnode3
, var_pexprnode4
); /* Direct call parser_prod#AStarstarExpr#init_astarstarexpr on <var11:AStarstarExpr>*/
4138 var_pexprnode1
= var11
;
4139 var_node_list
= var_pexprnode1
;
4140 var12
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction318> */
4142 var13
= nit___nit__Parser___go_to(var_p
, var12
);
4145 nit___nit__Parser___push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4149 /* method parser#ReduceAction320#action for (self: ReduceAction320, Parser) */
4150 void nit__parser___nit__parser__ReduceAction320___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4151 val
* var_p
/* var p: Parser */;
4152 val
* var_node_list
/* var node_list: nullable Object */;
4153 val
* var
/* : nullable Object */;
4154 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4155 val
* var1
/* : nullable Object */;
4156 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4157 val
* var_tminusnode2
/* var tminusnode2: nullable Object */;
4158 short int var2
/* : Bool */;
4161 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
4162 short int var3
/* : Bool */;
4165 val
* var6
/* : AUminusExpr */;
4166 val
* var_pexprnode1
/* var pexprnode1: nullable AUminusExpr */;
4167 long var7
/* : Int */;
4168 long var8
/* : Int */;
4170 var_node_list
= ((val
*)NULL
);
4172 var
= nit___nit__Parser___pop(var_p
);
4174 var_nodearraylist2
= var
;
4176 var1
= nit___nit__Parser___pop(var_p
);
4178 var_nodearraylist1
= var1
;
4179 var_tminusnode2
= var_nodearraylist1
;
4180 /* <var_tminusnode2:nullable Object> isa nullable TMinus */
4181 cltype
= type_nullable__nit__TMinus
.color
;
4182 idtype
= type_nullable__nit__TMinus
.id
;
4183 if(var_tminusnode2
== NULL
) {
4186 if(cltype
>= (((long)var_tminusnode2
&3)?type_info
[((long)var_tminusnode2
&3)]:var_tminusnode2
->type
)->table_size
) {
4189 var2
= (((long)var_tminusnode2
&3)?type_info
[((long)var_tminusnode2
&3)]:var_tminusnode2
->type
)->type_table
[cltype
] == idtype
;
4192 if (unlikely(!var2
)) {
4193 PRINT_ERROR("Runtime error: %s", "Assert failed");
4194 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8289);
4197 var_pexprnode3
= var_nodearraylist2
;
4198 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
4199 cltype4
= type_nullable__nit__AExpr
.color
;
4200 idtype5
= type_nullable__nit__AExpr
.id
;
4201 if(var_pexprnode3
== NULL
) {
4204 if(cltype4
>= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->table_size
) {
4207 var3
= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->type_table
[cltype4
] == idtype5
;
4210 if (unlikely(!var3
)) {
4211 PRINT_ERROR("Runtime error: %s", "Assert failed");
4212 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8291);
4215 var6
= NEW_nit__AUminusExpr(&type_nit__AUminusExpr
);
4217 nit__parser_prod___AUminusExpr___init_auminusexpr(var6
, var_tminusnode2
, var_pexprnode3
); /* Direct call parser_prod#AUminusExpr#init_auminusexpr on <var6:AUminusExpr>*/
4219 var_pexprnode1
= var6
;
4220 var_node_list
= var_pexprnode1
;
4221 var7
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction320> */
4223 var8
= nit___nit__Parser___go_to(var_p
, var7
);
4226 nit___nit__Parser___push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4230 /* method parser#ReduceAction321#action for (self: ReduceAction321, Parser) */
4231 void nit__parser___nit__parser__ReduceAction321___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4232 val
* var_p
/* var p: Parser */;
4233 val
* var_node_list
/* var node_list: nullable Object */;
4234 val
* var
/* : nullable Object */;
4235 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4236 val
* var1
/* : nullable Object */;
4237 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4238 val
* var_tplusnode2
/* var tplusnode2: nullable Object */;
4239 short int var2
/* : Bool */;
4242 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
4243 short int var3
/* : Bool */;
4246 val
* var6
/* : AUplusExpr */;
4247 val
* var_pexprnode1
/* var pexprnode1: nullable AUplusExpr */;
4248 long var7
/* : Int */;
4249 long var8
/* : Int */;
4251 var_node_list
= ((val
*)NULL
);
4253 var
= nit___nit__Parser___pop(var_p
);
4255 var_nodearraylist2
= var
;
4257 var1
= nit___nit__Parser___pop(var_p
);
4259 var_nodearraylist1
= var1
;
4260 var_tplusnode2
= var_nodearraylist1
;
4261 /* <var_tplusnode2:nullable Object> isa nullable TPlus */
4262 cltype
= type_nullable__nit__TPlus
.color
;
4263 idtype
= type_nullable__nit__TPlus
.id
;
4264 if(var_tplusnode2
== NULL
) {
4267 if(cltype
>= (((long)var_tplusnode2
&3)?type_info
[((long)var_tplusnode2
&3)]:var_tplusnode2
->type
)->table_size
) {
4270 var2
= (((long)var_tplusnode2
&3)?type_info
[((long)var_tplusnode2
&3)]:var_tplusnode2
->type
)->type_table
[cltype
] == idtype
;
4273 if (unlikely(!var2
)) {
4274 PRINT_ERROR("Runtime error: %s", "Assert failed");
4275 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8308);
4278 var_pexprnode3
= var_nodearraylist2
;
4279 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
4280 cltype4
= type_nullable__nit__AExpr
.color
;
4281 idtype5
= type_nullable__nit__AExpr
.id
;
4282 if(var_pexprnode3
== NULL
) {
4285 if(cltype4
>= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->table_size
) {
4288 var3
= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->type_table
[cltype4
] == idtype5
;
4291 if (unlikely(!var3
)) {
4292 PRINT_ERROR("Runtime error: %s", "Assert failed");
4293 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8310);
4296 var6
= NEW_nit__AUplusExpr(&type_nit__AUplusExpr
);
4298 nit__parser_prod___AUplusExpr___init_auplusexpr(var6
, var_tplusnode2
, var_pexprnode3
); /* Direct call parser_prod#AUplusExpr#init_auplusexpr on <var6:AUplusExpr>*/
4300 var_pexprnode1
= var6
;
4301 var_node_list
= var_pexprnode1
;
4302 var7
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction321> */
4304 var8
= nit___nit__Parser___go_to(var_p
, var7
);
4307 nit___nit__Parser___push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4311 /* method parser#ReduceAction322#action for (self: ReduceAction322, Parser) */
4312 void nit__parser___nit__parser__ReduceAction322___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4313 val
* var_p
/* var p: Parser */;
4314 val
* var_node_list
/* var node_list: nullable Object */;
4315 val
* var
/* : nullable Object */;
4316 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4317 val
* var1
/* : nullable Object */;
4318 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4319 val
* var_ttildenode2
/* var ttildenode2: nullable Object */;
4320 short int var2
/* : Bool */;
4323 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
4324 short int var3
/* : Bool */;
4327 val
* var6
/* : AUtildeExpr */;
4328 val
* var_pexprnode1
/* var pexprnode1: nullable AUtildeExpr */;
4329 long var7
/* : Int */;
4330 long var8
/* : Int */;
4332 var_node_list
= ((val
*)NULL
);
4334 var
= nit___nit__Parser___pop(var_p
);
4336 var_nodearraylist2
= var
;
4338 var1
= nit___nit__Parser___pop(var_p
);
4340 var_nodearraylist1
= var1
;
4341 var_ttildenode2
= var_nodearraylist1
;
4342 /* <var_ttildenode2:nullable Object> isa nullable TTilde */
4343 cltype
= type_nullable__nit__TTilde
.color
;
4344 idtype
= type_nullable__nit__TTilde
.id
;
4345 if(var_ttildenode2
== NULL
) {
4348 if(cltype
>= (((long)var_ttildenode2
&3)?type_info
[((long)var_ttildenode2
&3)]:var_ttildenode2
->type
)->table_size
) {
4351 var2
= (((long)var_ttildenode2
&3)?type_info
[((long)var_ttildenode2
&3)]:var_ttildenode2
->type
)->type_table
[cltype
] == idtype
;
4354 if (unlikely(!var2
)) {
4355 PRINT_ERROR("Runtime error: %s", "Assert failed");
4356 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8327);
4359 var_pexprnode3
= var_nodearraylist2
;
4360 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
4361 cltype4
= type_nullable__nit__AExpr
.color
;
4362 idtype5
= type_nullable__nit__AExpr
.id
;
4363 if(var_pexprnode3
== NULL
) {
4366 if(cltype4
>= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->table_size
) {
4369 var3
= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->type_table
[cltype4
] == idtype5
;
4372 if (unlikely(!var3
)) {
4373 PRINT_ERROR("Runtime error: %s", "Assert failed");
4374 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8329);
4377 var6
= NEW_nit__AUtildeExpr(&type_nit__AUtildeExpr
);
4379 nit__parser_prod___AUtildeExpr___init_autildeexpr(var6
, var_ttildenode2
, var_pexprnode3
); /* Direct call parser_prod#AUtildeExpr#init_autildeexpr on <var6:AUtildeExpr>*/
4381 var_pexprnode1
= var6
;
4382 var_node_list
= var_pexprnode1
;
4383 var7
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction322> */
4385 var8
= nit___nit__Parser___go_to(var_p
, var7
);
4388 nit___nit__Parser___push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4392 /* method parser#ReduceAction323#action for (self: ReduceAction323, Parser) */
4393 void nit__parser___nit__parser__ReduceAction323___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4394 val
* var_p
/* var p: Parser */;
4395 val
* var_node_list
/* var node_list: nullable Object */;
4396 val
* var
/* : nullable Object */;
4397 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4398 val
* var1
/* : nullable Object */;
4399 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4400 val
* var2
/* : nullable Object */;
4401 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4402 val
* var_tkwoncenode2
/* var tkwoncenode2: nullable Object */;
4403 short int var3
/* : Bool */;
4406 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
4407 short int var4
/* : Bool */;
4410 val
* var7
/* : AOnceExpr */;
4411 val
* var_pexprnode1
/* var pexprnode1: nullable AOnceExpr */;
4412 long var8
/* : Int */;
4413 long var9
/* : Int */;
4415 var_node_list
= ((val
*)NULL
);
4417 var
= nit___nit__Parser___pop(var_p
);
4419 var_nodearraylist3
= var
;
4421 var1
= nit___nit__Parser___pop(var_p
);
4423 var_nodearraylist2
= var1
;
4425 var2
= nit___nit__Parser___pop(var_p
);
4427 var_nodearraylist1
= var2
;
4428 var_tkwoncenode2
= var_nodearraylist1
;
4429 /* <var_tkwoncenode2:nullable Object> isa nullable TKwonce */
4430 cltype
= type_nullable__nit__TKwonce
.color
;
4431 idtype
= type_nullable__nit__TKwonce
.id
;
4432 if(var_tkwoncenode2
== NULL
) {
4435 if(cltype
>= (((long)var_tkwoncenode2
&3)?type_info
[((long)var_tkwoncenode2
&3)]:var_tkwoncenode2
->type
)->table_size
) {
4438 var3
= (((long)var_tkwoncenode2
&3)?type_info
[((long)var_tkwoncenode2
&3)]:var_tkwoncenode2
->type
)->type_table
[cltype
] == idtype
;
4441 if (unlikely(!var3
)) {
4442 PRINT_ERROR("Runtime error: %s", "Assert failed");
4443 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8347);
4446 var_pexprnode3
= var_nodearraylist3
;
4447 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
4448 cltype5
= type_nullable__nit__AExpr
.color
;
4449 idtype6
= type_nullable__nit__AExpr
.id
;
4450 if(var_pexprnode3
== NULL
) {
4453 if(cltype5
>= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->table_size
) {
4456 var4
= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->type_table
[cltype5
] == idtype6
;
4459 if (unlikely(!var4
)) {
4460 PRINT_ERROR("Runtime error: %s", "Assert failed");
4461 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8349);
4464 var7
= NEW_nit__AOnceExpr(&type_nit__AOnceExpr
);
4466 nit__parser_prod___AOnceExpr___init_aonceexpr(var7
, var_tkwoncenode2
, var_pexprnode3
); /* Direct call parser_prod#AOnceExpr#init_aonceexpr on <var7:AOnceExpr>*/
4468 var_pexprnode1
= var7
;
4469 var_node_list
= var_pexprnode1
;
4470 var8
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction323> */
4472 var9
= nit___nit__Parser___go_to(var_p
, var8
);
4475 nit___nit__Parser___push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4479 /* method parser#ReduceAction325#action for (self: ReduceAction325, Parser) */
4480 void nit__parser___nit__parser__ReduceAction325___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4481 val
* var_p
/* var p: Parser */;
4482 val
* var_node_list
/* var node_list: nullable Object */;
4483 val
* var
/* : nullable Object */;
4484 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4485 val
* var1
/* : nullable Object */;
4486 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4487 val
* var2
/* : nullable Object */;
4488 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4489 val
* var3
/* : nullable Object */;
4490 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4491 val
* var_tkwnewnode2
/* var tkwnewnode2: nullable Object */;
4492 short int var4
/* : Bool */;
4495 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
4496 short int var5
/* : Bool */;
4499 val
* var_pexprsnode5
/* var pexprsnode5: nullable Object */;
4500 short int var8
/* : Bool */;
4503 val
* var11
/* : ANewExpr */;
4504 val
* var_pexprnode1
/* var pexprnode1: nullable ANewExpr */;
4505 long var12
/* : Int */;
4506 long var13
/* : Int */;
4508 var_node_list
= ((val
*)NULL
);
4510 var
= nit___nit__Parser___pop(var_p
);
4512 var_nodearraylist4
= var
;
4514 var1
= nit___nit__Parser___pop(var_p
);
4516 var_nodearraylist3
= var1
;
4518 var2
= nit___nit__Parser___pop(var_p
);
4520 var_nodearraylist2
= var2
;
4522 var3
= nit___nit__Parser___pop(var_p
);
4524 var_nodearraylist1
= var3
;
4525 var_tkwnewnode2
= var_nodearraylist1
;
4526 /* <var_tkwnewnode2:nullable Object> isa nullable TKwnew */
4527 cltype
= type_nullable__nit__TKwnew
.color
;
4528 idtype
= type_nullable__nit__TKwnew
.id
;
4529 if(var_tkwnewnode2
== NULL
) {
4532 if(cltype
>= (((long)var_tkwnewnode2
&3)?type_info
[((long)var_tkwnewnode2
&3)]:var_tkwnewnode2
->type
)->table_size
) {
4535 var4
= (((long)var_tkwnewnode2
&3)?type_info
[((long)var_tkwnewnode2
&3)]:var_tkwnewnode2
->type
)->type_table
[cltype
] == idtype
;
4538 if (unlikely(!var4
)) {
4539 PRINT_ERROR("Runtime error: %s", "Assert failed");
4540 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8368);
4543 var_ptypenode3
= var_nodearraylist3
;
4544 /* <var_ptypenode3:nullable Object> isa nullable AType */
4545 cltype6
= type_nullable__nit__AType
.color
;
4546 idtype7
= type_nullable__nit__AType
.id
;
4547 if(var_ptypenode3
== NULL
) {
4550 if(cltype6
>= (((long)var_ptypenode3
&3)?type_info
[((long)var_ptypenode3
&3)]:var_ptypenode3
->type
)->table_size
) {
4553 var5
= (((long)var_ptypenode3
&3)?type_info
[((long)var_ptypenode3
&3)]:var_ptypenode3
->type
)->type_table
[cltype6
] == idtype7
;
4556 if (unlikely(!var5
)) {
4557 PRINT_ERROR("Runtime error: %s", "Assert failed");
4558 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8370);
4561 var_pexprsnode5
= var_nodearraylist4
;
4562 /* <var_pexprsnode5:nullable Object> isa nullable AExprs */
4563 cltype9
= type_nullable__nit__AExprs
.color
;
4564 idtype10
= type_nullable__nit__AExprs
.id
;
4565 if(var_pexprsnode5
== NULL
) {
4568 if(cltype9
>= (((long)var_pexprsnode5
&3)?type_info
[((long)var_pexprsnode5
&3)]:var_pexprsnode5
->type
)->table_size
) {
4571 var8
= (((long)var_pexprsnode5
&3)?type_info
[((long)var_pexprsnode5
&3)]:var_pexprsnode5
->type
)->type_table
[cltype9
] == idtype10
;
4574 if (unlikely(!var8
)) {
4575 PRINT_ERROR("Runtime error: %s", "Assert failed");
4576 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8372);
4579 var11
= NEW_nit__ANewExpr(&type_nit__ANewExpr
);
4581 nit__parser_prod___ANewExpr___init_anewexpr(var11
, var_tkwnewnode2
, var_ptypenode3
, ((val
*)NULL
), var_pexprsnode5
); /* Direct call parser_prod#ANewExpr#init_anewexpr on <var11:ANewExpr>*/
4583 var_pexprnode1
= var11
;
4584 var_node_list
= var_pexprnode1
;
4585 var12
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction325> */
4587 var13
= nit___nit__Parser___go_to(var_p
, var12
);
4590 nit___nit__Parser___push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4594 /* method parser#ReduceAction326#action for (self: ReduceAction326, Parser) */
4595 void nit__parser___nit__parser__ReduceAction326___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4596 val
* var_p
/* var p: Parser */;
4597 val
* var_node_list
/* var node_list: nullable Object */;
4598 val
* var
/* : nullable Object */;
4599 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4600 val
* var1
/* : nullable Object */;
4601 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4602 val
* var2
/* : nullable Object */;
4603 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4604 val
* var_tkwnewnode2
/* var tkwnewnode2: nullable Object */;
4605 short int var3
/* : Bool */;
4608 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
4609 short int var4
/* : Bool */;
4612 val
* var7
/* : Array[Object] */;
4613 val
* var_listnode6
/* var listnode6: Array[Object] */;
4614 val
* var8
/* : AListExprs */;
4615 val
* var_pexprsnode5
/* var pexprsnode5: nullable AListExprs */;
4616 val
* var9
/* : ANewExpr */;
4617 val
* var_pexprnode1
/* var pexprnode1: nullable ANewExpr */;
4618 long var10
/* : Int */;
4619 long var11
/* : Int */;
4621 var_node_list
= ((val
*)NULL
);
4623 var
= nit___nit__Parser___pop(var_p
);
4625 var_nodearraylist3
= var
;
4627 var1
= nit___nit__Parser___pop(var_p
);
4629 var_nodearraylist2
= var1
;
4631 var2
= nit___nit__Parser___pop(var_p
);
4633 var_nodearraylist1
= var2
;
4634 var_tkwnewnode2
= var_nodearraylist1
;
4635 /* <var_tkwnewnode2:nullable Object> isa nullable TKwnew */
4636 cltype
= type_nullable__nit__TKwnew
.color
;
4637 idtype
= type_nullable__nit__TKwnew
.id
;
4638 if(var_tkwnewnode2
== NULL
) {
4641 if(cltype
>= (((long)var_tkwnewnode2
&3)?type_info
[((long)var_tkwnewnode2
&3)]:var_tkwnewnode2
->type
)->table_size
) {
4644 var3
= (((long)var_tkwnewnode2
&3)?type_info
[((long)var_tkwnewnode2
&3)]:var_tkwnewnode2
->type
)->type_table
[cltype
] == idtype
;
4647 if (unlikely(!var3
)) {
4648 PRINT_ERROR("Runtime error: %s", "Assert failed");
4649 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8392);
4652 var_ptypenode3
= var_nodearraylist3
;
4653 /* <var_ptypenode3:nullable Object> isa nullable AType */
4654 cltype5
= type_nullable__nit__AType
.color
;
4655 idtype6
= type_nullable__nit__AType
.id
;
4656 if(var_ptypenode3
== NULL
) {
4659 if(cltype5
>= (((long)var_ptypenode3
&3)?type_info
[((long)var_ptypenode3
&3)]:var_ptypenode3
->type
)->table_size
) {
4662 var4
= (((long)var_ptypenode3
&3)?type_info
[((long)var_ptypenode3
&3)]:var_ptypenode3
->type
)->type_table
[cltype5
] == idtype6
;
4665 if (unlikely(!var4
)) {
4666 PRINT_ERROR("Runtime error: %s", "Assert failed");
4667 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8394);
4670 var7
= NEW_standard__Array(&type_standard__Array__standard__Object
);
4672 standard___standard__Array___standard__kernel__Object__init(var7
); /* Direct call array#Array#init on <var7:Array[Object]>*/
4674 var_listnode6
= var7
;
4675 var8
= NEW_nit__AListExprs(&type_nit__AListExprs
);
4677 nit__parser_prod___AListExprs___init_alistexprs(var8
, var_listnode6
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var8:AListExprs>*/
4679 var_pexprsnode5
= var8
;
4680 var9
= NEW_nit__ANewExpr(&type_nit__ANewExpr
);
4682 nit__parser_prod___ANewExpr___init_anewexpr(var9
, var_tkwnewnode2
, var_ptypenode3
, ((val
*)NULL
), var_pexprsnode5
); /* Direct call parser_prod#ANewExpr#init_anewexpr on <var9:ANewExpr>*/
4684 var_pexprnode1
= var9
;
4685 var_node_list
= var_pexprnode1
;
4686 var10
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction326> */
4688 var11
= nit___nit__Parser___go_to(var_p
, var10
);
4691 nit___nit__Parser___push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4695 /* method parser#ReduceAction327#action for (self: ReduceAction327, Parser) */
4696 void nit__parser___nit__parser__ReduceAction327___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4697 val
* var_p
/* var p: Parser */;
4698 val
* var_node_list
/* var node_list: nullable Object */;
4699 val
* var
/* : nullable Object */;
4700 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
4701 val
* var1
/* : nullable Object */;
4702 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
4703 val
* var2
/* : nullable Object */;
4704 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4705 val
* var3
/* : nullable Object */;
4706 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4707 val
* var4
/* : nullable Object */;
4708 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4709 val
* var5
/* : nullable Object */;
4710 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4711 val
* var_tkwissetnode2
/* var tkwissetnode2: nullable Object */;
4712 short int var6
/* : Bool */;
4715 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
4716 short int var7
/* : Bool */;
4719 val
* var_tattridnode4
/* var tattridnode4: nullable Object */;
4720 short int var10
/* : Bool */;
4723 val
* var13
/* : AIssetAttrExpr */;
4724 val
* var_pexprnode1
/* var pexprnode1: nullable AIssetAttrExpr */;
4725 long var14
/* : Int */;
4726 long var15
/* : Int */;
4728 var_node_list
= ((val
*)NULL
);
4730 var
= nit___nit__Parser___pop(var_p
);
4732 var_nodearraylist6
= var
;
4734 var1
= nit___nit__Parser___pop(var_p
);
4736 var_nodearraylist5
= var1
;
4738 var2
= nit___nit__Parser___pop(var_p
);
4740 var_nodearraylist4
= var2
;
4742 var3
= nit___nit__Parser___pop(var_p
);
4744 var_nodearraylist3
= var3
;
4746 var4
= nit___nit__Parser___pop(var_p
);
4748 var_nodearraylist2
= var4
;
4750 var5
= nit___nit__Parser___pop(var_p
);
4752 var_nodearraylist1
= var5
;
4753 var_tkwissetnode2
= var_nodearraylist1
;
4754 /* <var_tkwissetnode2:nullable Object> isa nullable TKwisset */
4755 cltype
= type_nullable__nit__TKwisset
.color
;
4756 idtype
= type_nullable__nit__TKwisset
.id
;
4757 if(var_tkwissetnode2
== NULL
) {
4760 if(cltype
>= (((long)var_tkwissetnode2
&3)?type_info
[((long)var_tkwissetnode2
&3)]:var_tkwissetnode2
->type
)->table_size
) {
4763 var6
= (((long)var_tkwissetnode2
&3)?type_info
[((long)var_tkwissetnode2
&3)]:var_tkwissetnode2
->type
)->type_table
[cltype
] == idtype
;
4766 if (unlikely(!var6
)) {
4767 PRINT_ERROR("Runtime error: %s", "Assert failed");
4768 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8421);
4771 var_pexprnode3
= var_nodearraylist2
;
4772 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
4773 cltype8
= type_nullable__nit__AExpr
.color
;
4774 idtype9
= type_nullable__nit__AExpr
.id
;
4775 if(var_pexprnode3
== NULL
) {
4778 if(cltype8
>= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->table_size
) {
4781 var7
= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->type_table
[cltype8
] == idtype9
;
4784 if (unlikely(!var7
)) {
4785 PRINT_ERROR("Runtime error: %s", "Assert failed");
4786 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8423);
4789 var_tattridnode4
= var_nodearraylist6
;
4790 /* <var_tattridnode4:nullable Object> isa nullable TAttrid */
4791 cltype11
= type_nullable__nit__TAttrid
.color
;
4792 idtype12
= type_nullable__nit__TAttrid
.id
;
4793 if(var_tattridnode4
== NULL
) {
4796 if(cltype11
>= (((long)var_tattridnode4
&3)?type_info
[((long)var_tattridnode4
&3)]:var_tattridnode4
->type
)->table_size
) {
4799 var10
= (((long)var_tattridnode4
&3)?type_info
[((long)var_tattridnode4
&3)]:var_tattridnode4
->type
)->type_table
[cltype11
] == idtype12
;
4802 if (unlikely(!var10
)) {
4803 PRINT_ERROR("Runtime error: %s", "Assert failed");
4804 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8425);
4807 var13
= NEW_nit__AIssetAttrExpr(&type_nit__AIssetAttrExpr
);
4809 nit__parser_prod___AIssetAttrExpr___init_aissetattrexpr(var13
, var_tkwissetnode2
, var_pexprnode3
, var_tattridnode4
); /* Direct call parser_prod#AIssetAttrExpr#init_aissetattrexpr on <var13:AIssetAttrExpr>*/
4811 var_pexprnode1
= var13
;
4812 var_node_list
= var_pexprnode1
;
4813 var14
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction327> */
4815 var15
= nit___nit__Parser___go_to(var_p
, var14
);
4818 nit___nit__Parser___push(var_p
, var15
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4822 /* method parser#ReduceAction328#action for (self: ReduceAction328, Parser) */
4823 void nit__parser___nit__parser__ReduceAction328___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4824 val
* var_p
/* var p: Parser */;
4825 val
* var_node_list
/* var node_list: nullable Object */;
4826 val
* var
/* : nullable Object */;
4827 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4828 val
* var1
/* : nullable Object */;
4829 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4830 val
* var2
/* : nullable Object */;
4831 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4832 val
* var_tkwissetnode2
/* var tkwissetnode2: nullable Object */;
4833 short int var3
/* : Bool */;
4836 val
* var4
/* : AImplicitSelfExpr */;
4837 val
* var_pexprnode3
/* var pexprnode3: nullable AImplicitSelfExpr */;
4838 val
* var_tattridnode4
/* var tattridnode4: nullable Object */;
4839 short int var5
/* : Bool */;
4842 val
* var8
/* : AIssetAttrExpr */;
4843 val
* var_pexprnode1
/* var pexprnode1: nullable AIssetAttrExpr */;
4844 long var9
/* : Int */;
4845 long var10
/* : Int */;
4847 var_node_list
= ((val
*)NULL
);
4849 var
= nit___nit__Parser___pop(var_p
);
4851 var_nodearraylist3
= var
;
4853 var1
= nit___nit__Parser___pop(var_p
);
4855 var_nodearraylist2
= var1
;
4857 var2
= nit___nit__Parser___pop(var_p
);
4859 var_nodearraylist1
= var2
;
4860 var_tkwissetnode2
= var_nodearraylist1
;
4861 /* <var_tkwissetnode2:nullable Object> isa nullable TKwisset */
4862 cltype
= type_nullable__nit__TKwisset
.color
;
4863 idtype
= type_nullable__nit__TKwisset
.id
;
4864 if(var_tkwissetnode2
== NULL
) {
4867 if(cltype
>= (((long)var_tkwissetnode2
&3)?type_info
[((long)var_tkwissetnode2
&3)]:var_tkwissetnode2
->type
)->table_size
) {
4870 var3
= (((long)var_tkwissetnode2
&3)?type_info
[((long)var_tkwissetnode2
&3)]:var_tkwissetnode2
->type
)->type_table
[cltype
] == idtype
;
4873 if (unlikely(!var3
)) {
4874 PRINT_ERROR("Runtime error: %s", "Assert failed");
4875 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8444);
4878 var4
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
4880 nit__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var4
); /* Direct call parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr on <var4:AImplicitSelfExpr>*/
4882 var_pexprnode3
= var4
;
4883 var_tattridnode4
= var_nodearraylist3
;
4884 /* <var_tattridnode4:nullable Object> isa nullable TAttrid */
4885 cltype6
= type_nullable__nit__TAttrid
.color
;
4886 idtype7
= type_nullable__nit__TAttrid
.id
;
4887 if(var_tattridnode4
== NULL
) {
4890 if(cltype6
>= (((long)var_tattridnode4
&3)?type_info
[((long)var_tattridnode4
&3)]:var_tattridnode4
->type
)->table_size
) {
4893 var5
= (((long)var_tattridnode4
&3)?type_info
[((long)var_tattridnode4
&3)]:var_tattridnode4
->type
)->type_table
[cltype6
] == idtype7
;
4896 if (unlikely(!var5
)) {
4897 PRINT_ERROR("Runtime error: %s", "Assert failed");
4898 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8447);
4901 var8
= NEW_nit__AIssetAttrExpr(&type_nit__AIssetAttrExpr
);
4903 nit__parser_prod___AIssetAttrExpr___init_aissetattrexpr(var8
, var_tkwissetnode2
, var_pexprnode3
, var_tattridnode4
); /* Direct call parser_prod#AIssetAttrExpr#init_aissetattrexpr on <var8:AIssetAttrExpr>*/
4905 var_pexprnode1
= var8
;
4906 var_node_list
= var_pexprnode1
;
4907 var9
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction328> */
4909 var10
= nit___nit__Parser___go_to(var_p
, var9
);
4912 nit___nit__Parser___push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
4916 /* method parser#ReduceAction330#action for (self: ReduceAction330, Parser) */
4917 void nit__parser___nit__parser__ReduceAction330___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
4918 val
* var_p
/* var p: Parser */;
4919 val
* var_node_list
/* var node_list: nullable Object */;
4920 val
* var
/* : nullable Object */;
4921 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
4922 val
* var1
/* : nullable Object */;
4923 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
4924 val
* var2
/* : nullable Object */;
4925 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
4926 val
* var3
/* : nullable Object */;
4927 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
4928 val
* var4
/* : nullable Object */;
4929 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
4930 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
4931 short int var5
/* : Bool */;
4934 val
* var_tattridnode3
/* var tattridnode3: nullable Object */;
4935 short int var6
/* : Bool */;
4938 val
* var9
/* : AAttrExpr */;
4939 val
* var_pexprnode1
/* var pexprnode1: nullable AAttrExpr */;
4940 long var10
/* : Int */;
4941 long var11
/* : Int */;
4943 var_node_list
= ((val
*)NULL
);
4945 var
= nit___nit__Parser___pop(var_p
);
4947 var_nodearraylist5
= var
;
4949 var1
= nit___nit__Parser___pop(var_p
);
4951 var_nodearraylist4
= var1
;
4953 var2
= nit___nit__Parser___pop(var_p
);
4955 var_nodearraylist3
= var2
;
4957 var3
= nit___nit__Parser___pop(var_p
);
4959 var_nodearraylist2
= var3
;
4961 var4
= nit___nit__Parser___pop(var_p
);
4963 var_nodearraylist1
= var4
;
4964 var_pexprnode2
= var_nodearraylist1
;
4965 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
4966 cltype
= type_nullable__nit__AExpr
.color
;
4967 idtype
= type_nullable__nit__AExpr
.id
;
4968 if(var_pexprnode2
== NULL
) {
4971 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
4974 var5
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
4977 if (unlikely(!var5
)) {
4978 PRINT_ERROR("Runtime error: %s", "Assert failed");
4979 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8468);
4982 var_tattridnode3
= var_nodearraylist5
;
4983 /* <var_tattridnode3:nullable Object> isa nullable TAttrid */
4984 cltype7
= type_nullable__nit__TAttrid
.color
;
4985 idtype8
= type_nullable__nit__TAttrid
.id
;
4986 if(var_tattridnode3
== NULL
) {
4989 if(cltype7
>= (((long)var_tattridnode3
&3)?type_info
[((long)var_tattridnode3
&3)]:var_tattridnode3
->type
)->table_size
) {
4992 var6
= (((long)var_tattridnode3
&3)?type_info
[((long)var_tattridnode3
&3)]:var_tattridnode3
->type
)->type_table
[cltype7
] == idtype8
;
4995 if (unlikely(!var6
)) {
4996 PRINT_ERROR("Runtime error: %s", "Assert failed");
4997 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8470);
5000 var9
= NEW_nit__AAttrExpr(&type_nit__AAttrExpr
);
5002 nit__parser_prod___AAttrExpr___init_aattrexpr(var9
, var_pexprnode2
, var_tattridnode3
); /* Direct call parser_prod#AAttrExpr#init_aattrexpr on <var9:AAttrExpr>*/
5004 var_pexprnode1
= var9
;
5005 var_node_list
= var_pexprnode1
;
5006 var10
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction330> */
5008 var11
= nit___nit__Parser___go_to(var_p
, var10
);
5011 nit___nit__Parser___push(var_p
, var11
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5015 /* method parser#ReduceAction331#action for (self: ReduceAction331, Parser) */
5016 void nit__parser___nit__parser__ReduceAction331___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5017 val
* var_p
/* var p: Parser */;
5018 val
* var_node_list
/* var node_list: nullable Object */;
5019 val
* var
/* : nullable Object */;
5020 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5021 val
* var1
/* : nullable Object */;
5022 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5023 val
* var2
/* : AImplicitSelfExpr */;
5024 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
5025 val
* var_tattridnode3
/* var tattridnode3: nullable Object */;
5026 short int var3
/* : Bool */;
5029 val
* var4
/* : AAttrExpr */;
5030 val
* var_pexprnode1
/* var pexprnode1: nullable AAttrExpr */;
5031 long var5
/* : Int */;
5032 long var6
/* : Int */;
5034 var_node_list
= ((val
*)NULL
);
5036 var
= nit___nit__Parser___pop(var_p
);
5038 var_nodearraylist2
= var
;
5040 var1
= nit___nit__Parser___pop(var_p
);
5042 var_nodearraylist1
= var1
;
5043 var2
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
5045 nit__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var2
); /* Direct call parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr on <var2:AImplicitSelfExpr>*/
5047 var_pexprnode2
= var2
;
5048 var_tattridnode3
= var_nodearraylist2
;
5049 /* <var_tattridnode3:nullable Object> isa nullable TAttrid */
5050 cltype
= type_nullable__nit__TAttrid
.color
;
5051 idtype
= type_nullable__nit__TAttrid
.id
;
5052 if(var_tattridnode3
== NULL
) {
5055 if(cltype
>= (((long)var_tattridnode3
&3)?type_info
[((long)var_tattridnode3
&3)]:var_tattridnode3
->type
)->table_size
) {
5058 var3
= (((long)var_tattridnode3
&3)?type_info
[((long)var_tattridnode3
&3)]:var_tattridnode3
->type
)->type_table
[cltype
] == idtype
;
5061 if (unlikely(!var3
)) {
5062 PRINT_ERROR("Runtime error: %s", "Assert failed");
5063 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8488);
5066 var4
= NEW_nit__AAttrExpr(&type_nit__AAttrExpr
);
5068 nit__parser_prod___AAttrExpr___init_aattrexpr(var4
, var_pexprnode2
, var_tattridnode3
); /* Direct call parser_prod#AAttrExpr#init_aattrexpr on <var4:AAttrExpr>*/
5070 var_pexprnode1
= var4
;
5071 var_node_list
= var_pexprnode1
;
5072 var5
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction331> */
5074 var6
= nit___nit__Parser___go_to(var_p
, var5
);
5077 nit___nit__Parser___push(var_p
, var6
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5081 /* method parser#ReduceAction333#action for (self: ReduceAction333, Parser) */
5082 void nit__parser___nit__parser__ReduceAction333___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5083 val
* var_p
/* var p: Parser */;
5084 val
* var_node_list
/* var node_list: nullable Object */;
5085 val
* var
/* : nullable Object */;
5086 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5087 val
* var1
/* : nullable Object */;
5088 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5089 val
* var2
/* : nullable Object */;
5090 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5091 val
* var3
/* : nullable Object */;
5092 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5093 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
5094 short int var4
/* : Bool */;
5097 val
* var_tidnode3
/* var tidnode3: nullable Object */;
5098 short int var5
/* : Bool */;
5101 val
* var8
/* : Array[Object] */;
5102 val
* var_listnode5
/* var listnode5: Array[Object] */;
5103 val
* var9
/* : AListExprs */;
5104 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
5105 val
* var10
/* : ACallExpr */;
5106 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
5107 long var11
/* : Int */;
5108 long var12
/* : Int */;
5110 var_node_list
= ((val
*)NULL
);
5112 var
= nit___nit__Parser___pop(var_p
);
5114 var_nodearraylist4
= var
;
5116 var1
= nit___nit__Parser___pop(var_p
);
5118 var_nodearraylist3
= var1
;
5120 var2
= nit___nit__Parser___pop(var_p
);
5122 var_nodearraylist2
= var2
;
5124 var3
= nit___nit__Parser___pop(var_p
);
5126 var_nodearraylist1
= var3
;
5127 var_pexprnode2
= var_nodearraylist1
;
5128 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
5129 cltype
= type_nullable__nit__AExpr
.color
;
5130 idtype
= type_nullable__nit__AExpr
.id
;
5131 if(var_pexprnode2
== NULL
) {
5134 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
5137 var4
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
5140 if (unlikely(!var4
)) {
5141 PRINT_ERROR("Runtime error: %s", "Assert failed");
5142 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8507);
5145 var_tidnode3
= var_nodearraylist4
;
5146 /* <var_tidnode3:nullable Object> isa nullable TId */
5147 cltype6
= type_nullable__nit__TId
.color
;
5148 idtype7
= type_nullable__nit__TId
.id
;
5149 if(var_tidnode3
== NULL
) {
5152 if(cltype6
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
5155 var5
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype6
] == idtype7
;
5158 if (unlikely(!var5
)) {
5159 PRINT_ERROR("Runtime error: %s", "Assert failed");
5160 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8509);
5163 var8
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5165 standard___standard__Array___standard__kernel__Object__init(var8
); /* Direct call array#Array#init on <var8:Array[Object]>*/
5167 var_listnode5
= var8
;
5168 var9
= NEW_nit__AListExprs(&type_nit__AListExprs
);
5170 nit__parser_prod___AListExprs___init_alistexprs(var9
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var9:AListExprs>*/
5172 var_pexprsnode4
= var9
;
5173 var10
= NEW_nit__ACallExpr(&type_nit__ACallExpr
);
5175 nit__parser_prod___ACallExpr___init_acallexpr(var10
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var10:ACallExpr>*/
5177 var_pexprnode1
= var10
;
5178 var_node_list
= var_pexprnode1
;
5179 var11
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction333> */
5181 var12
= nit___nit__Parser___go_to(var_p
, var11
);
5184 nit___nit__Parser___push(var_p
, var12
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5188 /* method parser#ReduceAction335#action for (self: ReduceAction335, Parser) */
5189 void nit__parser___nit__parser__ReduceAction335___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5190 val
* var_p
/* var p: Parser */;
5191 val
* var_node_list
/* var node_list: nullable Object */;
5192 val
* var
/* : nullable Object */;
5193 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
5194 val
* var1
/* : nullable Object */;
5195 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5196 val
* var2
/* : nullable Object */;
5197 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5198 val
* var3
/* : nullable Object */;
5199 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5200 val
* var4
/* : nullable Object */;
5201 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5202 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
5203 short int var5
/* : Bool */;
5206 val
* var_tidnode3
/* var tidnode3: nullable Object */;
5207 short int var6
/* : Bool */;
5210 val
* var9
/* : Array[Object] */;
5211 val
* var_listnode5
/* var listnode5: Array[Object] */;
5212 val
* var10
/* : AListExprs */;
5213 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
5214 val
* var11
/* : ACallExpr */;
5215 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
5216 long var12
/* : Int */;
5217 long var13
/* : Int */;
5219 var_node_list
= ((val
*)NULL
);
5221 var
= nit___nit__Parser___pop(var_p
);
5223 var_nodearraylist5
= var
;
5225 var1
= nit___nit__Parser___pop(var_p
);
5227 var_nodearraylist4
= var1
;
5229 var2
= nit___nit__Parser___pop(var_p
);
5231 var_nodearraylist3
= var2
;
5233 var3
= nit___nit__Parser___pop(var_p
);
5235 var_nodearraylist2
= var3
;
5237 var4
= nit___nit__Parser___pop(var_p
);
5239 var_nodearraylist1
= var4
;
5240 var_pexprnode2
= var_nodearraylist1
;
5241 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
5242 cltype
= type_nullable__nit__AExpr
.color
;
5243 idtype
= type_nullable__nit__AExpr
.id
;
5244 if(var_pexprnode2
== NULL
) {
5247 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
5250 var5
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
5253 if (unlikely(!var5
)) {
5254 PRINT_ERROR("Runtime error: %s", "Assert failed");
5255 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8534);
5258 var_tidnode3
= var_nodearraylist5
;
5259 /* <var_tidnode3:nullable Object> isa nullable TId */
5260 cltype7
= type_nullable__nit__TId
.color
;
5261 idtype8
= type_nullable__nit__TId
.id
;
5262 if(var_tidnode3
== NULL
) {
5265 if(cltype7
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
5268 var6
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype7
] == idtype8
;
5271 if (unlikely(!var6
)) {
5272 PRINT_ERROR("Runtime error: %s", "Assert failed");
5273 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8536);
5276 var9
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5278 standard___standard__Array___standard__kernel__Object__init(var9
); /* Direct call array#Array#init on <var9:Array[Object]>*/
5280 var_listnode5
= var9
;
5281 var10
= NEW_nit__AListExprs(&type_nit__AListExprs
);
5283 nit__parser_prod___AListExprs___init_alistexprs(var10
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var10:AListExprs>*/
5285 var_pexprsnode4
= var10
;
5286 var11
= NEW_nit__ACallExpr(&type_nit__ACallExpr
);
5288 nit__parser_prod___ACallExpr___init_acallexpr(var11
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var11:ACallExpr>*/
5290 var_pexprnode1
= var11
;
5291 var_node_list
= var_pexprnode1
;
5292 var12
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction335> */
5294 var13
= nit___nit__Parser___go_to(var_p
, var12
);
5297 nit___nit__Parser___push(var_p
, var13
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5301 /* method parser#ReduceAction337#action for (self: ReduceAction337, Parser) */
5302 void nit__parser___nit__parser__ReduceAction337___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5303 val
* var_p
/* var p: Parser */;
5304 val
* var_node_list
/* var node_list: nullable Object */;
5305 val
* var
/* : nullable Object */;
5306 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
5307 val
* var1
/* : nullable Object */;
5308 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
5309 val
* var2
/* : nullable Object */;
5310 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5311 val
* var3
/* : nullable Object */;
5312 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5313 val
* var4
/* : nullable Object */;
5314 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5315 val
* var5
/* : nullable Object */;
5316 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5317 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
5318 short int var6
/* : Bool */;
5321 val
* var_tidnode3
/* var tidnode3: nullable Object */;
5322 short int var7
/* : Bool */;
5325 val
* var10
/* : Array[Object] */;
5326 val
* var_listnode5
/* var listnode5: Array[Object] */;
5327 val
* var11
/* : AListExprs */;
5328 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
5329 val
* var12
/* : ACallExpr */;
5330 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
5331 long var13
/* : Int */;
5332 long var14
/* : Int */;
5334 var_node_list
= ((val
*)NULL
);
5336 var
= nit___nit__Parser___pop(var_p
);
5338 var_nodearraylist6
= var
;
5340 var1
= nit___nit__Parser___pop(var_p
);
5342 var_nodearraylist5
= var1
;
5344 var2
= nit___nit__Parser___pop(var_p
);
5346 var_nodearraylist4
= var2
;
5348 var3
= nit___nit__Parser___pop(var_p
);
5350 var_nodearraylist3
= var3
;
5352 var4
= nit___nit__Parser___pop(var_p
);
5354 var_nodearraylist2
= var4
;
5356 var5
= nit___nit__Parser___pop(var_p
);
5358 var_nodearraylist1
= var5
;
5359 var_pexprnode2
= var_nodearraylist1
;
5360 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
5361 cltype
= type_nullable__nit__AExpr
.color
;
5362 idtype
= type_nullable__nit__AExpr
.id
;
5363 if(var_pexprnode2
== NULL
) {
5366 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
5369 var6
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
5372 if (unlikely(!var6
)) {
5373 PRINT_ERROR("Runtime error: %s", "Assert failed");
5374 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8562);
5377 var_tidnode3
= var_nodearraylist6
;
5378 /* <var_tidnode3:nullable Object> isa nullable TId */
5379 cltype8
= type_nullable__nit__TId
.color
;
5380 idtype9
= type_nullable__nit__TId
.id
;
5381 if(var_tidnode3
== NULL
) {
5384 if(cltype8
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
5387 var7
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype8
] == idtype9
;
5390 if (unlikely(!var7
)) {
5391 PRINT_ERROR("Runtime error: %s", "Assert failed");
5392 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8564);
5395 var10
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5397 standard___standard__Array___standard__kernel__Object__init(var10
); /* Direct call array#Array#init on <var10:Array[Object]>*/
5399 var_listnode5
= var10
;
5400 var11
= NEW_nit__AListExprs(&type_nit__AListExprs
);
5402 nit__parser_prod___AListExprs___init_alistexprs(var11
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var11:AListExprs>*/
5404 var_pexprsnode4
= var11
;
5405 var12
= NEW_nit__ACallExpr(&type_nit__ACallExpr
);
5407 nit__parser_prod___ACallExpr___init_acallexpr(var12
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var12:ACallExpr>*/
5409 var_pexprnode1
= var12
;
5410 var_node_list
= var_pexprnode1
;
5411 var13
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction337> */
5413 var14
= nit___nit__Parser___go_to(var_p
, var13
);
5416 nit___nit__Parser___push(var_p
, var14
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5420 /* method parser#ReduceAction341#action for (self: ReduceAction341, Parser) */
5421 void nit__parser___nit__parser__ReduceAction341___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5422 val
* var_p
/* var p: Parser */;
5423 val
* var_node_list
/* var node_list: nullable Object */;
5424 val
* var
/* : nullable Object */;
5425 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5426 val
* var1
/* : AImplicitSelfExpr */;
5427 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
5428 val
* var_tidnode3
/* var tidnode3: nullable Object */;
5429 short int var2
/* : Bool */;
5432 val
* var3
/* : Array[Object] */;
5433 val
* var_listnode5
/* var listnode5: Array[Object] */;
5434 val
* var4
/* : AListExprs */;
5435 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
5436 val
* var5
/* : ACallExpr */;
5437 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
5438 long var6
/* : Int */;
5439 long var7
/* : Int */;
5441 var_node_list
= ((val
*)NULL
);
5443 var
= nit___nit__Parser___pop(var_p
);
5445 var_nodearraylist1
= var
;
5446 var1
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
5448 nit__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var1
); /* Direct call parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr on <var1:AImplicitSelfExpr>*/
5450 var_pexprnode2
= var1
;
5451 var_tidnode3
= var_nodearraylist1
;
5452 /* <var_tidnode3:nullable Object> isa nullable TId */
5453 cltype
= type_nullable__nit__TId
.color
;
5454 idtype
= type_nullable__nit__TId
.id
;
5455 if(var_tidnode3
== NULL
) {
5458 if(cltype
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
5461 var2
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype
] == idtype
;
5464 if (unlikely(!var2
)) {
5465 PRINT_ERROR("Runtime error: %s", "Assert failed");
5466 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8586);
5469 var3
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5471 standard___standard__Array___standard__kernel__Object__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
5473 var_listnode5
= var3
;
5474 var4
= NEW_nit__AListExprs(&type_nit__AListExprs
);
5476 nit__parser_prod___AListExprs___init_alistexprs(var4
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var4:AListExprs>*/
5478 var_pexprsnode4
= var4
;
5479 var5
= NEW_nit__ACallExpr(&type_nit__ACallExpr
);
5481 nit__parser_prod___ACallExpr___init_acallexpr(var5
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var5:ACallExpr>*/
5483 var_pexprnode1
= var5
;
5484 var_node_list
= var_pexprnode1
;
5485 var6
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction341> */
5487 var7
= nit___nit__Parser___go_to(var_p
, var6
);
5490 nit___nit__Parser___push(var_p
, var7
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5494 /* method parser#ReduceAction343#action for (self: ReduceAction343, Parser) */
5495 void nit__parser___nit__parser__ReduceAction343___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5496 val
* var_p
/* var p: Parser */;
5497 val
* var_node_list
/* var node_list: nullable Object */;
5498 val
* var
/* : nullable Object */;
5499 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5500 val
* var1
/* : nullable Object */;
5501 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5502 val
* var2
/* : AImplicitSelfExpr */;
5503 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
5504 val
* var_tidnode3
/* var tidnode3: nullable Object */;
5505 short int var3
/* : Bool */;
5508 val
* var4
/* : Array[Object] */;
5509 val
* var_listnode5
/* var listnode5: Array[Object] */;
5510 val
* var5
/* : AListExprs */;
5511 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
5512 val
* var6
/* : ACallExpr */;
5513 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
5514 long var7
/* : Int */;
5515 long var8
/* : Int */;
5517 var_node_list
= ((val
*)NULL
);
5519 var
= nit___nit__Parser___pop(var_p
);
5521 var_nodearraylist2
= var
;
5523 var1
= nit___nit__Parser___pop(var_p
);
5525 var_nodearraylist1
= var1
;
5526 var2
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
5528 nit__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var2
); /* Direct call parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr on <var2:AImplicitSelfExpr>*/
5530 var_pexprnode2
= var2
;
5531 var_tidnode3
= var_nodearraylist2
;
5532 /* <var_tidnode3:nullable Object> isa nullable TId */
5533 cltype
= type_nullable__nit__TId
.color
;
5534 idtype
= type_nullable__nit__TId
.id
;
5535 if(var_tidnode3
== NULL
) {
5538 if(cltype
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
5541 var3
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype
] == idtype
;
5544 if (unlikely(!var3
)) {
5545 PRINT_ERROR("Runtime error: %s", "Assert failed");
5546 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8609);
5549 var4
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5551 standard___standard__Array___standard__kernel__Object__init(var4
); /* Direct call array#Array#init on <var4:Array[Object]>*/
5553 var_listnode5
= var4
;
5554 var5
= NEW_nit__AListExprs(&type_nit__AListExprs
);
5556 nit__parser_prod___AListExprs___init_alistexprs(var5
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var5:AListExprs>*/
5558 var_pexprsnode4
= var5
;
5559 var6
= NEW_nit__ACallExpr(&type_nit__ACallExpr
);
5561 nit__parser_prod___ACallExpr___init_acallexpr(var6
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var6:ACallExpr>*/
5563 var_pexprnode1
= var6
;
5564 var_node_list
= var_pexprnode1
;
5565 var7
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction343> */
5567 var8
= nit___nit__Parser___go_to(var_p
, var7
);
5570 nit___nit__Parser___push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5574 /* method parser#ReduceAction345#action for (self: ReduceAction345, Parser) */
5575 void nit__parser___nit__parser__ReduceAction345___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5576 val
* var_p
/* var p: Parser */;
5577 val
* var_node_list
/* var node_list: nullable Object */;
5578 val
* var
/* : nullable Object */;
5579 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5580 val
* var1
/* : nullable Object */;
5581 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5582 val
* var2
/* : nullable Object */;
5583 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5584 val
* var3
/* : AImplicitSelfExpr */;
5585 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
5586 val
* var_tidnode3
/* var tidnode3: nullable Object */;
5587 short int var4
/* : Bool */;
5590 val
* var5
/* : Array[Object] */;
5591 val
* var_listnode5
/* var listnode5: Array[Object] */;
5592 val
* var6
/* : AListExprs */;
5593 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
5594 val
* var7
/* : ACallExpr */;
5595 val
* var_pexprnode1
/* var pexprnode1: nullable ACallExpr */;
5596 long var8
/* : Int */;
5597 long var9
/* : Int */;
5599 var_node_list
= ((val
*)NULL
);
5601 var
= nit___nit__Parser___pop(var_p
);
5603 var_nodearraylist3
= var
;
5605 var1
= nit___nit__Parser___pop(var_p
);
5607 var_nodearraylist2
= var1
;
5609 var2
= nit___nit__Parser___pop(var_p
);
5611 var_nodearraylist1
= var2
;
5612 var3
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
5614 nit__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var3
); /* Direct call parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr on <var3:AImplicitSelfExpr>*/
5616 var_pexprnode2
= var3
;
5617 var_tidnode3
= var_nodearraylist3
;
5618 /* <var_tidnode3:nullable Object> isa nullable TId */
5619 cltype
= type_nullable__nit__TId
.color
;
5620 idtype
= type_nullable__nit__TId
.id
;
5621 if(var_tidnode3
== NULL
) {
5624 if(cltype
>= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->table_size
) {
5627 var4
= (((long)var_tidnode3
&3)?type_info
[((long)var_tidnode3
&3)]:var_tidnode3
->type
)->type_table
[cltype
] == idtype
;
5630 if (unlikely(!var4
)) {
5631 PRINT_ERROR("Runtime error: %s", "Assert failed");
5632 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8633);
5635 var5
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5637 standard___standard__Array___standard__kernel__Object__init(var5
); /* Direct call array#Array#init on <var5:Array[Object]>*/
5639 var_listnode5
= var5
;
5640 var6
= NEW_nit__AListExprs(&type_nit__AListExprs
);
5642 nit__parser_prod___AListExprs___init_alistexprs(var6
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var6:AListExprs>*/
5644 var_pexprsnode4
= var6
;
5645 var7
= NEW_nit__ACallExpr(&type_nit__ACallExpr
);
5647 nit__parser_prod___ACallExpr___init_acallexpr(var7
, var_pexprnode2
, var_tidnode3
, var_pexprsnode4
); /* Direct call parser_prod#ACallExpr#init_acallexpr on <var7:ACallExpr>*/
5649 var_pexprnode1
= var7
;
5650 var_node_list
= var_pexprnode1
;
5651 var8
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction345> */
5653 var9
= nit___nit__Parser___go_to(var_p
, var8
);
5656 nit___nit__Parser___push(var_p
, var9
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5660 /* method parser#ReduceAction349#action for (self: ReduceAction349, Parser) */
5661 void nit__parser___nit__parser__ReduceAction349___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5662 val
* var_p
/* var p: Parser */;
5663 val
* var_node_list
/* var node_list: nullable Object */;
5664 val
* var
/* : nullable Object */;
5665 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5666 val
* var1
/* : nullable Object */;
5667 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5668 val
* var_pqualifiednode2
/* var pqualifiednode2: nullable Object */;
5669 short int var2
/* : Bool */;
5672 val
* var_tkwsupernode3
/* var tkwsupernode3: nullable Object */;
5673 short int var3
/* : Bool */;
5676 val
* var6
/* : Array[Object] */;
5677 val
* var_listnode5
/* var listnode5: Array[Object] */;
5678 val
* var7
/* : AListExprs */;
5679 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
5680 val
* var8
/* : ASuperExpr */;
5681 val
* var_pexprnode1
/* var pexprnode1: nullable ASuperExpr */;
5682 long var9
/* : Int */;
5683 long var10
/* : Int */;
5685 var_node_list
= ((val
*)NULL
);
5687 var
= nit___nit__Parser___pop(var_p
);
5689 var_nodearraylist2
= var
;
5691 var1
= nit___nit__Parser___pop(var_p
);
5693 var_nodearraylist1
= var1
;
5694 var_pqualifiednode2
= var_nodearraylist1
;
5695 /* <var_pqualifiednode2:nullable Object> isa nullable AQualified */
5696 cltype
= type_nullable__nit__AQualified
.color
;
5697 idtype
= type_nullable__nit__AQualified
.id
;
5698 if(var_pqualifiednode2
== NULL
) {
5701 if(cltype
>= (((long)var_pqualifiednode2
&3)?type_info
[((long)var_pqualifiednode2
&3)]:var_pqualifiednode2
->type
)->table_size
) {
5704 var2
= (((long)var_pqualifiednode2
&3)?type_info
[((long)var_pqualifiednode2
&3)]:var_pqualifiednode2
->type
)->type_table
[cltype
] == idtype
;
5707 if (unlikely(!var2
)) {
5708 PRINT_ERROR("Runtime error: %s", "Assert failed");
5709 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8655);
5712 var_tkwsupernode3
= var_nodearraylist2
;
5713 /* <var_tkwsupernode3:nullable Object> isa nullable TKwsuper */
5714 cltype4
= type_nullable__nit__TKwsuper
.color
;
5715 idtype5
= type_nullable__nit__TKwsuper
.id
;
5716 if(var_tkwsupernode3
== NULL
) {
5719 if(cltype4
>= (((long)var_tkwsupernode3
&3)?type_info
[((long)var_tkwsupernode3
&3)]:var_tkwsupernode3
->type
)->table_size
) {
5722 var3
= (((long)var_tkwsupernode3
&3)?type_info
[((long)var_tkwsupernode3
&3)]:var_tkwsupernode3
->type
)->type_table
[cltype4
] == idtype5
;
5725 if (unlikely(!var3
)) {
5726 PRINT_ERROR("Runtime error: %s", "Assert failed");
5727 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8657);
5730 var6
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5732 standard___standard__Array___standard__kernel__Object__init(var6
); /* Direct call array#Array#init on <var6:Array[Object]>*/
5734 var_listnode5
= var6
;
5735 var7
= NEW_nit__AListExprs(&type_nit__AListExprs
);
5737 nit__parser_prod___AListExprs___init_alistexprs(var7
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var7:AListExprs>*/
5739 var_pexprsnode4
= var7
;
5740 var8
= NEW_nit__ASuperExpr(&type_nit__ASuperExpr
);
5742 nit__parser_prod___ASuperExpr___init_asuperexpr(var8
, var_pqualifiednode2
, var_tkwsupernode3
, var_pexprsnode4
); /* Direct call parser_prod#ASuperExpr#init_asuperexpr on <var8:ASuperExpr>*/
5744 var_pexprnode1
= var8
;
5745 var_node_list
= var_pexprnode1
;
5746 var9
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction349> */
5748 var10
= nit___nit__Parser___go_to(var_p
, var9
);
5751 nit___nit__Parser___push(var_p
, var10
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5755 /* method parser#ReduceAction351#action for (self: ReduceAction351, Parser) */
5756 void nit__parser___nit__parser__ReduceAction351___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5757 val
* var_p
/* var p: Parser */;
5758 val
* var_node_list
/* var node_list: nullable Object */;
5759 val
* var
/* : nullable Object */;
5760 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
5761 val
* var1
/* : nullable Object */;
5762 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
5763 val
* var2
/* : nullable Object */;
5764 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5765 val
* var3
/* : nullable Object */;
5766 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5767 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
5768 short int var4
/* : Bool */;
5771 val
* var_tkwinitnode3
/* var tkwinitnode3: nullable Object */;
5772 short int var5
/* : Bool */;
5775 val
* var8
/* : Array[Object] */;
5776 val
* var_listnode5
/* var listnode5: Array[Object] */;
5777 val
* var9
/* : AListExprs */;
5778 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
5779 val
* var10
/* : AInitExpr */;
5780 val
* var_pexprnode1
/* var pexprnode1: nullable AInitExpr */;
5781 long var11
/* : Int */;
5782 long var12
/* : Int */;
5784 var_node_list
= ((val
*)NULL
);
5786 var
= nit___nit__Parser___pop(var_p
);
5788 var_nodearraylist4
= var
;
5790 var1
= nit___nit__Parser___pop(var_p
);
5792 var_nodearraylist3
= var1
;
5794 var2
= nit___nit__Parser___pop(var_p
);
5796 var_nodearraylist2
= var2
;
5798 var3
= nit___nit__Parser___pop(var_p
);
5800 var_nodearraylist1
= var3
;
5801 var_pexprnode2
= var_nodearraylist1
;
5802 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
5803 cltype
= type_nullable__nit__AExpr
.color
;
5804 idtype
= type_nullable__nit__AExpr
.id
;
5805 if(var_pexprnode2
== NULL
) {
5808 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
5811 var4
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
5814 if (unlikely(!var4
)) {
5815 PRINT_ERROR("Runtime error: %s", "Assert failed");
5816 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8681);
5819 var_tkwinitnode3
= var_nodearraylist4
;
5820 /* <var_tkwinitnode3:nullable Object> isa nullable TKwinit */
5821 cltype6
= type_nullable__nit__TKwinit
.color
;
5822 idtype7
= type_nullable__nit__TKwinit
.id
;
5823 if(var_tkwinitnode3
== NULL
) {
5826 if(cltype6
>= (((long)var_tkwinitnode3
&3)?type_info
[((long)var_tkwinitnode3
&3)]:var_tkwinitnode3
->type
)->table_size
) {
5829 var5
= (((long)var_tkwinitnode3
&3)?type_info
[((long)var_tkwinitnode3
&3)]:var_tkwinitnode3
->type
)->type_table
[cltype6
] == idtype7
;
5832 if (unlikely(!var5
)) {
5833 PRINT_ERROR("Runtime error: %s", "Assert failed");
5834 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8683);
5837 var8
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5839 standard___standard__Array___standard__kernel__Object__init(var8
); /* Direct call array#Array#init on <var8:Array[Object]>*/
5841 var_listnode5
= var8
;
5842 var9
= NEW_nit__AListExprs(&type_nit__AListExprs
);
5844 nit__parser_prod___AListExprs___init_alistexprs(var9
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var9:AListExprs>*/
5846 var_pexprsnode4
= var9
;
5847 var10
= NEW_nit__AInitExpr(&type_nit__AInitExpr
);
5849 nit__parser_prod___AInitExpr___init_ainitexpr(var10
, var_pexprnode2
, var_tkwinitnode3
, var_pexprsnode4
); /* Direct call parser_prod#AInitExpr#init_ainitexpr on <var10:AInitExpr>*/
5851 var_pexprnode1
= var10
;
5852 var_node_list
= var_pexprnode1
;
5853 var11
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction351> */
5855 var12
= nit___nit__Parser___go_to(var_p
, var11
);
5858 nit___nit__Parser___push(var_p
, var12
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5862 /* method parser#ReduceAction353#action for (self: ReduceAction353, Parser) */
5863 void nit__parser___nit__parser__ReduceAction353___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5864 val
* var_p
/* var p: Parser */;
5865 val
* var_node_list
/* var node_list: nullable Object */;
5866 val
* var
/* : nullable Object */;
5867 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5868 val
* var1
/* : AImplicitSelfExpr */;
5869 val
* var_pexprnode2
/* var pexprnode2: nullable AImplicitSelfExpr */;
5870 val
* var_tkwinitnode3
/* var tkwinitnode3: nullable Object */;
5871 short int var2
/* : Bool */;
5874 val
* var3
/* : Array[Object] */;
5875 val
* var_listnode5
/* var listnode5: Array[Object] */;
5876 val
* var4
/* : AListExprs */;
5877 val
* var_pexprsnode4
/* var pexprsnode4: nullable AListExprs */;
5878 val
* var5
/* : AInitExpr */;
5879 val
* var_pexprnode1
/* var pexprnode1: nullable AInitExpr */;
5880 long var6
/* : Int */;
5881 long var7
/* : Int */;
5883 var_node_list
= ((val
*)NULL
);
5885 var
= nit___nit__Parser___pop(var_p
);
5887 var_nodearraylist1
= var
;
5888 var1
= NEW_nit__AImplicitSelfExpr(&type_nit__AImplicitSelfExpr
);
5890 nit__parser_prod___AImplicitSelfExpr___init_aimplicitselfexpr(var1
); /* Direct call parser_prod#AImplicitSelfExpr#init_aimplicitselfexpr on <var1:AImplicitSelfExpr>*/
5892 var_pexprnode2
= var1
;
5893 var_tkwinitnode3
= var_nodearraylist1
;
5894 /* <var_tkwinitnode3:nullable Object> isa nullable TKwinit */
5895 cltype
= type_nullable__nit__TKwinit
.color
;
5896 idtype
= type_nullable__nit__TKwinit
.id
;
5897 if(var_tkwinitnode3
== NULL
) {
5900 if(cltype
>= (((long)var_tkwinitnode3
&3)?type_info
[((long)var_tkwinitnode3
&3)]:var_tkwinitnode3
->type
)->table_size
) {
5903 var2
= (((long)var_tkwinitnode3
&3)?type_info
[((long)var_tkwinitnode3
&3)]:var_tkwinitnode3
->type
)->type_table
[cltype
] == idtype
;
5906 if (unlikely(!var2
)) {
5907 PRINT_ERROR("Runtime error: %s", "Assert failed");
5908 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8705);
5911 var3
= NEW_standard__Array(&type_standard__Array__standard__Object
);
5913 standard___standard__Array___standard__kernel__Object__init(var3
); /* Direct call array#Array#init on <var3:Array[Object]>*/
5915 var_listnode5
= var3
;
5916 var4
= NEW_nit__AListExprs(&type_nit__AListExprs
);
5918 nit__parser_prod___AListExprs___init_alistexprs(var4
, var_listnode5
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var4:AListExprs>*/
5920 var_pexprsnode4
= var4
;
5921 var5
= NEW_nit__AInitExpr(&type_nit__AInitExpr
);
5923 nit__parser_prod___AInitExpr___init_ainitexpr(var5
, var_pexprnode2
, var_tkwinitnode3
, var_pexprsnode4
); /* Direct call parser_prod#AInitExpr#init_ainitexpr on <var5:AInitExpr>*/
5925 var_pexprnode1
= var5
;
5926 var_node_list
= var_pexprnode1
;
5927 var6
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction353> */
5929 var7
= nit___nit__Parser___go_to(var_p
, var6
);
5932 nit___nit__Parser___push(var_p
, var7
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
5936 /* method parser#ReduceAction354#action for (self: ReduceAction354, Parser) */
5937 void nit__parser___nit__parser__ReduceAction354___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
5938 val
* var_p
/* var p: Parser */;
5939 val
* var_node_list
/* var node_list: nullable Object */;
5940 val
* var
/* : nullable Object */;
5941 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
5942 val
* var1
/* : nullable Object */;
5943 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
5944 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
5945 short int var2
/* : Bool */;
5948 val
* var_pexprsnode3
/* var pexprsnode3: nullable Object */;
5949 short int var3
/* : Bool */;
5952 val
* var6
/* : ABraExpr */;
5953 val
* var_pexprnode1
/* var pexprnode1: nullable ABraExpr */;
5954 long var7
/* : Int */;
5955 long var8
/* : Int */;
5957 var_node_list
= ((val
*)NULL
);
5959 var
= nit___nit__Parser___pop(var_p
);
5961 var_nodearraylist2
= var
;
5963 var1
= nit___nit__Parser___pop(var_p
);
5965 var_nodearraylist1
= var1
;
5966 var_pexprnode2
= var_nodearraylist1
;
5967 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
5968 cltype
= type_nullable__nit__AExpr
.color
;
5969 idtype
= type_nullable__nit__AExpr
.id
;
5970 if(var_pexprnode2
== NULL
) {
5973 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
5976 var2
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
5979 if (unlikely(!var2
)) {
5980 PRINT_ERROR("Runtime error: %s", "Assert failed");
5981 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8727);
5984 var_pexprsnode3
= var_nodearraylist2
;
5985 /* <var_pexprsnode3:nullable Object> isa nullable AExprs */
5986 cltype4
= type_nullable__nit__AExprs
.color
;
5987 idtype5
= type_nullable__nit__AExprs
.id
;
5988 if(var_pexprsnode3
== NULL
) {
5991 if(cltype4
>= (((long)var_pexprsnode3
&3)?type_info
[((long)var_pexprsnode3
&3)]:var_pexprsnode3
->type
)->table_size
) {
5994 var3
= (((long)var_pexprsnode3
&3)?type_info
[((long)var_pexprsnode3
&3)]:var_pexprsnode3
->type
)->type_table
[cltype4
] == idtype5
;
5997 if (unlikely(!var3
)) {
5998 PRINT_ERROR("Runtime error: %s", "Assert failed");
5999 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8729);
6002 var6
= NEW_nit__ABraExpr(&type_nit__ABraExpr
);
6004 nit__parser_prod___ABraExpr___init_abraexpr(var6
, var_pexprnode2
, var_pexprsnode3
); /* Direct call parser_prod#ABraExpr#init_abraexpr on <var6:ABraExpr>*/
6006 var_pexprnode1
= var6
;
6007 var_node_list
= var_pexprnode1
;
6008 var7
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction354> */
6010 var8
= nit___nit__Parser___go_to(var_p
, var7
);
6013 nit___nit__Parser___push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6017 /* method parser#ReduceAction355#action for (self: ReduceAction355, Parser) */
6018 void nit__parser___nit__parser__ReduceAction355___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6019 val
* var_p
/* var p: Parser */;
6020 val
* var_node_list
/* var node_list: nullable Object */;
6021 val
* var
/* : nullable Object */;
6022 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
6023 val
* var1
/* : nullable Object */;
6024 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
6025 val
* var2
/* : nullable Object */;
6026 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
6027 val
* var3
/* : nullable Object */;
6028 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6029 val
* var4
/* : nullable Object */;
6030 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6031 val
* var5
/* : nullable Object */;
6032 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6033 val
* var6
/* : nullable Object */;
6034 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6035 val
* var_tkwnewnode2
/* var tkwnewnode2: nullable Object */;
6036 short int var7
/* : Bool */;
6039 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
6040 short int var8
/* : Bool */;
6043 val
* var_tidnode4
/* var tidnode4: nullable Object */;
6044 short int var11
/* : Bool */;
6047 val
* var_pexprsnode5
/* var pexprsnode5: nullable Object */;
6048 short int var14
/* : Bool */;
6051 val
* var17
/* : ANewExpr */;
6052 val
* var_pexprnode1
/* var pexprnode1: nullable ANewExpr */;
6053 long var18
/* : Int */;
6054 long var19
/* : Int */;
6056 var_node_list
= ((val
*)NULL
);
6058 var
= nit___nit__Parser___pop(var_p
);
6060 var_nodearraylist7
= var
;
6062 var1
= nit___nit__Parser___pop(var_p
);
6064 var_nodearraylist6
= var1
;
6066 var2
= nit___nit__Parser___pop(var_p
);
6068 var_nodearraylist5
= var2
;
6070 var3
= nit___nit__Parser___pop(var_p
);
6072 var_nodearraylist4
= var3
;
6074 var4
= nit___nit__Parser___pop(var_p
);
6076 var_nodearraylist3
= var4
;
6078 var5
= nit___nit__Parser___pop(var_p
);
6080 var_nodearraylist2
= var5
;
6082 var6
= nit___nit__Parser___pop(var_p
);
6084 var_nodearraylist1
= var6
;
6085 var_tkwnewnode2
= var_nodearraylist1
;
6086 /* <var_tkwnewnode2:nullable Object> isa nullable TKwnew */
6087 cltype
= type_nullable__nit__TKwnew
.color
;
6088 idtype
= type_nullable__nit__TKwnew
.id
;
6089 if(var_tkwnewnode2
== NULL
) {
6092 if(cltype
>= (((long)var_tkwnewnode2
&3)?type_info
[((long)var_tkwnewnode2
&3)]:var_tkwnewnode2
->type
)->table_size
) {
6095 var7
= (((long)var_tkwnewnode2
&3)?type_info
[((long)var_tkwnewnode2
&3)]:var_tkwnewnode2
->type
)->type_table
[cltype
] == idtype
;
6098 if (unlikely(!var7
)) {
6099 PRINT_ERROR("Runtime error: %s", "Assert failed");
6100 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8751);
6103 var_ptypenode3
= var_nodearraylist3
;
6104 /* <var_ptypenode3:nullable Object> isa nullable AType */
6105 cltype9
= type_nullable__nit__AType
.color
;
6106 idtype10
= type_nullable__nit__AType
.id
;
6107 if(var_ptypenode3
== NULL
) {
6110 if(cltype9
>= (((long)var_ptypenode3
&3)?type_info
[((long)var_ptypenode3
&3)]:var_ptypenode3
->type
)->table_size
) {
6113 var8
= (((long)var_ptypenode3
&3)?type_info
[((long)var_ptypenode3
&3)]:var_ptypenode3
->type
)->type_table
[cltype9
] == idtype10
;
6116 if (unlikely(!var8
)) {
6117 PRINT_ERROR("Runtime error: %s", "Assert failed");
6118 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8753);
6121 var_tidnode4
= var_nodearraylist6
;
6122 /* <var_tidnode4:nullable Object> isa nullable TId */
6123 cltype12
= type_nullable__nit__TId
.color
;
6124 idtype13
= type_nullable__nit__TId
.id
;
6125 if(var_tidnode4
== NULL
) {
6128 if(cltype12
>= (((long)var_tidnode4
&3)?type_info
[((long)var_tidnode4
&3)]:var_tidnode4
->type
)->table_size
) {
6131 var11
= (((long)var_tidnode4
&3)?type_info
[((long)var_tidnode4
&3)]:var_tidnode4
->type
)->type_table
[cltype12
] == idtype13
;
6134 if (unlikely(!var11
)) {
6135 PRINT_ERROR("Runtime error: %s", "Assert failed");
6136 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8755);
6139 var_pexprsnode5
= var_nodearraylist7
;
6140 /* <var_pexprsnode5:nullable Object> isa nullable AExprs */
6141 cltype15
= type_nullable__nit__AExprs
.color
;
6142 idtype16
= type_nullable__nit__AExprs
.id
;
6143 if(var_pexprsnode5
== NULL
) {
6146 if(cltype15
>= (((long)var_pexprsnode5
&3)?type_info
[((long)var_pexprsnode5
&3)]:var_pexprsnode5
->type
)->table_size
) {
6149 var14
= (((long)var_pexprsnode5
&3)?type_info
[((long)var_pexprsnode5
&3)]:var_pexprsnode5
->type
)->type_table
[cltype15
] == idtype16
;
6152 if (unlikely(!var14
)) {
6153 PRINT_ERROR("Runtime error: %s", "Assert failed");
6154 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8757);
6157 var17
= NEW_nit__ANewExpr(&type_nit__ANewExpr
);
6159 nit__parser_prod___ANewExpr___init_anewexpr(var17
, var_tkwnewnode2
, var_ptypenode3
, var_tidnode4
, var_pexprsnode5
); /* Direct call parser_prod#ANewExpr#init_anewexpr on <var17:ANewExpr>*/
6161 var_pexprnode1
= var17
;
6162 var_node_list
= var_pexprnode1
;
6163 var18
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction355> */
6165 var19
= nit___nit__Parser___go_to(var_p
, var18
);
6168 nit___nit__Parser___push(var_p
, var19
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6172 /* method parser#ReduceAction356#action for (self: ReduceAction356, Parser) */
6173 void nit__parser___nit__parser__ReduceAction356___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6174 val
* var_p
/* var p: Parser */;
6175 val
* var_node_list
/* var node_list: nullable Object */;
6176 val
* var
/* : nullable Object */;
6177 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
6178 val
* var1
/* : nullable Object */;
6179 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
6180 val
* var2
/* : nullable Object */;
6181 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6182 val
* var3
/* : nullable Object */;
6183 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6184 val
* var4
/* : nullable Object */;
6185 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6186 val
* var5
/* : nullable Object */;
6187 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6188 val
* var_tkwnewnode2
/* var tkwnewnode2: nullable Object */;
6189 short int var6
/* : Bool */;
6192 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
6193 short int var7
/* : Bool */;
6196 val
* var_tidnode4
/* var tidnode4: nullable Object */;
6197 short int var10
/* : Bool */;
6200 val
* var13
/* : Array[Object] */;
6201 val
* var_listnode6
/* var listnode6: Array[Object] */;
6202 val
* var14
/* : AListExprs */;
6203 val
* var_pexprsnode5
/* var pexprsnode5: nullable AListExprs */;
6204 val
* var15
/* : ANewExpr */;
6205 val
* var_pexprnode1
/* var pexprnode1: nullable ANewExpr */;
6206 long var16
/* : Int */;
6207 long var17
/* : Int */;
6209 var_node_list
= ((val
*)NULL
);
6211 var
= nit___nit__Parser___pop(var_p
);
6213 var_nodearraylist6
= var
;
6215 var1
= nit___nit__Parser___pop(var_p
);
6217 var_nodearraylist5
= var1
;
6219 var2
= nit___nit__Parser___pop(var_p
);
6221 var_nodearraylist4
= var2
;
6223 var3
= nit___nit__Parser___pop(var_p
);
6225 var_nodearraylist3
= var3
;
6227 var4
= nit___nit__Parser___pop(var_p
);
6229 var_nodearraylist2
= var4
;
6231 var5
= nit___nit__Parser___pop(var_p
);
6233 var_nodearraylist1
= var5
;
6234 var_tkwnewnode2
= var_nodearraylist1
;
6235 /* <var_tkwnewnode2:nullable Object> isa nullable TKwnew */
6236 cltype
= type_nullable__nit__TKwnew
.color
;
6237 idtype
= type_nullable__nit__TKwnew
.id
;
6238 if(var_tkwnewnode2
== NULL
) {
6241 if(cltype
>= (((long)var_tkwnewnode2
&3)?type_info
[((long)var_tkwnewnode2
&3)]:var_tkwnewnode2
->type
)->table_size
) {
6244 var6
= (((long)var_tkwnewnode2
&3)?type_info
[((long)var_tkwnewnode2
&3)]:var_tkwnewnode2
->type
)->type_table
[cltype
] == idtype
;
6247 if (unlikely(!var6
)) {
6248 PRINT_ERROR("Runtime error: %s", "Assert failed");
6249 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8780);
6252 var_ptypenode3
= var_nodearraylist3
;
6253 /* <var_ptypenode3:nullable Object> isa nullable AType */
6254 cltype8
= type_nullable__nit__AType
.color
;
6255 idtype9
= type_nullable__nit__AType
.id
;
6256 if(var_ptypenode3
== NULL
) {
6259 if(cltype8
>= (((long)var_ptypenode3
&3)?type_info
[((long)var_ptypenode3
&3)]:var_ptypenode3
->type
)->table_size
) {
6262 var7
= (((long)var_ptypenode3
&3)?type_info
[((long)var_ptypenode3
&3)]:var_ptypenode3
->type
)->type_table
[cltype8
] == idtype9
;
6265 if (unlikely(!var7
)) {
6266 PRINT_ERROR("Runtime error: %s", "Assert failed");
6267 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8782);
6270 var_tidnode4
= var_nodearraylist6
;
6271 /* <var_tidnode4:nullable Object> isa nullable TId */
6272 cltype11
= type_nullable__nit__TId
.color
;
6273 idtype12
= type_nullable__nit__TId
.id
;
6274 if(var_tidnode4
== NULL
) {
6277 if(cltype11
>= (((long)var_tidnode4
&3)?type_info
[((long)var_tidnode4
&3)]:var_tidnode4
->type
)->table_size
) {
6280 var10
= (((long)var_tidnode4
&3)?type_info
[((long)var_tidnode4
&3)]:var_tidnode4
->type
)->type_table
[cltype11
] == idtype12
;
6283 if (unlikely(!var10
)) {
6284 PRINT_ERROR("Runtime error: %s", "Assert failed");
6285 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8784);
6288 var13
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6290 standard___standard__Array___standard__kernel__Object__init(var13
); /* Direct call array#Array#init on <var13:Array[Object]>*/
6292 var_listnode6
= var13
;
6293 var14
= NEW_nit__AListExprs(&type_nit__AListExprs
);
6295 nit__parser_prod___AListExprs___init_alistexprs(var14
, var_listnode6
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var14:AListExprs>*/
6297 var_pexprsnode5
= var14
;
6298 var15
= NEW_nit__ANewExpr(&type_nit__ANewExpr
);
6300 nit__parser_prod___ANewExpr___init_anewexpr(var15
, var_tkwnewnode2
, var_ptypenode3
, var_tidnode4
, var_pexprsnode5
); /* Direct call parser_prod#ANewExpr#init_anewexpr on <var15:ANewExpr>*/
6302 var_pexprnode1
= var15
;
6303 var_node_list
= var_pexprnode1
;
6304 var16
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction356> */
6306 var17
= nit___nit__Parser___go_to(var_p
, var16
);
6309 nit___nit__Parser___push(var_p
, var17
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6313 /* method parser#ReduceAction357#action for (self: ReduceAction357, Parser) */
6314 void nit__parser___nit__parser__ReduceAction357___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6315 val
* var_p
/* var p: Parser */;
6316 val
* var_node_list
/* var node_list: nullable Object */;
6317 val
* var
/* : nullable Object */;
6318 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
6319 val
* var1
/* : nullable Object */;
6320 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
6321 val
* var2
/* : nullable Object */;
6322 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
6323 val
* var3
/* : nullable Object */;
6324 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
6325 val
* var4
/* : nullable Object */;
6326 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6327 val
* var5
/* : nullable Object */;
6328 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6329 val
* var6
/* : nullable Object */;
6330 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6331 val
* var7
/* : nullable Object */;
6332 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6333 val
* var_tkwnewnode2
/* var tkwnewnode2: nullable Object */;
6334 short int var8
/* : Bool */;
6337 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
6338 short int var9
/* : Bool */;
6341 val
* var_tidnode4
/* var tidnode4: nullable Object */;
6342 short int var12
/* : Bool */;
6345 val
* var_pexprsnode5
/* var pexprsnode5: nullable Object */;
6346 short int var15
/* : Bool */;
6349 val
* var18
/* : ANewExpr */;
6350 val
* var_pexprnode1
/* var pexprnode1: nullable ANewExpr */;
6351 long var19
/* : Int */;
6352 long var20
/* : Int */;
6354 var_node_list
= ((val
*)NULL
);
6356 var
= nit___nit__Parser___pop(var_p
);
6358 var_nodearraylist8
= var
;
6360 var1
= nit___nit__Parser___pop(var_p
);
6362 var_nodearraylist7
= var1
;
6364 var2
= nit___nit__Parser___pop(var_p
);
6366 var_nodearraylist6
= var2
;
6368 var3
= nit___nit__Parser___pop(var_p
);
6370 var_nodearraylist5
= var3
;
6372 var4
= nit___nit__Parser___pop(var_p
);
6374 var_nodearraylist4
= var4
;
6376 var5
= nit___nit__Parser___pop(var_p
);
6378 var_nodearraylist3
= var5
;
6380 var6
= nit___nit__Parser___pop(var_p
);
6382 var_nodearraylist2
= var6
;
6384 var7
= nit___nit__Parser___pop(var_p
);
6386 var_nodearraylist1
= var7
;
6387 var_tkwnewnode2
= var_nodearraylist1
;
6388 /* <var_tkwnewnode2:nullable Object> isa nullable TKwnew */
6389 cltype
= type_nullable__nit__TKwnew
.color
;
6390 idtype
= type_nullable__nit__TKwnew
.id
;
6391 if(var_tkwnewnode2
== NULL
) {
6394 if(cltype
>= (((long)var_tkwnewnode2
&3)?type_info
[((long)var_tkwnewnode2
&3)]:var_tkwnewnode2
->type
)->table_size
) {
6397 var8
= (((long)var_tkwnewnode2
&3)?type_info
[((long)var_tkwnewnode2
&3)]:var_tkwnewnode2
->type
)->type_table
[cltype
] == idtype
;
6400 if (unlikely(!var8
)) {
6401 PRINT_ERROR("Runtime error: %s", "Assert failed");
6402 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8813);
6405 var_ptypenode3
= var_nodearraylist3
;
6406 /* <var_ptypenode3:nullable Object> isa nullable AType */
6407 cltype10
= type_nullable__nit__AType
.color
;
6408 idtype11
= type_nullable__nit__AType
.id
;
6409 if(var_ptypenode3
== NULL
) {
6412 if(cltype10
>= (((long)var_ptypenode3
&3)?type_info
[((long)var_ptypenode3
&3)]:var_ptypenode3
->type
)->table_size
) {
6415 var9
= (((long)var_ptypenode3
&3)?type_info
[((long)var_ptypenode3
&3)]:var_ptypenode3
->type
)->type_table
[cltype10
] == idtype11
;
6418 if (unlikely(!var9
)) {
6419 PRINT_ERROR("Runtime error: %s", "Assert failed");
6420 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8815);
6423 var_tidnode4
= var_nodearraylist7
;
6424 /* <var_tidnode4:nullable Object> isa nullable TId */
6425 cltype13
= type_nullable__nit__TId
.color
;
6426 idtype14
= type_nullable__nit__TId
.id
;
6427 if(var_tidnode4
== NULL
) {
6430 if(cltype13
>= (((long)var_tidnode4
&3)?type_info
[((long)var_tidnode4
&3)]:var_tidnode4
->type
)->table_size
) {
6433 var12
= (((long)var_tidnode4
&3)?type_info
[((long)var_tidnode4
&3)]:var_tidnode4
->type
)->type_table
[cltype13
] == idtype14
;
6436 if (unlikely(!var12
)) {
6437 PRINT_ERROR("Runtime error: %s", "Assert failed");
6438 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8817);
6441 var_pexprsnode5
= var_nodearraylist8
;
6442 /* <var_pexprsnode5:nullable Object> isa nullable AExprs */
6443 cltype16
= type_nullable__nit__AExprs
.color
;
6444 idtype17
= type_nullable__nit__AExprs
.id
;
6445 if(var_pexprsnode5
== NULL
) {
6448 if(cltype16
>= (((long)var_pexprsnode5
&3)?type_info
[((long)var_pexprsnode5
&3)]:var_pexprsnode5
->type
)->table_size
) {
6451 var15
= (((long)var_pexprsnode5
&3)?type_info
[((long)var_pexprsnode5
&3)]:var_pexprsnode5
->type
)->type_table
[cltype16
] == idtype17
;
6454 if (unlikely(!var15
)) {
6455 PRINT_ERROR("Runtime error: %s", "Assert failed");
6456 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8819);
6459 var18
= NEW_nit__ANewExpr(&type_nit__ANewExpr
);
6461 nit__parser_prod___ANewExpr___init_anewexpr(var18
, var_tkwnewnode2
, var_ptypenode3
, var_tidnode4
, var_pexprsnode5
); /* Direct call parser_prod#ANewExpr#init_anewexpr on <var18:ANewExpr>*/
6463 var_pexprnode1
= var18
;
6464 var_node_list
= var_pexprnode1
;
6465 var19
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction357> */
6467 var20
= nit___nit__Parser___go_to(var_p
, var19
);
6470 nit___nit__Parser___push(var_p
, var20
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6474 /* method parser#ReduceAction358#action for (self: ReduceAction358, Parser) */
6475 void nit__parser___nit__parser__ReduceAction358___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6476 val
* var_p
/* var p: Parser */;
6477 val
* var_node_list
/* var node_list: nullable Object */;
6478 val
* var
/* : nullable Object */;
6479 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
6480 val
* var1
/* : nullable Object */;
6481 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
6482 val
* var2
/* : nullable Object */;
6483 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
6484 val
* var3
/* : nullable Object */;
6485 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6486 val
* var4
/* : nullable Object */;
6487 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6488 val
* var5
/* : nullable Object */;
6489 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6490 val
* var6
/* : nullable Object */;
6491 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6492 val
* var_tkwnewnode2
/* var tkwnewnode2: nullable Object */;
6493 short int var7
/* : Bool */;
6496 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
6497 short int var8
/* : Bool */;
6500 val
* var_tidnode4
/* var tidnode4: nullable Object */;
6501 short int var11
/* : Bool */;
6504 val
* var14
/* : Array[Object] */;
6505 val
* var_listnode6
/* var listnode6: Array[Object] */;
6506 val
* var15
/* : AListExprs */;
6507 val
* var_pexprsnode5
/* var pexprsnode5: nullable AListExprs */;
6508 val
* var16
/* : ANewExpr */;
6509 val
* var_pexprnode1
/* var pexprnode1: nullable ANewExpr */;
6510 long var17
/* : Int */;
6511 long var18
/* : Int */;
6513 var_node_list
= ((val
*)NULL
);
6515 var
= nit___nit__Parser___pop(var_p
);
6517 var_nodearraylist7
= var
;
6519 var1
= nit___nit__Parser___pop(var_p
);
6521 var_nodearraylist6
= var1
;
6523 var2
= nit___nit__Parser___pop(var_p
);
6525 var_nodearraylist5
= var2
;
6527 var3
= nit___nit__Parser___pop(var_p
);
6529 var_nodearraylist4
= var3
;
6531 var4
= nit___nit__Parser___pop(var_p
);
6533 var_nodearraylist3
= var4
;
6535 var5
= nit___nit__Parser___pop(var_p
);
6537 var_nodearraylist2
= var5
;
6539 var6
= nit___nit__Parser___pop(var_p
);
6541 var_nodearraylist1
= var6
;
6542 var_tkwnewnode2
= var_nodearraylist1
;
6543 /* <var_tkwnewnode2:nullable Object> isa nullable TKwnew */
6544 cltype
= type_nullable__nit__TKwnew
.color
;
6545 idtype
= type_nullable__nit__TKwnew
.id
;
6546 if(var_tkwnewnode2
== NULL
) {
6549 if(cltype
>= (((long)var_tkwnewnode2
&3)?type_info
[((long)var_tkwnewnode2
&3)]:var_tkwnewnode2
->type
)->table_size
) {
6552 var7
= (((long)var_tkwnewnode2
&3)?type_info
[((long)var_tkwnewnode2
&3)]:var_tkwnewnode2
->type
)->type_table
[cltype
] == idtype
;
6555 if (unlikely(!var7
)) {
6556 PRINT_ERROR("Runtime error: %s", "Assert failed");
6557 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8843);
6560 var_ptypenode3
= var_nodearraylist3
;
6561 /* <var_ptypenode3:nullable Object> isa nullable AType */
6562 cltype9
= type_nullable__nit__AType
.color
;
6563 idtype10
= type_nullable__nit__AType
.id
;
6564 if(var_ptypenode3
== NULL
) {
6567 if(cltype9
>= (((long)var_ptypenode3
&3)?type_info
[((long)var_ptypenode3
&3)]:var_ptypenode3
->type
)->table_size
) {
6570 var8
= (((long)var_ptypenode3
&3)?type_info
[((long)var_ptypenode3
&3)]:var_ptypenode3
->type
)->type_table
[cltype9
] == idtype10
;
6573 if (unlikely(!var8
)) {
6574 PRINT_ERROR("Runtime error: %s", "Assert failed");
6575 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8845);
6578 var_tidnode4
= var_nodearraylist7
;
6579 /* <var_tidnode4:nullable Object> isa nullable TId */
6580 cltype12
= type_nullable__nit__TId
.color
;
6581 idtype13
= type_nullable__nit__TId
.id
;
6582 if(var_tidnode4
== NULL
) {
6585 if(cltype12
>= (((long)var_tidnode4
&3)?type_info
[((long)var_tidnode4
&3)]:var_tidnode4
->type
)->table_size
) {
6588 var11
= (((long)var_tidnode4
&3)?type_info
[((long)var_tidnode4
&3)]:var_tidnode4
->type
)->type_table
[cltype12
] == idtype13
;
6591 if (unlikely(!var11
)) {
6592 PRINT_ERROR("Runtime error: %s", "Assert failed");
6593 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8847);
6596 var14
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6598 standard___standard__Array___standard__kernel__Object__init(var14
); /* Direct call array#Array#init on <var14:Array[Object]>*/
6600 var_listnode6
= var14
;
6601 var15
= NEW_nit__AListExprs(&type_nit__AListExprs
);
6603 nit__parser_prod___AListExprs___init_alistexprs(var15
, var_listnode6
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var15:AListExprs>*/
6605 var_pexprsnode5
= var15
;
6606 var16
= NEW_nit__ANewExpr(&type_nit__ANewExpr
);
6608 nit__parser_prod___ANewExpr___init_anewexpr(var16
, var_tkwnewnode2
, var_ptypenode3
, var_tidnode4
, var_pexprsnode5
); /* Direct call parser_prod#ANewExpr#init_anewexpr on <var16:ANewExpr>*/
6610 var_pexprnode1
= var16
;
6611 var_node_list
= var_pexprnode1
;
6612 var17
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction358> */
6614 var18
= nit___nit__Parser___go_to(var_p
, var17
);
6617 nit___nit__Parser___push(var_p
, var18
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6621 /* method parser#ReduceAction359#action for (self: ReduceAction359, Parser) */
6622 void nit__parser___nit__parser__ReduceAction359___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6623 val
* var_p
/* var p: Parser */;
6624 val
* var_node_list
/* var node_list: nullable Object */;
6625 val
* var
/* : nullable Object */;
6626 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
6627 val
* var1
/* : nullable Object */;
6628 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
6629 val
* var2
/* : nullable Object */;
6630 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
6631 val
* var3
/* : nullable Object */;
6632 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
6633 val
* var4
/* : nullable Object */;
6634 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
6635 val
* var5
/* : nullable Object */;
6636 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6637 val
* var6
/* : nullable Object */;
6638 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6639 val
* var7
/* : nullable Object */;
6640 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6641 val
* var8
/* : nullable Object */;
6642 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6643 val
* var_tkwnewnode2
/* var tkwnewnode2: nullable Object */;
6644 short int var9
/* : Bool */;
6647 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
6648 short int var10
/* : Bool */;
6651 val
* var_tidnode4
/* var tidnode4: nullable Object */;
6652 short int var13
/* : Bool */;
6655 val
* var_pexprsnode5
/* var pexprsnode5: nullable Object */;
6656 short int var16
/* : Bool */;
6659 val
* var19
/* : ANewExpr */;
6660 val
* var_pexprnode1
/* var pexprnode1: nullable ANewExpr */;
6661 long var20
/* : Int */;
6662 long var21
/* : Int */;
6664 var_node_list
= ((val
*)NULL
);
6666 var
= nit___nit__Parser___pop(var_p
);
6668 var_nodearraylist9
= var
;
6670 var1
= nit___nit__Parser___pop(var_p
);
6672 var_nodearraylist8
= var1
;
6674 var2
= nit___nit__Parser___pop(var_p
);
6676 var_nodearraylist7
= var2
;
6678 var3
= nit___nit__Parser___pop(var_p
);
6680 var_nodearraylist6
= var3
;
6682 var4
= nit___nit__Parser___pop(var_p
);
6684 var_nodearraylist5
= var4
;
6686 var5
= nit___nit__Parser___pop(var_p
);
6688 var_nodearraylist4
= var5
;
6690 var6
= nit___nit__Parser___pop(var_p
);
6692 var_nodearraylist3
= var6
;
6694 var7
= nit___nit__Parser___pop(var_p
);
6696 var_nodearraylist2
= var7
;
6698 var8
= nit___nit__Parser___pop(var_p
);
6700 var_nodearraylist1
= var8
;
6701 var_tkwnewnode2
= var_nodearraylist1
;
6702 /* <var_tkwnewnode2:nullable Object> isa nullable TKwnew */
6703 cltype
= type_nullable__nit__TKwnew
.color
;
6704 idtype
= type_nullable__nit__TKwnew
.id
;
6705 if(var_tkwnewnode2
== NULL
) {
6708 if(cltype
>= (((long)var_tkwnewnode2
&3)?type_info
[((long)var_tkwnewnode2
&3)]:var_tkwnewnode2
->type
)->table_size
) {
6711 var9
= (((long)var_tkwnewnode2
&3)?type_info
[((long)var_tkwnewnode2
&3)]:var_tkwnewnode2
->type
)->type_table
[cltype
] == idtype
;
6714 if (unlikely(!var9
)) {
6715 PRINT_ERROR("Runtime error: %s", "Assert failed");
6716 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8877);
6719 var_ptypenode3
= var_nodearraylist3
;
6720 /* <var_ptypenode3:nullable Object> isa nullable AType */
6721 cltype11
= type_nullable__nit__AType
.color
;
6722 idtype12
= type_nullable__nit__AType
.id
;
6723 if(var_ptypenode3
== NULL
) {
6726 if(cltype11
>= (((long)var_ptypenode3
&3)?type_info
[((long)var_ptypenode3
&3)]:var_ptypenode3
->type
)->table_size
) {
6729 var10
= (((long)var_ptypenode3
&3)?type_info
[((long)var_ptypenode3
&3)]:var_ptypenode3
->type
)->type_table
[cltype11
] == idtype12
;
6732 if (unlikely(!var10
)) {
6733 PRINT_ERROR("Runtime error: %s", "Assert failed");
6734 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8879);
6737 var_tidnode4
= var_nodearraylist8
;
6738 /* <var_tidnode4:nullable Object> isa nullable TId */
6739 cltype14
= type_nullable__nit__TId
.color
;
6740 idtype15
= type_nullable__nit__TId
.id
;
6741 if(var_tidnode4
== NULL
) {
6744 if(cltype14
>= (((long)var_tidnode4
&3)?type_info
[((long)var_tidnode4
&3)]:var_tidnode4
->type
)->table_size
) {
6747 var13
= (((long)var_tidnode4
&3)?type_info
[((long)var_tidnode4
&3)]:var_tidnode4
->type
)->type_table
[cltype14
] == idtype15
;
6750 if (unlikely(!var13
)) {
6751 PRINT_ERROR("Runtime error: %s", "Assert failed");
6752 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8881);
6755 var_pexprsnode5
= var_nodearraylist9
;
6756 /* <var_pexprsnode5:nullable Object> isa nullable AExprs */
6757 cltype17
= type_nullable__nit__AExprs
.color
;
6758 idtype18
= type_nullable__nit__AExprs
.id
;
6759 if(var_pexprsnode5
== NULL
) {
6762 if(cltype17
>= (((long)var_pexprsnode5
&3)?type_info
[((long)var_pexprsnode5
&3)]:var_pexprsnode5
->type
)->table_size
) {
6765 var16
= (((long)var_pexprsnode5
&3)?type_info
[((long)var_pexprsnode5
&3)]:var_pexprsnode5
->type
)->type_table
[cltype17
] == idtype18
;
6768 if (unlikely(!var16
)) {
6769 PRINT_ERROR("Runtime error: %s", "Assert failed");
6770 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8883);
6773 var19
= NEW_nit__ANewExpr(&type_nit__ANewExpr
);
6775 nit__parser_prod___ANewExpr___init_anewexpr(var19
, var_tkwnewnode2
, var_ptypenode3
, var_tidnode4
, var_pexprsnode5
); /* Direct call parser_prod#ANewExpr#init_anewexpr on <var19:ANewExpr>*/
6777 var_pexprnode1
= var19
;
6778 var_node_list
= var_pexprnode1
;
6779 var20
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction359> */
6781 var21
= nit___nit__Parser___go_to(var_p
, var20
);
6784 nit___nit__Parser___push(var_p
, var21
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6788 /* method parser#ReduceAction360#action for (self: ReduceAction360, Parser) */
6789 void nit__parser___nit__parser__ReduceAction360___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6790 val
* var_p
/* var p: Parser */;
6791 val
* var_node_list
/* var node_list: nullable Object */;
6792 val
* var
/* : nullable Object */;
6793 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
6794 val
* var1
/* : nullable Object */;
6795 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
6796 val
* var2
/* : nullable Object */;
6797 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
6798 val
* var3
/* : nullable Object */;
6799 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
6800 val
* var4
/* : nullable Object */;
6801 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6802 val
* var5
/* : nullable Object */;
6803 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6804 val
* var6
/* : nullable Object */;
6805 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6806 val
* var7
/* : nullable Object */;
6807 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6808 val
* var_tkwnewnode2
/* var tkwnewnode2: nullable Object */;
6809 short int var8
/* : Bool */;
6812 val
* var_ptypenode3
/* var ptypenode3: nullable Object */;
6813 short int var9
/* : Bool */;
6816 val
* var_tidnode4
/* var tidnode4: nullable Object */;
6817 short int var12
/* : Bool */;
6820 val
* var15
/* : Array[Object] */;
6821 val
* var_listnode6
/* var listnode6: Array[Object] */;
6822 val
* var16
/* : AListExprs */;
6823 val
* var_pexprsnode5
/* var pexprsnode5: nullable AListExprs */;
6824 val
* var17
/* : ANewExpr */;
6825 val
* var_pexprnode1
/* var pexprnode1: nullable ANewExpr */;
6826 long var18
/* : Int */;
6827 long var19
/* : Int */;
6829 var_node_list
= ((val
*)NULL
);
6831 var
= nit___nit__Parser___pop(var_p
);
6833 var_nodearraylist8
= var
;
6835 var1
= nit___nit__Parser___pop(var_p
);
6837 var_nodearraylist7
= var1
;
6839 var2
= nit___nit__Parser___pop(var_p
);
6841 var_nodearraylist6
= var2
;
6843 var3
= nit___nit__Parser___pop(var_p
);
6845 var_nodearraylist5
= var3
;
6847 var4
= nit___nit__Parser___pop(var_p
);
6849 var_nodearraylist4
= var4
;
6851 var5
= nit___nit__Parser___pop(var_p
);
6853 var_nodearraylist3
= var5
;
6855 var6
= nit___nit__Parser___pop(var_p
);
6857 var_nodearraylist2
= var6
;
6859 var7
= nit___nit__Parser___pop(var_p
);
6861 var_nodearraylist1
= var7
;
6862 var_tkwnewnode2
= var_nodearraylist1
;
6863 /* <var_tkwnewnode2:nullable Object> isa nullable TKwnew */
6864 cltype
= type_nullable__nit__TKwnew
.color
;
6865 idtype
= type_nullable__nit__TKwnew
.id
;
6866 if(var_tkwnewnode2
== NULL
) {
6869 if(cltype
>= (((long)var_tkwnewnode2
&3)?type_info
[((long)var_tkwnewnode2
&3)]:var_tkwnewnode2
->type
)->table_size
) {
6872 var8
= (((long)var_tkwnewnode2
&3)?type_info
[((long)var_tkwnewnode2
&3)]:var_tkwnewnode2
->type
)->type_table
[cltype
] == idtype
;
6875 if (unlikely(!var8
)) {
6876 PRINT_ERROR("Runtime error: %s", "Assert failed");
6877 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8908);
6880 var_ptypenode3
= var_nodearraylist3
;
6881 /* <var_ptypenode3:nullable Object> isa nullable AType */
6882 cltype10
= type_nullable__nit__AType
.color
;
6883 idtype11
= type_nullable__nit__AType
.id
;
6884 if(var_ptypenode3
== NULL
) {
6887 if(cltype10
>= (((long)var_ptypenode3
&3)?type_info
[((long)var_ptypenode3
&3)]:var_ptypenode3
->type
)->table_size
) {
6890 var9
= (((long)var_ptypenode3
&3)?type_info
[((long)var_ptypenode3
&3)]:var_ptypenode3
->type
)->type_table
[cltype10
] == idtype11
;
6893 if (unlikely(!var9
)) {
6894 PRINT_ERROR("Runtime error: %s", "Assert failed");
6895 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8910);
6898 var_tidnode4
= var_nodearraylist8
;
6899 /* <var_tidnode4:nullable Object> isa nullable TId */
6900 cltype13
= type_nullable__nit__TId
.color
;
6901 idtype14
= type_nullable__nit__TId
.id
;
6902 if(var_tidnode4
== NULL
) {
6905 if(cltype13
>= (((long)var_tidnode4
&3)?type_info
[((long)var_tidnode4
&3)]:var_tidnode4
->type
)->table_size
) {
6908 var12
= (((long)var_tidnode4
&3)?type_info
[((long)var_tidnode4
&3)]:var_tidnode4
->type
)->type_table
[cltype13
] == idtype14
;
6911 if (unlikely(!var12
)) {
6912 PRINT_ERROR("Runtime error: %s", "Assert failed");
6913 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8912);
6916 var15
= NEW_standard__Array(&type_standard__Array__standard__Object
);
6918 standard___standard__Array___standard__kernel__Object__init(var15
); /* Direct call array#Array#init on <var15:Array[Object]>*/
6920 var_listnode6
= var15
;
6921 var16
= NEW_nit__AListExprs(&type_nit__AListExprs
);
6923 nit__parser_prod___AListExprs___init_alistexprs(var16
, var_listnode6
); /* Direct call parser_prod#AListExprs#init_alistexprs on <var16:AListExprs>*/
6925 var_pexprsnode5
= var16
;
6926 var17
= NEW_nit__ANewExpr(&type_nit__ANewExpr
);
6928 nit__parser_prod___ANewExpr___init_anewexpr(var17
, var_tkwnewnode2
, var_ptypenode3
, var_tidnode4
, var_pexprsnode5
); /* Direct call parser_prod#ANewExpr#init_anewexpr on <var17:ANewExpr>*/
6930 var_pexprnode1
= var17
;
6931 var_node_list
= var_pexprnode1
;
6932 var18
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction360> */
6934 var19
= nit___nit__Parser___go_to(var_p
, var18
);
6937 nit___nit__Parser___push(var_p
, var19
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
6941 /* method parser#ReduceAction363#action for (self: ReduceAction363, Parser) */
6942 void nit__parser___nit__parser__ReduceAction363___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
6943 val
* var_p
/* var p: Parser */;
6944 val
* var_node_list
/* var node_list: nullable Object */;
6945 val
* var
/* : nullable Object */;
6946 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
6947 val
* var1
/* : nullable Object */;
6948 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
6949 val
* var2
/* : nullable Object */;
6950 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
6951 val
* var3
/* : nullable Object */;
6952 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
6953 val
* var4
/* : nullable Object */;
6954 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
6955 val
* var5
/* : nullable Object */;
6956 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
6957 val
* var6
/* : nullable Object */;
6958 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
6959 val
* var7
/* : nullable Object */;
6960 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
6961 val
* var8
/* : nullable Object */;
6962 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
6963 val
* var9
/* : nullable Object */;
6964 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
6965 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
6966 short int var10
/* : Bool */;
6969 val
* var_tkwasnode3
/* var tkwasnode3: nullable Object */;
6970 short int var11
/* : Bool */;
6973 val
* var_toparnode4
/* var toparnode4: nullable Object */;
6974 short int var14
/* : Bool */;
6977 val
* var_ptypenode5
/* var ptypenode5: nullable Object */;
6978 short int var17
/* : Bool */;
6981 val
* var_tcparnode6
/* var tcparnode6: nullable Object */;
6982 short int var20
/* : Bool */;
6985 val
* var23
/* : AAsCastExpr */;
6986 val
* var_pexprnode1
/* var pexprnode1: nullable AAsCastExpr */;
6987 long var24
/* : Int */;
6988 long var25
/* : Int */;
6990 var_node_list
= ((val
*)NULL
);
6992 var
= nit___nit__Parser___pop(var_p
);
6994 var_nodearraylist10
= var
;
6996 var1
= nit___nit__Parser___pop(var_p
);
6998 var_nodearraylist9
= var1
;
7000 var2
= nit___nit__Parser___pop(var_p
);
7002 var_nodearraylist8
= var2
;
7004 var3
= nit___nit__Parser___pop(var_p
);
7006 var_nodearraylist7
= var3
;
7008 var4
= nit___nit__Parser___pop(var_p
);
7010 var_nodearraylist6
= var4
;
7012 var5
= nit___nit__Parser___pop(var_p
);
7014 var_nodearraylist5
= var5
;
7016 var6
= nit___nit__Parser___pop(var_p
);
7018 var_nodearraylist4
= var6
;
7020 var7
= nit___nit__Parser___pop(var_p
);
7022 var_nodearraylist3
= var7
;
7024 var8
= nit___nit__Parser___pop(var_p
);
7026 var_nodearraylist2
= var8
;
7028 var9
= nit___nit__Parser___pop(var_p
);
7030 var_nodearraylist1
= var9
;
7031 var_pexprnode2
= var_nodearraylist1
;
7032 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
7033 cltype
= type_nullable__nit__AExpr
.color
;
7034 idtype
= type_nullable__nit__AExpr
.id
;
7035 if(var_pexprnode2
== NULL
) {
7038 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
7041 var10
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
7044 if (unlikely(!var10
)) {
7045 PRINT_ERROR("Runtime error: %s", "Assert failed");
7046 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8943);
7049 var_tkwasnode3
= var_nodearraylist4
;
7050 /* <var_tkwasnode3:nullable Object> isa nullable TKwas */
7051 cltype12
= type_nullable__nit__TKwas
.color
;
7052 idtype13
= type_nullable__nit__TKwas
.id
;
7053 if(var_tkwasnode3
== NULL
) {
7056 if(cltype12
>= (((long)var_tkwasnode3
&3)?type_info
[((long)var_tkwasnode3
&3)]:var_tkwasnode3
->type
)->table_size
) {
7059 var11
= (((long)var_tkwasnode3
&3)?type_info
[((long)var_tkwasnode3
&3)]:var_tkwasnode3
->type
)->type_table
[cltype12
] == idtype13
;
7062 if (unlikely(!var11
)) {
7063 PRINT_ERROR("Runtime error: %s", "Assert failed");
7064 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8945);
7067 var_toparnode4
= var_nodearraylist6
;
7068 /* <var_toparnode4:nullable Object> isa nullable TOpar */
7069 cltype15
= type_nullable__nit__TOpar
.color
;
7070 idtype16
= type_nullable__nit__TOpar
.id
;
7071 if(var_toparnode4
== NULL
) {
7074 if(cltype15
>= (((long)var_toparnode4
&3)?type_info
[((long)var_toparnode4
&3)]:var_toparnode4
->type
)->table_size
) {
7077 var14
= (((long)var_toparnode4
&3)?type_info
[((long)var_toparnode4
&3)]:var_toparnode4
->type
)->type_table
[cltype15
] == idtype16
;
7080 if (unlikely(!var14
)) {
7081 PRINT_ERROR("Runtime error: %s", "Assert failed");
7082 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8947);
7085 var_ptypenode5
= var_nodearraylist8
;
7086 /* <var_ptypenode5:nullable Object> isa nullable AType */
7087 cltype18
= type_nullable__nit__AType
.color
;
7088 idtype19
= type_nullable__nit__AType
.id
;
7089 if(var_ptypenode5
== NULL
) {
7092 if(cltype18
>= (((long)var_ptypenode5
&3)?type_info
[((long)var_ptypenode5
&3)]:var_ptypenode5
->type
)->table_size
) {
7095 var17
= (((long)var_ptypenode5
&3)?type_info
[((long)var_ptypenode5
&3)]:var_ptypenode5
->type
)->type_table
[cltype18
] == idtype19
;
7098 if (unlikely(!var17
)) {
7099 PRINT_ERROR("Runtime error: %s", "Assert failed");
7100 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8949);
7103 var_tcparnode6
= var_nodearraylist10
;
7104 /* <var_tcparnode6:nullable Object> isa nullable TCpar */
7105 cltype21
= type_nullable__nit__TCpar
.color
;
7106 idtype22
= type_nullable__nit__TCpar
.id
;
7107 if(var_tcparnode6
== NULL
) {
7110 if(cltype21
>= (((long)var_tcparnode6
&3)?type_info
[((long)var_tcparnode6
&3)]:var_tcparnode6
->type
)->table_size
) {
7113 var20
= (((long)var_tcparnode6
&3)?type_info
[((long)var_tcparnode6
&3)]:var_tcparnode6
->type
)->type_table
[cltype21
] == idtype22
;
7116 if (unlikely(!var20
)) {
7117 PRINT_ERROR("Runtime error: %s", "Assert failed");
7118 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8951);
7121 var23
= NEW_nit__AAsCastExpr(&type_nit__AAsCastExpr
);
7123 nit__parser_prod___AAsCastExpr___init_aascastexpr(var23
, var_pexprnode2
, var_tkwasnode3
, var_toparnode4
, var_ptypenode5
, var_tcparnode6
); /* Direct call parser_prod#AAsCastExpr#init_aascastexpr on <var23:AAsCastExpr>*/
7125 var_pexprnode1
= var23
;
7126 var_node_list
= var_pexprnode1
;
7127 var24
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction363> */
7129 var25
= nit___nit__Parser___go_to(var_p
, var24
);
7132 nit___nit__Parser___push(var_p
, var25
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7136 /* method parser#ReduceAction364#action for (self: ReduceAction364, Parser) */
7137 void nit__parser___nit__parser__ReduceAction364___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7138 val
* var_p
/* var p: Parser */;
7139 val
* var_node_list
/* var node_list: nullable Object */;
7140 val
* var
/* : nullable Object */;
7141 val
* var_nodearraylist12
/* var nodearraylist12: nullable Object */;
7142 val
* var1
/* : nullable Object */;
7143 val
* var_nodearraylist11
/* var nodearraylist11: nullable Object */;
7144 val
* var2
/* : nullable Object */;
7145 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
7146 val
* var3
/* : nullable Object */;
7147 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
7148 val
* var4
/* : nullable Object */;
7149 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
7150 val
* var5
/* : nullable Object */;
7151 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
7152 val
* var6
/* : nullable Object */;
7153 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
7154 val
* var7
/* : nullable Object */;
7155 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7156 val
* var8
/* : nullable Object */;
7157 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7158 val
* var9
/* : nullable Object */;
7159 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7160 val
* var10
/* : nullable Object */;
7161 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7162 val
* var11
/* : nullable Object */;
7163 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7164 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
7165 short int var12
/* : Bool */;
7168 val
* var_tkwasnode3
/* var tkwasnode3: nullable Object */;
7169 short int var13
/* : Bool */;
7172 val
* var_toparnode4
/* var toparnode4: nullable Object */;
7173 short int var16
/* : Bool */;
7176 val
* var_tkwnotnode5
/* var tkwnotnode5: nullable Object */;
7177 short int var19
/* : Bool */;
7180 val
* var_tkwnullnode6
/* var tkwnullnode6: nullable Object */;
7181 short int var22
/* : Bool */;
7184 val
* var_tcparnode7
/* var tcparnode7: nullable Object */;
7185 short int var25
/* : Bool */;
7188 val
* var28
/* : AAsNotnullExpr */;
7189 val
* var_pexprnode1
/* var pexprnode1: nullable AAsNotnullExpr */;
7190 long var29
/* : Int */;
7191 long var30
/* : Int */;
7193 var_node_list
= ((val
*)NULL
);
7195 var
= nit___nit__Parser___pop(var_p
);
7197 var_nodearraylist12
= var
;
7199 var1
= nit___nit__Parser___pop(var_p
);
7201 var_nodearraylist11
= var1
;
7203 var2
= nit___nit__Parser___pop(var_p
);
7205 var_nodearraylist10
= var2
;
7207 var3
= nit___nit__Parser___pop(var_p
);
7209 var_nodearraylist9
= var3
;
7211 var4
= nit___nit__Parser___pop(var_p
);
7213 var_nodearraylist8
= var4
;
7215 var5
= nit___nit__Parser___pop(var_p
);
7217 var_nodearraylist7
= var5
;
7219 var6
= nit___nit__Parser___pop(var_p
);
7221 var_nodearraylist6
= var6
;
7223 var7
= nit___nit__Parser___pop(var_p
);
7225 var_nodearraylist5
= var7
;
7227 var8
= nit___nit__Parser___pop(var_p
);
7229 var_nodearraylist4
= var8
;
7231 var9
= nit___nit__Parser___pop(var_p
);
7233 var_nodearraylist3
= var9
;
7235 var10
= nit___nit__Parser___pop(var_p
);
7237 var_nodearraylist2
= var10
;
7239 var11
= nit___nit__Parser___pop(var_p
);
7241 var_nodearraylist1
= var11
;
7242 var_pexprnode2
= var_nodearraylist1
;
7243 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
7244 cltype
= type_nullable__nit__AExpr
.color
;
7245 idtype
= type_nullable__nit__AExpr
.id
;
7246 if(var_pexprnode2
== NULL
) {
7249 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
7252 var12
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
7255 if (unlikely(!var12
)) {
7256 PRINT_ERROR("Runtime error: %s", "Assert failed");
7257 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8981);
7260 var_tkwasnode3
= var_nodearraylist4
;
7261 /* <var_tkwasnode3:nullable Object> isa nullable TKwas */
7262 cltype14
= type_nullable__nit__TKwas
.color
;
7263 idtype15
= type_nullable__nit__TKwas
.id
;
7264 if(var_tkwasnode3
== NULL
) {
7267 if(cltype14
>= (((long)var_tkwasnode3
&3)?type_info
[((long)var_tkwasnode3
&3)]:var_tkwasnode3
->type
)->table_size
) {
7270 var13
= (((long)var_tkwasnode3
&3)?type_info
[((long)var_tkwasnode3
&3)]:var_tkwasnode3
->type
)->type_table
[cltype14
] == idtype15
;
7273 if (unlikely(!var13
)) {
7274 PRINT_ERROR("Runtime error: %s", "Assert failed");
7275 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8983);
7278 var_toparnode4
= var_nodearraylist6
;
7279 /* <var_toparnode4:nullable Object> isa nullable TOpar */
7280 cltype17
= type_nullable__nit__TOpar
.color
;
7281 idtype18
= type_nullable__nit__TOpar
.id
;
7282 if(var_toparnode4
== NULL
) {
7285 if(cltype17
>= (((long)var_toparnode4
&3)?type_info
[((long)var_toparnode4
&3)]:var_toparnode4
->type
)->table_size
) {
7288 var16
= (((long)var_toparnode4
&3)?type_info
[((long)var_toparnode4
&3)]:var_toparnode4
->type
)->type_table
[cltype17
] == idtype18
;
7291 if (unlikely(!var16
)) {
7292 PRINT_ERROR("Runtime error: %s", "Assert failed");
7293 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8985);
7296 var_tkwnotnode5
= var_nodearraylist8
;
7297 /* <var_tkwnotnode5:nullable Object> isa nullable TKwnot */
7298 cltype20
= type_nullable__nit__TKwnot
.color
;
7299 idtype21
= type_nullable__nit__TKwnot
.id
;
7300 if(var_tkwnotnode5
== NULL
) {
7303 if(cltype20
>= (((long)var_tkwnotnode5
&3)?type_info
[((long)var_tkwnotnode5
&3)]:var_tkwnotnode5
->type
)->table_size
) {
7306 var19
= (((long)var_tkwnotnode5
&3)?type_info
[((long)var_tkwnotnode5
&3)]:var_tkwnotnode5
->type
)->type_table
[cltype20
] == idtype21
;
7309 if (unlikely(!var19
)) {
7310 PRINT_ERROR("Runtime error: %s", "Assert failed");
7311 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8987);
7314 var_tkwnullnode6
= var_nodearraylist10
;
7315 /* <var_tkwnullnode6:nullable Object> isa nullable TKwnull */
7316 cltype23
= type_nullable__nit__TKwnull
.color
;
7317 idtype24
= type_nullable__nit__TKwnull
.id
;
7318 if(var_tkwnullnode6
== NULL
) {
7321 if(cltype23
>= (((long)var_tkwnullnode6
&3)?type_info
[((long)var_tkwnullnode6
&3)]:var_tkwnullnode6
->type
)->table_size
) {
7324 var22
= (((long)var_tkwnullnode6
&3)?type_info
[((long)var_tkwnullnode6
&3)]:var_tkwnullnode6
->type
)->type_table
[cltype23
] == idtype24
;
7327 if (unlikely(!var22
)) {
7328 PRINT_ERROR("Runtime error: %s", "Assert failed");
7329 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8989);
7332 var_tcparnode7
= var_nodearraylist12
;
7333 /* <var_tcparnode7:nullable Object> isa nullable TCpar */
7334 cltype26
= type_nullable__nit__TCpar
.color
;
7335 idtype27
= type_nullable__nit__TCpar
.id
;
7336 if(var_tcparnode7
== NULL
) {
7339 if(cltype26
>= (((long)var_tcparnode7
&3)?type_info
[((long)var_tcparnode7
&3)]:var_tcparnode7
->type
)->table_size
) {
7342 var25
= (((long)var_tcparnode7
&3)?type_info
[((long)var_tcparnode7
&3)]:var_tcparnode7
->type
)->type_table
[cltype26
] == idtype27
;
7345 if (unlikely(!var25
)) {
7346 PRINT_ERROR("Runtime error: %s", "Assert failed");
7347 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 8991);
7350 var28
= NEW_nit__AAsNotnullExpr(&type_nit__AAsNotnullExpr
);
7352 nit__parser_prod___AAsNotnullExpr___init_aasnotnullexpr(var28
, var_pexprnode2
, var_tkwasnode3
, var_toparnode4
, var_tkwnotnode5
, var_tkwnullnode6
, var_tcparnode7
); /* Direct call parser_prod#AAsNotnullExpr#init_aasnotnullexpr on <var28:AAsNotnullExpr>*/
7354 var_pexprnode1
= var28
;
7355 var_node_list
= var_pexprnode1
;
7356 var29
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction364> */
7358 var30
= nit___nit__Parser___go_to(var_p
, var29
);
7361 nit___nit__Parser___push(var_p
, var30
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7365 /* method parser#ReduceAction365#action for (self: ReduceAction365, Parser) */
7366 void nit__parser___nit__parser__ReduceAction365___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7367 val
* var_p
/* var p: Parser */;
7368 val
* var_node_list
/* var node_list: nullable Object */;
7369 val
* var
/* : nullable Object */;
7370 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
7371 val
* var1
/* : nullable Object */;
7372 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
7373 val
* var2
/* : nullable Object */;
7374 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
7375 val
* var3
/* : nullable Object */;
7376 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
7377 val
* var4
/* : nullable Object */;
7378 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
7379 val
* var5
/* : nullable Object */;
7380 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7381 val
* var6
/* : nullable Object */;
7382 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7383 val
* var7
/* : nullable Object */;
7384 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7385 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
7386 short int var8
/* : Bool */;
7389 val
* var_tkwasnode3
/* var tkwasnode3: nullable Object */;
7390 short int var9
/* : Bool */;
7393 val
* var_tkwnotnode5
/* var tkwnotnode5: nullable Object */;
7394 short int var12
/* : Bool */;
7397 val
* var_tkwnullnode6
/* var tkwnullnode6: nullable Object */;
7398 short int var15
/* : Bool */;
7401 val
* var18
/* : AAsNotnullExpr */;
7402 val
* var_pexprnode1
/* var pexprnode1: nullable AAsNotnullExpr */;
7403 long var19
/* : Int */;
7404 long var20
/* : Int */;
7406 var_node_list
= ((val
*)NULL
);
7408 var
= nit___nit__Parser___pop(var_p
);
7410 var_nodearraylist8
= var
;
7412 var1
= nit___nit__Parser___pop(var_p
);
7414 var_nodearraylist7
= var1
;
7416 var2
= nit___nit__Parser___pop(var_p
);
7418 var_nodearraylist6
= var2
;
7420 var3
= nit___nit__Parser___pop(var_p
);
7422 var_nodearraylist5
= var3
;
7424 var4
= nit___nit__Parser___pop(var_p
);
7426 var_nodearraylist4
= var4
;
7428 var5
= nit___nit__Parser___pop(var_p
);
7430 var_nodearraylist3
= var5
;
7432 var6
= nit___nit__Parser___pop(var_p
);
7434 var_nodearraylist2
= var6
;
7436 var7
= nit___nit__Parser___pop(var_p
);
7438 var_nodearraylist1
= var7
;
7439 var_pexprnode2
= var_nodearraylist1
;
7440 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
7441 cltype
= type_nullable__nit__AExpr
.color
;
7442 idtype
= type_nullable__nit__AExpr
.id
;
7443 if(var_pexprnode2
== NULL
) {
7446 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
7449 var8
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
7452 if (unlikely(!var8
)) {
7453 PRINT_ERROR("Runtime error: %s", "Assert failed");
7454 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9018);
7457 var_tkwasnode3
= var_nodearraylist4
;
7458 /* <var_tkwasnode3:nullable Object> isa nullable TKwas */
7459 cltype10
= type_nullable__nit__TKwas
.color
;
7460 idtype11
= type_nullable__nit__TKwas
.id
;
7461 if(var_tkwasnode3
== NULL
) {
7464 if(cltype10
>= (((long)var_tkwasnode3
&3)?type_info
[((long)var_tkwasnode3
&3)]:var_tkwasnode3
->type
)->table_size
) {
7467 var9
= (((long)var_tkwasnode3
&3)?type_info
[((long)var_tkwasnode3
&3)]:var_tkwasnode3
->type
)->type_table
[cltype10
] == idtype11
;
7470 if (unlikely(!var9
)) {
7471 PRINT_ERROR("Runtime error: %s", "Assert failed");
7472 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9020);
7475 var_tkwnotnode5
= var_nodearraylist6
;
7476 /* <var_tkwnotnode5:nullable Object> isa nullable TKwnot */
7477 cltype13
= type_nullable__nit__TKwnot
.color
;
7478 idtype14
= type_nullable__nit__TKwnot
.id
;
7479 if(var_tkwnotnode5
== NULL
) {
7482 if(cltype13
>= (((long)var_tkwnotnode5
&3)?type_info
[((long)var_tkwnotnode5
&3)]:var_tkwnotnode5
->type
)->table_size
) {
7485 var12
= (((long)var_tkwnotnode5
&3)?type_info
[((long)var_tkwnotnode5
&3)]:var_tkwnotnode5
->type
)->type_table
[cltype13
] == idtype14
;
7488 if (unlikely(!var12
)) {
7489 PRINT_ERROR("Runtime error: %s", "Assert failed");
7490 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9022);
7493 var_tkwnullnode6
= var_nodearraylist8
;
7494 /* <var_tkwnullnode6:nullable Object> isa nullable TKwnull */
7495 cltype16
= type_nullable__nit__TKwnull
.color
;
7496 idtype17
= type_nullable__nit__TKwnull
.id
;
7497 if(var_tkwnullnode6
== NULL
) {
7500 if(cltype16
>= (((long)var_tkwnullnode6
&3)?type_info
[((long)var_tkwnullnode6
&3)]:var_tkwnullnode6
->type
)->table_size
) {
7503 var15
= (((long)var_tkwnullnode6
&3)?type_info
[((long)var_tkwnullnode6
&3)]:var_tkwnullnode6
->type
)->type_table
[cltype16
] == idtype17
;
7506 if (unlikely(!var15
)) {
7507 PRINT_ERROR("Runtime error: %s", "Assert failed");
7508 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9024);
7511 var18
= NEW_nit__AAsNotnullExpr(&type_nit__AAsNotnullExpr
);
7513 nit__parser_prod___AAsNotnullExpr___init_aasnotnullexpr(var18
, var_pexprnode2
, var_tkwasnode3
, ((val
*)NULL
), var_tkwnotnode5
, var_tkwnullnode6
, ((val
*)NULL
)); /* Direct call parser_prod#AAsNotnullExpr#init_aasnotnullexpr on <var18:AAsNotnullExpr>*/
7515 var_pexprnode1
= var18
;
7516 var_node_list
= var_pexprnode1
;
7517 var19
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction365> */
7519 var20
= nit___nit__Parser___go_to(var_p
, var19
);
7522 nit___nit__Parser___push(var_p
, var20
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7526 /* method parser#ReduceAction367#action for (self: ReduceAction367, Parser) */
7527 void nit__parser___nit__parser__ReduceAction367___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7528 val
* var_p
/* var p: Parser */;
7529 val
* var_node_list
/* var node_list: nullable Object */;
7530 val
* var
/* : nullable Object */;
7531 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7532 val
* var1
/* : nullable Object */;
7533 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7534 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
7535 short int var2
/* : Bool */;
7538 val
* var_tdotdotdotnode3
/* var tdotdotdotnode3: nullable Object */;
7539 short int var3
/* : Bool */;
7542 val
* var6
/* : AVarargExpr */;
7543 val
* var_pexprnode1
/* var pexprnode1: nullable AVarargExpr */;
7544 long var7
/* : Int */;
7545 long var8
/* : Int */;
7547 var_node_list
= ((val
*)NULL
);
7549 var
= nit___nit__Parser___pop(var_p
);
7551 var_nodearraylist2
= var
;
7553 var1
= nit___nit__Parser___pop(var_p
);
7555 var_nodearraylist1
= var1
;
7556 var_pexprnode2
= var_nodearraylist1
;
7557 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
7558 cltype
= type_nullable__nit__AExpr
.color
;
7559 idtype
= type_nullable__nit__AExpr
.id
;
7560 if(var_pexprnode2
== NULL
) {
7563 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
7566 var2
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
7569 if (unlikely(!var2
)) {
7570 PRINT_ERROR("Runtime error: %s", "Assert failed");
7571 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9045);
7574 var_tdotdotdotnode3
= var_nodearraylist2
;
7575 /* <var_tdotdotdotnode3:nullable Object> isa nullable TDotdotdot */
7576 cltype4
= type_nullable__nit__TDotdotdot
.color
;
7577 idtype5
= type_nullable__nit__TDotdotdot
.id
;
7578 if(var_tdotdotdotnode3
== NULL
) {
7581 if(cltype4
>= (((long)var_tdotdotdotnode3
&3)?type_info
[((long)var_tdotdotdotnode3
&3)]:var_tdotdotdotnode3
->type
)->table_size
) {
7584 var3
= (((long)var_tdotdotdotnode3
&3)?type_info
[((long)var_tdotdotdotnode3
&3)]:var_tdotdotdotnode3
->type
)->type_table
[cltype4
] == idtype5
;
7587 if (unlikely(!var3
)) {
7588 PRINT_ERROR("Runtime error: %s", "Assert failed");
7589 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9047);
7592 var6
= NEW_nit__AVarargExpr(&type_nit__AVarargExpr
);
7594 nit__parser_prod___AVarargExpr___init_avarargexpr(var6
, var_pexprnode2
, var_tdotdotdotnode3
); /* Direct call parser_prod#AVarargExpr#init_avarargexpr on <var6:AVarargExpr>*/
7596 var_pexprnode1
= var6
;
7597 var_node_list
= var_pexprnode1
;
7598 var7
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction367> */
7600 var8
= nit___nit__Parser___go_to(var_p
, var7
);
7603 nit___nit__Parser___push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7607 /* method parser#ReduceAction368#action for (self: ReduceAction368, Parser) */
7608 void nit__parser___nit__parser__ReduceAction368___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7609 val
* var_p
/* var p: Parser */;
7610 val
* var_node_list
/* var node_list: nullable Object */;
7611 val
* var
/* : nullable Object */;
7612 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
7613 val
* var1
/* : nullable Object */;
7614 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7615 val
* var2
/* : nullable Object */;
7616 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7617 val
* var_tidnode2
/* var tidnode2: nullable Object */;
7618 short int var3
/* : Bool */;
7621 val
* var_tassignnode3
/* var tassignnode3: nullable Object */;
7622 short int var4
/* : Bool */;
7625 val
* var_pexprnode4
/* var pexprnode4: nullable Object */;
7626 short int var7
/* : Bool */;
7629 val
* var10
/* : ANamedargExpr */;
7630 val
* var_pexprnode1
/* var pexprnode1: nullable ANamedargExpr */;
7631 long var11
/* : Int */;
7632 long var12
/* : Int */;
7634 var_node_list
= ((val
*)NULL
);
7636 var
= nit___nit__Parser___pop(var_p
);
7638 var_nodearraylist3
= var
;
7640 var1
= nit___nit__Parser___pop(var_p
);
7642 var_nodearraylist2
= var1
;
7644 var2
= nit___nit__Parser___pop(var_p
);
7646 var_nodearraylist1
= var2
;
7647 var_tidnode2
= var_nodearraylist1
;
7648 /* <var_tidnode2:nullable Object> isa nullable TId */
7649 cltype
= type_nullable__nit__TId
.color
;
7650 idtype
= type_nullable__nit__TId
.id
;
7651 if(var_tidnode2
== NULL
) {
7654 if(cltype
>= (((long)var_tidnode2
&3)?type_info
[((long)var_tidnode2
&3)]:var_tidnode2
->type
)->table_size
) {
7657 var3
= (((long)var_tidnode2
&3)?type_info
[((long)var_tidnode2
&3)]:var_tidnode2
->type
)->type_table
[cltype
] == idtype
;
7660 if (unlikely(!var3
)) {
7661 PRINT_ERROR("Runtime error: %s", "Assert failed");
7662 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9065);
7665 var_tassignnode3
= var_nodearraylist2
;
7666 /* <var_tassignnode3:nullable Object> isa nullable TAssign */
7667 cltype5
= type_nullable__nit__TAssign
.color
;
7668 idtype6
= type_nullable__nit__TAssign
.id
;
7669 if(var_tassignnode3
== NULL
) {
7672 if(cltype5
>= (((long)var_tassignnode3
&3)?type_info
[((long)var_tassignnode3
&3)]:var_tassignnode3
->type
)->table_size
) {
7675 var4
= (((long)var_tassignnode3
&3)?type_info
[((long)var_tassignnode3
&3)]:var_tassignnode3
->type
)->type_table
[cltype5
] == idtype6
;
7678 if (unlikely(!var4
)) {
7679 PRINT_ERROR("Runtime error: %s", "Assert failed");
7680 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9067);
7683 var_pexprnode4
= var_nodearraylist3
;
7684 /* <var_pexprnode4:nullable Object> isa nullable AExpr */
7685 cltype8
= type_nullable__nit__AExpr
.color
;
7686 idtype9
= type_nullable__nit__AExpr
.id
;
7687 if(var_pexprnode4
== NULL
) {
7690 if(cltype8
>= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->table_size
) {
7693 var7
= (((long)var_pexprnode4
&3)?type_info
[((long)var_pexprnode4
&3)]:var_pexprnode4
->type
)->type_table
[cltype8
] == idtype9
;
7696 if (unlikely(!var7
)) {
7697 PRINT_ERROR("Runtime error: %s", "Assert failed");
7698 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9069);
7701 var10
= NEW_nit__ANamedargExpr(&type_nit__ANamedargExpr
);
7703 nit__parser_prod___ANamedargExpr___init_anamedargexpr(var10
, var_tidnode2
, var_tassignnode3
, var_pexprnode4
); /* Direct call parser_prod#ANamedargExpr#init_anamedargexpr on <var10:ANamedargExpr>*/
7705 var_pexprnode1
= var10
;
7706 var_node_list
= var_pexprnode1
;
7707 var11
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction368> */
7709 var12
= nit___nit__Parser___go_to(var_p
, var11
);
7712 nit___nit__Parser___push(var_p
, var12
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7716 /* method parser#ReduceAction369#action for (self: ReduceAction369, Parser) */
7717 void nit__parser___nit__parser__ReduceAction369___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7718 val
* var_p
/* var p: Parser */;
7719 val
* var_node_list
/* var node_list: nullable Object */;
7720 val
* var
/* : nullable Object */;
7721 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7722 val
* var1
/* : nullable Object */;
7723 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7724 val
* var_tkwselfnode2
/* var tkwselfnode2: nullable Object */;
7725 short int var2
/* : Bool */;
7728 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
7729 short int var3
/* : Bool */;
7732 val
* var6
/* : ASelfExpr */;
7733 val
* var_pexprnode1
/* var pexprnode1: nullable ASelfExpr */;
7734 long var7
/* : Int */;
7735 long var8
/* : Int */;
7737 var_node_list
= ((val
*)NULL
);
7739 var
= nit___nit__Parser___pop(var_p
);
7741 var_nodearraylist2
= var
;
7743 var1
= nit___nit__Parser___pop(var_p
);
7745 var_nodearraylist1
= var1
;
7746 var_tkwselfnode2
= var_nodearraylist1
;
7747 /* <var_tkwselfnode2:nullable Object> isa nullable TKwself */
7748 cltype
= type_nullable__nit__TKwself
.color
;
7749 idtype
= type_nullable__nit__TKwself
.id
;
7750 if(var_tkwselfnode2
== NULL
) {
7753 if(cltype
>= (((long)var_tkwselfnode2
&3)?type_info
[((long)var_tkwselfnode2
&3)]:var_tkwselfnode2
->type
)->table_size
) {
7756 var2
= (((long)var_tkwselfnode2
&3)?type_info
[((long)var_tkwselfnode2
&3)]:var_tkwselfnode2
->type
)->type_table
[cltype
] == idtype
;
7759 if (unlikely(!var2
)) {
7760 PRINT_ERROR("Runtime error: %s", "Assert failed");
7761 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9087);
7764 var_pannotationsnode3
= var_nodearraylist2
;
7765 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
7766 cltype4
= type_nullable__nit__AAnnotations
.color
;
7767 idtype5
= type_nullable__nit__AAnnotations
.id
;
7768 if(var_pannotationsnode3
== NULL
) {
7771 if(cltype4
>= (((long)var_pannotationsnode3
&3)?type_info
[((long)var_pannotationsnode3
&3)]:var_pannotationsnode3
->type
)->table_size
) {
7774 var3
= (((long)var_pannotationsnode3
&3)?type_info
[((long)var_pannotationsnode3
&3)]:var_pannotationsnode3
->type
)->type_table
[cltype4
] == idtype5
;
7777 if (unlikely(!var3
)) {
7778 PRINT_ERROR("Runtime error: %s", "Assert failed");
7779 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9089);
7782 var6
= NEW_nit__ASelfExpr(&type_nit__ASelfExpr
);
7784 nit__parser_prod___ASelfExpr___init_aselfexpr(var6
, var_tkwselfnode2
, var_pannotationsnode3
); /* Direct call parser_prod#ASelfExpr#init_aselfexpr on <var6:ASelfExpr>*/
7786 var_pexprnode1
= var6
;
7787 var_node_list
= var_pexprnode1
;
7788 var7
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction369> */
7790 var8
= nit___nit__Parser___go_to(var_p
, var7
);
7793 nit___nit__Parser___push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7797 /* method parser#ReduceAction370#action for (self: ReduceAction370, Parser) */
7798 void nit__parser___nit__parser__ReduceAction370___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7799 val
* var_p
/* var p: Parser */;
7800 val
* var_node_list
/* var node_list: nullable Object */;
7801 val
* var
/* : nullable Object */;
7802 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7803 val
* var1
/* : nullable Object */;
7804 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7805 val
* var_tkwtruenode2
/* var tkwtruenode2: nullable Object */;
7806 short int var2
/* : Bool */;
7809 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
7810 short int var3
/* : Bool */;
7813 val
* var6
/* : ATrueExpr */;
7814 val
* var_pexprnode1
/* var pexprnode1: nullable ATrueExpr */;
7815 long var7
/* : Int */;
7816 long var8
/* : Int */;
7818 var_node_list
= ((val
*)NULL
);
7820 var
= nit___nit__Parser___pop(var_p
);
7822 var_nodearraylist2
= var
;
7824 var1
= nit___nit__Parser___pop(var_p
);
7826 var_nodearraylist1
= var1
;
7827 var_tkwtruenode2
= var_nodearraylist1
;
7828 /* <var_tkwtruenode2:nullable Object> isa nullable TKwtrue */
7829 cltype
= type_nullable__nit__TKwtrue
.color
;
7830 idtype
= type_nullable__nit__TKwtrue
.id
;
7831 if(var_tkwtruenode2
== NULL
) {
7834 if(cltype
>= (((long)var_tkwtruenode2
&3)?type_info
[((long)var_tkwtruenode2
&3)]:var_tkwtruenode2
->type
)->table_size
) {
7837 var2
= (((long)var_tkwtruenode2
&3)?type_info
[((long)var_tkwtruenode2
&3)]:var_tkwtruenode2
->type
)->type_table
[cltype
] == idtype
;
7840 if (unlikely(!var2
)) {
7841 PRINT_ERROR("Runtime error: %s", "Assert failed");
7842 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9106);
7845 var_pannotationsnode3
= var_nodearraylist2
;
7846 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
7847 cltype4
= type_nullable__nit__AAnnotations
.color
;
7848 idtype5
= type_nullable__nit__AAnnotations
.id
;
7849 if(var_pannotationsnode3
== NULL
) {
7852 if(cltype4
>= (((long)var_pannotationsnode3
&3)?type_info
[((long)var_pannotationsnode3
&3)]:var_pannotationsnode3
->type
)->table_size
) {
7855 var3
= (((long)var_pannotationsnode3
&3)?type_info
[((long)var_pannotationsnode3
&3)]:var_pannotationsnode3
->type
)->type_table
[cltype4
] == idtype5
;
7858 if (unlikely(!var3
)) {
7859 PRINT_ERROR("Runtime error: %s", "Assert failed");
7860 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9108);
7863 var6
= NEW_nit__ATrueExpr(&type_nit__ATrueExpr
);
7865 nit__parser_prod___ATrueExpr___init_atrueexpr(var6
, var_tkwtruenode2
, var_pannotationsnode3
); /* Direct call parser_prod#ATrueExpr#init_atrueexpr on <var6:ATrueExpr>*/
7867 var_pexprnode1
= var6
;
7868 var_node_list
= var_pexprnode1
;
7869 var7
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction370> */
7871 var8
= nit___nit__Parser___go_to(var_p
, var7
);
7874 nit___nit__Parser___push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7878 /* method parser#ReduceAction371#action for (self: ReduceAction371, Parser) */
7879 void nit__parser___nit__parser__ReduceAction371___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7880 val
* var_p
/* var p: Parser */;
7881 val
* var_node_list
/* var node_list: nullable Object */;
7882 val
* var
/* : nullable Object */;
7883 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7884 val
* var1
/* : nullable Object */;
7885 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7886 val
* var_tkwfalsenode2
/* var tkwfalsenode2: nullable Object */;
7887 short int var2
/* : Bool */;
7890 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
7891 short int var3
/* : Bool */;
7894 val
* var6
/* : AFalseExpr */;
7895 val
* var_pexprnode1
/* var pexprnode1: nullable AFalseExpr */;
7896 long var7
/* : Int */;
7897 long var8
/* : Int */;
7899 var_node_list
= ((val
*)NULL
);
7901 var
= nit___nit__Parser___pop(var_p
);
7903 var_nodearraylist2
= var
;
7905 var1
= nit___nit__Parser___pop(var_p
);
7907 var_nodearraylist1
= var1
;
7908 var_tkwfalsenode2
= var_nodearraylist1
;
7909 /* <var_tkwfalsenode2:nullable Object> isa nullable TKwfalse */
7910 cltype
= type_nullable__nit__TKwfalse
.color
;
7911 idtype
= type_nullable__nit__TKwfalse
.id
;
7912 if(var_tkwfalsenode2
== NULL
) {
7915 if(cltype
>= (((long)var_tkwfalsenode2
&3)?type_info
[((long)var_tkwfalsenode2
&3)]:var_tkwfalsenode2
->type
)->table_size
) {
7918 var2
= (((long)var_tkwfalsenode2
&3)?type_info
[((long)var_tkwfalsenode2
&3)]:var_tkwfalsenode2
->type
)->type_table
[cltype
] == idtype
;
7921 if (unlikely(!var2
)) {
7922 PRINT_ERROR("Runtime error: %s", "Assert failed");
7923 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9125);
7926 var_pannotationsnode3
= var_nodearraylist2
;
7927 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
7928 cltype4
= type_nullable__nit__AAnnotations
.color
;
7929 idtype5
= type_nullable__nit__AAnnotations
.id
;
7930 if(var_pannotationsnode3
== NULL
) {
7933 if(cltype4
>= (((long)var_pannotationsnode3
&3)?type_info
[((long)var_pannotationsnode3
&3)]:var_pannotationsnode3
->type
)->table_size
) {
7936 var3
= (((long)var_pannotationsnode3
&3)?type_info
[((long)var_pannotationsnode3
&3)]:var_pannotationsnode3
->type
)->type_table
[cltype4
] == idtype5
;
7939 if (unlikely(!var3
)) {
7940 PRINT_ERROR("Runtime error: %s", "Assert failed");
7941 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9127);
7944 var6
= NEW_nit__AFalseExpr(&type_nit__AFalseExpr
);
7946 nit__parser_prod___AFalseExpr___init_afalseexpr(var6
, var_tkwfalsenode2
, var_pannotationsnode3
); /* Direct call parser_prod#AFalseExpr#init_afalseexpr on <var6:AFalseExpr>*/
7948 var_pexprnode1
= var6
;
7949 var_node_list
= var_pexprnode1
;
7950 var7
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction371> */
7952 var8
= nit___nit__Parser___go_to(var_p
, var7
);
7955 nit___nit__Parser___push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
7959 /* method parser#ReduceAction372#action for (self: ReduceAction372, Parser) */
7960 void nit__parser___nit__parser__ReduceAction372___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
7961 val
* var_p
/* var p: Parser */;
7962 val
* var_node_list
/* var node_list: nullable Object */;
7963 val
* var
/* : nullable Object */;
7964 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
7965 val
* var1
/* : nullable Object */;
7966 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
7967 val
* var_tkwnullnode2
/* var tkwnullnode2: nullable Object */;
7968 short int var2
/* : Bool */;
7971 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
7972 short int var3
/* : Bool */;
7975 val
* var6
/* : ANullExpr */;
7976 val
* var_pexprnode1
/* var pexprnode1: nullable ANullExpr */;
7977 long var7
/* : Int */;
7978 long var8
/* : Int */;
7980 var_node_list
= ((val
*)NULL
);
7982 var
= nit___nit__Parser___pop(var_p
);
7984 var_nodearraylist2
= var
;
7986 var1
= nit___nit__Parser___pop(var_p
);
7988 var_nodearraylist1
= var1
;
7989 var_tkwnullnode2
= var_nodearraylist1
;
7990 /* <var_tkwnullnode2:nullable Object> isa nullable TKwnull */
7991 cltype
= type_nullable__nit__TKwnull
.color
;
7992 idtype
= type_nullable__nit__TKwnull
.id
;
7993 if(var_tkwnullnode2
== NULL
) {
7996 if(cltype
>= (((long)var_tkwnullnode2
&3)?type_info
[((long)var_tkwnullnode2
&3)]:var_tkwnullnode2
->type
)->table_size
) {
7999 var2
= (((long)var_tkwnullnode2
&3)?type_info
[((long)var_tkwnullnode2
&3)]:var_tkwnullnode2
->type
)->type_table
[cltype
] == idtype
;
8002 if (unlikely(!var2
)) {
8003 PRINT_ERROR("Runtime error: %s", "Assert failed");
8004 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9144);
8007 var_pannotationsnode3
= var_nodearraylist2
;
8008 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
8009 cltype4
= type_nullable__nit__AAnnotations
.color
;
8010 idtype5
= type_nullable__nit__AAnnotations
.id
;
8011 if(var_pannotationsnode3
== NULL
) {
8014 if(cltype4
>= (((long)var_pannotationsnode3
&3)?type_info
[((long)var_pannotationsnode3
&3)]:var_pannotationsnode3
->type
)->table_size
) {
8017 var3
= (((long)var_pannotationsnode3
&3)?type_info
[((long)var_pannotationsnode3
&3)]:var_pannotationsnode3
->type
)->type_table
[cltype4
] == idtype5
;
8020 if (unlikely(!var3
)) {
8021 PRINT_ERROR("Runtime error: %s", "Assert failed");
8022 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9146);
8025 var6
= NEW_nit__ANullExpr(&type_nit__ANullExpr
);
8027 nit__parser_prod___ANullExpr___init_anullexpr(var6
, var_tkwnullnode2
, var_pannotationsnode3
); /* Direct call parser_prod#ANullExpr#init_anullexpr on <var6:ANullExpr>*/
8029 var_pexprnode1
= var6
;
8030 var_node_list
= var_pexprnode1
;
8031 var7
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction372> */
8033 var8
= nit___nit__Parser___go_to(var_p
, var7
);
8036 nit___nit__Parser___push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8040 /* method parser#ReduceAction373#action for (self: ReduceAction373, Parser) */
8041 void nit__parser___nit__parser__ReduceAction373___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8042 val
* var_p
/* var p: Parser */;
8043 val
* var_node_list
/* var node_list: nullable Object */;
8044 val
* var
/* : nullable Object */;
8045 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8046 val
* var1
/* : nullable Object */;
8047 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8048 val
* var_tnumbernode2
/* var tnumbernode2: nullable Object */;
8049 short int var2
/* : Bool */;
8052 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
8053 short int var3
/* : Bool */;
8056 val
* var6
/* : ADecIntExpr */;
8057 val
* var_pexprnode1
/* var pexprnode1: nullable ADecIntExpr */;
8058 long var7
/* : Int */;
8059 long var8
/* : Int */;
8061 var_node_list
= ((val
*)NULL
);
8063 var
= nit___nit__Parser___pop(var_p
);
8065 var_nodearraylist2
= var
;
8067 var1
= nit___nit__Parser___pop(var_p
);
8069 var_nodearraylist1
= var1
;
8070 var_tnumbernode2
= var_nodearraylist1
;
8071 /* <var_tnumbernode2:nullable Object> isa nullable TNumber */
8072 cltype
= type_nullable__nit__TNumber
.color
;
8073 idtype
= type_nullable__nit__TNumber
.id
;
8074 if(var_tnumbernode2
== NULL
) {
8077 if(cltype
>= (((long)var_tnumbernode2
&3)?type_info
[((long)var_tnumbernode2
&3)]:var_tnumbernode2
->type
)->table_size
) {
8080 var2
= (((long)var_tnumbernode2
&3)?type_info
[((long)var_tnumbernode2
&3)]:var_tnumbernode2
->type
)->type_table
[cltype
] == idtype
;
8083 if (unlikely(!var2
)) {
8084 PRINT_ERROR("Runtime error: %s", "Assert failed");
8085 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9163);
8088 var_pannotationsnode3
= var_nodearraylist2
;
8089 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
8090 cltype4
= type_nullable__nit__AAnnotations
.color
;
8091 idtype5
= type_nullable__nit__AAnnotations
.id
;
8092 if(var_pannotationsnode3
== NULL
) {
8095 if(cltype4
>= (((long)var_pannotationsnode3
&3)?type_info
[((long)var_pannotationsnode3
&3)]:var_pannotationsnode3
->type
)->table_size
) {
8098 var3
= (((long)var_pannotationsnode3
&3)?type_info
[((long)var_pannotationsnode3
&3)]:var_pannotationsnode3
->type
)->type_table
[cltype4
] == idtype5
;
8101 if (unlikely(!var3
)) {
8102 PRINT_ERROR("Runtime error: %s", "Assert failed");
8103 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9165);
8106 var6
= NEW_nit__ADecIntExpr(&type_nit__ADecIntExpr
);
8108 nit__parser_prod___ADecIntExpr___init_adecintexpr(var6
, var_tnumbernode2
, var_pannotationsnode3
); /* Direct call parser_prod#ADecIntExpr#init_adecintexpr on <var6:ADecIntExpr>*/
8110 var_pexprnode1
= var6
;
8111 var_node_list
= var_pexprnode1
;
8112 var7
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction373> */
8114 var8
= nit___nit__Parser___go_to(var_p
, var7
);
8117 nit___nit__Parser___push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8121 /* method parser#ReduceAction374#action for (self: ReduceAction374, Parser) */
8122 void nit__parser___nit__parser__ReduceAction374___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8123 val
* var_p
/* var p: Parser */;
8124 val
* var_node_list
/* var node_list: nullable Object */;
8125 val
* var
/* : nullable Object */;
8126 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8127 val
* var1
/* : nullable Object */;
8128 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8129 val
* var_thexnumbernode2
/* var thexnumbernode2: nullable Object */;
8130 short int var2
/* : Bool */;
8133 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
8134 short int var3
/* : Bool */;
8137 val
* var6
/* : AHexIntExpr */;
8138 val
* var_pexprnode1
/* var pexprnode1: nullable AHexIntExpr */;
8139 long var7
/* : Int */;
8140 long var8
/* : Int */;
8142 var_node_list
= ((val
*)NULL
);
8144 var
= nit___nit__Parser___pop(var_p
);
8146 var_nodearraylist2
= var
;
8148 var1
= nit___nit__Parser___pop(var_p
);
8150 var_nodearraylist1
= var1
;
8151 var_thexnumbernode2
= var_nodearraylist1
;
8152 /* <var_thexnumbernode2:nullable Object> isa nullable THexNumber */
8153 cltype
= type_nullable__nit__THexNumber
.color
;
8154 idtype
= type_nullable__nit__THexNumber
.id
;
8155 if(var_thexnumbernode2
== NULL
) {
8158 if(cltype
>= (((long)var_thexnumbernode2
&3)?type_info
[((long)var_thexnumbernode2
&3)]:var_thexnumbernode2
->type
)->table_size
) {
8161 var2
= (((long)var_thexnumbernode2
&3)?type_info
[((long)var_thexnumbernode2
&3)]:var_thexnumbernode2
->type
)->type_table
[cltype
] == idtype
;
8164 if (unlikely(!var2
)) {
8165 PRINT_ERROR("Runtime error: %s", "Assert failed");
8166 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9182);
8169 var_pannotationsnode3
= var_nodearraylist2
;
8170 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
8171 cltype4
= type_nullable__nit__AAnnotations
.color
;
8172 idtype5
= type_nullable__nit__AAnnotations
.id
;
8173 if(var_pannotationsnode3
== NULL
) {
8176 if(cltype4
>= (((long)var_pannotationsnode3
&3)?type_info
[((long)var_pannotationsnode3
&3)]:var_pannotationsnode3
->type
)->table_size
) {
8179 var3
= (((long)var_pannotationsnode3
&3)?type_info
[((long)var_pannotationsnode3
&3)]:var_pannotationsnode3
->type
)->type_table
[cltype4
] == idtype5
;
8182 if (unlikely(!var3
)) {
8183 PRINT_ERROR("Runtime error: %s", "Assert failed");
8184 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9184);
8187 var6
= NEW_nit__AHexIntExpr(&type_nit__AHexIntExpr
);
8189 nit__parser_prod___AHexIntExpr___init_ahexintexpr(var6
, var_thexnumbernode2
, var_pannotationsnode3
); /* Direct call parser_prod#AHexIntExpr#init_ahexintexpr on <var6:AHexIntExpr>*/
8191 var_pexprnode1
= var6
;
8192 var_node_list
= var_pexprnode1
;
8193 var7
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction374> */
8195 var8
= nit___nit__Parser___go_to(var_p
, var7
);
8198 nit___nit__Parser___push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8202 /* method parser#ReduceAction375#action for (self: ReduceAction375, Parser) */
8203 void nit__parser___nit__parser__ReduceAction375___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8204 val
* var_p
/* var p: Parser */;
8205 val
* var_node_list
/* var node_list: nullable Object */;
8206 val
* var
/* : nullable Object */;
8207 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8208 val
* var1
/* : nullable Object */;
8209 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8210 val
* var_tbinnumbernode2
/* var tbinnumbernode2: nullable Object */;
8211 short int var2
/* : Bool */;
8214 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
8215 short int var3
/* : Bool */;
8218 val
* var6
/* : ABinIntExpr */;
8219 val
* var_pexprnode1
/* var pexprnode1: nullable ABinIntExpr */;
8220 long var7
/* : Int */;
8221 long var8
/* : Int */;
8223 var_node_list
= ((val
*)NULL
);
8225 var
= nit___nit__Parser___pop(var_p
);
8227 var_nodearraylist2
= var
;
8229 var1
= nit___nit__Parser___pop(var_p
);
8231 var_nodearraylist1
= var1
;
8232 var_tbinnumbernode2
= var_nodearraylist1
;
8233 /* <var_tbinnumbernode2:nullable Object> isa nullable TBinNumber */
8234 cltype
= type_nullable__nit__TBinNumber
.color
;
8235 idtype
= type_nullable__nit__TBinNumber
.id
;
8236 if(var_tbinnumbernode2
== NULL
) {
8239 if(cltype
>= (((long)var_tbinnumbernode2
&3)?type_info
[((long)var_tbinnumbernode2
&3)]:var_tbinnumbernode2
->type
)->table_size
) {
8242 var2
= (((long)var_tbinnumbernode2
&3)?type_info
[((long)var_tbinnumbernode2
&3)]:var_tbinnumbernode2
->type
)->type_table
[cltype
] == idtype
;
8245 if (unlikely(!var2
)) {
8246 PRINT_ERROR("Runtime error: %s", "Assert failed");
8247 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9201);
8250 var_pannotationsnode3
= var_nodearraylist2
;
8251 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
8252 cltype4
= type_nullable__nit__AAnnotations
.color
;
8253 idtype5
= type_nullable__nit__AAnnotations
.id
;
8254 if(var_pannotationsnode3
== NULL
) {
8257 if(cltype4
>= (((long)var_pannotationsnode3
&3)?type_info
[((long)var_pannotationsnode3
&3)]:var_pannotationsnode3
->type
)->table_size
) {
8260 var3
= (((long)var_pannotationsnode3
&3)?type_info
[((long)var_pannotationsnode3
&3)]:var_pannotationsnode3
->type
)->type_table
[cltype4
] == idtype5
;
8263 if (unlikely(!var3
)) {
8264 PRINT_ERROR("Runtime error: %s", "Assert failed");
8265 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9203);
8268 var6
= NEW_nit__ABinIntExpr(&type_nit__ABinIntExpr
);
8270 nit__parser_prod___ABinIntExpr___init_abinintexpr(var6
, var_tbinnumbernode2
, var_pannotationsnode3
); /* Direct call parser_prod#ABinIntExpr#init_abinintexpr on <var6:ABinIntExpr>*/
8272 var_pexprnode1
= var6
;
8273 var_node_list
= var_pexprnode1
;
8274 var7
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction375> */
8276 var8
= nit___nit__Parser___go_to(var_p
, var7
);
8279 nit___nit__Parser___push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8283 /* method parser#ReduceAction376#action for (self: ReduceAction376, Parser) */
8284 void nit__parser___nit__parser__ReduceAction376___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8285 val
* var_p
/* var p: Parser */;
8286 val
* var_node_list
/* var node_list: nullable Object */;
8287 val
* var
/* : nullable Object */;
8288 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8289 val
* var1
/* : nullable Object */;
8290 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8291 val
* var_toctnumbernode2
/* var toctnumbernode2: nullable Object */;
8292 short int var2
/* : Bool */;
8295 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
8296 short int var3
/* : Bool */;
8299 val
* var6
/* : AOctIntExpr */;
8300 val
* var_pexprnode1
/* var pexprnode1: nullable AOctIntExpr */;
8301 long var7
/* : Int */;
8302 long var8
/* : Int */;
8304 var_node_list
= ((val
*)NULL
);
8306 var
= nit___nit__Parser___pop(var_p
);
8308 var_nodearraylist2
= var
;
8310 var1
= nit___nit__Parser___pop(var_p
);
8312 var_nodearraylist1
= var1
;
8313 var_toctnumbernode2
= var_nodearraylist1
;
8314 /* <var_toctnumbernode2:nullable Object> isa nullable TOctNumber */
8315 cltype
= type_nullable__nit__TOctNumber
.color
;
8316 idtype
= type_nullable__nit__TOctNumber
.id
;
8317 if(var_toctnumbernode2
== NULL
) {
8320 if(cltype
>= (((long)var_toctnumbernode2
&3)?type_info
[((long)var_toctnumbernode2
&3)]:var_toctnumbernode2
->type
)->table_size
) {
8323 var2
= (((long)var_toctnumbernode2
&3)?type_info
[((long)var_toctnumbernode2
&3)]:var_toctnumbernode2
->type
)->type_table
[cltype
] == idtype
;
8326 if (unlikely(!var2
)) {
8327 PRINT_ERROR("Runtime error: %s", "Assert failed");
8328 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9220);
8331 var_pannotationsnode3
= var_nodearraylist2
;
8332 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
8333 cltype4
= type_nullable__nit__AAnnotations
.color
;
8334 idtype5
= type_nullable__nit__AAnnotations
.id
;
8335 if(var_pannotationsnode3
== NULL
) {
8338 if(cltype4
>= (((long)var_pannotationsnode3
&3)?type_info
[((long)var_pannotationsnode3
&3)]:var_pannotationsnode3
->type
)->table_size
) {
8341 var3
= (((long)var_pannotationsnode3
&3)?type_info
[((long)var_pannotationsnode3
&3)]:var_pannotationsnode3
->type
)->type_table
[cltype4
] == idtype5
;
8344 if (unlikely(!var3
)) {
8345 PRINT_ERROR("Runtime error: %s", "Assert failed");
8346 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9222);
8349 var6
= NEW_nit__AOctIntExpr(&type_nit__AOctIntExpr
);
8351 nit__parser_prod___AOctIntExpr___init_aoctintexpr(var6
, var_toctnumbernode2
, var_pannotationsnode3
); /* Direct call parser_prod#AOctIntExpr#init_aoctintexpr on <var6:AOctIntExpr>*/
8353 var_pexprnode1
= var6
;
8354 var_node_list
= var_pexprnode1
;
8355 var7
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction376> */
8357 var8
= nit___nit__Parser___go_to(var_p
, var7
);
8360 nit___nit__Parser___push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8364 /* method parser#ReduceAction377#action for (self: ReduceAction377, Parser) */
8365 void nit__parser___nit__parser__ReduceAction377___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8366 val
* var_p
/* var p: Parser */;
8367 val
* var_node_list
/* var node_list: nullable Object */;
8368 val
* var
/* : nullable Object */;
8369 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8370 val
* var1
/* : nullable Object */;
8371 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8372 val
* var_tbytenumnode2
/* var tbytenumnode2: nullable Object */;
8373 short int var2
/* : Bool */;
8376 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
8377 short int var3
/* : Bool */;
8380 val
* var6
/* : ADecByteExpr */;
8381 val
* var_pexprnode1
/* var pexprnode1: nullable ADecByteExpr */;
8382 long var7
/* : Int */;
8383 long var8
/* : Int */;
8385 var_node_list
= ((val
*)NULL
);
8387 var
= nit___nit__Parser___pop(var_p
);
8389 var_nodearraylist2
= var
;
8391 var1
= nit___nit__Parser___pop(var_p
);
8393 var_nodearraylist1
= var1
;
8394 var_tbytenumnode2
= var_nodearraylist1
;
8395 /* <var_tbytenumnode2:nullable Object> isa nullable TBytenum */
8396 cltype
= type_nullable__nit__TBytenum
.color
;
8397 idtype
= type_nullable__nit__TBytenum
.id
;
8398 if(var_tbytenumnode2
== NULL
) {
8401 if(cltype
>= (((long)var_tbytenumnode2
&3)?type_info
[((long)var_tbytenumnode2
&3)]:var_tbytenumnode2
->type
)->table_size
) {
8404 var2
= (((long)var_tbytenumnode2
&3)?type_info
[((long)var_tbytenumnode2
&3)]:var_tbytenumnode2
->type
)->type_table
[cltype
] == idtype
;
8407 if (unlikely(!var2
)) {
8408 PRINT_ERROR("Runtime error: %s", "Assert failed");
8409 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9239);
8412 var_pannotationsnode3
= var_nodearraylist2
;
8413 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
8414 cltype4
= type_nullable__nit__AAnnotations
.color
;
8415 idtype5
= type_nullable__nit__AAnnotations
.id
;
8416 if(var_pannotationsnode3
== NULL
) {
8419 if(cltype4
>= (((long)var_pannotationsnode3
&3)?type_info
[((long)var_pannotationsnode3
&3)]:var_pannotationsnode3
->type
)->table_size
) {
8422 var3
= (((long)var_pannotationsnode3
&3)?type_info
[((long)var_pannotationsnode3
&3)]:var_pannotationsnode3
->type
)->type_table
[cltype4
] == idtype5
;
8425 if (unlikely(!var3
)) {
8426 PRINT_ERROR("Runtime error: %s", "Assert failed");
8427 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9241);
8430 var6
= NEW_nit__ADecByteExpr(&type_nit__ADecByteExpr
);
8432 nit__parser_prod___ADecByteExpr___init_adecbyteexpr(var6
, var_tbytenumnode2
, var_pannotationsnode3
); /* Direct call parser_prod#ADecByteExpr#init_adecbyteexpr on <var6:ADecByteExpr>*/
8434 var_pexprnode1
= var6
;
8435 var_node_list
= var_pexprnode1
;
8436 var7
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction377> */
8438 var8
= nit___nit__Parser___go_to(var_p
, var7
);
8441 nit___nit__Parser___push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8445 /* method parser#ReduceAction378#action for (self: ReduceAction378, Parser) */
8446 void nit__parser___nit__parser__ReduceAction378___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8447 val
* var_p
/* var p: Parser */;
8448 val
* var_node_list
/* var node_list: nullable Object */;
8449 val
* var
/* : nullable Object */;
8450 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8451 val
* var1
/* : nullable Object */;
8452 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8453 val
* var_thexbytenumnode2
/* var thexbytenumnode2: nullable Object */;
8454 short int var2
/* : Bool */;
8457 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
8458 short int var3
/* : Bool */;
8461 val
* var6
/* : AHexByteExpr */;
8462 val
* var_pexprnode1
/* var pexprnode1: nullable AHexByteExpr */;
8463 long var7
/* : Int */;
8464 long var8
/* : Int */;
8466 var_node_list
= ((val
*)NULL
);
8468 var
= nit___nit__Parser___pop(var_p
);
8470 var_nodearraylist2
= var
;
8472 var1
= nit___nit__Parser___pop(var_p
);
8474 var_nodearraylist1
= var1
;
8475 var_thexbytenumnode2
= var_nodearraylist1
;
8476 /* <var_thexbytenumnode2:nullable Object> isa nullable THexBytenum */
8477 cltype
= type_nullable__nit__THexBytenum
.color
;
8478 idtype
= type_nullable__nit__THexBytenum
.id
;
8479 if(var_thexbytenumnode2
== NULL
) {
8482 if(cltype
>= (((long)var_thexbytenumnode2
&3)?type_info
[((long)var_thexbytenumnode2
&3)]:var_thexbytenumnode2
->type
)->table_size
) {
8485 var2
= (((long)var_thexbytenumnode2
&3)?type_info
[((long)var_thexbytenumnode2
&3)]:var_thexbytenumnode2
->type
)->type_table
[cltype
] == idtype
;
8488 if (unlikely(!var2
)) {
8489 PRINT_ERROR("Runtime error: %s", "Assert failed");
8490 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9258);
8493 var_pannotationsnode3
= var_nodearraylist2
;
8494 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
8495 cltype4
= type_nullable__nit__AAnnotations
.color
;
8496 idtype5
= type_nullable__nit__AAnnotations
.id
;
8497 if(var_pannotationsnode3
== NULL
) {
8500 if(cltype4
>= (((long)var_pannotationsnode3
&3)?type_info
[((long)var_pannotationsnode3
&3)]:var_pannotationsnode3
->type
)->table_size
) {
8503 var3
= (((long)var_pannotationsnode3
&3)?type_info
[((long)var_pannotationsnode3
&3)]:var_pannotationsnode3
->type
)->type_table
[cltype4
] == idtype5
;
8506 if (unlikely(!var3
)) {
8507 PRINT_ERROR("Runtime error: %s", "Assert failed");
8508 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9260);
8511 var6
= NEW_nit__AHexByteExpr(&type_nit__AHexByteExpr
);
8513 nit__parser_prod___AHexByteExpr___init_ahexbyteexpr(var6
, var_thexbytenumnode2
, var_pannotationsnode3
); /* Direct call parser_prod#AHexByteExpr#init_ahexbyteexpr on <var6:AHexByteExpr>*/
8515 var_pexprnode1
= var6
;
8516 var_node_list
= var_pexprnode1
;
8517 var7
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction378> */
8519 var8
= nit___nit__Parser___go_to(var_p
, var7
);
8522 nit___nit__Parser___push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8526 /* method parser#ReduceAction379#action for (self: ReduceAction379, Parser) */
8527 void nit__parser___nit__parser__ReduceAction379___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8528 val
* var_p
/* var p: Parser */;
8529 val
* var_node_list
/* var node_list: nullable Object */;
8530 val
* var
/* : nullable Object */;
8531 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8532 val
* var1
/* : nullable Object */;
8533 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8534 val
* var_tbinbytenumnode2
/* var tbinbytenumnode2: nullable Object */;
8535 short int var2
/* : Bool */;
8538 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
8539 short int var3
/* : Bool */;
8542 val
* var6
/* : ABinByteExpr */;
8543 val
* var_pexprnode1
/* var pexprnode1: nullable ABinByteExpr */;
8544 long var7
/* : Int */;
8545 long var8
/* : Int */;
8547 var_node_list
= ((val
*)NULL
);
8549 var
= nit___nit__Parser___pop(var_p
);
8551 var_nodearraylist2
= var
;
8553 var1
= nit___nit__Parser___pop(var_p
);
8555 var_nodearraylist1
= var1
;
8556 var_tbinbytenumnode2
= var_nodearraylist1
;
8557 /* <var_tbinbytenumnode2:nullable Object> isa nullable TBinBytenum */
8558 cltype
= type_nullable__nit__TBinBytenum
.color
;
8559 idtype
= type_nullable__nit__TBinBytenum
.id
;
8560 if(var_tbinbytenumnode2
== NULL
) {
8563 if(cltype
>= (((long)var_tbinbytenumnode2
&3)?type_info
[((long)var_tbinbytenumnode2
&3)]:var_tbinbytenumnode2
->type
)->table_size
) {
8566 var2
= (((long)var_tbinbytenumnode2
&3)?type_info
[((long)var_tbinbytenumnode2
&3)]:var_tbinbytenumnode2
->type
)->type_table
[cltype
] == idtype
;
8569 if (unlikely(!var2
)) {
8570 PRINT_ERROR("Runtime error: %s", "Assert failed");
8571 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9277);
8574 var_pannotationsnode3
= var_nodearraylist2
;
8575 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
8576 cltype4
= type_nullable__nit__AAnnotations
.color
;
8577 idtype5
= type_nullable__nit__AAnnotations
.id
;
8578 if(var_pannotationsnode3
== NULL
) {
8581 if(cltype4
>= (((long)var_pannotationsnode3
&3)?type_info
[((long)var_pannotationsnode3
&3)]:var_pannotationsnode3
->type
)->table_size
) {
8584 var3
= (((long)var_pannotationsnode3
&3)?type_info
[((long)var_pannotationsnode3
&3)]:var_pannotationsnode3
->type
)->type_table
[cltype4
] == idtype5
;
8587 if (unlikely(!var3
)) {
8588 PRINT_ERROR("Runtime error: %s", "Assert failed");
8589 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9279);
8592 var6
= NEW_nit__ABinByteExpr(&type_nit__ABinByteExpr
);
8594 nit__parser_prod___ABinByteExpr___init_abinbyteexpr(var6
, var_tbinbytenumnode2
, var_pannotationsnode3
); /* Direct call parser_prod#ABinByteExpr#init_abinbyteexpr on <var6:ABinByteExpr>*/
8596 var_pexprnode1
= var6
;
8597 var_node_list
= var_pexprnode1
;
8598 var7
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction379> */
8600 var8
= nit___nit__Parser___go_to(var_p
, var7
);
8603 nit___nit__Parser___push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8607 /* method parser#ReduceAction380#action for (self: ReduceAction380, Parser) */
8608 void nit__parser___nit__parser__ReduceAction380___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8609 val
* var_p
/* var p: Parser */;
8610 val
* var_node_list
/* var node_list: nullable Object */;
8611 val
* var
/* : nullable Object */;
8612 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8613 val
* var1
/* : nullable Object */;
8614 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8615 val
* var_toctbytenumnode2
/* var toctbytenumnode2: nullable Object */;
8616 short int var2
/* : Bool */;
8619 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
8620 short int var3
/* : Bool */;
8623 val
* var6
/* : AOctByteExpr */;
8624 val
* var_pexprnode1
/* var pexprnode1: nullable AOctByteExpr */;
8625 long var7
/* : Int */;
8626 long var8
/* : Int */;
8628 var_node_list
= ((val
*)NULL
);
8630 var
= nit___nit__Parser___pop(var_p
);
8632 var_nodearraylist2
= var
;
8634 var1
= nit___nit__Parser___pop(var_p
);
8636 var_nodearraylist1
= var1
;
8637 var_toctbytenumnode2
= var_nodearraylist1
;
8638 /* <var_toctbytenumnode2:nullable Object> isa nullable TOctBytenum */
8639 cltype
= type_nullable__nit__TOctBytenum
.color
;
8640 idtype
= type_nullable__nit__TOctBytenum
.id
;
8641 if(var_toctbytenumnode2
== NULL
) {
8644 if(cltype
>= (((long)var_toctbytenumnode2
&3)?type_info
[((long)var_toctbytenumnode2
&3)]:var_toctbytenumnode2
->type
)->table_size
) {
8647 var2
= (((long)var_toctbytenumnode2
&3)?type_info
[((long)var_toctbytenumnode2
&3)]:var_toctbytenumnode2
->type
)->type_table
[cltype
] == idtype
;
8650 if (unlikely(!var2
)) {
8651 PRINT_ERROR("Runtime error: %s", "Assert failed");
8652 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9296);
8655 var_pannotationsnode3
= var_nodearraylist2
;
8656 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
8657 cltype4
= type_nullable__nit__AAnnotations
.color
;
8658 idtype5
= type_nullable__nit__AAnnotations
.id
;
8659 if(var_pannotationsnode3
== NULL
) {
8662 if(cltype4
>= (((long)var_pannotationsnode3
&3)?type_info
[((long)var_pannotationsnode3
&3)]:var_pannotationsnode3
->type
)->table_size
) {
8665 var3
= (((long)var_pannotationsnode3
&3)?type_info
[((long)var_pannotationsnode3
&3)]:var_pannotationsnode3
->type
)->type_table
[cltype4
] == idtype5
;
8668 if (unlikely(!var3
)) {
8669 PRINT_ERROR("Runtime error: %s", "Assert failed");
8670 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9298);
8673 var6
= NEW_nit__AOctByteExpr(&type_nit__AOctByteExpr
);
8675 nit__parser_prod___AOctByteExpr___init_aoctbyteexpr(var6
, var_toctbytenumnode2
, var_pannotationsnode3
); /* Direct call parser_prod#AOctByteExpr#init_aoctbyteexpr on <var6:AOctByteExpr>*/
8677 var_pexprnode1
= var6
;
8678 var_node_list
= var_pexprnode1
;
8679 var7
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction380> */
8681 var8
= nit___nit__Parser___go_to(var_p
, var7
);
8684 nit___nit__Parser___push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8688 /* method parser#ReduceAction381#action for (self: ReduceAction381, Parser) */
8689 void nit__parser___nit__parser__ReduceAction381___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8690 val
* var_p
/* var p: Parser */;
8691 val
* var_node_list
/* var node_list: nullable Object */;
8692 val
* var
/* : nullable Object */;
8693 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8694 val
* var1
/* : nullable Object */;
8695 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8696 val
* var_tfloatnode2
/* var tfloatnode2: nullable Object */;
8697 short int var2
/* : Bool */;
8700 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
8701 short int var3
/* : Bool */;
8704 val
* var6
/* : AFloatExpr */;
8705 val
* var_pexprnode1
/* var pexprnode1: nullable AFloatExpr */;
8706 long var7
/* : Int */;
8707 long var8
/* : Int */;
8709 var_node_list
= ((val
*)NULL
);
8711 var
= nit___nit__Parser___pop(var_p
);
8713 var_nodearraylist2
= var
;
8715 var1
= nit___nit__Parser___pop(var_p
);
8717 var_nodearraylist1
= var1
;
8718 var_tfloatnode2
= var_nodearraylist1
;
8719 /* <var_tfloatnode2:nullable Object> isa nullable TFloat */
8720 cltype
= type_nullable__nit__TFloat
.color
;
8721 idtype
= type_nullable__nit__TFloat
.id
;
8722 if(var_tfloatnode2
== NULL
) {
8725 if(cltype
>= (((long)var_tfloatnode2
&3)?type_info
[((long)var_tfloatnode2
&3)]:var_tfloatnode2
->type
)->table_size
) {
8728 var2
= (((long)var_tfloatnode2
&3)?type_info
[((long)var_tfloatnode2
&3)]:var_tfloatnode2
->type
)->type_table
[cltype
] == idtype
;
8731 if (unlikely(!var2
)) {
8732 PRINT_ERROR("Runtime error: %s", "Assert failed");
8733 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9315);
8736 var_pannotationsnode3
= var_nodearraylist2
;
8737 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
8738 cltype4
= type_nullable__nit__AAnnotations
.color
;
8739 idtype5
= type_nullable__nit__AAnnotations
.id
;
8740 if(var_pannotationsnode3
== NULL
) {
8743 if(cltype4
>= (((long)var_pannotationsnode3
&3)?type_info
[((long)var_pannotationsnode3
&3)]:var_pannotationsnode3
->type
)->table_size
) {
8746 var3
= (((long)var_pannotationsnode3
&3)?type_info
[((long)var_pannotationsnode3
&3)]:var_pannotationsnode3
->type
)->type_table
[cltype4
] == idtype5
;
8749 if (unlikely(!var3
)) {
8750 PRINT_ERROR("Runtime error: %s", "Assert failed");
8751 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9317);
8754 var6
= NEW_nit__AFloatExpr(&type_nit__AFloatExpr
);
8756 nit__parser_prod___AFloatExpr___init_afloatexpr(var6
, var_tfloatnode2
, var_pannotationsnode3
); /* Direct call parser_prod#AFloatExpr#init_afloatexpr on <var6:AFloatExpr>*/
8758 var_pexprnode1
= var6
;
8759 var_node_list
= var_pexprnode1
;
8760 var7
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction381> */
8762 var8
= nit___nit__Parser___go_to(var_p
, var7
);
8765 nit___nit__Parser___push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8769 /* method parser#ReduceAction382#action for (self: ReduceAction382, Parser) */
8770 void nit__parser___nit__parser__ReduceAction382___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8771 val
* var_p
/* var p: Parser */;
8772 val
* var_node_list
/* var node_list: nullable Object */;
8773 val
* var
/* : nullable Object */;
8774 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8775 val
* var1
/* : nullable Object */;
8776 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8777 val
* var_tcharnode2
/* var tcharnode2: nullable Object */;
8778 short int var2
/* : Bool */;
8781 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
8782 short int var3
/* : Bool */;
8785 val
* var6
/* : ACharExpr */;
8786 val
* var_pexprnode1
/* var pexprnode1: nullable ACharExpr */;
8787 long var7
/* : Int */;
8788 long var8
/* : Int */;
8790 var_node_list
= ((val
*)NULL
);
8792 var
= nit___nit__Parser___pop(var_p
);
8794 var_nodearraylist2
= var
;
8796 var1
= nit___nit__Parser___pop(var_p
);
8798 var_nodearraylist1
= var1
;
8799 var_tcharnode2
= var_nodearraylist1
;
8800 /* <var_tcharnode2:nullable Object> isa nullable TChar */
8801 cltype
= type_nullable__nit__TChar
.color
;
8802 idtype
= type_nullable__nit__TChar
.id
;
8803 if(var_tcharnode2
== NULL
) {
8806 if(cltype
>= (((long)var_tcharnode2
&3)?type_info
[((long)var_tcharnode2
&3)]:var_tcharnode2
->type
)->table_size
) {
8809 var2
= (((long)var_tcharnode2
&3)?type_info
[((long)var_tcharnode2
&3)]:var_tcharnode2
->type
)->type_table
[cltype
] == idtype
;
8812 if (unlikely(!var2
)) {
8813 PRINT_ERROR("Runtime error: %s", "Assert failed");
8814 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9334);
8817 var_pannotationsnode3
= var_nodearraylist2
;
8818 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
8819 cltype4
= type_nullable__nit__AAnnotations
.color
;
8820 idtype5
= type_nullable__nit__AAnnotations
.id
;
8821 if(var_pannotationsnode3
== NULL
) {
8824 if(cltype4
>= (((long)var_pannotationsnode3
&3)?type_info
[((long)var_pannotationsnode3
&3)]:var_pannotationsnode3
->type
)->table_size
) {
8827 var3
= (((long)var_pannotationsnode3
&3)?type_info
[((long)var_pannotationsnode3
&3)]:var_pannotationsnode3
->type
)->type_table
[cltype4
] == idtype5
;
8830 if (unlikely(!var3
)) {
8831 PRINT_ERROR("Runtime error: %s", "Assert failed");
8832 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9336);
8835 var6
= NEW_nit__ACharExpr(&type_nit__ACharExpr
);
8837 nit__parser_prod___ACharExpr___init_acharexpr(var6
, var_tcharnode2
, var_pannotationsnode3
); /* Direct call parser_prod#ACharExpr#init_acharexpr on <var6:ACharExpr>*/
8839 var_pexprnode1
= var6
;
8840 var_node_list
= var_pexprnode1
;
8841 var7
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction382> */
8843 var8
= nit___nit__Parser___go_to(var_p
, var7
);
8846 nit___nit__Parser___push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8850 /* method parser#ReduceAction383#action for (self: ReduceAction383, Parser) */
8851 void nit__parser___nit__parser__ReduceAction383___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8852 val
* var_p
/* var p: Parser */;
8853 val
* var_node_list
/* var node_list: nullable Object */;
8854 val
* var
/* : nullable Object */;
8855 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8856 val
* var1
/* : nullable Object */;
8857 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8858 val
* var_tstringnode2
/* var tstringnode2: nullable Object */;
8859 short int var2
/* : Bool */;
8862 val
* var_pannotationsnode3
/* var pannotationsnode3: nullable Object */;
8863 short int var3
/* : Bool */;
8866 val
* var6
/* : AStringExpr */;
8867 val
* var_pexprnode1
/* var pexprnode1: nullable AStringExpr */;
8868 long var7
/* : Int */;
8869 long var8
/* : Int */;
8871 var_node_list
= ((val
*)NULL
);
8873 var
= nit___nit__Parser___pop(var_p
);
8875 var_nodearraylist2
= var
;
8877 var1
= nit___nit__Parser___pop(var_p
);
8879 var_nodearraylist1
= var1
;
8880 var_tstringnode2
= var_nodearraylist1
;
8881 /* <var_tstringnode2:nullable Object> isa nullable TString */
8882 cltype
= type_nullable__nit__TString
.color
;
8883 idtype
= type_nullable__nit__TString
.id
;
8884 if(var_tstringnode2
== NULL
) {
8887 if(cltype
>= (((long)var_tstringnode2
&3)?type_info
[((long)var_tstringnode2
&3)]:var_tstringnode2
->type
)->table_size
) {
8890 var2
= (((long)var_tstringnode2
&3)?type_info
[((long)var_tstringnode2
&3)]:var_tstringnode2
->type
)->type_table
[cltype
] == idtype
;
8893 if (unlikely(!var2
)) {
8894 PRINT_ERROR("Runtime error: %s", "Assert failed");
8895 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9353);
8898 var_pannotationsnode3
= var_nodearraylist2
;
8899 /* <var_pannotationsnode3:nullable Object> isa nullable AAnnotations */
8900 cltype4
= type_nullable__nit__AAnnotations
.color
;
8901 idtype5
= type_nullable__nit__AAnnotations
.id
;
8902 if(var_pannotationsnode3
== NULL
) {
8905 if(cltype4
>= (((long)var_pannotationsnode3
&3)?type_info
[((long)var_pannotationsnode3
&3)]:var_pannotationsnode3
->type
)->table_size
) {
8908 var3
= (((long)var_pannotationsnode3
&3)?type_info
[((long)var_pannotationsnode3
&3)]:var_pannotationsnode3
->type
)->type_table
[cltype4
] == idtype5
;
8911 if (unlikely(!var3
)) {
8912 PRINT_ERROR("Runtime error: %s", "Assert failed");
8913 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9355);
8916 var6
= NEW_nit__AStringExpr(&type_nit__AStringExpr
);
8918 nit__parser_prod___AStringExpr___init_astringexpr(var6
, var_tstringnode2
, var_pannotationsnode3
); /* Direct call parser_prod#AStringExpr#init_astringexpr on <var6:AStringExpr>*/
8920 var_pexprnode1
= var6
;
8921 var_node_list
= var_pexprnode1
;
8922 var7
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction383> */
8924 var8
= nit___nit__Parser___go_to(var_p
, var7
);
8927 nit___nit__Parser___push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
8931 /* method parser#ReduceAction386#action for (self: ReduceAction386, Parser) */
8932 void nit__parser___nit__parser__ReduceAction386___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
8933 val
* var_p
/* var p: Parser */;
8934 val
* var_node_list
/* var node_list: nullable Object */;
8935 val
* var
/* : nullable Object */;
8936 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
8937 val
* var1
/* : nullable Object */;
8938 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
8939 val
* var2
/* : nullable Object */;
8940 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
8941 val
* var3
/* : nullable Object */;
8942 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
8943 val
* var4
/* : nullable Object */;
8944 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
8945 val
* var5
/* : nullable Object */;
8946 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
8947 val
* var6
/* : nullable Object */;
8948 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
8949 val
* var7
/* : nullable Object */;
8950 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
8951 val
* var8
/* : nullable Object */;
8952 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
8953 val
* var9
/* : nullable Object */;
8954 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
8955 val
* var_tobranode2
/* var tobranode2: nullable Object */;
8956 short int var10
/* : Bool */;
8959 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
8960 short int var11
/* : Bool */;
8963 val
* var_tdotdotnode4
/* var tdotdotnode4: nullable Object */;
8964 short int var14
/* : Bool */;
8967 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
8968 short int var17
/* : Bool */;
8971 val
* var_tcbranode6
/* var tcbranode6: nullable Object */;
8972 short int var20
/* : Bool */;
8975 val
* var_pannotationsnode7
/* var pannotationsnode7: nullable Object */;
8976 short int var23
/* : Bool */;
8979 val
* var26
/* : ACrangeExpr */;
8980 val
* var_pexprnode1
/* var pexprnode1: nullable ACrangeExpr */;
8981 long var27
/* : Int */;
8982 long var28
/* : Int */;
8984 var_node_list
= ((val
*)NULL
);
8986 var
= nit___nit__Parser___pop(var_p
);
8988 var_nodearraylist10
= var
;
8990 var1
= nit___nit__Parser___pop(var_p
);
8992 var_nodearraylist9
= var1
;
8994 var2
= nit___nit__Parser___pop(var_p
);
8996 var_nodearraylist8
= var2
;
8998 var3
= nit___nit__Parser___pop(var_p
);
9000 var_nodearraylist7
= var3
;
9002 var4
= nit___nit__Parser___pop(var_p
);
9004 var_nodearraylist6
= var4
;
9006 var5
= nit___nit__Parser___pop(var_p
);
9008 var_nodearraylist5
= var5
;
9010 var6
= nit___nit__Parser___pop(var_p
);
9012 var_nodearraylist4
= var6
;
9014 var7
= nit___nit__Parser___pop(var_p
);
9016 var_nodearraylist3
= var7
;
9018 var8
= nit___nit__Parser___pop(var_p
);
9020 var_nodearraylist2
= var8
;
9022 var9
= nit___nit__Parser___pop(var_p
);
9024 var_nodearraylist1
= var9
;
9025 var_tobranode2
= var_nodearraylist1
;
9026 /* <var_tobranode2:nullable Object> isa nullable TObra */
9027 cltype
= type_nullable__nit__TObra
.color
;
9028 idtype
= type_nullable__nit__TObra
.id
;
9029 if(var_tobranode2
== NULL
) {
9032 if(cltype
>= (((long)var_tobranode2
&3)?type_info
[((long)var_tobranode2
&3)]:var_tobranode2
->type
)->table_size
) {
9035 var10
= (((long)var_tobranode2
&3)?type_info
[((long)var_tobranode2
&3)]:var_tobranode2
->type
)->type_table
[cltype
] == idtype
;
9038 if (unlikely(!var10
)) {
9039 PRINT_ERROR("Runtime error: %s", "Assert failed");
9040 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9380);
9043 var_pexprnode3
= var_nodearraylist3
;
9044 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
9045 cltype12
= type_nullable__nit__AExpr
.color
;
9046 idtype13
= type_nullable__nit__AExpr
.id
;
9047 if(var_pexprnode3
== NULL
) {
9050 if(cltype12
>= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->table_size
) {
9053 var11
= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->type_table
[cltype12
] == idtype13
;
9056 if (unlikely(!var11
)) {
9057 PRINT_ERROR("Runtime error: %s", "Assert failed");
9058 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9382);
9061 var_tdotdotnode4
= var_nodearraylist5
;
9062 /* <var_tdotdotnode4:nullable Object> isa nullable TDotdot */
9063 cltype15
= type_nullable__nit__TDotdot
.color
;
9064 idtype16
= type_nullable__nit__TDotdot
.id
;
9065 if(var_tdotdotnode4
== NULL
) {
9068 if(cltype15
>= (((long)var_tdotdotnode4
&3)?type_info
[((long)var_tdotdotnode4
&3)]:var_tdotdotnode4
->type
)->table_size
) {
9071 var14
= (((long)var_tdotdotnode4
&3)?type_info
[((long)var_tdotdotnode4
&3)]:var_tdotdotnode4
->type
)->type_table
[cltype15
] == idtype16
;
9074 if (unlikely(!var14
)) {
9075 PRINT_ERROR("Runtime error: %s", "Assert failed");
9076 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9384);
9079 var_pexprnode5
= var_nodearraylist7
;
9080 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
9081 cltype18
= type_nullable__nit__AExpr
.color
;
9082 idtype19
= type_nullable__nit__AExpr
.id
;
9083 if(var_pexprnode5
== NULL
) {
9086 if(cltype18
>= (((long)var_pexprnode5
&3)?type_info
[((long)var_pexprnode5
&3)]:var_pexprnode5
->type
)->table_size
) {
9089 var17
= (((long)var_pexprnode5
&3)?type_info
[((long)var_pexprnode5
&3)]:var_pexprnode5
->type
)->type_table
[cltype18
] == idtype19
;
9092 if (unlikely(!var17
)) {
9093 PRINT_ERROR("Runtime error: %s", "Assert failed");
9094 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9386);
9097 var_tcbranode6
= var_nodearraylist9
;
9098 /* <var_tcbranode6:nullable Object> isa nullable TCbra */
9099 cltype21
= type_nullable__nit__TCbra
.color
;
9100 idtype22
= type_nullable__nit__TCbra
.id
;
9101 if(var_tcbranode6
== NULL
) {
9104 if(cltype21
>= (((long)var_tcbranode6
&3)?type_info
[((long)var_tcbranode6
&3)]:var_tcbranode6
->type
)->table_size
) {
9107 var20
= (((long)var_tcbranode6
&3)?type_info
[((long)var_tcbranode6
&3)]:var_tcbranode6
->type
)->type_table
[cltype21
] == idtype22
;
9110 if (unlikely(!var20
)) {
9111 PRINT_ERROR("Runtime error: %s", "Assert failed");
9112 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9388);
9115 var_pannotationsnode7
= var_nodearraylist10
;
9116 /* <var_pannotationsnode7:nullable Object> isa nullable AAnnotations */
9117 cltype24
= type_nullable__nit__AAnnotations
.color
;
9118 idtype25
= type_nullable__nit__AAnnotations
.id
;
9119 if(var_pannotationsnode7
== NULL
) {
9122 if(cltype24
>= (((long)var_pannotationsnode7
&3)?type_info
[((long)var_pannotationsnode7
&3)]:var_pannotationsnode7
->type
)->table_size
) {
9125 var23
= (((long)var_pannotationsnode7
&3)?type_info
[((long)var_pannotationsnode7
&3)]:var_pannotationsnode7
->type
)->type_table
[cltype24
] == idtype25
;
9128 if (unlikely(!var23
)) {
9129 PRINT_ERROR("Runtime error: %s", "Assert failed");
9130 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9390);
9133 var26
= NEW_nit__ACrangeExpr(&type_nit__ACrangeExpr
);
9135 nit__parser_prod___ACrangeExpr___init_acrangeexpr(var26
, var_tobranode2
, var_pexprnode3
, var_tdotdotnode4
, var_pexprnode5
, var_tcbranode6
, var_pannotationsnode7
); /* Direct call parser_prod#ACrangeExpr#init_acrangeexpr on <var26:ACrangeExpr>*/
9137 var_pexprnode1
= var26
;
9138 var_node_list
= var_pexprnode1
;
9139 var27
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction386> */
9141 var28
= nit___nit__Parser___go_to(var_p
, var27
);
9144 nit___nit__Parser___push(var_p
, var28
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9148 /* method parser#ReduceAction387#action for (self: ReduceAction387, Parser) */
9149 void nit__parser___nit__parser__ReduceAction387___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
9150 val
* var_p
/* var p: Parser */;
9151 val
* var_node_list
/* var node_list: nullable Object */;
9152 val
* var
/* : nullable Object */;
9153 val
* var_nodearraylist10
/* var nodearraylist10: nullable Object */;
9154 val
* var1
/* : nullable Object */;
9155 val
* var_nodearraylist9
/* var nodearraylist9: nullable Object */;
9156 val
* var2
/* : nullable Object */;
9157 val
* var_nodearraylist8
/* var nodearraylist8: nullable Object */;
9158 val
* var3
/* : nullable Object */;
9159 val
* var_nodearraylist7
/* var nodearraylist7: nullable Object */;
9160 val
* var4
/* : nullable Object */;
9161 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
9162 val
* var5
/* : nullable Object */;
9163 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9164 val
* var6
/* : nullable Object */;
9165 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9166 val
* var7
/* : nullable Object */;
9167 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9168 val
* var8
/* : nullable Object */;
9169 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9170 val
* var9
/* : nullable Object */;
9171 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9172 val
* var_tobranode2
/* var tobranode2: nullable Object */;
9173 short int var10
/* : Bool */;
9176 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
9177 short int var11
/* : Bool */;
9180 val
* var_tdotdotnode4
/* var tdotdotnode4: nullable Object */;
9181 short int var14
/* : Bool */;
9184 val
* var_pexprnode5
/* var pexprnode5: nullable Object */;
9185 short int var17
/* : Bool */;
9188 val
* var_tobranode6
/* var tobranode6: nullable Object */;
9189 short int var20
/* : Bool */;
9192 val
* var_pannotationsnode7
/* var pannotationsnode7: nullable Object */;
9193 short int var23
/* : Bool */;
9196 val
* var26
/* : AOrangeExpr */;
9197 val
* var_pexprnode1
/* var pexprnode1: nullable AOrangeExpr */;
9198 long var27
/* : Int */;
9199 long var28
/* : Int */;
9201 var_node_list
= ((val
*)NULL
);
9203 var
= nit___nit__Parser___pop(var_p
);
9205 var_nodearraylist10
= var
;
9207 var1
= nit___nit__Parser___pop(var_p
);
9209 var_nodearraylist9
= var1
;
9211 var2
= nit___nit__Parser___pop(var_p
);
9213 var_nodearraylist8
= var2
;
9215 var3
= nit___nit__Parser___pop(var_p
);
9217 var_nodearraylist7
= var3
;
9219 var4
= nit___nit__Parser___pop(var_p
);
9221 var_nodearraylist6
= var4
;
9223 var5
= nit___nit__Parser___pop(var_p
);
9225 var_nodearraylist5
= var5
;
9227 var6
= nit___nit__Parser___pop(var_p
);
9229 var_nodearraylist4
= var6
;
9231 var7
= nit___nit__Parser___pop(var_p
);
9233 var_nodearraylist3
= var7
;
9235 var8
= nit___nit__Parser___pop(var_p
);
9237 var_nodearraylist2
= var8
;
9239 var9
= nit___nit__Parser___pop(var_p
);
9241 var_nodearraylist1
= var9
;
9242 var_tobranode2
= var_nodearraylist1
;
9243 /* <var_tobranode2:nullable Object> isa nullable TObra */
9244 cltype
= type_nullable__nit__TObra
.color
;
9245 idtype
= type_nullable__nit__TObra
.id
;
9246 if(var_tobranode2
== NULL
) {
9249 if(cltype
>= (((long)var_tobranode2
&3)?type_info
[((long)var_tobranode2
&3)]:var_tobranode2
->type
)->table_size
) {
9252 var10
= (((long)var_tobranode2
&3)?type_info
[((long)var_tobranode2
&3)]:var_tobranode2
->type
)->type_table
[cltype
] == idtype
;
9255 if (unlikely(!var10
)) {
9256 PRINT_ERROR("Runtime error: %s", "Assert failed");
9257 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9419);
9260 var_pexprnode3
= var_nodearraylist3
;
9261 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
9262 cltype12
= type_nullable__nit__AExpr
.color
;
9263 idtype13
= type_nullable__nit__AExpr
.id
;
9264 if(var_pexprnode3
== NULL
) {
9267 if(cltype12
>= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->table_size
) {
9270 var11
= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->type_table
[cltype12
] == idtype13
;
9273 if (unlikely(!var11
)) {
9274 PRINT_ERROR("Runtime error: %s", "Assert failed");
9275 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9421);
9278 var_tdotdotnode4
= var_nodearraylist5
;
9279 /* <var_tdotdotnode4:nullable Object> isa nullable TDotdot */
9280 cltype15
= type_nullable__nit__TDotdot
.color
;
9281 idtype16
= type_nullable__nit__TDotdot
.id
;
9282 if(var_tdotdotnode4
== NULL
) {
9285 if(cltype15
>= (((long)var_tdotdotnode4
&3)?type_info
[((long)var_tdotdotnode4
&3)]:var_tdotdotnode4
->type
)->table_size
) {
9288 var14
= (((long)var_tdotdotnode4
&3)?type_info
[((long)var_tdotdotnode4
&3)]:var_tdotdotnode4
->type
)->type_table
[cltype15
] == idtype16
;
9291 if (unlikely(!var14
)) {
9292 PRINT_ERROR("Runtime error: %s", "Assert failed");
9293 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9423);
9296 var_pexprnode5
= var_nodearraylist7
;
9297 /* <var_pexprnode5:nullable Object> isa nullable AExpr */
9298 cltype18
= type_nullable__nit__AExpr
.color
;
9299 idtype19
= type_nullable__nit__AExpr
.id
;
9300 if(var_pexprnode5
== NULL
) {
9303 if(cltype18
>= (((long)var_pexprnode5
&3)?type_info
[((long)var_pexprnode5
&3)]:var_pexprnode5
->type
)->table_size
) {
9306 var17
= (((long)var_pexprnode5
&3)?type_info
[((long)var_pexprnode5
&3)]:var_pexprnode5
->type
)->type_table
[cltype18
] == idtype19
;
9309 if (unlikely(!var17
)) {
9310 PRINT_ERROR("Runtime error: %s", "Assert failed");
9311 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9425);
9314 var_tobranode6
= var_nodearraylist9
;
9315 /* <var_tobranode6:nullable Object> isa nullable TObra */
9316 cltype21
= type_nullable__nit__TObra
.color
;
9317 idtype22
= type_nullable__nit__TObra
.id
;
9318 if(var_tobranode6
== NULL
) {
9321 if(cltype21
>= (((long)var_tobranode6
&3)?type_info
[((long)var_tobranode6
&3)]:var_tobranode6
->type
)->table_size
) {
9324 var20
= (((long)var_tobranode6
&3)?type_info
[((long)var_tobranode6
&3)]:var_tobranode6
->type
)->type_table
[cltype21
] == idtype22
;
9327 if (unlikely(!var20
)) {
9328 PRINT_ERROR("Runtime error: %s", "Assert failed");
9329 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9427);
9332 var_pannotationsnode7
= var_nodearraylist10
;
9333 /* <var_pannotationsnode7:nullable Object> isa nullable AAnnotations */
9334 cltype24
= type_nullable__nit__AAnnotations
.color
;
9335 idtype25
= type_nullable__nit__AAnnotations
.id
;
9336 if(var_pannotationsnode7
== NULL
) {
9339 if(cltype24
>= (((long)var_pannotationsnode7
&3)?type_info
[((long)var_pannotationsnode7
&3)]:var_pannotationsnode7
->type
)->table_size
) {
9342 var23
= (((long)var_pannotationsnode7
&3)?type_info
[((long)var_pannotationsnode7
&3)]:var_pannotationsnode7
->type
)->type_table
[cltype24
] == idtype25
;
9345 if (unlikely(!var23
)) {
9346 PRINT_ERROR("Runtime error: %s", "Assert failed");
9347 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9429);
9350 var26
= NEW_nit__AOrangeExpr(&type_nit__AOrangeExpr
);
9352 nit__parser_prod___AOrangeExpr___init_aorangeexpr(var26
, var_tobranode2
, var_pexprnode3
, var_tdotdotnode4
, var_pexprnode5
, var_tobranode6
, var_pannotationsnode7
); /* Direct call parser_prod#AOrangeExpr#init_aorangeexpr on <var26:AOrangeExpr>*/
9354 var_pexprnode1
= var26
;
9355 var_node_list
= var_pexprnode1
;
9356 var27
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction387> */
9358 var28
= nit___nit__Parser___go_to(var_p
, var27
);
9361 nit___nit__Parser___push(var_p
, var28
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9365 /* method parser#ReduceAction388#action for (self: ReduceAction388, Parser) */
9366 void nit__parser___nit__parser__ReduceAction388___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
9367 val
* var_p
/* var p: Parser */;
9368 val
* var_node_list
/* var node_list: nullable Object */;
9369 val
* var
/* : nullable Object */;
9370 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
9371 val
* var1
/* : nullable Object */;
9372 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9373 val
* var2
/* : nullable Object */;
9374 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9375 val
* var3
/* : nullable Object */;
9376 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9377 val
* var4
/* : nullable Object */;
9378 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9379 val
* var5
/* : nullable Object */;
9380 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9381 val
* var6
/* : Array[Object] */;
9382 val
* var_listnode4
/* var listnode4: Array[Object] */;
9383 val
* var_tobranode2
/* var tobranode2: nullable Object */;
9384 short int var7
/* : Bool */;
9387 val
* var_listnode3
/* var listnode3: nullable Object */;
9388 short int var8
/* : Bool */;
9391 val
* var11
/* : Array[Object] */;
9392 val
* var_ptypenode5
/* var ptypenode5: nullable Object */;
9393 short int var12
/* : Bool */;
9396 val
* var_tcbranode6
/* var tcbranode6: nullable Object */;
9397 short int var15
/* : Bool */;
9400 val
* var_pannotationsnode7
/* var pannotationsnode7: nullable Object */;
9401 short int var18
/* : Bool */;
9404 val
* var21
/* : AArrayExpr */;
9405 val
* var_pexprnode1
/* var pexprnode1: nullable AArrayExpr */;
9406 long var22
/* : Int */;
9407 long var23
/* : Int */;
9409 var_node_list
= ((val
*)NULL
);
9411 var
= nit___nit__Parser___pop(var_p
);
9413 var_nodearraylist6
= var
;
9415 var1
= nit___nit__Parser___pop(var_p
);
9417 var_nodearraylist5
= var1
;
9419 var2
= nit___nit__Parser___pop(var_p
);
9421 var_nodearraylist4
= var2
;
9423 var3
= nit___nit__Parser___pop(var_p
);
9425 var_nodearraylist3
= var3
;
9427 var4
= nit___nit__Parser___pop(var_p
);
9429 var_nodearraylist2
= var4
;
9431 var5
= nit___nit__Parser___pop(var_p
);
9433 var_nodearraylist1
= var5
;
9434 var6
= NEW_standard__Array(&type_standard__Array__standard__Object
);
9436 standard___standard__Array___standard__kernel__Object__init(var6
); /* Direct call array#Array#init on <var6:Array[Object]>*/
9438 var_listnode4
= var6
;
9439 var_tobranode2
= var_nodearraylist1
;
9440 /* <var_tobranode2:nullable Object> isa nullable TObra */
9441 cltype
= type_nullable__nit__TObra
.color
;
9442 idtype
= type_nullable__nit__TObra
.id
;
9443 if(var_tobranode2
== NULL
) {
9446 if(cltype
>= (((long)var_tobranode2
&3)?type_info
[((long)var_tobranode2
&3)]:var_tobranode2
->type
)->table_size
) {
9449 var7
= (((long)var_tobranode2
&3)?type_info
[((long)var_tobranode2
&3)]:var_tobranode2
->type
)->type_table
[cltype
] == idtype
;
9452 if (unlikely(!var7
)) {
9453 PRINT_ERROR("Runtime error: %s", "Assert failed");
9454 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9455);
9457 var_listnode3
= var_nodearraylist3
;
9458 /* <var_listnode3:nullable Object> isa Array[Object] */
9459 cltype9
= type_standard__Array__standard__Object
.color
;
9460 idtype10
= type_standard__Array__standard__Object
.id
;
9461 if(var_listnode3
== NULL
) {
9464 if(cltype9
>= (((long)var_listnode3
&3)?type_info
[((long)var_listnode3
&3)]:var_listnode3
->type
)->table_size
) {
9467 var8
= (((long)var_listnode3
&3)?type_info
[((long)var_listnode3
&3)]:var_listnode3
->type
)->type_table
[cltype9
] == idtype10
;
9470 if (unlikely(!var8
)) {
9471 PRINT_ERROR("Runtime error: %s", "Assert failed");
9472 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9457);
9476 var11
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode4
, var_listnode3
);
9478 var_listnode4
= var11
;
9479 var_ptypenode5
= var_nodearraylist4
;
9480 /* <var_ptypenode5:nullable Object> isa nullable AType */
9481 cltype13
= type_nullable__nit__AType
.color
;
9482 idtype14
= type_nullable__nit__AType
.id
;
9483 if(var_ptypenode5
== NULL
) {
9486 if(cltype13
>= (((long)var_ptypenode5
&3)?type_info
[((long)var_ptypenode5
&3)]:var_ptypenode5
->type
)->table_size
) {
9489 var12
= (((long)var_ptypenode5
&3)?type_info
[((long)var_ptypenode5
&3)]:var_ptypenode5
->type
)->type_table
[cltype13
] == idtype14
;
9492 if (unlikely(!var12
)) {
9493 PRINT_ERROR("Runtime error: %s", "Assert failed");
9494 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9460);
9497 var_tcbranode6
= var_nodearraylist5
;
9498 /* <var_tcbranode6:nullable Object> isa nullable TCbra */
9499 cltype16
= type_nullable__nit__TCbra
.color
;
9500 idtype17
= type_nullable__nit__TCbra
.id
;
9501 if(var_tcbranode6
== NULL
) {
9504 if(cltype16
>= (((long)var_tcbranode6
&3)?type_info
[((long)var_tcbranode6
&3)]:var_tcbranode6
->type
)->table_size
) {
9507 var15
= (((long)var_tcbranode6
&3)?type_info
[((long)var_tcbranode6
&3)]:var_tcbranode6
->type
)->type_table
[cltype16
] == idtype17
;
9510 if (unlikely(!var15
)) {
9511 PRINT_ERROR("Runtime error: %s", "Assert failed");
9512 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9462);
9515 var_pannotationsnode7
= var_nodearraylist6
;
9516 /* <var_pannotationsnode7:nullable Object> isa nullable AAnnotations */
9517 cltype19
= type_nullable__nit__AAnnotations
.color
;
9518 idtype20
= type_nullable__nit__AAnnotations
.id
;
9519 if(var_pannotationsnode7
== NULL
) {
9522 if(cltype19
>= (((long)var_pannotationsnode7
&3)?type_info
[((long)var_pannotationsnode7
&3)]:var_pannotationsnode7
->type
)->table_size
) {
9525 var18
= (((long)var_pannotationsnode7
&3)?type_info
[((long)var_pannotationsnode7
&3)]:var_pannotationsnode7
->type
)->type_table
[cltype19
] == idtype20
;
9528 if (unlikely(!var18
)) {
9529 PRINT_ERROR("Runtime error: %s", "Assert failed");
9530 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9464);
9533 var21
= NEW_nit__AArrayExpr(&type_nit__AArrayExpr
);
9535 nit__parser_prod___AArrayExpr___init_aarrayexpr(var21
, var_tobranode2
, var_listnode4
, var_ptypenode5
, var_tcbranode6
, var_pannotationsnode7
); /* Direct call parser_prod#AArrayExpr#init_aarrayexpr on <var21:AArrayExpr>*/
9537 var_pexprnode1
= var21
;
9538 var_node_list
= var_pexprnode1
;
9539 var22
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction388> */
9541 var23
= nit___nit__Parser___go_to(var_p
, var22
);
9544 nit___nit__Parser___push(var_p
, var23
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9548 /* method parser#ReduceAction389#action for (self: ReduceAction389, Parser) */
9549 void nit__parser___nit__parser__ReduceAction389___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
9550 val
* var_p
/* var p: Parser */;
9551 val
* var_node_list
/* var node_list: nullable Object */;
9552 val
* var
/* : nullable Object */;
9553 val
* var_nodearraylist6
/* var nodearraylist6: nullable Object */;
9554 val
* var1
/* : nullable Object */;
9555 val
* var_nodearraylist5
/* var nodearraylist5: nullable Object */;
9556 val
* var2
/* : nullable Object */;
9557 val
* var_nodearraylist4
/* var nodearraylist4: nullable Object */;
9558 val
* var3
/* : nullable Object */;
9559 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9560 val
* var4
/* : nullable Object */;
9561 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9562 val
* var5
/* : nullable Object */;
9563 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9564 val
* var_toparnode2
/* var toparnode2: nullable Object */;
9565 short int var6
/* : Bool */;
9568 val
* var_pexprnode3
/* var pexprnode3: nullable Object */;
9569 short int var7
/* : Bool */;
9572 val
* var_tcparnode4
/* var tcparnode4: nullable Object */;
9573 short int var10
/* : Bool */;
9576 val
* var_pannotationsnode5
/* var pannotationsnode5: nullable Object */;
9577 short int var13
/* : Bool */;
9580 val
* var16
/* : AParExpr */;
9581 val
* var_pexprnode1
/* var pexprnode1: nullable AParExpr */;
9582 long var17
/* : Int */;
9583 long var18
/* : Int */;
9585 var_node_list
= ((val
*)NULL
);
9587 var
= nit___nit__Parser___pop(var_p
);
9589 var_nodearraylist6
= var
;
9591 var1
= nit___nit__Parser___pop(var_p
);
9593 var_nodearraylist5
= var1
;
9595 var2
= nit___nit__Parser___pop(var_p
);
9597 var_nodearraylist4
= var2
;
9599 var3
= nit___nit__Parser___pop(var_p
);
9601 var_nodearraylist3
= var3
;
9603 var4
= nit___nit__Parser___pop(var_p
);
9605 var_nodearraylist2
= var4
;
9607 var5
= nit___nit__Parser___pop(var_p
);
9609 var_nodearraylist1
= var5
;
9610 var_toparnode2
= var_nodearraylist1
;
9611 /* <var_toparnode2:nullable Object> isa nullable TOpar */
9612 cltype
= type_nullable__nit__TOpar
.color
;
9613 idtype
= type_nullable__nit__TOpar
.id
;
9614 if(var_toparnode2
== NULL
) {
9617 if(cltype
>= (((long)var_toparnode2
&3)?type_info
[((long)var_toparnode2
&3)]:var_toparnode2
->type
)->table_size
) {
9620 var6
= (((long)var_toparnode2
&3)?type_info
[((long)var_toparnode2
&3)]:var_toparnode2
->type
)->type_table
[cltype
] == idtype
;
9623 if (unlikely(!var6
)) {
9624 PRINT_ERROR("Runtime error: %s", "Assert failed");
9625 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9488);
9628 var_pexprnode3
= var_nodearraylist3
;
9629 /* <var_pexprnode3:nullable Object> isa nullable AExpr */
9630 cltype8
= type_nullable__nit__AExpr
.color
;
9631 idtype9
= type_nullable__nit__AExpr
.id
;
9632 if(var_pexprnode3
== NULL
) {
9635 if(cltype8
>= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->table_size
) {
9638 var7
= (((long)var_pexprnode3
&3)?type_info
[((long)var_pexprnode3
&3)]:var_pexprnode3
->type
)->type_table
[cltype8
] == idtype9
;
9641 if (unlikely(!var7
)) {
9642 PRINT_ERROR("Runtime error: %s", "Assert failed");
9643 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9490);
9646 var_tcparnode4
= var_nodearraylist5
;
9647 /* <var_tcparnode4:nullable Object> isa nullable TCpar */
9648 cltype11
= type_nullable__nit__TCpar
.color
;
9649 idtype12
= type_nullable__nit__TCpar
.id
;
9650 if(var_tcparnode4
== NULL
) {
9653 if(cltype11
>= (((long)var_tcparnode4
&3)?type_info
[((long)var_tcparnode4
&3)]:var_tcparnode4
->type
)->table_size
) {
9656 var10
= (((long)var_tcparnode4
&3)?type_info
[((long)var_tcparnode4
&3)]:var_tcparnode4
->type
)->type_table
[cltype11
] == idtype12
;
9659 if (unlikely(!var10
)) {
9660 PRINT_ERROR("Runtime error: %s", "Assert failed");
9661 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9492);
9664 var_pannotationsnode5
= var_nodearraylist6
;
9665 /* <var_pannotationsnode5:nullable Object> isa nullable AAnnotations */
9666 cltype14
= type_nullable__nit__AAnnotations
.color
;
9667 idtype15
= type_nullable__nit__AAnnotations
.id
;
9668 if(var_pannotationsnode5
== NULL
) {
9671 if(cltype14
>= (((long)var_pannotationsnode5
&3)?type_info
[((long)var_pannotationsnode5
&3)]:var_pannotationsnode5
->type
)->table_size
) {
9674 var13
= (((long)var_pannotationsnode5
&3)?type_info
[((long)var_pannotationsnode5
&3)]:var_pannotationsnode5
->type
)->type_table
[cltype14
] == idtype15
;
9677 if (unlikely(!var13
)) {
9678 PRINT_ERROR("Runtime error: %s", "Assert failed");
9679 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9494);
9682 var16
= NEW_nit__AParExpr(&type_nit__AParExpr
);
9684 nit__parser_prod___AParExpr___init_aparexpr(var16
, var_toparnode2
, var_pexprnode3
, var_tcparnode4
, var_pannotationsnode5
); /* Direct call parser_prod#AParExpr#init_aparexpr on <var16:AParExpr>*/
9686 var_pexprnode1
= var16
;
9687 var_node_list
= var_pexprnode1
;
9688 var17
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction389> */
9690 var18
= nit___nit__Parser___go_to(var_p
, var17
);
9693 nit___nit__Parser___push(var_p
, var18
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9697 /* method parser#ReduceAction391#action for (self: ReduceAction391, Parser) */
9698 void nit__parser___nit__parser__ReduceAction391___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
9699 val
* var_p
/* var p: Parser */;
9700 val
* var_node_list
/* var node_list: nullable Object */;
9701 val
* var
/* : nullable Object */;
9702 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9703 val
* var1
/* : nullable Object */;
9704 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9705 val
* var2
/* : Array[Object] */;
9706 val
* var_listnode4
/* var listnode4: Array[Object] */;
9707 val
* var_pexprnode2
/* var pexprnode2: nullable Object */;
9708 short int var3
/* : Bool */;
9711 val
* var_listnode3
/* var listnode3: nullable Object */;
9712 short int var4
/* : Bool */;
9715 short int var7
/* : Bool */;
9716 short int var8
/* : Bool */;
9717 val
* var_other
/* var other: nullable Object */;
9718 short int var10
/* : Bool */;
9719 short int var11
/* : Bool */;
9720 val
* var12
/* : Array[Object] */;
9721 val
* var13
/* : AManyExpr */;
9722 val
* var_pexprnode1
/* var pexprnode1: nullable AManyExpr */;
9723 long var14
/* : Int */;
9724 long var15
/* : Int */;
9726 var_node_list
= ((val
*)NULL
);
9728 var
= nit___nit__Parser___pop(var_p
);
9730 var_nodearraylist2
= var
;
9732 var1
= nit___nit__Parser___pop(var_p
);
9734 var_nodearraylist1
= var1
;
9735 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
9737 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
9739 var_listnode4
= var2
;
9740 var_pexprnode2
= var_nodearraylist1
;
9741 /* <var_pexprnode2:nullable Object> isa nullable AExpr */
9742 cltype
= type_nullable__nit__AExpr
.color
;
9743 idtype
= type_nullable__nit__AExpr
.id
;
9744 if(var_pexprnode2
== NULL
) {
9747 if(cltype
>= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->table_size
) {
9750 var3
= (((long)var_pexprnode2
&3)?type_info
[((long)var_pexprnode2
&3)]:var_pexprnode2
->type
)->type_table
[cltype
] == idtype
;
9753 if (unlikely(!var3
)) {
9754 PRINT_ERROR("Runtime error: %s", "Assert failed");
9755 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9514);
9758 var_listnode3
= var_nodearraylist2
;
9759 /* <var_listnode3:nullable Object> isa Array[Object] */
9760 cltype5
= type_standard__Array__standard__Object
.color
;
9761 idtype6
= type_standard__Array__standard__Object
.id
;
9762 if(var_listnode3
== NULL
) {
9765 if(cltype5
>= (((long)var_listnode3
&3)?type_info
[((long)var_listnode3
&3)]:var_listnode3
->type
)->table_size
) {
9768 var4
= (((long)var_listnode3
&3)?type_info
[((long)var_listnode3
&3)]:var_listnode3
->type
)->type_table
[cltype5
] == idtype6
;
9771 if (unlikely(!var4
)) {
9772 PRINT_ERROR("Runtime error: %s", "Assert failed");
9773 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9516);
9776 if (var_pexprnode2
== NULL
) {
9777 var7
= 0; /* is null */
9779 var7
= 1; /* arg is null and recv is not */
9782 { /* Inline kernel#Object#!= (var_pexprnode2,((val*)NULL)) on <var_pexprnode2:nullable Object(nullable AExpr)> */
9783 var_other
= ((val
*)NULL
);
9785 var10
= ((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)>*/
9796 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode4
, var_pexprnode2
); /* Direct call array#Array#add on <var_listnode4:Array[Object]>*/
9801 var12
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode4
, var_listnode3
);
9803 var_listnode4
= var12
;
9804 var13
= NEW_nit__AManyExpr(&type_nit__AManyExpr
);
9806 nit__parser_prod___AManyExpr___init_amanyexpr(var13
, var_listnode4
); /* Direct call parser_prod#AManyExpr#init_amanyexpr on <var13:AManyExpr>*/
9808 var_pexprnode1
= var13
;
9809 var_node_list
= var_pexprnode1
;
9810 var14
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction391> */
9812 var15
= nit___nit__Parser___go_to(var_p
, var14
);
9815 nit___nit__Parser___push(var_p
, var15
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9819 /* method parser#ReduceAction392#action for (self: ReduceAction392, Parser) */
9820 void nit__parser___nit__parser__ReduceAction392___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
9821 val
* var_p
/* var p: Parser */;
9822 val
* var_node_list
/* var node_list: nullable Object */;
9823 val
* var
/* : nullable Object */;
9824 val
* var_nodearraylist3
/* var nodearraylist3: nullable Object */;
9825 val
* var1
/* : nullable Object */;
9826 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9827 val
* var2
/* : nullable Object */;
9828 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9829 val
* var_pexprnode1
/* var pexprnode1: nullable Object */;
9830 long var3
/* : Int */;
9831 long var4
/* : Int */;
9833 var_node_list
= ((val
*)NULL
);
9835 var
= nit___nit__Parser___pop(var_p
);
9837 var_nodearraylist3
= var
;
9839 var1
= nit___nit__Parser___pop(var_p
);
9841 var_nodearraylist2
= var1
;
9843 var2
= nit___nit__Parser___pop(var_p
);
9845 var_nodearraylist1
= var2
;
9846 var_pexprnode1
= var_nodearraylist3
;
9847 var_node_list
= var_pexprnode1
;
9848 var3
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction392> */
9850 var4
= nit___nit__Parser___go_to(var_p
, var3
);
9853 nit___nit__Parser___push(var_p
, var4
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9857 /* method parser#ReduceAction393#action for (self: ReduceAction393, Parser) */
9858 void nit__parser___nit__parser__ReduceAction393___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
9859 val
* var_p
/* var p: Parser */;
9860 val
* var_node_list
/* var node_list: nullable Object */;
9861 val
* var
/* : nullable Object */;
9862 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9863 val
* var1
/* : Array[Object] */;
9864 val
* var_listnode2
/* var listnode2: Array[Object] */;
9865 val
* var_pexprnode1
/* var pexprnode1: nullable Object */;
9866 short int var2
/* : Bool */;
9867 short int var3
/* : Bool */;
9868 long var4
/* : Int */;
9869 long var5
/* : Int */;
9871 var_node_list
= ((val
*)NULL
);
9873 var
= nit___nit__Parser___pop(var_p
);
9875 var_nodearraylist1
= var
;
9876 var1
= NEW_standard__Array(&type_standard__Array__standard__Object
);
9878 standard___standard__Array___standard__kernel__Object__init(var1
); /* Direct call array#Array#init on <var1:Array[Object]>*/
9880 var_listnode2
= var1
;
9881 var_pexprnode1
= var_nodearraylist1
;
9882 if (var_pexprnode1
== NULL
) {
9883 var2
= 0; /* is null */
9885 var2
= 1; /* arg is null and recv is not */
9888 var3
= ((short int(*)(val
* self
, val
* p0
))((((long)var_pexprnode1
&3)?class_info
[((long)var_pexprnode1
&3)]:var_pexprnode1
->class)->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_pexprnode1
, ((val
*)NULL
)); /* != on <var_pexprnode1:nullable Object>*/
9893 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode2
, var_pexprnode1
); /* Direct call array#Array#add on <var_listnode2:Array[Object]>*/
9897 var_node_list
= var_listnode2
;
9898 var4
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction393> */
9900 var5
= nit___nit__Parser___go_to(var_p
, var4
);
9903 nit___nit__Parser___push(var_p
, var5
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/
9907 /* method parser#ReduceAction394#action for (self: ReduceAction394, Parser) */
9908 void nit__parser___nit__parser__ReduceAction394___nit__parser_work__ReduceAction__action(val
* self
, val
* p0
) {
9909 val
* var_p
/* var p: Parser */;
9910 val
* var_node_list
/* var node_list: nullable Object */;
9911 val
* var
/* : nullable Object */;
9912 val
* var_nodearraylist2
/* var nodearraylist2: nullable Object */;
9913 val
* var1
/* : nullable Object */;
9914 val
* var_nodearraylist1
/* var nodearraylist1: nullable Object */;
9915 val
* var2
/* : Array[Object] */;
9916 val
* var_listnode3
/* var listnode3: Array[Object] */;
9917 val
* var_pexprnode1
/* var pexprnode1: nullable Object */;
9918 val
* var_listnode2
/* var listnode2: nullable Object */;
9919 short int var3
/* : Bool */;
9922 short int var4
/* : Bool */;
9923 short int var5
/* : Bool */;
9924 val
* var6
/* : Array[Object] */;
9925 long var7
/* : Int */;
9926 long var8
/* : Int */;
9928 var_node_list
= ((val
*)NULL
);
9930 var
= nit___nit__Parser___pop(var_p
);
9932 var_nodearraylist2
= var
;
9934 var1
= nit___nit__Parser___pop(var_p
);
9936 var_nodearraylist1
= var1
;
9937 var2
= NEW_standard__Array(&type_standard__Array__standard__Object
);
9939 standard___standard__Array___standard__kernel__Object__init(var2
); /* Direct call array#Array#init on <var2:Array[Object]>*/
9941 var_listnode3
= var2
;
9942 var_pexprnode1
= var_nodearraylist1
;
9943 var_listnode2
= var_nodearraylist2
;
9944 /* <var_listnode2:nullable Object> isa Array[Object] */
9945 cltype
= type_standard__Array__standard__Object
.color
;
9946 idtype
= type_standard__Array__standard__Object
.id
;
9947 if(var_listnode2
== NULL
) {
9950 if(cltype
>= (((long)var_listnode2
&3)?type_info
[((long)var_listnode2
&3)]:var_listnode2
->type
)->table_size
) {
9953 var3
= (((long)var_listnode2
&3)?type_info
[((long)var_listnode2
&3)]:var_listnode2
->type
)->type_table
[cltype
] == idtype
;
9956 if (unlikely(!var3
)) {
9957 PRINT_ERROR("Runtime error: %s", "Assert failed");
9958 PRINT_ERROR(" (%s:%d)\n", FILE_nit__parser
, 9566);
9961 if (var_pexprnode1
== NULL
) {
9962 var4
= 0; /* is null */
9964 var4
= 1; /* arg is null and recv is not */
9967 var5
= ((short int(*)(val
* self
, val
* p0
))((((long)var_pexprnode1
&3)?class_info
[((long)var_pexprnode1
&3)]:var_pexprnode1
->class)->vft
[COLOR_standard__kernel__Object___33d_61d
]))(var_pexprnode1
, ((val
*)NULL
)); /* != on <var_pexprnode1:nullable Object>*/
9972 standard___standard__Array___standard__abstract_collection__SimpleCollection__add(var_listnode3
, var_pexprnode1
); /* Direct call array#Array#add on <var_listnode3:Array[Object]>*/
9977 var6
= nit__parser_work___nit__parser_work__ReduceAction___concat(self
, var_listnode3
, var_listnode2
);
9979 var_listnode3
= var6
;
9980 var_node_list
= var_listnode3
;
9981 var7
= self
->attrs
[COLOR_nit__parser_work__ReduceAction___goto
].l
; /* _goto on <self:ReduceAction394> */
9983 var8
= nit___nit__Parser___go_to(var_p
, var7
);
9986 nit___nit__Parser___push(var_p
, var8
, var_node_list
); /* Direct call parser_work#Parser#push on <var_p:Parser>*/